Closed Bug 1071283 Opened 11 years ago Closed 5 years ago

Make SwipeDismissListViewTouchListener dismissal more robust

Categories

(Firefox for Android Graveyard :: General, defect)

All
Android
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED INCOMPLETE

People

(Reporter: bnicholson, Unassigned)

References

Details

Bug 1030896 imports and heavily modifies the SwipeToDimissNOA library. A common problem with that lib is that there are update races between the ListView and async adapters, which we band-aided using a recycler-based approach. We should look into other fixes, such as: 1) Using ViewCompat.setHasTransientState, which should remove any raciness for older APIs by preventing views from being recycled altogether. One potential problem is that we'd have to figure out when to actually release the transient state for these views (which was the motivation behind the original timeout patches in bug 1030896). We might be able to just ignore the cleanup altogether and never reset the transient state, holding onto the dismissed views until the ListView is destroyed (which I think lucasr was suggesting in https://bugzilla.mozilla.org/show_bug.cgi?id=1030896#c42). This could result in memory pressure if lots of views are dismissed for a long ListView at once, but probably not an issue in practice. 2) Use a custom adapter to fix the recycler races. While more robust, it's not ideal since it means clients have even more boilerplate code needed when they use this library.
We have completed our launch of our new Firefox on Android. The development of the new versions use GitHub for issue tracking. If the bug report still reproduces in a current version of [Firefox on Android nightly](https://play.google.com/store/apps/details?id=org.mozilla.fenix) an issue can be reported at the [Fenix GitHub project](https://github.com/mozilla-mobile/fenix/). If you want to discuss your report please use [Mozilla's chat](https://wiki.mozilla.org/Matrix#Connect_to_Matrix) server https://chat.mozilla.org and join the [#fenix](https://chat.mozilla.org/#/room/#fenix:mozilla.org) channel.
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → INCOMPLETE
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.