summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Alejandro Nijamkin <nijamkin@google.com> 2024-07-01 09:09:17 -0700
committer Alejandro Nijamkin <nijamkin@google.com> 2024-07-01 09:15:34 -0700
commit4b41560578317c32806b379520fe0ca425fc7026 (patch)
tree5c2098ea0045b71ac610081bf7d967ff2acdf481
parente386be21417e7648f81926bd4ab2fa57fbe813b9 (diff)
[flexiglass] Fixes crashloop.
The crashloop is a Dagger runtime dependency cycle that was introduced in ag/28088831 and was missed because that CL didn't test with Flexiglass on (it concerned itself only with clocks in the legacy code). The problem is that the change removed the inherent "laziness" that the sampleFilter provided and caused the upstream keyguardTransitionInteractor.transitionValue to be collected eagerly, as soon as the KeyguardInteractor was instantiated. Test: manually verified that the crash doesn't occur anymore when flexiglass is on, also that there's no crashloop when flexiglass is off Flag: com.android.systemui.scene_container Fix: 350495724 Change-Id: I99533a0baec0d4f8bd5a2268b6139005069c625f
-rw-r--r--packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardInteractor.kt3
1 files changed, 2 insertions, 1 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardInteractor.kt b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardInteractor.kt
index 4f75e6fb717a..22ab82b383a7 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardInteractor.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardInteractor.kt
@@ -249,7 +249,7 @@ constructor(
val isKeyguardGoingAway: Flow<Boolean> = repository.isKeyguardGoingAway
/** Keyguard can be clipped at the top as the shade is dragged */
- val topClippingBounds: Flow<Int?> =
+ val topClippingBounds: Flow<Int?> by lazy {
combineTransform(
keyguardTransitionInteractor
.transitionValue(scene = Scenes.Gone, stateWithoutSceneContainer = GONE)
@@ -263,6 +263,7 @@ constructor(
}
}
.distinctUntilChanged()
+ }
/** Last point that [KeyguardRootView] view was tapped */
val lastRootViewTapPosition: Flow<Point?> = repository.lastRootViewTapPosition.asStateFlow()