Loading packages/SystemUI/src/com/android/systemui/doze/DozeFactory.java +1 −1 Original line number Diff line number Diff line Loading @@ -69,7 +69,7 @@ public class DozeFactory { new DozeScreenState(wrappedService, handler, params, wakeLock), createDozeScreenBrightness(context, wrappedService, sensorManager, host, params, handler), new DozeWallpaperState(context, params) new DozeWallpaperState(context) }); return machine; Loading packages/SystemUI/src/com/android/systemui/doze/DozeWallpaperState.java +8 −13 Original line number Diff line number Diff line Loading @@ -38,40 +38,33 @@ public class DozeWallpaperState implements DozeMachine.Part { private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG); private final IWallpaperManager mWallpaperManagerService; private boolean mKeyguardVisible; private boolean mIsAmbientMode; private final DozeParameters mDozeParameters; public DozeWallpaperState(Context context, DozeParameters dozeParameters) { public DozeWallpaperState(Context context) { this(IWallpaperManager.Stub.asInterface( ServiceManager.getService(Context.WALLPAPER_SERVICE)), dozeParameters, KeyguardUpdateMonitor.getInstance(context)); DozeParameters.getInstance(context)); } @VisibleForTesting DozeWallpaperState(IWallpaperManager wallpaperManagerService, DozeParameters parameters, KeyguardUpdateMonitor keyguardUpdateMonitor) { DozeWallpaperState(IWallpaperManager wallpaperManagerService, DozeParameters parameters) { mWallpaperManagerService = wallpaperManagerService; mDozeParameters = parameters; keyguardUpdateMonitor.registerCallback(new KeyguardUpdateMonitorCallback() { @Override public void onKeyguardVisibilityChanged(boolean showing) { mKeyguardVisible = showing; } }); } @Override public void transitionTo(DozeMachine.State oldState, DozeMachine.State newState) { final boolean isAmbientMode; switch (newState) { case DOZE: case DOZE_AOD: case DOZE_AOD_PAUSING: case DOZE_AOD_PAUSED: case DOZE_REQUEST_PULSE: case DOZE_PULSING: case DOZE_PULSE_DONE: isAmbientMode = mDozeParameters.getAlwaysOn(); isAmbientMode = true; break; default: isAmbientMode = false; Loading @@ -81,7 +74,9 @@ public class DozeWallpaperState implements DozeMachine.Part { if (isAmbientMode) { animated = mDozeParameters.shouldControlScreenOff(); } else { animated = !mDozeParameters.getDisplayNeedsBlanking(); boolean wakingUpFromPulse = oldState == DozeMachine.State.DOZE_PULSING && newState == DozeMachine.State.FINISH; animated = !mDozeParameters.getDisplayNeedsBlanking() || wakingUpFromPulse; } if (isAmbientMode != mIsAmbientMode) { Loading packages/SystemUI/tests/src/com/android/systemui/doze/DozeWallpaperStateTest.java +25 −3 Original line number Diff line number Diff line Loading @@ -45,13 +45,11 @@ public class DozeWallpaperStateTest extends SysuiTestCase { private DozeWallpaperState mDozeWallpaperState; @Mock IWallpaperManager mIWallpaperManager; @Mock DozeParameters mDozeParameters; @Mock KeyguardUpdateMonitor mKeyguardUpdateMonitor; @Before public void setUp() { MockitoAnnotations.initMocks(this); mDozeWallpaperState = new DozeWallpaperState(mIWallpaperManager, mDozeParameters, mKeyguardUpdateMonitor); mDozeWallpaperState = new DozeWallpaperState(mIWallpaperManager, mDozeParameters); } @Test Loading Loading @@ -100,4 +98,28 @@ public class DozeWallpaperStateTest extends SysuiTestCase { mDozeWallpaperState.transitionTo(DozeMachine.State.DOZE_AOD, DozeMachine.State.FINISH); verify(mIWallpaperManager).setInAmbientMode(eq(false), eq(false)); } @Test public void testTransitionTo_requestPulseIsAmbientMode() throws RemoteException { mDozeWallpaperState.transitionTo(DozeMachine.State.DOZE, DozeMachine.State.DOZE_REQUEST_PULSE); verify(mIWallpaperManager).setInAmbientMode(eq(true), eq(false)); } @Test public void testTransitionTo_pulseIsAmbientMode() throws RemoteException { mDozeWallpaperState.transitionTo(DozeMachine.State.DOZE_REQUEST_PULSE, DozeMachine.State.DOZE_PULSING); verify(mIWallpaperManager).setInAmbientMode(eq(true), eq(false)); } @Test public void testTransitionTo_animatesWhenWakingUpFromPulse() throws RemoteException { mDozeWallpaperState.transitionTo(DozeMachine.State.DOZE_REQUEST_PULSE, DozeMachine.State.DOZE_PULSING); reset(mIWallpaperManager); mDozeWallpaperState.transitionTo(DozeMachine.State.DOZE_PULSING, DozeMachine.State.FINISH); verify(mIWallpaperManager).setInAmbientMode(eq(false), eq(true)); } } Loading
packages/SystemUI/src/com/android/systemui/doze/DozeFactory.java +1 −1 Original line number Diff line number Diff line Loading @@ -69,7 +69,7 @@ public class DozeFactory { new DozeScreenState(wrappedService, handler, params, wakeLock), createDozeScreenBrightness(context, wrappedService, sensorManager, host, params, handler), new DozeWallpaperState(context, params) new DozeWallpaperState(context) }); return machine; Loading
packages/SystemUI/src/com/android/systemui/doze/DozeWallpaperState.java +8 −13 Original line number Diff line number Diff line Loading @@ -38,40 +38,33 @@ public class DozeWallpaperState implements DozeMachine.Part { private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG); private final IWallpaperManager mWallpaperManagerService; private boolean mKeyguardVisible; private boolean mIsAmbientMode; private final DozeParameters mDozeParameters; public DozeWallpaperState(Context context, DozeParameters dozeParameters) { public DozeWallpaperState(Context context) { this(IWallpaperManager.Stub.asInterface( ServiceManager.getService(Context.WALLPAPER_SERVICE)), dozeParameters, KeyguardUpdateMonitor.getInstance(context)); DozeParameters.getInstance(context)); } @VisibleForTesting DozeWallpaperState(IWallpaperManager wallpaperManagerService, DozeParameters parameters, KeyguardUpdateMonitor keyguardUpdateMonitor) { DozeWallpaperState(IWallpaperManager wallpaperManagerService, DozeParameters parameters) { mWallpaperManagerService = wallpaperManagerService; mDozeParameters = parameters; keyguardUpdateMonitor.registerCallback(new KeyguardUpdateMonitorCallback() { @Override public void onKeyguardVisibilityChanged(boolean showing) { mKeyguardVisible = showing; } }); } @Override public void transitionTo(DozeMachine.State oldState, DozeMachine.State newState) { final boolean isAmbientMode; switch (newState) { case DOZE: case DOZE_AOD: case DOZE_AOD_PAUSING: case DOZE_AOD_PAUSED: case DOZE_REQUEST_PULSE: case DOZE_PULSING: case DOZE_PULSE_DONE: isAmbientMode = mDozeParameters.getAlwaysOn(); isAmbientMode = true; break; default: isAmbientMode = false; Loading @@ -81,7 +74,9 @@ public class DozeWallpaperState implements DozeMachine.Part { if (isAmbientMode) { animated = mDozeParameters.shouldControlScreenOff(); } else { animated = !mDozeParameters.getDisplayNeedsBlanking(); boolean wakingUpFromPulse = oldState == DozeMachine.State.DOZE_PULSING && newState == DozeMachine.State.FINISH; animated = !mDozeParameters.getDisplayNeedsBlanking() || wakingUpFromPulse; } if (isAmbientMode != mIsAmbientMode) { Loading
packages/SystemUI/tests/src/com/android/systemui/doze/DozeWallpaperStateTest.java +25 −3 Original line number Diff line number Diff line Loading @@ -45,13 +45,11 @@ public class DozeWallpaperStateTest extends SysuiTestCase { private DozeWallpaperState mDozeWallpaperState; @Mock IWallpaperManager mIWallpaperManager; @Mock DozeParameters mDozeParameters; @Mock KeyguardUpdateMonitor mKeyguardUpdateMonitor; @Before public void setUp() { MockitoAnnotations.initMocks(this); mDozeWallpaperState = new DozeWallpaperState(mIWallpaperManager, mDozeParameters, mKeyguardUpdateMonitor); mDozeWallpaperState = new DozeWallpaperState(mIWallpaperManager, mDozeParameters); } @Test Loading Loading @@ -100,4 +98,28 @@ public class DozeWallpaperStateTest extends SysuiTestCase { mDozeWallpaperState.transitionTo(DozeMachine.State.DOZE_AOD, DozeMachine.State.FINISH); verify(mIWallpaperManager).setInAmbientMode(eq(false), eq(false)); } @Test public void testTransitionTo_requestPulseIsAmbientMode() throws RemoteException { mDozeWallpaperState.transitionTo(DozeMachine.State.DOZE, DozeMachine.State.DOZE_REQUEST_PULSE); verify(mIWallpaperManager).setInAmbientMode(eq(true), eq(false)); } @Test public void testTransitionTo_pulseIsAmbientMode() throws RemoteException { mDozeWallpaperState.transitionTo(DozeMachine.State.DOZE_REQUEST_PULSE, DozeMachine.State.DOZE_PULSING); verify(mIWallpaperManager).setInAmbientMode(eq(true), eq(false)); } @Test public void testTransitionTo_animatesWhenWakingUpFromPulse() throws RemoteException { mDozeWallpaperState.transitionTo(DozeMachine.State.DOZE_REQUEST_PULSE, DozeMachine.State.DOZE_PULSING); reset(mIWallpaperManager); mDozeWallpaperState.transitionTo(DozeMachine.State.DOZE_PULSING, DozeMachine.State.FINISH); verify(mIWallpaperManager).setInAmbientMode(eq(false), eq(true)); } }