diff options
| author | 2024-07-01 09:09:17 -0700 | |
|---|---|---|
| committer | 2024-07-01 09:15:34 -0700 | |
| commit | 4b41560578317c32806b379520fe0ca425fc7026 (patch) | |
| tree | 5c2098ea0045b71ac610081bf7d967ff2acdf481 | |
| parent | e386be21417e7648f81926bd4ab2fa57fbe813b9 (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.kt | 3 |
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() |