Loading core/java/android/hardware/display/DisplayManagerInternal.java +7 −0 Original line number Diff line number Diff line Loading @@ -751,6 +751,13 @@ public abstract class DisplayManagerInternal { */ boolean blockScreenOn(Runnable unblocker); /** Get the current brightness levels used to determine automatic brightness based on lux * levels. */ float[] getCurrentAutoBrightnessLevels(); /** Get the current lux levels used to determine automatic brightness. */ float[] getCurrentAutoBrightnessLuxLevels(); /** Returns whether displayoffload supports the given display state. */ static boolean isSupportedOffloadState(int displayState) { return Display.isSuspendedState(displayState); Loading services/core/java/com/android/server/display/AutomaticBrightnessController.java +13 −11 Original line number Diff line number Diff line Loading @@ -403,7 +403,8 @@ public class AutomaticBrightnessController { | (!mAmbientLuxValid ? BrightnessEvent.FLAG_INVALID_LUX : 0) | (mDisplayPolicy == DisplayPowerRequest.POLICY_DOZE ? BrightnessEvent.FLAG_DOZE_SCALE : 0) | (isInIdleMode() ? BrightnessEvent.FLAG_IDLE_CURVE : 0)); | (getMode() == AUTO_BRIGHTNESS_MODE_IDLE ? BrightnessEvent.FLAG_IDLE_CURVE : 0)); } if (!mAmbientLuxValid) { Loading Loading @@ -514,7 +515,8 @@ public class AutomaticBrightnessController { if (mLoggingEnabled) { Slog.d(TAG, "Display policy transitioning from " + oldPolicy + " to " + policy); } if (!isInteractivePolicy(policy) && isInteractivePolicy(oldPolicy) && !isInIdleMode()) { if (!isInteractivePolicy(policy) && isInteractivePolicy(oldPolicy) && getMode() != AUTO_BRIGHTNESS_MODE_IDLE) { mHandler.sendEmptyMessageDelayed(MSG_INVALIDATE_CURRENT_SHORT_TERM_MODEL, mCurrentBrightnessMapper.getShortTermModelTimeout()); } else if (isInteractivePolicy(policy) && !isInteractivePolicy(oldPolicy)) { Loading Loading @@ -555,7 +557,7 @@ public class AutomaticBrightnessController { boolean shouldResetShortTermModel) { if (mBrightnessMappingStrategyMap.get(AUTO_BRIGHTNESS_MODE_DEFAULT) .setBrightnessConfiguration(configuration)) { if (!isInIdleMode() && shouldResetShortTermModel) { if (getMode() != AUTO_BRIGHTNESS_MODE_IDLE && shouldResetShortTermModel) { resetShortTermModel(); } return true; Loading @@ -563,8 +565,9 @@ public class AutomaticBrightnessController { return false; } public boolean isInIdleMode() { return mCurrentBrightnessMapper.getMode() == AUTO_BRIGHTNESS_MODE_IDLE; @AutomaticBrightnessController.AutomaticBrightnessMode public int getMode() { return mCurrentBrightnessMapper.getMode(); } public void dump(PrintWriter pw) { Loading Loading @@ -620,8 +623,7 @@ public class AutomaticBrightnessController { pw.println(" mPendingForegroundAppPackageName=" + mPendingForegroundAppPackageName); pw.println(" mForegroundAppCategory=" + mForegroundAppCategory); pw.println(" mPendingForegroundAppCategory=" + mPendingForegroundAppCategory); pw.println(" Current mode=" + autoBrightnessModeToString(mCurrentBrightnessMapper.getMode())); pw.println(" Current mode=" + autoBrightnessModeToString(getMode())); pw.println(); for (int i = 0; i < mBrightnessMappingStrategyMap.size(); i++) { Loading Loading @@ -743,7 +745,7 @@ public class AutomaticBrightnessController { lux = 0; } mAmbientLux = lux; if (isInIdleMode()) { if (getMode() == AUTO_BRIGHTNESS_MODE_IDLE) { mAmbientBrighteningThreshold = mAmbientBrightnessThresholdsIdle.getBrighteningThreshold(lux); mAmbientDarkeningThreshold = Loading Loading @@ -835,7 +837,7 @@ public class AutomaticBrightnessController { } earliestValidTime = mAmbientLightRingBuffer.getTime(i); } return earliestValidTime + (isInIdleMode() return earliestValidTime + (getMode() == AUTO_BRIGHTNESS_MODE_IDLE ? mBrighteningLightDebounceConfigIdle : mBrighteningLightDebounceConfig); } Loading @@ -848,7 +850,7 @@ public class AutomaticBrightnessController { } earliestValidTime = mAmbientLightRingBuffer.getTime(i); } return earliestValidTime + (isInIdleMode() return earliestValidTime + (getMode() == AUTO_BRIGHTNESS_MODE_IDLE ? mDarkeningLightDebounceConfigIdle : mDarkeningLightDebounceConfig); } Loading Loading @@ -973,7 +975,7 @@ public class AutomaticBrightnessController { mPreThresholdBrightness = mScreenAutoBrightness; } mScreenAutoBrightness = newScreenAutoBrightness; if (isInIdleMode()) { if (getMode() == AUTO_BRIGHTNESS_MODE_IDLE) { mScreenBrighteningThreshold = clampScreenBrightness( mScreenBrightnessThresholdsIdle.getBrighteningThreshold( newScreenAutoBrightness)); Loading services/core/java/com/android/server/display/DisplayOffloadSessionImpl.java +10 −0 Original line number Diff line number Diff line Loading @@ -65,6 +65,16 @@ public class DisplayOffloadSessionImpl implements DisplayManagerInternal.Display return true; } @Override public float[] getCurrentAutoBrightnessLevels() { return mDisplayPowerController.getCurrentAutoBrightnessLevels(); } @Override public float[] getCurrentAutoBrightnessLuxLevels() { return mDisplayPowerController.getCurrentAutoBrightnessLuxLevels(); } /** * Start the offload session. The method returns if the session is already active. * @return Whether the session was started successfully Loading services/core/java/com/android/server/display/DisplayPowerController.java +16 −3 Original line number Diff line number Diff line Loading @@ -1119,7 +1119,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call DisplayPowerState.SCREEN_BRIGHTNESS_FLOAT, DisplayPowerState.SCREEN_SDR_BRIGHTNESS_FLOAT); setAnimatorRampSpeeds(mAutomaticBrightnessController != null && mAutomaticBrightnessController.isInIdleMode()); && mAutomaticBrightnessController.getMode() == AUTO_BRIGHTNESS_MODE_IDLE); mScreenBrightnessRampAnimator.setListener(mRampAnimatorListener); noteScreenState(mPowerState.getScreenState()); Loading Loading @@ -1990,7 +1990,8 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call boolean isIncreasing = animateValue > currentBrightness; final float rampSpeed; final boolean idle = mAutomaticBrightnessController != null && mAutomaticBrightnessController.isInIdleMode(); && mAutomaticBrightnessController.getMode() == AUTO_BRIGHTNESS_MODE_IDLE; if (isIncreasing && slowChange) { rampSpeed = idle ? mBrightnessRampRateSlowIncreaseIdle : mBrightnessRampRateSlowIncrease; Loading Loading @@ -2213,6 +2214,18 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call // The old DPC is no longer supported } @Override public float[] getCurrentAutoBrightnessLevels() { // The old DPC is no longer supported return new float[0]; } @Override public float[] getCurrentAutoBrightnessLuxLevels() { // The old DPC is no longer supported return new float[0]; } @Override public BrightnessInfo getBrightnessInfo() { synchronized (mCachedBrightnessInfo) { Loading Loading @@ -2898,7 +2911,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call // or the nits is invalid. if (brightnessIsTemporary || mAutomaticBrightnessController == null || mAutomaticBrightnessController.isInIdleMode() || mAutomaticBrightnessController.getMode() == AUTO_BRIGHTNESS_MODE_IDLE || !autobrightnessEnabled || mBrightnessTracker == null || !mUseAutoBrightness Loading services/core/java/com/android/server/display/DisplayPowerController2.java +17 −4 Original line number Diff line number Diff line Loading @@ -951,7 +951,7 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal DisplayPowerState.SCREEN_BRIGHTNESS_FLOAT, DisplayPowerState.SCREEN_SDR_BRIGHTNESS_FLOAT); setAnimatorRampSpeeds(mAutomaticBrightnessController != null && mAutomaticBrightnessController.isInIdleMode()); && mAutomaticBrightnessController.getMode() == AUTO_BRIGHTNESS_MODE_IDLE); mScreenBrightnessRampAnimator.setListener(mRampAnimatorListener); noteScreenState(mPowerState.getScreenState()); Loading Loading @@ -1365,7 +1365,7 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal // Switch to doze auto-brightness mode if needed if (mFlags.areAutoBrightnessModesEnabled() && mAutomaticBrightnessController != null && !mAutomaticBrightnessController.isInIdleMode()) { && mAutomaticBrightnessController.getMode() != AUTO_BRIGHTNESS_MODE_IDLE) { setAutomaticScreenBrightnessMode(Display.isDozeState(state) ? AUTO_BRIGHTNESS_MODE_DOZE : AUTO_BRIGHTNESS_MODE_DEFAULT); } Loading Loading @@ -1654,7 +1654,8 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal boolean isIncreasing = animateValue > currentBrightness; final float rampSpeed; final boolean idle = mAutomaticBrightnessController != null && mAutomaticBrightnessController.isInIdleMode(); && mAutomaticBrightnessController.getMode() == AUTO_BRIGHTNESS_MODE_IDLE; if (isIncreasing && slowChange) { rampSpeed = idle ? mBrightnessRampRateSlowIncreaseIdle : mBrightnessRampRateSlowIncrease; Loading Loading @@ -1885,6 +1886,18 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal mHandler.sendMessageAtTime(msg, mClock.uptimeMillis()); } @Override public float[] getCurrentAutoBrightnessLevels() { return mDisplayDeviceConfig.getAutoBrightnessBrighteningLevels( mAutomaticBrightnessController.getMode()); } @Override public float[] getCurrentAutoBrightnessLuxLevels() { return mDisplayDeviceConfig.getAutoBrightnessBrighteningLevelsLux( mAutomaticBrightnessController.getMode()); } @Override public BrightnessInfo getBrightnessInfo() { synchronized (mCachedBrightnessInfo) { Loading Loading @@ -2460,7 +2473,7 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal // or the nits is invalid. if (brightnessIsTemporary || mAutomaticBrightnessController == null || mAutomaticBrightnessController.isInIdleMode() || mAutomaticBrightnessController.getMode() == AUTO_BRIGHTNESS_MODE_IDLE || !autobrightnessEnabled || mBrightnessTracker == null || !shouldUseAutoBrightness Loading Loading
core/java/android/hardware/display/DisplayManagerInternal.java +7 −0 Original line number Diff line number Diff line Loading @@ -751,6 +751,13 @@ public abstract class DisplayManagerInternal { */ boolean blockScreenOn(Runnable unblocker); /** Get the current brightness levels used to determine automatic brightness based on lux * levels. */ float[] getCurrentAutoBrightnessLevels(); /** Get the current lux levels used to determine automatic brightness. */ float[] getCurrentAutoBrightnessLuxLevels(); /** Returns whether displayoffload supports the given display state. */ static boolean isSupportedOffloadState(int displayState) { return Display.isSuspendedState(displayState); Loading
services/core/java/com/android/server/display/AutomaticBrightnessController.java +13 −11 Original line number Diff line number Diff line Loading @@ -403,7 +403,8 @@ public class AutomaticBrightnessController { | (!mAmbientLuxValid ? BrightnessEvent.FLAG_INVALID_LUX : 0) | (mDisplayPolicy == DisplayPowerRequest.POLICY_DOZE ? BrightnessEvent.FLAG_DOZE_SCALE : 0) | (isInIdleMode() ? BrightnessEvent.FLAG_IDLE_CURVE : 0)); | (getMode() == AUTO_BRIGHTNESS_MODE_IDLE ? BrightnessEvent.FLAG_IDLE_CURVE : 0)); } if (!mAmbientLuxValid) { Loading Loading @@ -514,7 +515,8 @@ public class AutomaticBrightnessController { if (mLoggingEnabled) { Slog.d(TAG, "Display policy transitioning from " + oldPolicy + " to " + policy); } if (!isInteractivePolicy(policy) && isInteractivePolicy(oldPolicy) && !isInIdleMode()) { if (!isInteractivePolicy(policy) && isInteractivePolicy(oldPolicy) && getMode() != AUTO_BRIGHTNESS_MODE_IDLE) { mHandler.sendEmptyMessageDelayed(MSG_INVALIDATE_CURRENT_SHORT_TERM_MODEL, mCurrentBrightnessMapper.getShortTermModelTimeout()); } else if (isInteractivePolicy(policy) && !isInteractivePolicy(oldPolicy)) { Loading Loading @@ -555,7 +557,7 @@ public class AutomaticBrightnessController { boolean shouldResetShortTermModel) { if (mBrightnessMappingStrategyMap.get(AUTO_BRIGHTNESS_MODE_DEFAULT) .setBrightnessConfiguration(configuration)) { if (!isInIdleMode() && shouldResetShortTermModel) { if (getMode() != AUTO_BRIGHTNESS_MODE_IDLE && shouldResetShortTermModel) { resetShortTermModel(); } return true; Loading @@ -563,8 +565,9 @@ public class AutomaticBrightnessController { return false; } public boolean isInIdleMode() { return mCurrentBrightnessMapper.getMode() == AUTO_BRIGHTNESS_MODE_IDLE; @AutomaticBrightnessController.AutomaticBrightnessMode public int getMode() { return mCurrentBrightnessMapper.getMode(); } public void dump(PrintWriter pw) { Loading Loading @@ -620,8 +623,7 @@ public class AutomaticBrightnessController { pw.println(" mPendingForegroundAppPackageName=" + mPendingForegroundAppPackageName); pw.println(" mForegroundAppCategory=" + mForegroundAppCategory); pw.println(" mPendingForegroundAppCategory=" + mPendingForegroundAppCategory); pw.println(" Current mode=" + autoBrightnessModeToString(mCurrentBrightnessMapper.getMode())); pw.println(" Current mode=" + autoBrightnessModeToString(getMode())); pw.println(); for (int i = 0; i < mBrightnessMappingStrategyMap.size(); i++) { Loading Loading @@ -743,7 +745,7 @@ public class AutomaticBrightnessController { lux = 0; } mAmbientLux = lux; if (isInIdleMode()) { if (getMode() == AUTO_BRIGHTNESS_MODE_IDLE) { mAmbientBrighteningThreshold = mAmbientBrightnessThresholdsIdle.getBrighteningThreshold(lux); mAmbientDarkeningThreshold = Loading Loading @@ -835,7 +837,7 @@ public class AutomaticBrightnessController { } earliestValidTime = mAmbientLightRingBuffer.getTime(i); } return earliestValidTime + (isInIdleMode() return earliestValidTime + (getMode() == AUTO_BRIGHTNESS_MODE_IDLE ? mBrighteningLightDebounceConfigIdle : mBrighteningLightDebounceConfig); } Loading @@ -848,7 +850,7 @@ public class AutomaticBrightnessController { } earliestValidTime = mAmbientLightRingBuffer.getTime(i); } return earliestValidTime + (isInIdleMode() return earliestValidTime + (getMode() == AUTO_BRIGHTNESS_MODE_IDLE ? mDarkeningLightDebounceConfigIdle : mDarkeningLightDebounceConfig); } Loading Loading @@ -973,7 +975,7 @@ public class AutomaticBrightnessController { mPreThresholdBrightness = mScreenAutoBrightness; } mScreenAutoBrightness = newScreenAutoBrightness; if (isInIdleMode()) { if (getMode() == AUTO_BRIGHTNESS_MODE_IDLE) { mScreenBrighteningThreshold = clampScreenBrightness( mScreenBrightnessThresholdsIdle.getBrighteningThreshold( newScreenAutoBrightness)); Loading
services/core/java/com/android/server/display/DisplayOffloadSessionImpl.java +10 −0 Original line number Diff line number Diff line Loading @@ -65,6 +65,16 @@ public class DisplayOffloadSessionImpl implements DisplayManagerInternal.Display return true; } @Override public float[] getCurrentAutoBrightnessLevels() { return mDisplayPowerController.getCurrentAutoBrightnessLevels(); } @Override public float[] getCurrentAutoBrightnessLuxLevels() { return mDisplayPowerController.getCurrentAutoBrightnessLuxLevels(); } /** * Start the offload session. The method returns if the session is already active. * @return Whether the session was started successfully Loading
services/core/java/com/android/server/display/DisplayPowerController.java +16 −3 Original line number Diff line number Diff line Loading @@ -1119,7 +1119,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call DisplayPowerState.SCREEN_BRIGHTNESS_FLOAT, DisplayPowerState.SCREEN_SDR_BRIGHTNESS_FLOAT); setAnimatorRampSpeeds(mAutomaticBrightnessController != null && mAutomaticBrightnessController.isInIdleMode()); && mAutomaticBrightnessController.getMode() == AUTO_BRIGHTNESS_MODE_IDLE); mScreenBrightnessRampAnimator.setListener(mRampAnimatorListener); noteScreenState(mPowerState.getScreenState()); Loading Loading @@ -1990,7 +1990,8 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call boolean isIncreasing = animateValue > currentBrightness; final float rampSpeed; final boolean idle = mAutomaticBrightnessController != null && mAutomaticBrightnessController.isInIdleMode(); && mAutomaticBrightnessController.getMode() == AUTO_BRIGHTNESS_MODE_IDLE; if (isIncreasing && slowChange) { rampSpeed = idle ? mBrightnessRampRateSlowIncreaseIdle : mBrightnessRampRateSlowIncrease; Loading Loading @@ -2213,6 +2214,18 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call // The old DPC is no longer supported } @Override public float[] getCurrentAutoBrightnessLevels() { // The old DPC is no longer supported return new float[0]; } @Override public float[] getCurrentAutoBrightnessLuxLevels() { // The old DPC is no longer supported return new float[0]; } @Override public BrightnessInfo getBrightnessInfo() { synchronized (mCachedBrightnessInfo) { Loading Loading @@ -2898,7 +2911,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call // or the nits is invalid. if (brightnessIsTemporary || mAutomaticBrightnessController == null || mAutomaticBrightnessController.isInIdleMode() || mAutomaticBrightnessController.getMode() == AUTO_BRIGHTNESS_MODE_IDLE || !autobrightnessEnabled || mBrightnessTracker == null || !mUseAutoBrightness Loading
services/core/java/com/android/server/display/DisplayPowerController2.java +17 −4 Original line number Diff line number Diff line Loading @@ -951,7 +951,7 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal DisplayPowerState.SCREEN_BRIGHTNESS_FLOAT, DisplayPowerState.SCREEN_SDR_BRIGHTNESS_FLOAT); setAnimatorRampSpeeds(mAutomaticBrightnessController != null && mAutomaticBrightnessController.isInIdleMode()); && mAutomaticBrightnessController.getMode() == AUTO_BRIGHTNESS_MODE_IDLE); mScreenBrightnessRampAnimator.setListener(mRampAnimatorListener); noteScreenState(mPowerState.getScreenState()); Loading Loading @@ -1365,7 +1365,7 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal // Switch to doze auto-brightness mode if needed if (mFlags.areAutoBrightnessModesEnabled() && mAutomaticBrightnessController != null && !mAutomaticBrightnessController.isInIdleMode()) { && mAutomaticBrightnessController.getMode() != AUTO_BRIGHTNESS_MODE_IDLE) { setAutomaticScreenBrightnessMode(Display.isDozeState(state) ? AUTO_BRIGHTNESS_MODE_DOZE : AUTO_BRIGHTNESS_MODE_DEFAULT); } Loading Loading @@ -1654,7 +1654,8 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal boolean isIncreasing = animateValue > currentBrightness; final float rampSpeed; final boolean idle = mAutomaticBrightnessController != null && mAutomaticBrightnessController.isInIdleMode(); && mAutomaticBrightnessController.getMode() == AUTO_BRIGHTNESS_MODE_IDLE; if (isIncreasing && slowChange) { rampSpeed = idle ? mBrightnessRampRateSlowIncreaseIdle : mBrightnessRampRateSlowIncrease; Loading Loading @@ -1885,6 +1886,18 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal mHandler.sendMessageAtTime(msg, mClock.uptimeMillis()); } @Override public float[] getCurrentAutoBrightnessLevels() { return mDisplayDeviceConfig.getAutoBrightnessBrighteningLevels( mAutomaticBrightnessController.getMode()); } @Override public float[] getCurrentAutoBrightnessLuxLevels() { return mDisplayDeviceConfig.getAutoBrightnessBrighteningLevelsLux( mAutomaticBrightnessController.getMode()); } @Override public BrightnessInfo getBrightnessInfo() { synchronized (mCachedBrightnessInfo) { Loading Loading @@ -2460,7 +2473,7 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal // or the nits is invalid. if (brightnessIsTemporary || mAutomaticBrightnessController == null || mAutomaticBrightnessController.isInIdleMode() || mAutomaticBrightnessController.getMode() == AUTO_BRIGHTNESS_MODE_IDLE || !autobrightnessEnabled || mBrightnessTracker == null || !shouldUseAutoBrightness Loading