Status Update
Comments
ry...@google.com <ry...@google.com> #2
ap...@google.com <ap...@google.com> #3
since it is already marked as deprecated, we can probably do it by now.
hu...@google.com <hu...@google.com> #4
hu...@google.com <hu...@google.com> #5
Branch: androidx-master-dev
commit d576cbdc911cba16638a44fd8223391a90a07ef7
Author: Mike Nakhimovich <digitalbuddha@users.noreply.github.com>
Date: Tue Aug 11 09:30:34 2020
[GH] Hide deprecated internal API.
## Proposed Changes
* `RoomDatabase.java` has protected `mCallbacks` field which is leaking in the API docs, we should @Hide it.
## Testing
Test: Ran unit tests locally
## Issues Fixed
Fixes: 76109329
This is an imported pull request from
Resolves #61
Github-Pr-Head-Sha: 6440daa3a63752c7f9d5ba2a390248cd85bc634f
GitOrigin-RevId: fe92d8466a59b44b218b6ca3cbd57dcda17992f7
Change-Id: Id599cdf5b02b32bdae0166266fb7da967598fe92
A room/runtime/api/current.ignore
M room/runtime/api/current.txt
M room/runtime/api/public_plus_experimental_current.txt
M room/runtime/api/restricted_current.txt
M room/runtime/src/main/java/androidx/room/RoomDatabase.java
ry...@google.com <ry...@google.com> #6
It looks like this code in ViewPager2 is a workaround for the bug that's fixed in this change.
Specifically, it looks to be working around the fact that onBindViewHolder
was previously called with temporarily detached views, and using this listener to wait for it to be properly attached so that it can perform operations that rely on it being properly attached.
The previous state was bad precisely because it forced hacky workarounds like this due to the lack of a proper way to listen for changes in temp-detached state (there are listeners, but they don't work, and would likely require changes in both RecyclerView and framework to make them work...it's a very flawed design). Until seeing this workaround, I wasn't aware it was even possible at all to figure it out (and even this has some limitations that probably aren't really relevant to VP2's use-case).
I think the correct solution here is to remove this workaround in ViewPager2 and release new RecyclerView and ViewPager2 versions in parallel to address this, with release notes advising users to upgrade. Jakub, what do you think?
(also, I think I vaguely recall hearing that it's possible to do some sort of Gradle module metadata thing where we can also add the information that VP2 should be at least a certain version if being used with a given RV version? I'm not sure if/how we could do that, though)
hu...@google.com <hu...@google.com> #7
Thanks for the explanation!
I'm wondering if there will be versioning issues re. Android platform support vs. AndroidX? (NVM, this is all AndroidX).
ap...@google.com <ap...@google.com> #8
Branch: androidx-main
commit e8d8836df99cf5e0d1d4bc318947d89d4103c569
Author: Ryan Mentley <ryanmentley@google.com>
Date: Wed Mar 08 18:26:56 2023
Ensure that ViewPager2 is on the latest version when used with an updated recyclerview
As discussed at
ViewPager2 had a workaround for that bug that now crashes when the bug is
not present. To fix this, we need to ensure that ViewPager2 is on a
version containing the corresponding fix in ViewPager2.
Bug: 265347515
Bug: 271618925
Test: None (TBD?)
Change-Id: I18a5140755c15a0c93e2647207152b679e463233
M recyclerview/recyclerview/build.gradle
ju...@google.com <ju...@google.com> #9
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.recyclerview:recyclerview:1.3.1-rc01
pr...@google.com <pr...@google.com> #10
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.recyclerview:recyclerview:1.4.0-alpha01
Description
Quoting Adam Powell on an internal issue: