Fixed
Status Update
Comments
jb...@google.com <jb...@google.com>
ap...@google.com <ap...@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
pr...@google.com <pr...@google.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
ty...@gmail.com <ty...@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
dr...@gmail.com <dr...@gmail.com>
lb...@gmail.com <lb...@gmail.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
Description
Version used: 1.7.0
Devices/Android versions reproduced on: API 33
If this is a bug in the library, we would appreciate if you could attach:
Example project attached
Description:
It appears that ComponentActivity$ReportFullyDrawnExecutorApi16Impl.this$0 leaks memory when used in an ActivityScenario if the ActivityScenario is used to recreate the Activity soon after the Activity has been launched.
Reproduction steps:
1. Create an Activity that extends ComponentActivity
2. Set a content view for the Activity in the onCreate using either setContentView(View) or setContent { <Composable> }
3. Create an instrumented test that uses LeakCanary's DetectLeaksAfterTestSuccess Test Rule
4. In the test: Launch the Activity using ActivityScenario, and then call "recreate" on the ActivityScenario
5a. Expected result: The test launches the Activity, recreates it, and the test passes.
5b. Actual result: The test launches the Activity, recreates it, and then LeakCanary detects a memory leak from ComponentActivity$ReportFullyDrawnExecutorApi16Impl.this$0 leaking an instance of the Activity.
This issue does not occur for ComponentActivity instance that do not set a content view in onCreate, and does not occur for regular android.app.Activity instances.
I have attached an example project with eight instrumented tests that show case this issue. In the ExampleInstrumentedTest.kt tests `launchExampleViewActivityAndRecreate` and `launchExampleComposeActivityAndRecreate` both fail, and all other tests succeed. The expected behaviour is that all tests should pass.