basshelal / Waqti

Android app for a Kanban board time management system similar to Trello
MIT License
35 stars 7 forks source link

Problems when scrolling Tasks across lists with lower API level Nexus 5 #3

Closed basshelal closed 5 years ago

basshelal commented 5 years ago

This isn't an issue on Pixel API 28 but is on Nexus 5 API 21 and API 23, it also seems like this has nothing to do with width, as we tried to do it with lower width lists and still the issue remained, not sure if this is because onBindViewHolder is not being called or what, this is a major bug!

basshelal commented 5 years ago

This has nothing to do with the width but because onBindViewHolder isn't being called when we're scrolling across. Current PreCachingLayoutManager partially fixes this but only to a small extent, doesn't work well going left and past 3 or 4 lists.

basshelal commented 5 years ago

I'm beginning to believe this is just a problem with lower API levels because of their use of startDrag() instead of startDragAndDrop(), this became deprecated in API Level 24 (Android N). It seems that any UI movement done while dragging an item doesn't seem to call any onBindViewHolder(). We need to test this theory further but so far things seem to indicate that this is true. This is an important part of Waqti's functionality, if this is the case, we must update the minSDKLevel to the one where it works. It is unfortunate but necessary.

basshelal commented 5 years ago

Changing minSdkVersion to 24 fixed it, my assumption was correct, perhaps one day we will fix this and make it available for lower API levels, it seems that the dragging stuff is really the main culprit for this entire problem.

Android development is so fun and I love how unified and not-fragmented the ecosystem is, the same code definitely behaves exactly the same on all devices!