Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java +7 −2 Original line number Original line Diff line number Diff line Loading @@ -255,8 +255,13 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, mKeyguardFadeoutAnimation.cancel(); mKeyguardFadeoutAnimation.cancel(); } } // Do not let the device sleep until we're done with all animations // The device might sleep if it's entering AOD, we need to make sure that // the animation plays properly until the last frame. // It's important to avoid holding the wakelock unless necessary because // WakeLock#aqcuire will trigger an IPC and will cause jank. if (mState == ScrimState.AOD) { holdWakeLock(); holdWakeLock(); } // AOD wallpapers should fade away after a while // AOD wallpapers should fade away after a while if (mWallpaperSupportsAmbientMode && mDozeParameters.getAlwaysOn() if (mWallpaperSupportsAmbientMode && mDozeParameters.getAlwaysOn() Loading packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java +9 −1 Original line number Original line Diff line number Diff line Loading @@ -27,6 +27,7 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.never; import static org.mockito.Mockito.reset; import static org.mockito.Mockito.reset; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyZeroInteractions; import static org.mockito.Mockito.when; import static org.mockito.Mockito.when; import android.animation.Animator; import android.animation.Animator; Loading Loading @@ -275,7 +276,7 @@ public class ScrimControllerTest extends SysuiTestCase { } } @Test @Test public void testHoldsWakeLock() { public void testHoldsWakeLock_whenAOD() { mScrimController.transitionTo(ScrimState.AOD); mScrimController.transitionTo(ScrimState.AOD); verify(mWakeLock).acquire(); verify(mWakeLock).acquire(); verify(mWakeLock, never()).release(); verify(mWakeLock, never()).release(); Loading @@ -283,6 +284,13 @@ public class ScrimControllerTest extends SysuiTestCase { verify(mWakeLock).release(); verify(mWakeLock).release(); } } @Test public void testDoesNotHoldWakeLock_whenUnlocking() { mScrimController.transitionTo(ScrimState.UNLOCKED); mScrimController.finishAnimationsImmediately(); verifyZeroInteractions(mWakeLock); } @Test @Test public void testCallbackInvokedOnSameStateTransition() { public void testCallbackInvokedOnSameStateTransition() { mScrimController.transitionTo(ScrimState.UNLOCKED); mScrimController.transitionTo(ScrimState.UNLOCKED); Loading Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java +7 −2 Original line number Original line Diff line number Diff line Loading @@ -255,8 +255,13 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, mKeyguardFadeoutAnimation.cancel(); mKeyguardFadeoutAnimation.cancel(); } } // Do not let the device sleep until we're done with all animations // The device might sleep if it's entering AOD, we need to make sure that // the animation plays properly until the last frame. // It's important to avoid holding the wakelock unless necessary because // WakeLock#aqcuire will trigger an IPC and will cause jank. if (mState == ScrimState.AOD) { holdWakeLock(); holdWakeLock(); } // AOD wallpapers should fade away after a while // AOD wallpapers should fade away after a while if (mWallpaperSupportsAmbientMode && mDozeParameters.getAlwaysOn() if (mWallpaperSupportsAmbientMode && mDozeParameters.getAlwaysOn() Loading
packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java +9 −1 Original line number Original line Diff line number Diff line Loading @@ -27,6 +27,7 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.never; import static org.mockito.Mockito.reset; import static org.mockito.Mockito.reset; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyZeroInteractions; import static org.mockito.Mockito.when; import static org.mockito.Mockito.when; import android.animation.Animator; import android.animation.Animator; Loading Loading @@ -275,7 +276,7 @@ public class ScrimControllerTest extends SysuiTestCase { } } @Test @Test public void testHoldsWakeLock() { public void testHoldsWakeLock_whenAOD() { mScrimController.transitionTo(ScrimState.AOD); mScrimController.transitionTo(ScrimState.AOD); verify(mWakeLock).acquire(); verify(mWakeLock).acquire(); verify(mWakeLock, never()).release(); verify(mWakeLock, never()).release(); Loading @@ -283,6 +284,13 @@ public class ScrimControllerTest extends SysuiTestCase { verify(mWakeLock).release(); verify(mWakeLock).release(); } } @Test public void testDoesNotHoldWakeLock_whenUnlocking() { mScrimController.transitionTo(ScrimState.UNLOCKED); mScrimController.finishAnimationsImmediately(); verifyZeroInteractions(mWakeLock); } @Test @Test public void testCallbackInvokedOnSameStateTransition() { public void testCallbackInvokedOnSameStateTransition() { mScrimController.transitionTo(ScrimState.UNLOCKED); mScrimController.transitionTo(ScrimState.UNLOCKED); Loading