Status Update
Comments
gg...@google.com <gg...@google.com>
am...@google.com <am...@google.com>
am...@google.com <am...@google.com> #2
Project: platform/frameworks/support
Branch: androidx-main
commit c2365dcfeb9064814282304f30f3eb86be71fdc7
Author: Dan Nizri <dniz@google.com>
Date: Wed Dec 20 16:33:08 2023
Fix Popup back handling on Android T/13+ when android:enableOnBackInvokedCallback="true"
Bug: 313702338
Bug: 318537200
Test: tested with android:enableOnBackInvokedCallback="true"
Change-Id: I7c7cef686ed9fbfd2d144c90040b13528f1675ed
M compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/window/AndroidPopup.android.kt
https://android-review.googlesource.com/2886766
Branch: androidx-main
commit c2365dcfeb9064814282304f30f3eb86be71fdc7
Author: Dan Nizri <dniz@google.com>
Date: Wed Dec 20 16:33:08 2023
Fix Popup back handling on Android T/13+ when android:enableOnBackInvokedCallback="true"
Bug: 313702338
Bug: 318537200
Test: tested with android:enableOnBackInvokedCallback="true"
Change-Id: I7c7cef686ed9fbfd2d144c90040b13528f1675ed
M compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/window/AndroidPopup.android.kt
am...@google.com <am...@google.com> #3
Is there remaining work for this feature request. Support for predictive back in Dialogs would allow Material3 to remove some Dialog forks and would be very helpful!
[Deleted User] <[Deleted User]> #4
Yeah, we probably want to investigate new API shapes here to take advantage of predictive back. No work ongoing yet though, needs prioritization
Description
Version used: 27.0.1
Theme used: Theme.AppCompat.Light.NoActionBar
Devices/Android versions reproduced on: Samsung Galaxy J7 (j7e3g), 1536MB RAM, Android 6.0
stack trace :
java.lang.IndexOutOfBoundsException:
at android.support.v7.widget.RecyclerView$Recycler.validateViewHolderForOffsetPosition (RecyclerView.java:5447)
at android.support.v7.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline (RecyclerView.java:5629)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition (RecyclerView.java:5589)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition (RecyclerView.java:5585)
at android.support.v7.widget.LinearLayoutManager$LayoutState.next (LinearLayoutManager.java:2231)
at android.support.v7.widget.LinearLayoutManager.layoutChunk (LinearLayoutManager.java:1558)
at android.support.v7.widget.LinearLayoutManager.fill (LinearLayoutManager.java:1518)
at android.support.v7.widget.LinearLayoutManager.onLayoutChildren (LinearLayoutManager.java:610)
at android.support.v7.widget.RecyclerView.dispatchLayoutStep1 (RecyclerView.java:3670)
at android.support.v7.widget.RecyclerView.dispatchLayout (RecyclerView.java:3434)
at android.support.v7.widget.RecyclerView.consumePendingUpdateOperations (RecyclerView.java:1742)
at android.support.v7.widget.RecyclerView$ViewFlinger.run (RecyclerView.java:4832)
at android.view.Choreographer$CallbackRecord.run (Choreographer.java:911)
at android.view.Choreographer.doCallbacks (Choreographer.java:686)
at android.view.Choreographer.doFrame (Choreographer.java:619)
at android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.java:897)
at android.os.Handler.handleCallback (Handler.java:739)
at android.os.Handler.dispatchMessage (Handler.java:95)
at android.os.Looper.loop (Looper.java:148)
at android.app.ActivityThread.main (ActivityThread.java:7223)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1120)