diff options
author | Beverly <beverlyt@google.com> | 2022-02-16 14:21:37 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-02-17 03:49:35 +0000 |
commit | 3c867253870d5c91945eb6237fc05c56589c38d4 (patch) | |
tree | b63d62b8871da2ecb227660b677fd3aeb4454e38 | |
parent | c88aa4c466244edfea2acf75e33ac862b2457f78 (diff) | |
download | base-3c867253870d5c91945eb6237fc05c56589c38d4.tar.gz |
DO NOT MERGE Doze-Pulsing should always go to display on
The only exception is if the device requires
a blank frame before turning the display back on.
Test: atest DozeMachineTest
Test: make a phone call, then enter AOD and attempt UDFPS to see HBM
Bug: 213875085
Change-Id: Ia3025c1b6e479180edf489dcb53dec8f81f7820f
(cherry picked from commit a1d372c4ce418511317c7d2e249c6b31b0a02cfb)
Merged-In:Ia3025c1b6e479180edf489dcb53dec8f81f7820f
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/doze/DozeMachine.java | 4 | ||||
-rw-r--r-- | packages/SystemUI/tests/src/com/android/systemui/doze/DozeMachineTest.java | 18 |
2 files changed, 21 insertions, 1 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeMachine.java b/packages/SystemUI/src/com/android/systemui/doze/DozeMachine.java index befb648152d4..789ad6223e79 100644 --- a/packages/SystemUI/src/com/android/systemui/doze/DozeMachine.java +++ b/packages/SystemUI/src/com/android/systemui/doze/DozeMachine.java @@ -118,9 +118,11 @@ public class DozeMachine { switch (this) { case UNINITIALIZED: case INITIALIZED: - case DOZE_REQUEST_PULSE: return parameters.shouldControlScreenOff() ? Display.STATE_ON : Display.STATE_OFF; + case DOZE_REQUEST_PULSE: + return parameters.getDisplayNeedsBlanking() ? Display.STATE_OFF + : Display.STATE_ON; case DOZE_AOD_PAUSED: case DOZE: return Display.STATE_OFF; diff --git a/packages/SystemUI/tests/src/com/android/systemui/doze/DozeMachineTest.java b/packages/SystemUI/tests/src/com/android/systemui/doze/DozeMachineTest.java index 8078b6c8bda4..56844292ce4a 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/doze/DozeMachineTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/doze/DozeMachineTest.java @@ -42,12 +42,14 @@ import static org.mockito.Mockito.when; import android.hardware.display.AmbientDisplayConfiguration; import android.testing.AndroidTestingRunner; import android.testing.UiThreadTest; +import android.view.Display; import androidx.test.filters.SmallTest; import com.android.systemui.SysuiTestCase; import com.android.systemui.dock.DockManager; import com.android.systemui.keyguard.WakefulnessLifecycle; +import com.android.systemui.statusbar.phone.DozeParameters; import com.android.systemui.statusbar.policy.BatteryController; import com.android.systemui.util.wakelock.WakeLockFake; @@ -444,4 +446,20 @@ public class DozeMachineTest extends SysuiTestCase { assertTrue(mServiceFake.requestedWakeup); } + + @Test + public void testDozePulsing_displayRequiresBlanking_screenState() { + DozeParameters dozeParameters = mock(DozeParameters.class); + when(dozeParameters.getDisplayNeedsBlanking()).thenReturn(true); + + assertEquals(Display.STATE_OFF, DOZE_REQUEST_PULSE.screenState(dozeParameters)); + } + + @Test + public void testDozePulsing_displayDoesNotRequireBlanking_screenState() { + DozeParameters dozeParameters = mock(DozeParameters.class); + when(dozeParameters.getDisplayNeedsBlanking()).thenReturn(false); + + assertEquals(Display.STATE_ON, DOZE_REQUEST_PULSE.screenState(dozeParameters)); + } } |