Loading packages/SystemUI/src/com/android/systemui/doze/DozeMachine.java +0 −3 Original line number Diff line number Diff line Loading @@ -364,9 +364,6 @@ public class DozeMachine { Log.i(TAG, "Dropping pulse done because current state is already done: " + mState); return mState; } if (requestedState == State.DOZE_AOD && mBatteryController.isAodPowerSave()) { return State.DOZE; } if (requestedState == State.DOZE_REQUEST_PULSE && !mState.canPulse()) { Log.i(TAG, "Dropping pulse request because current state can't pulse: " + mState); return mState; Loading packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationWakeUpCoordinator.kt +1 −1 Original line number Diff line number Diff line Loading @@ -382,7 +382,7 @@ class NotificationWakeUpCoordinator @Inject constructor( } private fun shouldAnimateVisibility() = dozeParameters.getAlwaysOn() && !dozeParameters.getDisplayNeedsBlanking() dozeParameters.alwaysOn && !dozeParameters.displayNeedsBlanking interface WakeUpListener { /** Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeParameters.java +5 −1 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import com.android.systemui.R; import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.doze.AlwaysOnDisplayPolicy; import com.android.systemui.doze.DozeScreenState; import com.android.systemui.statusbar.policy.BatteryController; import com.android.systemui.tuner.TunerService; import java.io.PrintWriter; Loading @@ -52,6 +53,7 @@ public class DozeParameters implements TunerService.Tunable, private final AlwaysOnDisplayPolicy mAlwaysOnPolicy; private final Resources mResources; private final BatteryController mBatteryController; private boolean mDozeAlwaysOn; private boolean mControlScreenOffAnimation; Loading @@ -62,10 +64,12 @@ public class DozeParameters implements TunerService.Tunable, AmbientDisplayConfiguration ambientDisplayConfiguration, AlwaysOnDisplayPolicy alwaysOnDisplayPolicy, PowerManager powerManager, BatteryController batteryController, TunerService tunerService) { mResources = resources; mAmbientDisplayConfiguration = ambientDisplayConfiguration; mAlwaysOnPolicy = alwaysOnDisplayPolicy; mBatteryController = batteryController; mControlScreenOffAnimation = !getDisplayNeedsBlanking(); mPowerManager = powerManager; Loading Loading @@ -164,7 +168,7 @@ public class DozeParameters implements TunerService.Tunable, * @return {@code true} if enabled and available. */ public boolean getAlwaysOn() { return mDozeAlwaysOn; return mDozeAlwaysOn && !mBatteryController.isAodPowerSave(); } /** Loading packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/DozeParametersTest.java +28 −3 Original line number Diff line number Diff line Loading @@ -16,13 +16,18 @@ package com.android.systemui.statusbar.phone; import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.reset; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import android.content.res.Resources; import android.hardware.display.AmbientDisplayConfiguration; import android.os.PowerManager; import android.provider.Settings; import android.test.suitebuilder.annotation.SmallTest; import androidx.test.runner.AndroidJUnit4; Loading @@ -30,6 +35,7 @@ import androidx.test.runner.AndroidJUnit4; import com.android.systemui.SysuiTestCase; import com.android.systemui.doze.AlwaysOnDisplayPolicy; import com.android.systemui.doze.DozeScreenState; import com.android.systemui.statusbar.policy.BatteryController; import com.android.systemui.tuner.TunerService; import org.junit.Assert; Loading @@ -50,6 +56,7 @@ public class DozeParametersTest extends SysuiTestCase { @Mock private AlwaysOnDisplayPolicy mAlwaysOnDisplayPolicy; @Mock private PowerManager mPowerManager; @Mock private TunerService mTunerService; @Mock private BatteryController mBatteryController; @Before public void setup() { Loading @@ -59,11 +66,12 @@ public class DozeParametersTest extends SysuiTestCase { mAmbientDisplayConfiguration, mAlwaysOnDisplayPolicy, mPowerManager, mBatteryController, mTunerService ); } @Test public void test_setControlScreenOffAnimation_setsDozeAfterScreenOff_false() { public void testSetControlScreenOffAnimation_setsDozeAfterScreenOff_false() { mDozeParameters.setControlScreenOffAnimation(true); reset(mPowerManager); mDozeParameters.setControlScreenOffAnimation(false); Loading @@ -71,7 +79,7 @@ public class DozeParametersTest extends SysuiTestCase { } @Test public void test_setControlScreenOffAnimation_setsDozeAfterScreenOff_true() { public void testSetControlScreenOffAnimation_setsDozeAfterScreenOff_true() { mDozeParameters.setControlScreenOffAnimation(false); reset(mPowerManager); mDozeParameters.setControlScreenOffAnimation(true); Loading @@ -79,11 +87,28 @@ public class DozeParametersTest extends SysuiTestCase { } @Test public void test_getWallpaperAodDuration_when_shouldControlScreenOff() { public void testGetWallpaperAodDuration_when_shouldControlScreenOff() { mDozeParameters.setControlScreenOffAnimation(true); Assert.assertEquals( "wallpaper hides faster when controlling screen off", mDozeParameters.getWallpaperAodDuration(), DozeScreenState.ENTER_DOZE_HIDE_WALLPAPER_DELAY); } @Test public void testGetAlwaysOn() { when(mAmbientDisplayConfiguration.alwaysOnEnabled(anyInt())).thenReturn(true); mDozeParameters.onTuningChanged(Settings.Secure.DOZE_ALWAYS_ON, "1"); assertThat(mDozeParameters.getAlwaysOn()).isTrue(); } @Test public void testGetAlwaysOn_whenBatterySaver() { when(mBatteryController.isAodPowerSave()).thenReturn(true); when(mAmbientDisplayConfiguration.alwaysOnEnabled(anyInt())).thenReturn(true); mDozeParameters.onTuningChanged(Settings.Secure.DOZE_ALWAYS_ON, "1"); assertThat(mDozeParameters.getAlwaysOn()).isFalse(); } } Loading
packages/SystemUI/src/com/android/systemui/doze/DozeMachine.java +0 −3 Original line number Diff line number Diff line Loading @@ -364,9 +364,6 @@ public class DozeMachine { Log.i(TAG, "Dropping pulse done because current state is already done: " + mState); return mState; } if (requestedState == State.DOZE_AOD && mBatteryController.isAodPowerSave()) { return State.DOZE; } if (requestedState == State.DOZE_REQUEST_PULSE && !mState.canPulse()) { Log.i(TAG, "Dropping pulse request because current state can't pulse: " + mState); return mState; Loading
packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationWakeUpCoordinator.kt +1 −1 Original line number Diff line number Diff line Loading @@ -382,7 +382,7 @@ class NotificationWakeUpCoordinator @Inject constructor( } private fun shouldAnimateVisibility() = dozeParameters.getAlwaysOn() && !dozeParameters.getDisplayNeedsBlanking() dozeParameters.alwaysOn && !dozeParameters.displayNeedsBlanking interface WakeUpListener { /** Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeParameters.java +5 −1 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import com.android.systemui.R; import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.doze.AlwaysOnDisplayPolicy; import com.android.systemui.doze.DozeScreenState; import com.android.systemui.statusbar.policy.BatteryController; import com.android.systemui.tuner.TunerService; import java.io.PrintWriter; Loading @@ -52,6 +53,7 @@ public class DozeParameters implements TunerService.Tunable, private final AlwaysOnDisplayPolicy mAlwaysOnPolicy; private final Resources mResources; private final BatteryController mBatteryController; private boolean mDozeAlwaysOn; private boolean mControlScreenOffAnimation; Loading @@ -62,10 +64,12 @@ public class DozeParameters implements TunerService.Tunable, AmbientDisplayConfiguration ambientDisplayConfiguration, AlwaysOnDisplayPolicy alwaysOnDisplayPolicy, PowerManager powerManager, BatteryController batteryController, TunerService tunerService) { mResources = resources; mAmbientDisplayConfiguration = ambientDisplayConfiguration; mAlwaysOnPolicy = alwaysOnDisplayPolicy; mBatteryController = batteryController; mControlScreenOffAnimation = !getDisplayNeedsBlanking(); mPowerManager = powerManager; Loading Loading @@ -164,7 +168,7 @@ public class DozeParameters implements TunerService.Tunable, * @return {@code true} if enabled and available. */ public boolean getAlwaysOn() { return mDozeAlwaysOn; return mDozeAlwaysOn && !mBatteryController.isAodPowerSave(); } /** Loading
packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/DozeParametersTest.java +28 −3 Original line number Diff line number Diff line Loading @@ -16,13 +16,18 @@ package com.android.systemui.statusbar.phone; import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.reset; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import android.content.res.Resources; import android.hardware.display.AmbientDisplayConfiguration; import android.os.PowerManager; import android.provider.Settings; import android.test.suitebuilder.annotation.SmallTest; import androidx.test.runner.AndroidJUnit4; Loading @@ -30,6 +35,7 @@ import androidx.test.runner.AndroidJUnit4; import com.android.systemui.SysuiTestCase; import com.android.systemui.doze.AlwaysOnDisplayPolicy; import com.android.systemui.doze.DozeScreenState; import com.android.systemui.statusbar.policy.BatteryController; import com.android.systemui.tuner.TunerService; import org.junit.Assert; Loading @@ -50,6 +56,7 @@ public class DozeParametersTest extends SysuiTestCase { @Mock private AlwaysOnDisplayPolicy mAlwaysOnDisplayPolicy; @Mock private PowerManager mPowerManager; @Mock private TunerService mTunerService; @Mock private BatteryController mBatteryController; @Before public void setup() { Loading @@ -59,11 +66,12 @@ public class DozeParametersTest extends SysuiTestCase { mAmbientDisplayConfiguration, mAlwaysOnDisplayPolicy, mPowerManager, mBatteryController, mTunerService ); } @Test public void test_setControlScreenOffAnimation_setsDozeAfterScreenOff_false() { public void testSetControlScreenOffAnimation_setsDozeAfterScreenOff_false() { mDozeParameters.setControlScreenOffAnimation(true); reset(mPowerManager); mDozeParameters.setControlScreenOffAnimation(false); Loading @@ -71,7 +79,7 @@ public class DozeParametersTest extends SysuiTestCase { } @Test public void test_setControlScreenOffAnimation_setsDozeAfterScreenOff_true() { public void testSetControlScreenOffAnimation_setsDozeAfterScreenOff_true() { mDozeParameters.setControlScreenOffAnimation(false); reset(mPowerManager); mDozeParameters.setControlScreenOffAnimation(true); Loading @@ -79,11 +87,28 @@ public class DozeParametersTest extends SysuiTestCase { } @Test public void test_getWallpaperAodDuration_when_shouldControlScreenOff() { public void testGetWallpaperAodDuration_when_shouldControlScreenOff() { mDozeParameters.setControlScreenOffAnimation(true); Assert.assertEquals( "wallpaper hides faster when controlling screen off", mDozeParameters.getWallpaperAodDuration(), DozeScreenState.ENTER_DOZE_HIDE_WALLPAPER_DELAY); } @Test public void testGetAlwaysOn() { when(mAmbientDisplayConfiguration.alwaysOnEnabled(anyInt())).thenReturn(true); mDozeParameters.onTuningChanged(Settings.Secure.DOZE_ALWAYS_ON, "1"); assertThat(mDozeParameters.getAlwaysOn()).isTrue(); } @Test public void testGetAlwaysOn_whenBatterySaver() { when(mBatteryController.isAodPowerSave()).thenReturn(true); when(mAmbientDisplayConfiguration.alwaysOnEnabled(anyInt())).thenReturn(true); mDozeParameters.onTuningChanged(Settings.Secure.DOZE_ALWAYS_ON, "1"); assertThat(mDozeParameters.getAlwaysOn()).isFalse(); } }