Fixed
Status Update
Comments
an...@google.com <an...@google.com>
ap...@google.com <ap...@google.com> #2
Thanks for filing the issue.
This is a particularly hard device to come by - do you happen to have access to the device? If so could you provide us with the output of: adb shell dumpsys media.camera > info.txt
Thanks!
This is a particularly hard device to come by - do you happen to have access to the device? If so could you provide us with the output of: adb shell dumpsys media.camera > info.txt
Thanks!
Description
Version used: 1.4.2
Devices/Android versions reproduced on: Pixel 4
If this is a bug in the library, we would appreciate if you could attach:
- Sample project to trigger the issue.
- A screenrecord or screenshots showing the issue (if UI related).
Step to reproduce:
1) Import project from google3/experimental/users/ychr/java/dev/viewpager/
2) patch cl/362126372
3) build and deploy the app: a view pager with 5 pages
4) select "Gray" tab to go to gray page
The followings are in log
2021-03-10 12:03:06.532 30105-30105/dev.viewpager I/ViewPagerState: before rememberSaveable content.value.items.size 5
2021-03-10 12:03:06.532 30105-30105/dev.viewpager I/ViewPagerState: state dev.viewpager.render.ViewPagerState@19b483b current page 2
5) tap on "Delete this page" button to delete gray page --> view page switches to first tab(page) : blue page
The followings are in log
2021-03-10 12:03:30.345 30105-30105/dev.viewpager I/ViewPagerState: before rememberSaveable content.value.items.size 4
2021-03-10 12:03:30.345 30105-30105/dev.viewpager I/ViewPagerState: state dev.viewpager.render.ViewPagerState@5caf269 current page 0
6) rotate the screen, green page (page index 2) is displayed instead of blue page
The followings are in log
2021-03-10 12:03:36.849 30105-30105/dev.viewpager I/ViewPagerState: before rememberSaveable content.value.items.size 4
2021-03-10 12:03:36.850 30105-30105/dev.viewpager I/ViewPagerState: state dev.viewpager.render.ViewPagerState@2ab65be current page 2
Examing `rememberSaveable` source code,
If the `value` changes in
it won't trigger a re-save, because the sideeffect only runs when `registry` and `finalKey` changes
A fix like
will address the issue