Loading packages/SystemUI/src/com/android/systemui/doze/DozeScreenBrightness.java +15 −6 Original line number Diff line number Diff line Loading @@ -56,6 +56,7 @@ public class DozeScreenBrightness extends BroadcastReceiver implements DozeMachi private boolean mRegistered; private int mDefaultDozeBrightness; private boolean mPaused = false; private boolean mScreenOff = false; private int mLastSensorValue = -1; /** Loading Loading @@ -118,6 +119,7 @@ public class DozeScreenBrightness extends BroadcastReceiver implements DozeMachi break; } if (newState != DozeMachine.State.FINISH) { setScreenOff(newState == DozeMachine.State.DOZE); setPaused(newState == DozeMachine.State.DOZE_AOD_PAUSED); } } Loading @@ -135,15 +137,15 @@ public class DozeScreenBrightness extends BroadcastReceiver implements DozeMachi try { if (mRegistered) { mLastSensorValue = (int) event.values[0]; updateBrightnessAndReady(); updateBrightnessAndReady(false /* force */); } } finally { Trace.endSection(); } } private void updateBrightnessAndReady() { if (mRegistered || mDebugBrightnessBucket != -1) { private void updateBrightnessAndReady(boolean force) { if (force || mRegistered || mDebugBrightnessBucket != -1) { int sensorValue = mDebugBrightnessBucket == -1 ? mLastSensorValue : mDebugBrightnessBucket; int brightness = computeBrightness(sensorValue); Loading @@ -153,7 +155,7 @@ public class DozeScreenBrightness extends BroadcastReceiver implements DozeMachi } int scrimOpacity = -1; if (mPaused) { if (mPaused || mScreenOff) { // If AOD is paused, force the screen black until the // sensor reports a new brightness. This ensures that when the screen comes on // again, it will only show after the brightness sensor has stabilized, Loading Loading @@ -216,13 +218,20 @@ public class DozeScreenBrightness extends BroadcastReceiver implements DozeMachi private void setPaused(boolean paused) { if (mPaused != paused) { mPaused = paused; updateBrightnessAndReady(); updateBrightnessAndReady(false /* force */); } } private void setScreenOff(boolean screenOff) { if (mScreenOff != screenOff) { mScreenOff = screenOff; updateBrightnessAndReady(true /* force */); } } @Override public void onReceive(Context context, Intent intent) { mDebugBrightnessBucket = intent.getIntExtra(BRIGHTNESS_BUCKET, -1); updateBrightnessAndReady(); updateBrightnessAndReady(false /* force */); } } packages/SystemUI/tests/src/com/android/systemui/doze/DozeScreenBrightnessTest.java +12 −0 Original line number Diff line number Diff line Loading @@ -236,6 +236,18 @@ public class DozeScreenBrightnessTest extends SysuiTestCase { assertEquals(1f, mHostFake.aodDimmingScrimOpacity, 0.001f /* delta */); } @Test public void screenOff_softBlanks() throws Exception { mScreen.transitionTo(UNINITIALIZED, INITIALIZED); mScreen.transitionTo(INITIALIZED, DOZE_AOD); mScreen.transitionTo(DOZE_AOD, DOZE); assertEquals(1f, mHostFake.aodDimmingScrimOpacity, 0.001f /* delta */); mScreen.transitionTo(DOZE, DOZE_AOD); mSensor.sendSensorEvent(2); assertEquals(0f, mHostFake.aodDimmingScrimOpacity, 0.001f /* delta */); } @Test public void pausingAod_unblanksAfterSensor() throws Exception { mScreen.transitionTo(UNINITIALIZED, INITIALIZED); Loading Loading
packages/SystemUI/src/com/android/systemui/doze/DozeScreenBrightness.java +15 −6 Original line number Diff line number Diff line Loading @@ -56,6 +56,7 @@ public class DozeScreenBrightness extends BroadcastReceiver implements DozeMachi private boolean mRegistered; private int mDefaultDozeBrightness; private boolean mPaused = false; private boolean mScreenOff = false; private int mLastSensorValue = -1; /** Loading Loading @@ -118,6 +119,7 @@ public class DozeScreenBrightness extends BroadcastReceiver implements DozeMachi break; } if (newState != DozeMachine.State.FINISH) { setScreenOff(newState == DozeMachine.State.DOZE); setPaused(newState == DozeMachine.State.DOZE_AOD_PAUSED); } } Loading @@ -135,15 +137,15 @@ public class DozeScreenBrightness extends BroadcastReceiver implements DozeMachi try { if (mRegistered) { mLastSensorValue = (int) event.values[0]; updateBrightnessAndReady(); updateBrightnessAndReady(false /* force */); } } finally { Trace.endSection(); } } private void updateBrightnessAndReady() { if (mRegistered || mDebugBrightnessBucket != -1) { private void updateBrightnessAndReady(boolean force) { if (force || mRegistered || mDebugBrightnessBucket != -1) { int sensorValue = mDebugBrightnessBucket == -1 ? mLastSensorValue : mDebugBrightnessBucket; int brightness = computeBrightness(sensorValue); Loading @@ -153,7 +155,7 @@ public class DozeScreenBrightness extends BroadcastReceiver implements DozeMachi } int scrimOpacity = -1; if (mPaused) { if (mPaused || mScreenOff) { // If AOD is paused, force the screen black until the // sensor reports a new brightness. This ensures that when the screen comes on // again, it will only show after the brightness sensor has stabilized, Loading Loading @@ -216,13 +218,20 @@ public class DozeScreenBrightness extends BroadcastReceiver implements DozeMachi private void setPaused(boolean paused) { if (mPaused != paused) { mPaused = paused; updateBrightnessAndReady(); updateBrightnessAndReady(false /* force */); } } private void setScreenOff(boolean screenOff) { if (mScreenOff != screenOff) { mScreenOff = screenOff; updateBrightnessAndReady(true /* force */); } } @Override public void onReceive(Context context, Intent intent) { mDebugBrightnessBucket = intent.getIntExtra(BRIGHTNESS_BUCKET, -1); updateBrightnessAndReady(); updateBrightnessAndReady(false /* force */); } }
packages/SystemUI/tests/src/com/android/systemui/doze/DozeScreenBrightnessTest.java +12 −0 Original line number Diff line number Diff line Loading @@ -236,6 +236,18 @@ public class DozeScreenBrightnessTest extends SysuiTestCase { assertEquals(1f, mHostFake.aodDimmingScrimOpacity, 0.001f /* delta */); } @Test public void screenOff_softBlanks() throws Exception { mScreen.transitionTo(UNINITIALIZED, INITIALIZED); mScreen.transitionTo(INITIALIZED, DOZE_AOD); mScreen.transitionTo(DOZE_AOD, DOZE); assertEquals(1f, mHostFake.aodDimmingScrimOpacity, 0.001f /* delta */); mScreen.transitionTo(DOZE, DOZE_AOD); mSensor.sendSensorEvent(2); assertEquals(0f, mHostFake.aodDimmingScrimOpacity, 0.001f /* delta */); } @Test public void pausingAod_unblanksAfterSensor() throws Exception { mScreen.transitionTo(UNINITIALIZED, INITIALIZED); Loading