Automattic / pocket-casts-android

Pocket Casts Android 🎧
https://forums.pocketcasts.com
Mozilla Public License 2.0
2.59k stars 225 forks source link

Issues with the Scrollbar #267

Open joashrajin opened 2 years ago

joashrajin commented 2 years ago

The scrollbar for Android currently has two issues that I've noticed:

1) If a podcast has 100s of episodes, the scrollbar gets extremely small. This is the issue reported in #5496542-zen 2) The scrollbar is challenging to select. This makes scrolling to the bottom quite difficult since you cannot select the scrollbar and drag it down. It works pretty well on iOS, where you hold it down for 2 seconds, then drag it up or down.

Recording:

https://user-images.githubusercontent.com/16253818/186884687-137cd117-a316-4c2a-91fe-9bb84fc4cba7.mp4

thesohelshaikh commented 2 months ago

@geekygecko @ashiagr

Although this seems trivial, I was not able to find any documentation of this natively. I tried looking at how other apps do this but unfortunately dragging functionality is not supported out of the box(Even in browsers). Any app that does implement this has it custom built.

Doing some exploration, I was able to find a third party library that could enable this: https://github.com/zhanghai/AndroidFastScroll

I am not sure if we are open to adding a third party dependency to achieve this.

geekygecko commented 2 months ago

@thesohelshaikh, thanks for looking for a solution. As we want to convert the app to Jetpack Compose, I would be hesitant to add a recycler view library for this.

thesohelshaikh commented 2 months ago

@thesohelshaikh, thanks for looking for a solution. As we want to convert the app to Jetpack Compose, I would be hesitant to add a recycler view library for this.

In that case to make it work we'll have to replicate the implementation done by the library, which is taken from AOSP. Looking at the implementation this is quite a bit of code.

Considering migration to compose, I wouldn't do that. I can maybe take this up for another list that is already migrated to Compose.