Loading services/core/java/com/android/server/display/DisplayOffloadSessionImpl.java +0 −2 Original line number Original line Diff line number Diff line Loading @@ -20,7 +20,6 @@ import static com.android.server.display.AutomaticBrightnessController.AUTO_BRIG import android.annotation.Nullable; import android.annotation.Nullable; import android.hardware.display.DisplayManagerInternal; import android.hardware.display.DisplayManagerInternal; import android.os.PowerManager; import android.os.Trace; import android.os.Trace; /** /** Loading Loading @@ -110,7 +109,6 @@ public class DisplayOffloadSessionImpl implements DisplayManagerInternal.Display try { try { mDisplayOffloader.stopOffload(); mDisplayOffloader.stopOffload(); mIsActive = false; mIsActive = false; mDisplayPowerController.setBrightnessFromOffload(PowerManager.BRIGHTNESS_INVALID_FLOAT); } finally { } finally { Trace.traceEnd(Trace.TRACE_TAG_POWER); Trace.traceEnd(Trace.TRACE_TAG_POWER); } } Loading services/core/java/com/android/server/display/DisplayPowerController.java +12 −5 Original line number Original line Diff line number Diff line Loading @@ -375,7 +375,8 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call // information. // information. // At the time of this writing, this value is changed within updatePowerState() only, which is // At the time of this writing, this value is changed within updatePowerState() only, which is // limited to the thread used by DisplayControllerHandler. // limited to the thread used by DisplayControllerHandler. private final BrightnessReason mBrightnessReason = new BrightnessReason(); @VisibleForTesting final BrightnessReason mBrightnessReason = new BrightnessReason(); private final BrightnessReason mBrightnessReasonTemp = new BrightnessReason(); private final BrightnessReason mBrightnessReasonTemp = new BrightnessReason(); // Brightness animation ramp rates in brightness units per second // Brightness animation ramp rates in brightness units per second Loading Loading @@ -1434,7 +1435,9 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call float currentBrightnessSetting = mDisplayBrightnessController.getCurrentBrightness(); float currentBrightnessSetting = mDisplayBrightnessController.getCurrentBrightness(); // Apply auto-brightness. // Apply auto-brightness. int brightnessAdjustmentFlags = 0; int brightnessAdjustmentFlags = 0; if (Float.isNaN(brightnessState)) { // AutomaticBrightnessStrategy has higher priority than OffloadBrightnessStrategy if (Float.isNaN(brightnessState) || mBrightnessReasonTemp.getReason() == BrightnessReason.REASON_OFFLOAD) { if (mAutomaticBrightnessStrategy.isAutoBrightnessEnabled()) { if (mAutomaticBrightnessStrategy.isAutoBrightnessEnabled()) { brightnessState = mAutomaticBrightnessStrategy.getAutomaticScreenBrightness( brightnessState = mAutomaticBrightnessStrategy.getAutomaticScreenBrightness( mTempBrightnessEvent); mTempBrightnessEvent); Loading @@ -1455,8 +1458,11 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call if (mScreenOffBrightnessSensorController != null) { if (mScreenOffBrightnessSensorController != null) { mScreenOffBrightnessSensorController.setLightSensorEnabled(false); mScreenOffBrightnessSensorController.setLightSensorEnabled(false); } } setBrightnessFromOffload(PowerManager.BRIGHTNESS_INVALID_FLOAT); } else { } else { mAutomaticBrightnessStrategy.setAutoBrightnessApplied(false); mAutomaticBrightnessStrategy.setAutoBrightnessApplied(false); // Restore the lower-priority brightness strategy brightnessState = displayBrightnessState.getBrightness(); } } } } } else { } else { Loading Loading @@ -3020,9 +3026,10 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call setDwbcLoggingEnabled(msg.arg1); setDwbcLoggingEnabled(msg.arg1); break; break; case MSG_SET_BRIGHTNESS_FROM_OFFLOAD: case MSG_SET_BRIGHTNESS_FROM_OFFLOAD: mDisplayBrightnessController.setBrightnessFromOffload( if (mDisplayBrightnessController.setBrightnessFromOffload( Float.intBitsToFloat(msg.arg1)); Float.intBitsToFloat(msg.arg1))) { updatePowerState(); updatePowerState(); } break; break; } } } } Loading services/core/java/com/android/server/display/brightness/DisplayBrightnessController.java +8 −2 Original line number Original line Diff line number Diff line Loading @@ -26,6 +26,7 @@ import android.view.Display; import com.android.internal.annotations.GuardedBy; import com.android.internal.annotations.GuardedBy; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.display.BrightnessSynchronizer; import com.android.server.display.AutomaticBrightnessController; import com.android.server.display.AutomaticBrightnessController; import com.android.server.display.BrightnessMappingStrategy; import com.android.server.display.BrightnessMappingStrategy; import com.android.server.display.BrightnessSetting; import com.android.server.display.BrightnessSetting; Loading Loading @@ -175,14 +176,19 @@ public final class DisplayBrightnessController { /** /** * Sets the brightness from the offload session. * Sets the brightness from the offload session. * @return Whether the offload brightness has changed */ */ public void setBrightnessFromOffload(float brightness) { public boolean setBrightnessFromOffload(float brightness) { synchronized (mLock) { synchronized (mLock) { if (mDisplayBrightnessStrategySelector.getOffloadBrightnessStrategy() != null) { if (mDisplayBrightnessStrategySelector.getOffloadBrightnessStrategy() != null && !BrightnessSynchronizer.floatEquals(mDisplayBrightnessStrategySelector .getOffloadBrightnessStrategy().getOffloadScreenBrightness(), brightness)) { mDisplayBrightnessStrategySelector.getOffloadBrightnessStrategy() mDisplayBrightnessStrategySelector.getOffloadBrightnessStrategy() .setOffloadScreenBrightness(brightness); .setOffloadScreenBrightness(brightness); return true; } } } } return false; } } /** /** Loading services/core/java/com/android/server/display/brightness/DisplayBrightnessStrategySelector.java +2 −1 Original line number Original line Diff line number Diff line Loading @@ -133,7 +133,8 @@ public class DisplayBrightnessStrategySelector { } else if (BrightnessUtils.isValidBrightnessValue( } else if (BrightnessUtils.isValidBrightnessValue( mTemporaryBrightnessStrategy.getTemporaryScreenBrightness())) { mTemporaryBrightnessStrategy.getTemporaryScreenBrightness())) { displayBrightnessStrategy = mTemporaryBrightnessStrategy; displayBrightnessStrategy = mTemporaryBrightnessStrategy; } else if (mOffloadBrightnessStrategy != null && BrightnessUtils.isValidBrightnessValue( } else if (mAutomaticBrightnessStrategy.shouldUseAutoBrightness() && mOffloadBrightnessStrategy != null && BrightnessUtils.isValidBrightnessValue( mOffloadBrightnessStrategy.getOffloadScreenBrightness())) { mOffloadBrightnessStrategy.getOffloadScreenBrightness())) { displayBrightnessStrategy = mOffloadBrightnessStrategy; displayBrightnessStrategy = mOffloadBrightnessStrategy; } } Loading services/core/java/com/android/server/display/brightness/strategy/AutomaticBrightnessStrategy.java +0 −1 Original line number Original line Diff line number Diff line Loading @@ -108,7 +108,6 @@ public class AutomaticBrightnessStrategy { mIsAutoBrightnessEnabled = shouldUseAutoBrightness() mIsAutoBrightnessEnabled = shouldUseAutoBrightness() && (targetDisplayState == Display.STATE_ON || autoBrightnessEnabledInDoze) && (targetDisplayState == Display.STATE_ON || autoBrightnessEnabledInDoze) && brightnessReason != BrightnessReason.REASON_OVERRIDE && brightnessReason != BrightnessReason.REASON_OVERRIDE && brightnessReason != BrightnessReason.REASON_OFFLOAD && mAutomaticBrightnessController != null; && mAutomaticBrightnessController != null; mAutoBrightnessDisabledDueToDisplayOff = shouldUseAutoBrightness() mAutoBrightnessDisabledDueToDisplayOff = shouldUseAutoBrightness() && !(targetDisplayState == Display.STATE_ON || autoBrightnessEnabledInDoze); && !(targetDisplayState == Display.STATE_ON || autoBrightnessEnabledInDoze); Loading Loading
services/core/java/com/android/server/display/DisplayOffloadSessionImpl.java +0 −2 Original line number Original line Diff line number Diff line Loading @@ -20,7 +20,6 @@ import static com.android.server.display.AutomaticBrightnessController.AUTO_BRIG import android.annotation.Nullable; import android.annotation.Nullable; import android.hardware.display.DisplayManagerInternal; import android.hardware.display.DisplayManagerInternal; import android.os.PowerManager; import android.os.Trace; import android.os.Trace; /** /** Loading Loading @@ -110,7 +109,6 @@ public class DisplayOffloadSessionImpl implements DisplayManagerInternal.Display try { try { mDisplayOffloader.stopOffload(); mDisplayOffloader.stopOffload(); mIsActive = false; mIsActive = false; mDisplayPowerController.setBrightnessFromOffload(PowerManager.BRIGHTNESS_INVALID_FLOAT); } finally { } finally { Trace.traceEnd(Trace.TRACE_TAG_POWER); Trace.traceEnd(Trace.TRACE_TAG_POWER); } } Loading
services/core/java/com/android/server/display/DisplayPowerController.java +12 −5 Original line number Original line Diff line number Diff line Loading @@ -375,7 +375,8 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call // information. // information. // At the time of this writing, this value is changed within updatePowerState() only, which is // At the time of this writing, this value is changed within updatePowerState() only, which is // limited to the thread used by DisplayControllerHandler. // limited to the thread used by DisplayControllerHandler. private final BrightnessReason mBrightnessReason = new BrightnessReason(); @VisibleForTesting final BrightnessReason mBrightnessReason = new BrightnessReason(); private final BrightnessReason mBrightnessReasonTemp = new BrightnessReason(); private final BrightnessReason mBrightnessReasonTemp = new BrightnessReason(); // Brightness animation ramp rates in brightness units per second // Brightness animation ramp rates in brightness units per second Loading Loading @@ -1434,7 +1435,9 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call float currentBrightnessSetting = mDisplayBrightnessController.getCurrentBrightness(); float currentBrightnessSetting = mDisplayBrightnessController.getCurrentBrightness(); // Apply auto-brightness. // Apply auto-brightness. int brightnessAdjustmentFlags = 0; int brightnessAdjustmentFlags = 0; if (Float.isNaN(brightnessState)) { // AutomaticBrightnessStrategy has higher priority than OffloadBrightnessStrategy if (Float.isNaN(brightnessState) || mBrightnessReasonTemp.getReason() == BrightnessReason.REASON_OFFLOAD) { if (mAutomaticBrightnessStrategy.isAutoBrightnessEnabled()) { if (mAutomaticBrightnessStrategy.isAutoBrightnessEnabled()) { brightnessState = mAutomaticBrightnessStrategy.getAutomaticScreenBrightness( brightnessState = mAutomaticBrightnessStrategy.getAutomaticScreenBrightness( mTempBrightnessEvent); mTempBrightnessEvent); Loading @@ -1455,8 +1458,11 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call if (mScreenOffBrightnessSensorController != null) { if (mScreenOffBrightnessSensorController != null) { mScreenOffBrightnessSensorController.setLightSensorEnabled(false); mScreenOffBrightnessSensorController.setLightSensorEnabled(false); } } setBrightnessFromOffload(PowerManager.BRIGHTNESS_INVALID_FLOAT); } else { } else { mAutomaticBrightnessStrategy.setAutoBrightnessApplied(false); mAutomaticBrightnessStrategy.setAutoBrightnessApplied(false); // Restore the lower-priority brightness strategy brightnessState = displayBrightnessState.getBrightness(); } } } } } else { } else { Loading Loading @@ -3020,9 +3026,10 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call setDwbcLoggingEnabled(msg.arg1); setDwbcLoggingEnabled(msg.arg1); break; break; case MSG_SET_BRIGHTNESS_FROM_OFFLOAD: case MSG_SET_BRIGHTNESS_FROM_OFFLOAD: mDisplayBrightnessController.setBrightnessFromOffload( if (mDisplayBrightnessController.setBrightnessFromOffload( Float.intBitsToFloat(msg.arg1)); Float.intBitsToFloat(msg.arg1))) { updatePowerState(); updatePowerState(); } break; break; } } } } Loading
services/core/java/com/android/server/display/brightness/DisplayBrightnessController.java +8 −2 Original line number Original line Diff line number Diff line Loading @@ -26,6 +26,7 @@ import android.view.Display; import com.android.internal.annotations.GuardedBy; import com.android.internal.annotations.GuardedBy; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.display.BrightnessSynchronizer; import com.android.server.display.AutomaticBrightnessController; import com.android.server.display.AutomaticBrightnessController; import com.android.server.display.BrightnessMappingStrategy; import com.android.server.display.BrightnessMappingStrategy; import com.android.server.display.BrightnessSetting; import com.android.server.display.BrightnessSetting; Loading Loading @@ -175,14 +176,19 @@ public final class DisplayBrightnessController { /** /** * Sets the brightness from the offload session. * Sets the brightness from the offload session. * @return Whether the offload brightness has changed */ */ public void setBrightnessFromOffload(float brightness) { public boolean setBrightnessFromOffload(float brightness) { synchronized (mLock) { synchronized (mLock) { if (mDisplayBrightnessStrategySelector.getOffloadBrightnessStrategy() != null) { if (mDisplayBrightnessStrategySelector.getOffloadBrightnessStrategy() != null && !BrightnessSynchronizer.floatEquals(mDisplayBrightnessStrategySelector .getOffloadBrightnessStrategy().getOffloadScreenBrightness(), brightness)) { mDisplayBrightnessStrategySelector.getOffloadBrightnessStrategy() mDisplayBrightnessStrategySelector.getOffloadBrightnessStrategy() .setOffloadScreenBrightness(brightness); .setOffloadScreenBrightness(brightness); return true; } } } } return false; } } /** /** Loading
services/core/java/com/android/server/display/brightness/DisplayBrightnessStrategySelector.java +2 −1 Original line number Original line Diff line number Diff line Loading @@ -133,7 +133,8 @@ public class DisplayBrightnessStrategySelector { } else if (BrightnessUtils.isValidBrightnessValue( } else if (BrightnessUtils.isValidBrightnessValue( mTemporaryBrightnessStrategy.getTemporaryScreenBrightness())) { mTemporaryBrightnessStrategy.getTemporaryScreenBrightness())) { displayBrightnessStrategy = mTemporaryBrightnessStrategy; displayBrightnessStrategy = mTemporaryBrightnessStrategy; } else if (mOffloadBrightnessStrategy != null && BrightnessUtils.isValidBrightnessValue( } else if (mAutomaticBrightnessStrategy.shouldUseAutoBrightness() && mOffloadBrightnessStrategy != null && BrightnessUtils.isValidBrightnessValue( mOffloadBrightnessStrategy.getOffloadScreenBrightness())) { mOffloadBrightnessStrategy.getOffloadScreenBrightness())) { displayBrightnessStrategy = mOffloadBrightnessStrategy; displayBrightnessStrategy = mOffloadBrightnessStrategy; } } Loading
services/core/java/com/android/server/display/brightness/strategy/AutomaticBrightnessStrategy.java +0 −1 Original line number Original line Diff line number Diff line Loading @@ -108,7 +108,6 @@ public class AutomaticBrightnessStrategy { mIsAutoBrightnessEnabled = shouldUseAutoBrightness() mIsAutoBrightnessEnabled = shouldUseAutoBrightness() && (targetDisplayState == Display.STATE_ON || autoBrightnessEnabledInDoze) && (targetDisplayState == Display.STATE_ON || autoBrightnessEnabledInDoze) && brightnessReason != BrightnessReason.REASON_OVERRIDE && brightnessReason != BrightnessReason.REASON_OVERRIDE && brightnessReason != BrightnessReason.REASON_OFFLOAD && mAutomaticBrightnessController != null; && mAutomaticBrightnessController != null; mAutoBrightnessDisabledDueToDisplayOff = shouldUseAutoBrightness() mAutoBrightnessDisabledDueToDisplayOff = shouldUseAutoBrightness() && !(targetDisplayState == Display.STATE_ON || autoBrightnessEnabledInDoze); && !(targetDisplayState == Display.STATE_ON || autoBrightnessEnabledInDoze); Loading