Loading services/core/java/com/android/server/display/brightness/DisplayBrightnessStrategySelector.java +5 −3 Original line number Diff line number Diff line Loading @@ -178,7 +178,8 @@ public class DisplayBrightnessStrategySelector { int targetDisplayState = strategySelectionRequest.getTargetDisplayState(); DisplayPowerRequest displayPowerRequest = strategySelectionRequest .getDisplayPowerRequest(); setAllowAutoBrightnessWhileDozing(strategySelectionRequest.getDisplayOffloadSession()); setAllowAutoBrightnessWhileDozing(strategySelectionRequest.getDisplayOffloadSession(), displayPowerRequest.useNormalBrightnessForDoze); if (targetDisplayState == Display.STATE_OFF) { displayBrightnessStrategy = mScreenOffBrightnessStrategy; } else if (shouldUseDozeBrightnessStrategy(displayPowerRequest, targetDisplayState)) { Loading Loading @@ -307,9 +308,10 @@ public class DisplayBrightnessStrategySelector { @VisibleForTesting void setAllowAutoBrightnessWhileDozing( DisplayManagerInternal.DisplayOffloadSession displayOffloadSession) { DisplayManagerInternal.DisplayOffloadSession displayOffloadSession, boolean useNormalBrightnessForDoze) { mAllowAutoBrightnessWhileDozing = mAllowAutoBrightnessWhileDozingConfig; if (mDisplayManagerFlags.isDisplayOffloadEnabled() if (!useNormalBrightnessForDoze && mDisplayManagerFlags.isDisplayOffloadEnabled() && displayOffloadSession != null) { mAllowAutoBrightnessWhileDozing &= displayOffloadSession.allowAutoBrightnessInDoze(); } Loading services/tests/displayservicetests/src/com/android/server/display/brightness/DisplayBrightnessStrategySelectorTest.java +26 −5 Original line number Diff line number Diff line Loading @@ -624,7 +624,8 @@ public final class DisplayBrightnessStrategySelectorTest { mDisplayBrightnessStrategySelector = new DisplayBrightnessStrategySelector(mContext, mInjector, DISPLAY_ID, mDisplayManagerFlags, mDisplayDeviceConfig); mDisplayBrightnessStrategySelector .setAllowAutoBrightnessWhileDozing(mDisplayOffloadSession); .setAllowAutoBrightnessWhileDozing(mDisplayOffloadSession, /* useNormalBrightnessForDoze= */ false); assertTrue(mDisplayBrightnessStrategySelector.isAllowAutoBrightnessWhileDozing()); } Loading @@ -636,7 +637,8 @@ public final class DisplayBrightnessStrategySelectorTest { mDisplayBrightnessStrategySelector = new DisplayBrightnessStrategySelector(mContext, mInjector, DISPLAY_ID, mDisplayManagerFlags, mDisplayDeviceConfig); mDisplayBrightnessStrategySelector .setAllowAutoBrightnessWhileDozing(mDisplayOffloadSession); .setAllowAutoBrightnessWhileDozing(mDisplayOffloadSession, /* useNormalBrightnessForDoze= */ false); assertFalse(mDisplayBrightnessStrategySelector.isAllowAutoBrightnessWhileDozing()); } Loading @@ -648,7 +650,8 @@ public final class DisplayBrightnessStrategySelectorTest { mDisplayBrightnessStrategySelector = new DisplayBrightnessStrategySelector(mContext, mInjector, DISPLAY_ID, mDisplayManagerFlags, mDisplayDeviceConfig); mDisplayBrightnessStrategySelector .setAllowAutoBrightnessWhileDozing(mDisplayOffloadSession); .setAllowAutoBrightnessWhileDozing(mDisplayOffloadSession, /* useNormalBrightnessForDoze= */ false); assertFalse(mDisplayBrightnessStrategySelector.isAllowAutoBrightnessWhileDozing()); } Loading @@ -657,7 +660,8 @@ public final class DisplayBrightnessStrategySelectorTest { when(mResources.getBoolean(R.bool.config_allowAutoBrightnessWhileDozing)).thenReturn(true); mDisplayBrightnessStrategySelector = new DisplayBrightnessStrategySelector(mContext, mInjector, DISPLAY_ID, mDisplayManagerFlags, mDisplayDeviceConfig); mDisplayBrightnessStrategySelector.setAllowAutoBrightnessWhileDozing(null); mDisplayBrightnessStrategySelector.setAllowAutoBrightnessWhileDozing(null, /* useNormalBrightnessForDoze= */ false); assertTrue(mDisplayBrightnessStrategySelector.isAllowAutoBrightnessWhileDozing()); } Loading @@ -671,7 +675,24 @@ public final class DisplayBrightnessStrategySelectorTest { // are disabled when(mDisplayManagerFlags.isDisplayOffloadEnabled()).thenReturn(false); mDisplayBrightnessStrategySelector .setAllowAutoBrightnessWhileDozing(mDisplayOffloadSession); .setAllowAutoBrightnessWhileDozing(mDisplayOffloadSession, /* useNormalBrightnessForDoze= */ false); assertTrue(mDisplayBrightnessStrategySelector.isAllowAutoBrightnessWhileDozing()); } @Test public void setAllowAutoBrightnessWhileDozing_enabledWhenUseNormalBrightnessForDoze() { // This is the case for dream screen on. This overrides the decision of Displayoffload. // i.e. even if Displayoffload doesn't allow auto-brightness while doze, if the request is // made for dream-screen-on, the auto-brightness is allowed. when(mDisplayManagerFlags.isDisplayOffloadEnabled()).thenReturn(true); when(mDisplayOffloadSession.allowAutoBrightnessInDoze()).thenReturn(false); when(mResources.getBoolean(R.bool.config_allowAutoBrightnessWhileDozing)).thenReturn(true); mDisplayBrightnessStrategySelector = new DisplayBrightnessStrategySelector(mContext, mInjector, DISPLAY_ID, mDisplayManagerFlags, mDisplayDeviceConfig); mDisplayBrightnessStrategySelector .setAllowAutoBrightnessWhileDozing(mDisplayOffloadSession, /* useNormalBrightnessForDoze= */ true); assertTrue(mDisplayBrightnessStrategySelector.isAllowAutoBrightnessWhileDozing()); } } Loading
services/core/java/com/android/server/display/brightness/DisplayBrightnessStrategySelector.java +5 −3 Original line number Diff line number Diff line Loading @@ -178,7 +178,8 @@ public class DisplayBrightnessStrategySelector { int targetDisplayState = strategySelectionRequest.getTargetDisplayState(); DisplayPowerRequest displayPowerRequest = strategySelectionRequest .getDisplayPowerRequest(); setAllowAutoBrightnessWhileDozing(strategySelectionRequest.getDisplayOffloadSession()); setAllowAutoBrightnessWhileDozing(strategySelectionRequest.getDisplayOffloadSession(), displayPowerRequest.useNormalBrightnessForDoze); if (targetDisplayState == Display.STATE_OFF) { displayBrightnessStrategy = mScreenOffBrightnessStrategy; } else if (shouldUseDozeBrightnessStrategy(displayPowerRequest, targetDisplayState)) { Loading Loading @@ -307,9 +308,10 @@ public class DisplayBrightnessStrategySelector { @VisibleForTesting void setAllowAutoBrightnessWhileDozing( DisplayManagerInternal.DisplayOffloadSession displayOffloadSession) { DisplayManagerInternal.DisplayOffloadSession displayOffloadSession, boolean useNormalBrightnessForDoze) { mAllowAutoBrightnessWhileDozing = mAllowAutoBrightnessWhileDozingConfig; if (mDisplayManagerFlags.isDisplayOffloadEnabled() if (!useNormalBrightnessForDoze && mDisplayManagerFlags.isDisplayOffloadEnabled() && displayOffloadSession != null) { mAllowAutoBrightnessWhileDozing &= displayOffloadSession.allowAutoBrightnessInDoze(); } Loading
services/tests/displayservicetests/src/com/android/server/display/brightness/DisplayBrightnessStrategySelectorTest.java +26 −5 Original line number Diff line number Diff line Loading @@ -624,7 +624,8 @@ public final class DisplayBrightnessStrategySelectorTest { mDisplayBrightnessStrategySelector = new DisplayBrightnessStrategySelector(mContext, mInjector, DISPLAY_ID, mDisplayManagerFlags, mDisplayDeviceConfig); mDisplayBrightnessStrategySelector .setAllowAutoBrightnessWhileDozing(mDisplayOffloadSession); .setAllowAutoBrightnessWhileDozing(mDisplayOffloadSession, /* useNormalBrightnessForDoze= */ false); assertTrue(mDisplayBrightnessStrategySelector.isAllowAutoBrightnessWhileDozing()); } Loading @@ -636,7 +637,8 @@ public final class DisplayBrightnessStrategySelectorTest { mDisplayBrightnessStrategySelector = new DisplayBrightnessStrategySelector(mContext, mInjector, DISPLAY_ID, mDisplayManagerFlags, mDisplayDeviceConfig); mDisplayBrightnessStrategySelector .setAllowAutoBrightnessWhileDozing(mDisplayOffloadSession); .setAllowAutoBrightnessWhileDozing(mDisplayOffloadSession, /* useNormalBrightnessForDoze= */ false); assertFalse(mDisplayBrightnessStrategySelector.isAllowAutoBrightnessWhileDozing()); } Loading @@ -648,7 +650,8 @@ public final class DisplayBrightnessStrategySelectorTest { mDisplayBrightnessStrategySelector = new DisplayBrightnessStrategySelector(mContext, mInjector, DISPLAY_ID, mDisplayManagerFlags, mDisplayDeviceConfig); mDisplayBrightnessStrategySelector .setAllowAutoBrightnessWhileDozing(mDisplayOffloadSession); .setAllowAutoBrightnessWhileDozing(mDisplayOffloadSession, /* useNormalBrightnessForDoze= */ false); assertFalse(mDisplayBrightnessStrategySelector.isAllowAutoBrightnessWhileDozing()); } Loading @@ -657,7 +660,8 @@ public final class DisplayBrightnessStrategySelectorTest { when(mResources.getBoolean(R.bool.config_allowAutoBrightnessWhileDozing)).thenReturn(true); mDisplayBrightnessStrategySelector = new DisplayBrightnessStrategySelector(mContext, mInjector, DISPLAY_ID, mDisplayManagerFlags, mDisplayDeviceConfig); mDisplayBrightnessStrategySelector.setAllowAutoBrightnessWhileDozing(null); mDisplayBrightnessStrategySelector.setAllowAutoBrightnessWhileDozing(null, /* useNormalBrightnessForDoze= */ false); assertTrue(mDisplayBrightnessStrategySelector.isAllowAutoBrightnessWhileDozing()); } Loading @@ -671,7 +675,24 @@ public final class DisplayBrightnessStrategySelectorTest { // are disabled when(mDisplayManagerFlags.isDisplayOffloadEnabled()).thenReturn(false); mDisplayBrightnessStrategySelector .setAllowAutoBrightnessWhileDozing(mDisplayOffloadSession); .setAllowAutoBrightnessWhileDozing(mDisplayOffloadSession, /* useNormalBrightnessForDoze= */ false); assertTrue(mDisplayBrightnessStrategySelector.isAllowAutoBrightnessWhileDozing()); } @Test public void setAllowAutoBrightnessWhileDozing_enabledWhenUseNormalBrightnessForDoze() { // This is the case for dream screen on. This overrides the decision of Displayoffload. // i.e. even if Displayoffload doesn't allow auto-brightness while doze, if the request is // made for dream-screen-on, the auto-brightness is allowed. when(mDisplayManagerFlags.isDisplayOffloadEnabled()).thenReturn(true); when(mDisplayOffloadSession.allowAutoBrightnessInDoze()).thenReturn(false); when(mResources.getBoolean(R.bool.config_allowAutoBrightnessWhileDozing)).thenReturn(true); mDisplayBrightnessStrategySelector = new DisplayBrightnessStrategySelector(mContext, mInjector, DISPLAY_ID, mDisplayManagerFlags, mDisplayDeviceConfig); mDisplayBrightnessStrategySelector .setAllowAutoBrightnessWhileDozing(mDisplayOffloadSession, /* useNormalBrightnessForDoze= */ true); assertTrue(mDisplayBrightnessStrategySelector.isAllowAutoBrightnessWhileDozing()); } }