xbmc / Kore

Kore is a simple and easy-to-use Kodi remote.
Apache License 2.0
649 stars 243 forks source link

PVR channel list swipe extremely sensitive #924

Open heeplr opened 2 years ago

heeplr commented 2 years ago

Bug report

Describe the bug

Since v3.0.0, the PVR channel list allows to swipe between "Channels", "Radio" and "Recording". While this is a very cool feature, it interferes with scrolling quite a lot.

Expected Behavior

Not interpret small horizontal movements during scrolling.

Actual Behavior

Even the tiniest horizontal movement is interpreted as swipe, locking the vertical scrolling.

Possible Fix

A larger swipe threshold/rubberband block would help a lot. Disabling horizontal swiping while scrolling vertically would work as well.

To Reproduce

Go into channel list and scroll with finger not doing a perfect straight movement from bottom of screen to top of screen.

Your Environment

Used Operating system:

SyncedSynapse commented 2 years ago

I can't test PVR right now because i don't have it working, but the code is shared with other sections, so i would ask you if the same happens to you in the Music section?

It doesn't happen in the devices i tested (pixel, sony and some samsungs), at least not with the frequency you describe. The views used aren't custom, so there's little control over the interpretation of vertical/horizontal swipes: they are standard Android views that handle the swiping intrinsically.

heeplr commented 2 years ago

Indeed it's not a problem in the Music section. I had to start a vertical scroll really quirky to have the swipe triggered there.

SyncedSynapse commented 2 years ago

It's odd because, despite being different sections, they share most of the UI infrastructure (RecyclerView inside ViewPager). Something did change in this Kore version: the ViewPager library version was upgraded to the latest one, as the previous one won't be supported anymore by Google, but as i said, i would expect to see any issues on the PVR lists also appear on the Music section (and on the Files and Local Files section).

I'll keep this open, when i get a working PVR i'll take a look.

basilgello commented 2 years ago

@SyncedSynapse Install pvr.demo and you'll get everything needed to test. If you use Kodi on Debian, ping me and I will build you the debpackage.

BTW time to try 3.0.0 here :)

heeplr commented 2 years ago

I found the code is based on ViewPager2 and this stackoverflow question that describes my issue. Maybe the mentioned solution is usable in our case. (btw. less sensitivity on the Music section probably wouldn't hurt either)

@SyncedSynapse when you mail me your postal address to [redacted], i'll donate you a DVB stick. I'd go with a Hauppauge WinTV-Solo since I know that will work with Kodi. Or tell me your preferred model. (I will edit out this part later to remove my email.)

SyncedSynapse commented 2 years ago

That solution is quite a hack, and i would prefer not to use it... AFAIK ViewPager doesn't expose a public way to manipulate that sensitivity and forcefully going into its internals looks like a recipe for disaster during an update.

@heeplr Thanks for the offer, but no need. I'll take a look at pvr.demo, as it sounds like a more convenient solution for me. But thanks anyway,

heeplr commented 2 years ago

If there's no decent fix, maybe a possible workaround could be a config option to disable tabs permanently.

The same might be nice for the Music section. I suppose most people will prefer to use only one tab anyway, so they wouldn't have to switch tabs everytime the section is selected but just see the tab(s) they selected in the preferences.

For example I would disable "Recordings" and "Radio" tabs in the PVR section and "Artist", "Album", "Genre" and "Video" in the Music section which would also fix this "swipe when I actually want to scroll/refresh" problem.

basilgello commented 2 years ago

@heeplr What you refer is implemented in Yatse for a long time. Would be nice to have this functionality in Kore, too.