Verified
Status Update
Comments
ad...@google.com <ad...@google.com> #2
What version of Activity are you using? Upgrading your Activity dependency 1.7.2
which also depends on Lifecycle 2.6.1
should resolve this.
cc...@google.com <cc...@google.com> #3
Thanks. I stumbled upon https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:activity/activity/src/main/java/androidx/activity/ComponentDialog.kt;bpv=1;bpt=0
And see it was fixed in commit 602bac6c67b589d11f8f4d1441a4aec4dca0ee49.
Ill wait to upgrade until after that commit is in the stable release.
And see it was fixed in commit 602bac6c67b589d11f8f4d1441a4aec4dca0ee49.
Ill wait to upgrade until after that commit is in the stable release.
rh...@abc.net.au <rh...@abc.net.au> #4
It is stable in the releases I referenced above.
cc...@google.com <cc...@google.com> #5
Fragment 1.6.1 will update the dependency of Activity to 1.7.2 so you'll get this improvement by default. As mentioned above, you can add a dependency on Activity 1.7.2 right now to fix the issue as a workaround until that release comes out.
Description
Version used: 27.1.1
Theme used: N/A
Devices/Android versions reproduced on: Any
Regarding the check at the top of `submitList` here:
```
if (newList == mList) {
// nothing to do
return;
}
```
There's a race condition -- suppose we have lists A and B, and the differ's `mList` before starting is list A.
1. Submit list B - async diff generation N kicks off
2. Submit list A - `newList` matches `mList` since diff gen N hasn't completed yet, but `mMaxScheduledGeneration` is not incremented and this returns early
3. Async diff gen N is accepted, despite list A being submitted after list B.
Seems this could be fixed by incrementing `mMaxScheduledGeneration`. As a workaround, I am wrapping my lists in a new identity before submitting them to the differ.