Status Update
Comments
ap...@google.com <ap...@google.com> #2
Can you include a sample project that crashes in release mode?
an...@google.com <an...@google.com> #3
For us this is only happening in places where LifecycleEventEffect
is used. Example stacktrace:
Fatal Exception: java.lang.IllegalStateException
CompositionLocal LocalLifecycleOwner not present
androidx.lifecycle.compose.LocalLifecycleOwnerKt$LocalLifecycleOwner$1$1.invoke (LocalLifecycleOwner.android.kt:63)
androidx.lifecycle.compose.LocalLifecycleOwnerKt$LocalLifecycleOwner$1$1.invoke (LocalLifecycleOwner.android.kt:62)
kotlin.SynchronizedLazyImpl.getValue (LazyJVM.kt:74)
androidx.compose.runtime.LazyValueHolder.getCurrent (LazyValueHolder.java:29)
androidx.compose.runtime.LazyValueHolder.getValue (LazyValueHolder.java:31)
androidx.compose.runtime.CompositionLocalMapKt.read (CompositionLocalMap.kt:90)
androidx.compose.runtime.ComposerImpl.consume (Composer.kt:2135)
androidx.lifecycle.compose.LifecycleEffectKt.LifecycleEventEffect (LifecycleEffect.kt:748)
com.freeletics.feature.profile.ProfileUiKt$ProfileUi$1.invoke (ProfileUi.kt:62)
This is also on Lifecycle 2.8.2 with Compose 1.6.
an...@google.com <an...@google.com> #4
Here is a sample project
- Checkout repository
- Build release apk with ./gradlew :app:assembleRelease -PenableReleaseSigning=true
- App starts without crash
- Comment or remove line 14 in
https://github.com/nilsjr/Koncept/blob/develop/app/proguard-rules.pro - Build release apk with ./gradlew :app:assembleRelease -PenableReleaseSigning=true
- App crashing on start
FATAL EXCEPTION: main (Ask Gemini)
Process: de.nilsdruyen.koncept, PID: 5880
java.lang.IllegalStateException: CompositionLocal LocalLifecycleOwner not present
...
[Deleted User] <[Deleted User]> #5
Thank you for sharing the sample project. I can confirm that I was able to reproduce the issue, and that
[Deleted User] <[Deleted User]> #6
It appears that the custom ProGuard rule was not working as intended across all projects.
However, using public static *** getLocalLifecycleOwner();
(with the wildcard type ***
) seems to work consistently in the sample project and our internal experiments:
-if public class androidx.compose.ui.platform.AndroidCompositionLocals_androidKt {
public static *** getLocalLifecycleOwner();
}
-keep public class androidx.compose.ui.platform.AndroidCompositionLocals_androidKt {
public static *** getLocalLifecycleOwner();
}
We are investigating further, and we will be working on a fix for the issue.
ib...@gmail.com <ib...@gmail.com> #7
Branch: androidx-main
commit 79f5644cb937d950318c3c5ef2aca70ab1413119
Author: Marcello Galhardo <mgalhardo@google.com>
Date: Fri Jun 14 16:34:11 2024
Fix Lifecycle 2.8 custom ProGuard rule
* The custom ProGuard rule was not working as intended across all projects.
* Replacing by `public static *** getLocalLifecycleOwner();` (with the wildcard type `***`) seems to work consistently in all projects.
Fixes:
Test: manual
Change-Id: I4cfdecc0bbfc0be02d66efcee2c63bb5b025dca2
M lifecycle/lifecycle-runtime-compose/proguard-rules.pro
sa...@gmail.com <sa...@gmail.com> #8
Could you please make an immediate patch release as 2.8.2 crashes with the above exception?
Description
When I tap use password I get an error from the callback "Unknown error 10" and then when I enter my PIN code or fingerprint callback is not called.
BUILD INFO
- Device type: Samsung A50
- OS version: Android 9
- Biometric library version: "androidx.biometric:biometric:1.0.0-rc02"
STEPS TO REPRODUCE
1. Face recognition enabled, face registered and set as preferred biometric
2. Fingerprint registered and enabled (required to show face recognition prompt, see
3. PIN required to unlock device
4. setDeviceCredentialAllowed(true)
5. Face recognition prompt showing, tap use password
6. Enter PIN code or fingerprint (black screen in video)
EXPECTED RESULTS
Toast showing "Authentication successful" from callback method onAuthenticationSucceeded
OBSERVED RESULTS
Toast showing error at step 5 and callback not called when entering pin code or fingerprint
NUMBER OF TIMES YOU WERE ABLE TO REPRODUCE 100%
Thank you