Fixed
Status Update
Comments
su...@google.com <su...@google.com>
su...@google.com <su...@google.com> #2
Project: platform/frameworks/support
Branch: androidx-main
commit c46d3e79b2ea8b839358f0215b0a432ef8fad7a2
Author: Clara Fok <clarafok@google.com>
Date: Fri Nov 04 15:23:25 2022
Convert androidx.activity.Cancellable to kotlin
Test: ./gradlew activity:activity:cC
Bug: 257291701
Change-Id: I057f3e54811e7399e40083ef5e3915adc4fa425d
M activity/activity/src/main/java/androidx/activity/Cancellable.kt
https://android-review.googlesource.com/2288554
Branch: androidx-main
commit c46d3e79b2ea8b839358f0215b0a432ef8fad7a2
Author: Clara Fok <clarafok@google.com>
Date: Fri Nov 04 15:23:25 2022
Convert androidx.activity.Cancellable to kotlin
Test: ./gradlew activity:activity:cC
Bug: 257291701
Change-Id: I057f3e54811e7399e40083ef5e3915adc4fa425d
M activity/activity/src/main/java/androidx/activity/Cancellable.kt
kj...@gmail.com <kj...@gmail.com> #3
Project: platform/frameworks/support
Branch: androidx-main
commit 7fd8a3206a49baefee8340f0839fcd4de7716788
Author: Clara Fok <clarafok@google.com>
Date: Fri Nov 04 15:13:23 2022
Rename androidx.activity.Cancellable from .java to .kt
Test: n/a
Bug:257291701
Change-Id: I7f2ff8ce79af41c6437fb9a0f1be90e8990495e8
M activity/activity/src/main/java/androidx/activity/Cancellable.kt
https://android-review.googlesource.com/2288553
Branch: androidx-main
commit 7fd8a3206a49baefee8340f0839fcd4de7716788
Author: Clara Fok <clarafok@google.com>
Date: Fri Nov 04 15:13:23 2022
Rename androidx.activity.Cancellable from .java to .kt
Test: n/a
Bug:257291701
Change-Id: I7f2ff8ce79af41c6437fb9a0f1be90e8990495e8
M activity/activity/src/main/java/androidx/activity/Cancellable.kt
lo...@gmail.com <lo...@gmail.com> #4
Project: platform/frameworks/support
Branch: androidx-main
commit 4d21e0a45f19ed238ef30756f576930af07449c2
Author: Clara Fok <clarafok@google.com>
Date: Fri Nov 04 13:25:08 2022
Convert ActivityResultCallback to kotlin
Including clean up in test usages of this interface
Test: ./gradlew activity:activity:cC
Bug: 257291701
Relnote: Converted ActvitiyResultCallback to kotlin. Maintains source and binary comptability.
Change-Id: Ifc5e5e1a9a7ed4e281007830fb8d4c74237c63ce
M activity/activity/api/current.txt
M activity/activity/api/public_plus_experimental_current.txt
M activity/activity/api/restricted_current.txt
M activity/activity/src/androidTest/java/androidx/activity/result/ActivityResultRegistryTest.kt
M activity/activity/src/main/java/androidx/activity/result/ActivityResultCallback.kt
https://android-review.googlesource.com/2288334
Branch: androidx-main
commit 4d21e0a45f19ed238ef30756f576930af07449c2
Author: Clara Fok <clarafok@google.com>
Date: Fri Nov 04 13:25:08 2022
Convert ActivityResultCallback to kotlin
Including clean up in test usages of this interface
Test: ./gradlew activity:activity:cC
Bug: 257291701
Relnote: Converted ActvitiyResultCallback to kotlin. Maintains source and binary comptability.
Change-Id: Ifc5e5e1a9a7ed4e281007830fb8d4c74237c63ce
M activity/activity/api/current.txt
M activity/activity/api/public_plus_experimental_current.txt
M activity/activity/api/restricted_current.txt
M activity/activity/src/androidTest/java/androidx/activity/result/ActivityResultRegistryTest.kt
M activity/activity/src/main/java/androidx/activity/result/ActivityResultCallback.kt
be...@airbnb.com <be...@airbnb.com> #5
Project: platform/frameworks/support
Branch: androidx-main
commit ae5bcbc9174b9767f143bfd9629a69fcd3ed325d
Author: Clara Fok <clarafok@google.com>
Date: Fri Nov 04 13:06:36 2022
Rename ActivityResultCallback from .java to .kt
Test: n/a
Bug: 257291701
Change-Id: I43a8c76cb51e3eee4a1ec2cb6f0128753d85965d
M activity/activity/src/main/java/androidx/activity/result/ActivityResultCallback.kt
https://android-review.googlesource.com/2288333
Branch: androidx-main
commit ae5bcbc9174b9767f143bfd9629a69fcd3ed325d
Author: Clara Fok <clarafok@google.com>
Date: Fri Nov 04 13:06:36 2022
Rename ActivityResultCallback from .java to .kt
Test: n/a
Bug: 257291701
Change-Id: I43a8c76cb51e3eee4a1ec2cb6f0128753d85965d
M activity/activity/src/main/java/androidx/activity/result/ActivityResultCallback.kt
fe...@gmail.com <fe...@gmail.com> #6
Project: platform/frameworks/support
Branch: androidx-main
commit 91f60f5adb619fc0a2ddc866c94670a2f046799a
Author: Clara Fok <clarafok@google.com>
Date: Fri Nov 04 16:59:43 2022
Convert OnBackPressedCallback to kotlin
Test: ./gradlew activity:activity:cC
Bug: 257291701
Relnote: OnBackPressedCallback is now in Kotlin
Change-Id: Ide1b056e438b403c9b1888bc7dfedf283f1ff168
M activity/activity/api/current.txt
M activity/activity/api/public_plus_experimental_current.txt
M activity/activity/api/restricted_current.txt
M activity/activity/src/main/java/androidx/activity/OnBackPressedCallback.kt
https://android-review.googlesource.com/2288079
Branch: androidx-main
commit 91f60f5adb619fc0a2ddc866c94670a2f046799a
Author: Clara Fok <clarafok@google.com>
Date: Fri Nov 04 16:59:43 2022
Convert OnBackPressedCallback to kotlin
Test: ./gradlew activity:activity:cC
Bug: 257291701
Relnote: OnBackPressedCallback is now in Kotlin
Change-Id: Ide1b056e438b403c9b1888bc7dfedf283f1ff168
M activity/activity/api/current.txt
M activity/activity/api/public_plus_experimental_current.txt
M activity/activity/api/restricted_current.txt
M activity/activity/src/main/java/androidx/activity/OnBackPressedCallback.kt
su...@google.com <su...@google.com>
il...@google.com <il...@google.com> #7
Project: platform/frameworks/support
Branch: androidx-main
commit 324a9ebeb0c23ca0113a925c83a4b90a74c7dc54
Author: Clara Fok <clarafok@google.com>
Date: Fri Nov 04 15:57:01 2022
Rename OnBackPressedCallback from .java to .kt
Test: n/a
Bug: 257291701
Change-Id: I3645ebd21c0ea9c243fad3007bdd3d2472806dcc
M activity/activity/src/main/java/androidx/activity/OnBackPressedCallback.kt
https://android-review.googlesource.com/2288078
Branch: androidx-main
commit 324a9ebeb0c23ca0113a925c83a4b90a74c7dc54
Author: Clara Fok <clarafok@google.com>
Date: Fri Nov 04 15:57:01 2022
Rename OnBackPressedCallback from .java to .kt
Test: n/a
Bug: 257291701
Change-Id: I3645ebd21c0ea9c243fad3007bdd3d2472806dcc
M activity/activity/src/main/java/androidx/activity/OnBackPressedCallback.kt
il...@google.com <il...@google.com>
ap...@google.com <ap...@google.com> #8
Project: platform/frameworks/support
Branch: androidx-main
commit a6ec8cc8df1fd6e8a4407ad15569d77914e9adb3
Author: Ian Lake <ilake@google.com>
Date: Wed Jan 25 00:05:20 2023
Move OnBackPressedDispatcher extension to main artifact
As the main activity artifact is automatically included
whenever a developer depends on activity-ktx and these are
in an atomic library group, we can move the Kotlin
extension from activity-ktx to activity itself now that
the class itself has been moved to Kotlin.
Relnote: n/a
Test: ./gradlew checkApi
BUG: 257291701
Change-Id: I13482de2e25bd6e084f4b299dddd43b2bcf7a4c7
A activity/activity-ktx/api/current.ignore
M activity/activity-ktx/api/current.txt
M activity/activity-ktx/api/public_plus_experimental_current.txt
A activity/activity-ktx/api/restricted_current.ignore
M activity/activity-ktx/api/restricted_current.txt
D activity/activity-ktx/src/androidTest/java/androidx/activity/OnBackPressedDispatcherTest.kt
D activity/activity-ktx/src/main/java/androidx/activity/OnBackPressedDispatcher.kt
M activity/activity/api/current.txt
M activity/activity/api/public_plus_experimental_current.txt
M activity/activity/api/restricted_current.txt
M activity/activity/src/androidTest/java/androidx/activity/OnBackPressedDispatcherTest.kt
M activity/activity/src/main/java/androidx/activity/OnBackPressedDispatcher.kt
https://android-review.googlesource.com/2401943
Branch: androidx-main
commit a6ec8cc8df1fd6e8a4407ad15569d77914e9adb3
Author: Ian Lake <ilake@google.com>
Date: Wed Jan 25 00:05:20 2023
Move OnBackPressedDispatcher extension to main artifact
As the main activity artifact is automatically included
whenever a developer depends on activity-ktx and these are
in an atomic library group, we can move the Kotlin
extension from activity-ktx to activity itself now that
the class itself has been moved to Kotlin.
Relnote: n/a
Test: ./gradlew checkApi
BUG: 257291701
Change-Id: I13482de2e25bd6e084f4b299dddd43b2bcf7a4c7
A activity/activity-ktx/api/current.ignore
M activity/activity-ktx/api/current.txt
M activity/activity-ktx/api/public_plus_experimental_current.txt
A activity/activity-ktx/api/restricted_current.ignore
M activity/activity-ktx/api/restricted_current.txt
D activity/activity-ktx/src/androidTest/java/androidx/activity/OnBackPressedDispatcherTest.kt
D activity/activity-ktx/src/main/java/androidx/activity/OnBackPressedDispatcher.kt
M activity/activity/api/current.txt
M activity/activity/api/public_plus_experimental_current.txt
M activity/activity/api/restricted_current.txt
M activity/activity/src/androidTest/java/androidx/activity/OnBackPressedDispatcherTest.kt
M activity/activity/src/main/java/androidx/activity/OnBackPressedDispatcher.kt
jb...@google.com <jb...@google.com> #9
Project: platform/frameworks/support
Branch: androidx-main
commit d54d4417476c5ddc37251a910bdf37e9d278357e
Author: Ian Lake <ilake@google.com>
Date: Tue Jan 24 23:57:45 2023
Replace usages of Consumer with a lambda
Now that OnBackPressedCallback and
OnBackPressedDispatcher are both written in Kotlin,
we can convert the callback between the two to be a
lambda method, rather than using a Consumer<Boolean>.
Test: tests still pass
BUG: 257291701
Change-Id: I0e2e4a3e7e9d6a3aeab1b8d2283fff321d45f44f
M activity/activity/src/main/java/androidx/activity/OnBackPressedCallback.kt
M activity/activity/src/main/java/androidx/activity/OnBackPressedDispatcher.kt
https://android-review.googlesource.com/2401942
Branch: androidx-main
commit d54d4417476c5ddc37251a910bdf37e9d278357e
Author: Ian Lake <ilake@google.com>
Date: Tue Jan 24 23:57:45 2023
Replace usages of Consumer with a lambda
Now that OnBackPressedCallback and
OnBackPressedDispatcher are both written in Kotlin,
we can convert the callback between the two to be a
lambda method, rather than using a Consumer<Boolean>.
Test: tests still pass
BUG: 257291701
Change-Id: I0e2e4a3e7e9d6a3aeab1b8d2283fff321d45f44f
M activity/activity/src/main/java/androidx/activity/OnBackPressedCallback.kt
M activity/activity/src/main/java/androidx/activity/OnBackPressedDispatcher.kt
Description
Since enabling android 13's
enableOnBackInvokedCallback
setting, our app has been experiencing a number of sporadic crashes originating in android only code.Our app only uses OnBackPressedCallback, and registers using LifecycleOwners. (We do not change OnBackInvokedDispatcher).
I have not been able to create a reliable reproduction, however, have a hypothesis from reading through the source code.
WindowOnBackInvokedDispatcher
is invoking anOnBackPressedDispatcher
with no enabled OnBackPressedCallbacks. The crash itself seems to imply the FragmentManager has been destroyed.OnBackPressedDispatcher
, there isnavigateBack
does not perform apopBackStackImmediate
which is different from the OnBackPressedDispatchersfallback
which ultimately invokespopBackStackImmediate
WindowOnBackInvokedDispatcher
uses asetTopOnBackInvokedCallback
.WindowOnBackInvokedDispatcher
, if there is a back-press enqueued while there is another message ahead of it which will causeWindowOnBackInvokedDispatcher
to update it's topCallback, it can run on a stale callback.This race condition ultimately means that
Activity.onBackPressed
is invoked instead ofActivity.navigateBack
, exposing the app to the crash in fragment manager'spopBackStackImmediate
.This is just speculation, but from our crash breadcrumbs it does seem that this crash is also proceeded by the destroy event of an activity 5-100ms prior.
It would be much appreciated to have the perspective of someone more familiar with the platform code. We are seeing a steady increase in this crash as more users adopt android 13.