diff options
| author | 2025-01-31 04:35:00 -0800 | |
|---|---|---|
| committer | 2025-01-31 04:35:00 -0800 | |
| commit | 087338e6995904413d293517edfe6ae83d12cc4c (patch) | |
| tree | 75c42664bbb65283d68c6ae814fd068fac7172c5 | |
| parent | 5885caada11a09067fd1c598d73f0c2ee6fda25e (diff) | |
| parent | b152c5601f818974b51c18aee30013a5f46bf78b (diff) | |
Merge "Check with CameraGestureHelper before updating powerButtonLaunchGestureTriggered." into main
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/power/domain/interactor/PowerInteractor.kt | 28 | 
1 files changed, 18 insertions, 10 deletions
| diff --git a/packages/SystemUI/src/com/android/systemui/power/domain/interactor/PowerInteractor.kt b/packages/SystemUI/src/com/android/systemui/power/domain/interactor/PowerInteractor.kt index f8d442de0f55..25d53e6d1f1f 100644 --- a/packages/SystemUI/src/com/android/systemui/power/domain/interactor/PowerInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/power/domain/interactor/PowerInteractor.kt @@ -50,7 +50,7 @@ constructor(      @FalsingCollectorActual private val falsingCollector: FalsingCollector,      private val screenOffAnimationController: ScreenOffAnimationController,      private val statusBarStateController: StatusBarStateController, -    private val cameraGestureHelper: Provider<CameraGestureHelper>, +    private val cameraGestureHelper: Provider<CameraGestureHelper?>,  ) {      /** Whether the screen is on or off. */      val isInteractive: Flow<Boolean> = repository.isInteractive @@ -154,8 +154,9 @@ constructor(          // or onFinishedGoingToSleep(), carry that state forward. It will be reset by the next          // onStartedGoingToSleep.          val powerButtonLaunchGestureTriggered = -            powerButtonLaunchGestureTriggeredOnWakeUp || -                repository.wakefulness.value.powerButtonLaunchGestureTriggered +            !isPowerButtonGestureSuppressed() && +                (powerButtonLaunchGestureTriggeredOnWakeUp || +                    repository.wakefulness.value.powerButtonLaunchGestureTriggered)          repository.updateWakefulness(              rawState = WakefulnessState.STARTING_TO_WAKE, @@ -204,8 +205,9 @@ constructor(          // If the launch gesture was previously detected via onCameraLaunchGestureDetected, carry          // that state forward. It will be reset by the next onStartedGoingToSleep.          val powerButtonLaunchGestureTriggered = -            powerButtonLaunchGestureTriggeredDuringSleep || -                repository.wakefulness.value.powerButtonLaunchGestureTriggered +            !isPowerButtonGestureSuppressed() && +                (powerButtonLaunchGestureTriggeredDuringSleep || +                    repository.wakefulness.value.powerButtonLaunchGestureTriggered)          repository.updateWakefulness(              rawState = WakefulnessState.ASLEEP, @@ -218,11 +220,7 @@ constructor(      }      fun onCameraLaunchGestureDetected() { -        if ( -            cameraGestureHelper -                .get() -                .canCameraGestureBeLaunched(statusBarStateController.getState()) -        ) { +        if (!isPowerButtonGestureSuppressed()) {              repository.updateWakefulness(powerButtonLaunchGestureTriggered = true)          }      } @@ -240,6 +238,16 @@ constructor(              .collect()      } +    /** +     * Whether the power button gesture isn't allowed to launch anything even if a double tap is +     * detected. +     */ +    private fun isPowerButtonGestureSuppressed(): Boolean { +        return cameraGestureHelper +            .get() +            ?.canCameraGestureBeLaunched(statusBarStateController.state) == false +    } +      companion object {          private const val FSI_WAKE_WHY = "full_screen_intent" |