Loading core/java/android/hardware/display/DisplayManagerInternal.java +0 −7 Original line number Diff line number Diff line Loading @@ -439,9 +439,6 @@ public abstract class DisplayManagerInternal { // 1 (brighter). Set to Float.NaN if there's no override. public float screenAutoBrightnessAdjustmentOverride; // If true, enables automatic brightness control. public boolean useAutoBrightness; // If true, scales the brightness to a fraction of desired (as defined by // screenLowPowerBrightnessFactor). public boolean lowPowerMode; Loading Loading @@ -471,7 +468,6 @@ public abstract class DisplayManagerInternal { policy = POLICY_BRIGHT; useProximitySensor = false; screenBrightnessOverride = PowerManager.BRIGHTNESS_INVALID_FLOAT; useAutoBrightness = false; screenAutoBrightnessAdjustmentOverride = Float.NaN; screenLowPowerBrightnessFactor = 0.5f; blockScreenOn = false; Loading @@ -491,7 +487,6 @@ public abstract class DisplayManagerInternal { policy = other.policy; useProximitySensor = other.useProximitySensor; screenBrightnessOverride = other.screenBrightnessOverride; useAutoBrightness = other.useAutoBrightness; screenAutoBrightnessAdjustmentOverride = other.screenAutoBrightnessAdjustmentOverride; screenLowPowerBrightnessFactor = other.screenLowPowerBrightnessFactor; blockScreenOn = other.blockScreenOn; Loading @@ -513,7 +508,6 @@ public abstract class DisplayManagerInternal { && useProximitySensor == other.useProximitySensor && floatEquals(screenBrightnessOverride, other.screenBrightnessOverride) && useAutoBrightness == other.useAutoBrightness && floatEquals(screenAutoBrightnessAdjustmentOverride, other.screenAutoBrightnessAdjustmentOverride) && screenLowPowerBrightnessFactor Loading @@ -539,7 +533,6 @@ public abstract class DisplayManagerInternal { return "policy=" + policyToString(policy) + ", useProximitySensor=" + useProximitySensor + ", screenBrightnessOverride=" + screenBrightnessOverride + ", useAutoBrightness=" + useAutoBrightness + ", screenAutoBrightnessAdjustmentOverride=" + screenAutoBrightnessAdjustmentOverride + ", screenLowPowerBrightnessFactor=" + screenLowPowerBrightnessFactor Loading services/core/java/com/android/server/display/DisplayPowerController.java +28 −5 Original line number Diff line number Diff line Loading @@ -453,6 +453,8 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call // PowerManager.BRIGHTNESS_INVALID_FLOAT when there's no temporary adjustment set. private float mTemporaryAutoBrightnessAdjustment; private boolean mUseAutoBrightness; private boolean mIsRbcActive; // Whether there's a callback to tell listeners the display has changed scheduled to run. When Loading Loading @@ -683,6 +685,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call @Override public void onSwitchUser(@UserIdInt int newUserId) { handleSettingsChange(true /* userSwitch */); handleBrightnessModeChange(); if (mBrightnessTracker != null) { mBrightnessTracker.onSwitchUser(newUserId); } Loading Loading @@ -930,6 +933,10 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call mContext.getContentResolver().registerContentObserver( Settings.System.getUriFor(Settings.System.SCREEN_AUTO_BRIGHTNESS_ADJ), false /*notifyForDescendants*/, mSettingsObserver, UserHandle.USER_ALL); mContext.getContentResolver().registerContentObserver( Settings.System.getUriFor(Settings.System.SCREEN_BRIGHTNESS_MODE), false /*notifyForDescendants*/, mSettingsObserver, UserHandle.USER_ALL); handleBrightnessModeChange(); } private void setUpAutoBrightness(Resources resources, Handler handler) { Loading Loading @@ -1335,11 +1342,11 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call final boolean autoBrightnessEnabledInDoze = mAllowAutoBrightnessWhileDozingConfig && Display.isDozeState(state); final boolean autoBrightnessEnabled = mPowerRequest.useAutoBrightness final boolean autoBrightnessEnabled = mUseAutoBrightness && (state == Display.STATE_ON || autoBrightnessEnabledInDoze) && Float.isNaN(brightnessState) && mAutomaticBrightnessController != null; final boolean autoBrightnessDisabledDueToDisplayOff = mPowerRequest.useAutoBrightness final boolean autoBrightnessDisabledDueToDisplayOff = mUseAutoBrightness && !(state == Display.STATE_ON || autoBrightnessEnabledInDoze); final int autoBrightnessState = autoBrightnessEnabled ? AutomaticBrightnessController.AUTO_BRIGHTNESS_ENABLED Loading Loading @@ -1691,7 +1698,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call || brightnessAdjustmentFlags != 0) { float lastBrightness = mLastBrightnessEvent.getBrightness(); mTempBrightnessEvent.setInitialBrightness(lastBrightness); mTempBrightnessEvent.setAutomaticBrightnessEnabled(mPowerRequest.useAutoBrightness); mTempBrightnessEvent.setAutomaticBrightnessEnabled(mUseAutoBrightness); mLastBrightnessEvent.copyFrom(mTempBrightnessEvent); BrightnessEvent newEvent = new BrightnessEvent(mTempBrightnessEvent); // Adjustment flags (and user-set flag) only get added after the equality checks since Loading Loading @@ -2341,6 +2348,18 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call sendUpdatePowerState(); } private void handleBrightnessModeChange() { final int screenBrightnessModeSetting = Settings.System.getIntForUser( mContext.getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL, UserHandle.USER_CURRENT); mHandler.post(() -> { mUseAutoBrightness = screenBrightnessModeSetting == Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC; updatePowerState(); }); } private float getAutoBrightnessAdjustmentSetting() { final float adj = Settings.System.getFloatForUser(mContext.getContentResolver(), Settings.System.SCREEN_AUTO_BRIGHTNESS_ADJ, 0.0f, UserHandle.USER_CURRENT); Loading Loading @@ -2425,7 +2444,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call private void notifyBrightnessTrackerChanged(float brightness, boolean userInitiated, boolean hadUserDataPoint) { final float brightnessInNits = convertToNits(brightness); if (mPowerRequest.useAutoBrightness && brightnessInNits >= 0.0f if (mUseAutoBrightness && brightnessInNits >= 0.0f && mAutomaticBrightnessController != null && mBrightnessTracker != null) { // We only want to track changes on devices that can actually map the display backlight // values into a physical brightness unit since the value provided by the API is in Loading Loading @@ -2897,9 +2916,13 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call @Override public void onChange(boolean selfChange, Uri uri) { if (uri.equals(Settings.System.getUriFor(Settings.System.SCREEN_BRIGHTNESS_MODE))) { handleBrightnessModeChange(); } else { handleSettingsChange(false /* userSwitch */); } } } private final class ScreenOnUnblocker implements WindowManagerPolicy.ScreenOnListener { @Override Loading services/core/java/com/android/server/display/DisplayPowerController2.java +28 −5 Original line number Diff line number Diff line Loading @@ -396,6 +396,8 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal // PowerManager.BRIGHTNESS_INVALID_FLOAT when there's no temporary adjustment set. private float mTemporaryAutoBrightnessAdjustment; private boolean mUseAutoBrightness; private boolean mIsRbcActive; // Animators. Loading Loading @@ -600,6 +602,7 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal @Override public void onSwitchUser(@UserIdInt int newUserId) { handleSettingsChange(true /* userSwitch */); handleBrightnessModeChange(); if (mBrightnessTracker != null) { mBrightnessTracker.onSwitchUser(newUserId); } Loading Loading @@ -842,6 +845,10 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal mContext.getContentResolver().registerContentObserver( Settings.System.getUriFor(Settings.System.SCREEN_AUTO_BRIGHTNESS_ADJ), false /*notifyForDescendants*/, mSettingsObserver, UserHandle.USER_ALL); mContext.getContentResolver().registerContentObserver( Settings.System.getUriFor(Settings.System.SCREEN_BRIGHTNESS_MODE), false /*notifyForDescendants*/, mSettingsObserver, UserHandle.USER_ALL); handleBrightnessModeChange(); } private void setUpAutoBrightness(Resources resources, Handler handler) { Loading Loading @@ -1174,11 +1181,11 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal final boolean autoBrightnessEnabledInDoze = mDisplayBrightnessController.isAllowAutoBrightnessWhileDozingConfig() && Display.isDozeState(state); final boolean autoBrightnessEnabled = mPowerRequest.useAutoBrightness final boolean autoBrightnessEnabled = mUseAutoBrightness && (state == Display.STATE_ON || autoBrightnessEnabledInDoze) && Float.isNaN(brightnessState) && mAutomaticBrightnessController != null; final boolean autoBrightnessDisabledDueToDisplayOff = mPowerRequest.useAutoBrightness final boolean autoBrightnessDisabledDueToDisplayOff = mUseAutoBrightness && !(state == Display.STATE_ON || autoBrightnessEnabledInDoze); final int autoBrightnessState = autoBrightnessEnabled ? AutomaticBrightnessController.AUTO_BRIGHTNESS_ENABLED Loading Loading @@ -1510,7 +1517,7 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal || brightnessAdjustmentFlags != 0) { float lastBrightness = mLastBrightnessEvent.getBrightness(); mTempBrightnessEvent.setInitialBrightness(lastBrightness); mTempBrightnessEvent.setAutomaticBrightnessEnabled(mPowerRequest.useAutoBrightness); mTempBrightnessEvent.setAutomaticBrightnessEnabled(mUseAutoBrightness); mLastBrightnessEvent.copyFrom(mTempBrightnessEvent); BrightnessEvent newEvent = new BrightnessEvent(mTempBrightnessEvent); // Adjustment flags (and user-set flag) only get added after the equality checks since Loading Loading @@ -2045,6 +2052,18 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal sendUpdatePowerState(); } private void handleBrightnessModeChange() { final int screenBrightnessModeSetting = Settings.System.getIntForUser( mContext.getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL, UserHandle.USER_CURRENT); mHandler.post(() -> { mUseAutoBrightness = screenBrightnessModeSetting == Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC; updatePowerState(); }); } private float getAutoBrightnessAdjustmentSetting() { final float adj = Settings.System.getFloatForUser(mContext.getContentResolver(), Settings.System.SCREEN_AUTO_BRIGHTNESS_ADJ, 0.0f, UserHandle.USER_CURRENT); Loading Loading @@ -2131,7 +2150,7 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal private void notifyBrightnessTrackerChanged(float brightness, boolean userInitiated, boolean hadUserDataPoint) { final float brightnessInNits = convertToNits(brightness); if (mPowerRequest.useAutoBrightness && brightnessInNits >= 0.0f if (mUseAutoBrightness && brightnessInNits >= 0.0f && mAutomaticBrightnessController != null && mBrightnessTracker != null) { // We only want to track changes on devices that can actually map the display backlight // values into a physical brightness unit since the value provided by the API is in Loading Loading @@ -2499,9 +2518,13 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal @Override public void onChange(boolean selfChange, Uri uri) { if (uri.equals(Settings.System.getUriFor(Settings.System.SCREEN_BRIGHTNESS_MODE))) { handleBrightnessModeChange(); } else { handleSettingsChange(false /* userSwitch */); } } } private final class ScreenOnUnblocker implements WindowManagerPolicy.ScreenOnListener { @Override Loading services/core/java/com/android/server/power/PowerGroup.java +5 −7 Original line number Diff line number Diff line Loading @@ -407,16 +407,14 @@ public class PowerGroup { return mDisplayPowerRequest.policy; } boolean updateLocked(float screenBrightnessOverride, boolean autoBrightness, boolean useProximitySensor, boolean boostScreenBrightness, int dozeScreenState, float dozeScreenBrightness, boolean overrideDrawWakeLock, PowerSaveState powerSaverState, boolean quiescent, boolean dozeAfterScreenOff, boolean bootCompleted, boolean screenBrightnessBoostInProgress, boolean waitForNegativeProximity) { boolean updateLocked(float screenBrightnessOverride, boolean useProximitySensor, boolean boostScreenBrightness, int dozeScreenState, float dozeScreenBrightness, boolean overrideDrawWakeLock, PowerSaveState powerSaverState, boolean quiescent, boolean dozeAfterScreenOff, boolean bootCompleted, boolean screenBrightnessBoostInProgress, boolean waitForNegativeProximity) { mDisplayPowerRequest.policy = getDesiredScreenPolicyLocked(quiescent, dozeAfterScreenOff, bootCompleted, screenBrightnessBoostInProgress); mDisplayPowerRequest.screenBrightnessOverride = screenBrightnessOverride; mDisplayPowerRequest.useAutoBrightness = autoBrightness; mDisplayPowerRequest.useProximitySensor = useProximitySensor; mDisplayPowerRequest.boostScreenBrightness = boostScreenBrightness; Loading services/core/java/com/android/server/power/PowerManagerService.java +2 −20 Original line number Diff line number Diff line Loading @@ -581,10 +581,6 @@ public final class PowerManagerService extends SystemService private boolean mIsFaceDown = false; private long mLastFlipTime = 0L; // The screen brightness mode. // One of the Settings.System.SCREEN_BRIGHTNESS_MODE_* constants. private int mScreenBrightnessModeSetting; // The screen brightness setting override from the window manager // to allow the current foreground activity to override the brightness. private float mScreenBrightnessOverrideFromWindowManager = Loading Loading @@ -1457,10 +1453,6 @@ public final class PowerManagerService extends SystemService mSystemProperties.set(SYSTEM_PROPERTY_RETAIL_DEMO_ENABLED, retailDemoValue); } mScreenBrightnessModeSetting = Settings.System.getIntForUser(resolver, Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL, UserHandle.USER_CURRENT); mDirty |= DIRTY_SETTINGS; } Loading Loading @@ -3432,23 +3424,18 @@ public final class PowerManagerService extends SystemService final PowerGroup powerGroup = mPowerGroups.valueAt(idx); final int groupId = powerGroup.getGroupId(); // Determine appropriate screen brightness and auto-brightness adjustments. final boolean autoBrightness; // Determine appropriate screen brightness. final float screenBrightnessOverride; if (!mBootCompleted) { // Keep the brightness steady during boot. This requires the // bootloader brightness and the default brightness to be identical. autoBrightness = false; screenBrightnessOverride = mScreenBrightnessDefault; } else if (isValidBrightness(mScreenBrightnessOverrideFromWindowManager)) { autoBrightness = false; screenBrightnessOverride = mScreenBrightnessOverrideFromWindowManager; } else { autoBrightness = (mScreenBrightnessModeSetting == Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC); screenBrightnessOverride = PowerManager.BRIGHTNESS_INVALID_FLOAT; } boolean ready = powerGroup.updateLocked(screenBrightnessOverride, autoBrightness, boolean ready = powerGroup.updateLocked(screenBrightnessOverride, shouldUseProximitySensorLocked(), shouldBoostScreenBrightness(), mDozeScreenStateOverrideFromDreamManager, mDozeScreenBrightnessOverrideFromDreamManagerFloat, Loading @@ -3469,7 +3456,6 @@ public final class PowerManagerService extends SystemService powerGroup.getUserActivitySummaryLocked()) + ", mBootCompleted=" + mBootCompleted + ", screenBrightnessOverride=" + screenBrightnessOverride + ", useAutoBrightness=" + autoBrightness + ", mScreenBrightnessBoostInProgress=" + mScreenBrightnessBoostInProgress + ", sQuiescent=" + sQuiescent); Loading Loading @@ -4488,7 +4474,6 @@ public final class PowerManagerService extends SystemService + mMaximumScreenOffTimeoutFromDeviceAdmin + " (enforced=" + isMaximumScreenOffTimeoutFromDeviceAdminEnforcedLocked() + ")"); pw.println(" mStayOnWhilePluggedInSetting=" + mStayOnWhilePluggedInSetting); pw.println(" mScreenBrightnessModeSetting=" + mScreenBrightnessModeSetting); pw.println(" mScreenBrightnessOverrideFromWindowManager=" + mScreenBrightnessOverrideFromWindowManager); pw.println(" mUserActivityTimeoutOverrideFromWindowManager=" Loading Loading @@ -4865,9 +4850,6 @@ public final class PowerManagerService extends SystemService != 0)); proto.end(stayOnWhilePluggedInToken); proto.write( PowerServiceSettingsAndConfigurationDumpProto.SCREEN_BRIGHTNESS_MODE_SETTING, mScreenBrightnessModeSetting); proto.write( PowerServiceSettingsAndConfigurationDumpProto .SCREEN_BRIGHTNESS_OVERRIDE_FROM_WINDOW_MANAGER, Loading Loading
core/java/android/hardware/display/DisplayManagerInternal.java +0 −7 Original line number Diff line number Diff line Loading @@ -439,9 +439,6 @@ public abstract class DisplayManagerInternal { // 1 (brighter). Set to Float.NaN if there's no override. public float screenAutoBrightnessAdjustmentOverride; // If true, enables automatic brightness control. public boolean useAutoBrightness; // If true, scales the brightness to a fraction of desired (as defined by // screenLowPowerBrightnessFactor). public boolean lowPowerMode; Loading Loading @@ -471,7 +468,6 @@ public abstract class DisplayManagerInternal { policy = POLICY_BRIGHT; useProximitySensor = false; screenBrightnessOverride = PowerManager.BRIGHTNESS_INVALID_FLOAT; useAutoBrightness = false; screenAutoBrightnessAdjustmentOverride = Float.NaN; screenLowPowerBrightnessFactor = 0.5f; blockScreenOn = false; Loading @@ -491,7 +487,6 @@ public abstract class DisplayManagerInternal { policy = other.policy; useProximitySensor = other.useProximitySensor; screenBrightnessOverride = other.screenBrightnessOverride; useAutoBrightness = other.useAutoBrightness; screenAutoBrightnessAdjustmentOverride = other.screenAutoBrightnessAdjustmentOverride; screenLowPowerBrightnessFactor = other.screenLowPowerBrightnessFactor; blockScreenOn = other.blockScreenOn; Loading @@ -513,7 +508,6 @@ public abstract class DisplayManagerInternal { && useProximitySensor == other.useProximitySensor && floatEquals(screenBrightnessOverride, other.screenBrightnessOverride) && useAutoBrightness == other.useAutoBrightness && floatEquals(screenAutoBrightnessAdjustmentOverride, other.screenAutoBrightnessAdjustmentOverride) && screenLowPowerBrightnessFactor Loading @@ -539,7 +533,6 @@ public abstract class DisplayManagerInternal { return "policy=" + policyToString(policy) + ", useProximitySensor=" + useProximitySensor + ", screenBrightnessOverride=" + screenBrightnessOverride + ", useAutoBrightness=" + useAutoBrightness + ", screenAutoBrightnessAdjustmentOverride=" + screenAutoBrightnessAdjustmentOverride + ", screenLowPowerBrightnessFactor=" + screenLowPowerBrightnessFactor Loading
services/core/java/com/android/server/display/DisplayPowerController.java +28 −5 Original line number Diff line number Diff line Loading @@ -453,6 +453,8 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call // PowerManager.BRIGHTNESS_INVALID_FLOAT when there's no temporary adjustment set. private float mTemporaryAutoBrightnessAdjustment; private boolean mUseAutoBrightness; private boolean mIsRbcActive; // Whether there's a callback to tell listeners the display has changed scheduled to run. When Loading Loading @@ -683,6 +685,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call @Override public void onSwitchUser(@UserIdInt int newUserId) { handleSettingsChange(true /* userSwitch */); handleBrightnessModeChange(); if (mBrightnessTracker != null) { mBrightnessTracker.onSwitchUser(newUserId); } Loading Loading @@ -930,6 +933,10 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call mContext.getContentResolver().registerContentObserver( Settings.System.getUriFor(Settings.System.SCREEN_AUTO_BRIGHTNESS_ADJ), false /*notifyForDescendants*/, mSettingsObserver, UserHandle.USER_ALL); mContext.getContentResolver().registerContentObserver( Settings.System.getUriFor(Settings.System.SCREEN_BRIGHTNESS_MODE), false /*notifyForDescendants*/, mSettingsObserver, UserHandle.USER_ALL); handleBrightnessModeChange(); } private void setUpAutoBrightness(Resources resources, Handler handler) { Loading Loading @@ -1335,11 +1342,11 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call final boolean autoBrightnessEnabledInDoze = mAllowAutoBrightnessWhileDozingConfig && Display.isDozeState(state); final boolean autoBrightnessEnabled = mPowerRequest.useAutoBrightness final boolean autoBrightnessEnabled = mUseAutoBrightness && (state == Display.STATE_ON || autoBrightnessEnabledInDoze) && Float.isNaN(brightnessState) && mAutomaticBrightnessController != null; final boolean autoBrightnessDisabledDueToDisplayOff = mPowerRequest.useAutoBrightness final boolean autoBrightnessDisabledDueToDisplayOff = mUseAutoBrightness && !(state == Display.STATE_ON || autoBrightnessEnabledInDoze); final int autoBrightnessState = autoBrightnessEnabled ? AutomaticBrightnessController.AUTO_BRIGHTNESS_ENABLED Loading Loading @@ -1691,7 +1698,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call || brightnessAdjustmentFlags != 0) { float lastBrightness = mLastBrightnessEvent.getBrightness(); mTempBrightnessEvent.setInitialBrightness(lastBrightness); mTempBrightnessEvent.setAutomaticBrightnessEnabled(mPowerRequest.useAutoBrightness); mTempBrightnessEvent.setAutomaticBrightnessEnabled(mUseAutoBrightness); mLastBrightnessEvent.copyFrom(mTempBrightnessEvent); BrightnessEvent newEvent = new BrightnessEvent(mTempBrightnessEvent); // Adjustment flags (and user-set flag) only get added after the equality checks since Loading Loading @@ -2341,6 +2348,18 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call sendUpdatePowerState(); } private void handleBrightnessModeChange() { final int screenBrightnessModeSetting = Settings.System.getIntForUser( mContext.getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL, UserHandle.USER_CURRENT); mHandler.post(() -> { mUseAutoBrightness = screenBrightnessModeSetting == Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC; updatePowerState(); }); } private float getAutoBrightnessAdjustmentSetting() { final float adj = Settings.System.getFloatForUser(mContext.getContentResolver(), Settings.System.SCREEN_AUTO_BRIGHTNESS_ADJ, 0.0f, UserHandle.USER_CURRENT); Loading Loading @@ -2425,7 +2444,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call private void notifyBrightnessTrackerChanged(float brightness, boolean userInitiated, boolean hadUserDataPoint) { final float brightnessInNits = convertToNits(brightness); if (mPowerRequest.useAutoBrightness && brightnessInNits >= 0.0f if (mUseAutoBrightness && brightnessInNits >= 0.0f && mAutomaticBrightnessController != null && mBrightnessTracker != null) { // We only want to track changes on devices that can actually map the display backlight // values into a physical brightness unit since the value provided by the API is in Loading Loading @@ -2897,9 +2916,13 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call @Override public void onChange(boolean selfChange, Uri uri) { if (uri.equals(Settings.System.getUriFor(Settings.System.SCREEN_BRIGHTNESS_MODE))) { handleBrightnessModeChange(); } else { handleSettingsChange(false /* userSwitch */); } } } private final class ScreenOnUnblocker implements WindowManagerPolicy.ScreenOnListener { @Override Loading
services/core/java/com/android/server/display/DisplayPowerController2.java +28 −5 Original line number Diff line number Diff line Loading @@ -396,6 +396,8 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal // PowerManager.BRIGHTNESS_INVALID_FLOAT when there's no temporary adjustment set. private float mTemporaryAutoBrightnessAdjustment; private boolean mUseAutoBrightness; private boolean mIsRbcActive; // Animators. Loading Loading @@ -600,6 +602,7 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal @Override public void onSwitchUser(@UserIdInt int newUserId) { handleSettingsChange(true /* userSwitch */); handleBrightnessModeChange(); if (mBrightnessTracker != null) { mBrightnessTracker.onSwitchUser(newUserId); } Loading Loading @@ -842,6 +845,10 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal mContext.getContentResolver().registerContentObserver( Settings.System.getUriFor(Settings.System.SCREEN_AUTO_BRIGHTNESS_ADJ), false /*notifyForDescendants*/, mSettingsObserver, UserHandle.USER_ALL); mContext.getContentResolver().registerContentObserver( Settings.System.getUriFor(Settings.System.SCREEN_BRIGHTNESS_MODE), false /*notifyForDescendants*/, mSettingsObserver, UserHandle.USER_ALL); handleBrightnessModeChange(); } private void setUpAutoBrightness(Resources resources, Handler handler) { Loading Loading @@ -1174,11 +1181,11 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal final boolean autoBrightnessEnabledInDoze = mDisplayBrightnessController.isAllowAutoBrightnessWhileDozingConfig() && Display.isDozeState(state); final boolean autoBrightnessEnabled = mPowerRequest.useAutoBrightness final boolean autoBrightnessEnabled = mUseAutoBrightness && (state == Display.STATE_ON || autoBrightnessEnabledInDoze) && Float.isNaN(brightnessState) && mAutomaticBrightnessController != null; final boolean autoBrightnessDisabledDueToDisplayOff = mPowerRequest.useAutoBrightness final boolean autoBrightnessDisabledDueToDisplayOff = mUseAutoBrightness && !(state == Display.STATE_ON || autoBrightnessEnabledInDoze); final int autoBrightnessState = autoBrightnessEnabled ? AutomaticBrightnessController.AUTO_BRIGHTNESS_ENABLED Loading Loading @@ -1510,7 +1517,7 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal || brightnessAdjustmentFlags != 0) { float lastBrightness = mLastBrightnessEvent.getBrightness(); mTempBrightnessEvent.setInitialBrightness(lastBrightness); mTempBrightnessEvent.setAutomaticBrightnessEnabled(mPowerRequest.useAutoBrightness); mTempBrightnessEvent.setAutomaticBrightnessEnabled(mUseAutoBrightness); mLastBrightnessEvent.copyFrom(mTempBrightnessEvent); BrightnessEvent newEvent = new BrightnessEvent(mTempBrightnessEvent); // Adjustment flags (and user-set flag) only get added after the equality checks since Loading Loading @@ -2045,6 +2052,18 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal sendUpdatePowerState(); } private void handleBrightnessModeChange() { final int screenBrightnessModeSetting = Settings.System.getIntForUser( mContext.getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL, UserHandle.USER_CURRENT); mHandler.post(() -> { mUseAutoBrightness = screenBrightnessModeSetting == Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC; updatePowerState(); }); } private float getAutoBrightnessAdjustmentSetting() { final float adj = Settings.System.getFloatForUser(mContext.getContentResolver(), Settings.System.SCREEN_AUTO_BRIGHTNESS_ADJ, 0.0f, UserHandle.USER_CURRENT); Loading Loading @@ -2131,7 +2150,7 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal private void notifyBrightnessTrackerChanged(float brightness, boolean userInitiated, boolean hadUserDataPoint) { final float brightnessInNits = convertToNits(brightness); if (mPowerRequest.useAutoBrightness && brightnessInNits >= 0.0f if (mUseAutoBrightness && brightnessInNits >= 0.0f && mAutomaticBrightnessController != null && mBrightnessTracker != null) { // We only want to track changes on devices that can actually map the display backlight // values into a physical brightness unit since the value provided by the API is in Loading Loading @@ -2499,9 +2518,13 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal @Override public void onChange(boolean selfChange, Uri uri) { if (uri.equals(Settings.System.getUriFor(Settings.System.SCREEN_BRIGHTNESS_MODE))) { handleBrightnessModeChange(); } else { handleSettingsChange(false /* userSwitch */); } } } private final class ScreenOnUnblocker implements WindowManagerPolicy.ScreenOnListener { @Override Loading
services/core/java/com/android/server/power/PowerGroup.java +5 −7 Original line number Diff line number Diff line Loading @@ -407,16 +407,14 @@ public class PowerGroup { return mDisplayPowerRequest.policy; } boolean updateLocked(float screenBrightnessOverride, boolean autoBrightness, boolean useProximitySensor, boolean boostScreenBrightness, int dozeScreenState, float dozeScreenBrightness, boolean overrideDrawWakeLock, PowerSaveState powerSaverState, boolean quiescent, boolean dozeAfterScreenOff, boolean bootCompleted, boolean screenBrightnessBoostInProgress, boolean waitForNegativeProximity) { boolean updateLocked(float screenBrightnessOverride, boolean useProximitySensor, boolean boostScreenBrightness, int dozeScreenState, float dozeScreenBrightness, boolean overrideDrawWakeLock, PowerSaveState powerSaverState, boolean quiescent, boolean dozeAfterScreenOff, boolean bootCompleted, boolean screenBrightnessBoostInProgress, boolean waitForNegativeProximity) { mDisplayPowerRequest.policy = getDesiredScreenPolicyLocked(quiescent, dozeAfterScreenOff, bootCompleted, screenBrightnessBoostInProgress); mDisplayPowerRequest.screenBrightnessOverride = screenBrightnessOverride; mDisplayPowerRequest.useAutoBrightness = autoBrightness; mDisplayPowerRequest.useProximitySensor = useProximitySensor; mDisplayPowerRequest.boostScreenBrightness = boostScreenBrightness; Loading
services/core/java/com/android/server/power/PowerManagerService.java +2 −20 Original line number Diff line number Diff line Loading @@ -581,10 +581,6 @@ public final class PowerManagerService extends SystemService private boolean mIsFaceDown = false; private long mLastFlipTime = 0L; // The screen brightness mode. // One of the Settings.System.SCREEN_BRIGHTNESS_MODE_* constants. private int mScreenBrightnessModeSetting; // The screen brightness setting override from the window manager // to allow the current foreground activity to override the brightness. private float mScreenBrightnessOverrideFromWindowManager = Loading Loading @@ -1457,10 +1453,6 @@ public final class PowerManagerService extends SystemService mSystemProperties.set(SYSTEM_PROPERTY_RETAIL_DEMO_ENABLED, retailDemoValue); } mScreenBrightnessModeSetting = Settings.System.getIntForUser(resolver, Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL, UserHandle.USER_CURRENT); mDirty |= DIRTY_SETTINGS; } Loading Loading @@ -3432,23 +3424,18 @@ public final class PowerManagerService extends SystemService final PowerGroup powerGroup = mPowerGroups.valueAt(idx); final int groupId = powerGroup.getGroupId(); // Determine appropriate screen brightness and auto-brightness adjustments. final boolean autoBrightness; // Determine appropriate screen brightness. final float screenBrightnessOverride; if (!mBootCompleted) { // Keep the brightness steady during boot. This requires the // bootloader brightness and the default brightness to be identical. autoBrightness = false; screenBrightnessOverride = mScreenBrightnessDefault; } else if (isValidBrightness(mScreenBrightnessOverrideFromWindowManager)) { autoBrightness = false; screenBrightnessOverride = mScreenBrightnessOverrideFromWindowManager; } else { autoBrightness = (mScreenBrightnessModeSetting == Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC); screenBrightnessOverride = PowerManager.BRIGHTNESS_INVALID_FLOAT; } boolean ready = powerGroup.updateLocked(screenBrightnessOverride, autoBrightness, boolean ready = powerGroup.updateLocked(screenBrightnessOverride, shouldUseProximitySensorLocked(), shouldBoostScreenBrightness(), mDozeScreenStateOverrideFromDreamManager, mDozeScreenBrightnessOverrideFromDreamManagerFloat, Loading @@ -3469,7 +3456,6 @@ public final class PowerManagerService extends SystemService powerGroup.getUserActivitySummaryLocked()) + ", mBootCompleted=" + mBootCompleted + ", screenBrightnessOverride=" + screenBrightnessOverride + ", useAutoBrightness=" + autoBrightness + ", mScreenBrightnessBoostInProgress=" + mScreenBrightnessBoostInProgress + ", sQuiescent=" + sQuiescent); Loading Loading @@ -4488,7 +4474,6 @@ public final class PowerManagerService extends SystemService + mMaximumScreenOffTimeoutFromDeviceAdmin + " (enforced=" + isMaximumScreenOffTimeoutFromDeviceAdminEnforcedLocked() + ")"); pw.println(" mStayOnWhilePluggedInSetting=" + mStayOnWhilePluggedInSetting); pw.println(" mScreenBrightnessModeSetting=" + mScreenBrightnessModeSetting); pw.println(" mScreenBrightnessOverrideFromWindowManager=" + mScreenBrightnessOverrideFromWindowManager); pw.println(" mUserActivityTimeoutOverrideFromWindowManager=" Loading Loading @@ -4865,9 +4850,6 @@ public final class PowerManagerService extends SystemService != 0)); proto.end(stayOnWhilePluggedInToken); proto.write( PowerServiceSettingsAndConfigurationDumpProto.SCREEN_BRIGHTNESS_MODE_SETTING, mScreenBrightnessModeSetting); proto.write( PowerServiceSettingsAndConfigurationDumpProto .SCREEN_BRIGHTNESS_OVERRIDE_FROM_WINDOW_MANAGER, Loading