From 449e217211012440be85658de61544845e922032 Mon Sep 17 00:00:00 2001 From: Nate Myren Date: Tue, 20 Apr 2021 18:40:59 -0700 Subject: [PATCH] Flag-gate immersive mode indicator Disable the immersive mode indicator unless the enable_immersive_indicator device config flag is set Bug: 185947709 Test: manual Change-Id: Ief38fd7debad8291ddccdc8153fe6b1cdbcbc5ed --- .../events/SystemStatusAnimationScheduler.kt | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/events/SystemStatusAnimationScheduler.kt b/packages/SystemUI/src/com/android/systemui/statusbar/events/SystemStatusAnimationScheduler.kt index b85d0310092ce..46a971b4cbd1b 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/events/SystemStatusAnimationScheduler.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/events/SystemStatusAnimationScheduler.kt @@ -23,6 +23,7 @@ import android.animation.ValueAnimator import android.annotation.IntDef import android.content.Context import android.os.Process +import android.provider.DeviceConfig import android.util.Log import android.view.View @@ -62,6 +63,14 @@ class SystemStatusAnimationScheduler @Inject constructor( @Main private val executor: DelayableExecutor ) : CallbackController { + companion object { + private const val PROPERTY_ENABLE_IMMERSIVE_INDICATOR = "enable_immersive_indicator" + } + private fun isImmersiveIndicatorEnabled(): Boolean { + return DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_PRIVACY, + PROPERTY_ENABLE_IMMERSIVE_INDICATOR, false) + } + /** True from the time a scheduled event starts until it's animation finishes */ var isActive = false private set @@ -83,7 +92,7 @@ class SystemStatusAnimationScheduler @Inject constructor( fun onStatusEvent(event: StatusEvent) { // Ignore any updates until the system is up and running - if (isTooEarly()) { + if (isTooEarly() || !isImmersiveIndicatorEnabled()) { return } @@ -106,7 +115,7 @@ class SystemStatusAnimationScheduler @Inject constructor( } fun setShouldShowPersistentPrivacyIndicator(should: Boolean) { - if (hasPersistentDot == should) { + if (hasPersistentDot == should || !isImmersiveIndicatorEnabled()) { return }