Loading core/java/com/android/internal/BrightnessSynchronizer.java +18 −52 Original line number Diff line number Diff line Loading @@ -83,63 +83,25 @@ public class BrightnessSynchronizer{ /** * Converts between the int brightness system and the float brightness system. */ public static float brightnessIntToFloat(Context context, int brightnessInt) { final PowerManager pm = context.getSystemService(PowerManager.class); final float pmMinBrightness = pm.getBrightnessConstraint( PowerManager.BRIGHTNESS_CONSTRAINT_TYPE_MINIMUM); final float pmMaxBrightness = pm.getBrightnessConstraint( PowerManager.BRIGHTNESS_CONSTRAINT_TYPE_MAXIMUM); final int minBrightnessInt = Math.round(brightnessFloatToIntRange(pmMinBrightness, PowerManager.BRIGHTNESS_MIN, PowerManager.BRIGHTNESS_MAX, PowerManager.BRIGHTNESS_OFF + 1, PowerManager.BRIGHTNESS_ON)); final int maxBrightnessInt = Math.round(brightnessFloatToIntRange(pmMaxBrightness, PowerManager.BRIGHTNESS_MIN, PowerManager.BRIGHTNESS_MAX, PowerManager.BRIGHTNESS_OFF + 1, PowerManager.BRIGHTNESS_ON)); return brightnessIntToFloat(brightnessInt, minBrightnessInt, maxBrightnessInt, pmMinBrightness, pmMaxBrightness); } /** * Converts between the int brightness system and the float brightness system. */ public static float brightnessIntToFloat(int brightnessInt, int minInt, int maxInt, float minFloat, float maxFloat) { public static float brightnessIntToFloat(int brightnessInt) { if (brightnessInt == PowerManager.BRIGHTNESS_OFF) { return PowerManager.BRIGHTNESS_OFF_FLOAT; } else if (brightnessInt == PowerManager.BRIGHTNESS_INVALID) { return PowerManager.BRIGHTNESS_INVALID_FLOAT; } else { return MathUtils.constrainedMap(minFloat, maxFloat, (float) minInt, (float) maxInt, brightnessInt); final float minFloat = PowerManager.BRIGHTNESS_MIN; final float maxFloat = PowerManager.BRIGHTNESS_MAX; final float minInt = PowerManager.BRIGHTNESS_OFF + 1; final float maxInt = PowerManager.BRIGHTNESS_ON; return MathUtils.constrainedMap(minFloat, maxFloat, minInt, maxInt, brightnessInt); } } /** * Converts between the float brightness system and the int brightness system. */ public static int brightnessFloatToInt(Context context, float brightnessFloat) { return Math.round(brightnessFloatToIntRange(context, brightnessFloat)); } /** * Converts between the float brightness system and the int brightness system, but returns * the converted value as a float within the int-system's range. This method helps with * conversions from one system to the other without losing the floating-point precision. */ public static float brightnessFloatToIntRange(Context context, float brightnessFloat) { final PowerManager pm = context.getSystemService(PowerManager.class); final float minFloat = pm.getBrightnessConstraint( PowerManager.BRIGHTNESS_CONSTRAINT_TYPE_MINIMUM); final float maxFloat = pm.getBrightnessConstraint( PowerManager.BRIGHTNESS_CONSTRAINT_TYPE_MAXIMUM); final float minInt = brightnessFloatToIntRange(minFloat, PowerManager.BRIGHTNESS_MIN, PowerManager.BRIGHTNESS_MAX, PowerManager.BRIGHTNESS_OFF + 1, PowerManager.BRIGHTNESS_ON); final float maxInt = brightnessFloatToIntRange(maxFloat, PowerManager.BRIGHTNESS_MIN, PowerManager.BRIGHTNESS_MAX, PowerManager.BRIGHTNESS_OFF + 1, PowerManager.BRIGHTNESS_ON); return brightnessFloatToIntRange(brightnessFloat, minFloat, maxFloat, minInt, maxInt); public static int brightnessFloatToInt(float brightnessFloat) { return Math.round(brightnessFloatToIntRange(brightnessFloat)); } /** Loading @@ -148,20 +110,24 @@ public class BrightnessSynchronizer{ * Value returned as a float privimite (to preserve precision), but is a value within the * int-system range. */ private static float brightnessFloatToIntRange(float brightnessFloat, float minFloat, float maxFloat, float minInt, float maxInt) { public static float brightnessFloatToIntRange(float brightnessFloat) { if (floatEquals(brightnessFloat, PowerManager.BRIGHTNESS_OFF_FLOAT)) { return PowerManager.BRIGHTNESS_OFF; } else if (Float.isNaN(brightnessFloat)) { return PowerManager.BRIGHTNESS_INVALID; } else { final float minFloat = PowerManager.BRIGHTNESS_MIN; final float maxFloat = PowerManager.BRIGHTNESS_MAX; final float minInt = PowerManager.BRIGHTNESS_OFF + 1; final float maxInt = PowerManager.BRIGHTNESS_ON; return MathUtils.constrainedMap(minInt, maxInt, minFloat, maxFloat, brightnessFloat); } } private static float getScreenBrightnessFloat(Context context) { return Settings.System.getFloatForUser(context.getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_FLOAT, Float.NaN, UserHandle.USER_CURRENT); Settings.System.SCREEN_BRIGHTNESS_FLOAT, PowerManager.BRIGHTNESS_INVALID_FLOAT, UserHandle.USER_CURRENT); } private static int getScreenBrightnessInt(Context context) { Loading @@ -185,10 +151,10 @@ public class BrightnessSynchronizer{ if (topOfQueue != null && topOfQueue.equals(value)) { mWriteHistory.poll(); } else { if (brightnessFloatToInt(mContext, mPreferredSettingValue) == value) { if (brightnessFloatToInt(mPreferredSettingValue) == value) { return; } float newBrightnessFloat = brightnessIntToFloat(mContext, value); float newBrightnessFloat = brightnessIntToFloat(value); mWriteHistory.offer(newBrightnessFloat); mPreferredSettingValue = newBrightnessFloat; Settings.System.putFloatForUser(mContext.getContentResolver(), Loading @@ -207,7 +173,7 @@ public class BrightnessSynchronizer{ * @param value Brightness setting as float to store in int setting. */ private void updateBrightnessIntFromFloat(float value) { int newBrightnessInt = brightnessFloatToInt(mContext, value); int newBrightnessInt = brightnessFloatToInt(value); Object topOfQueue = mWriteHistory.peek(); if (topOfQueue != null && topOfQueue.equals(value)) { mWriteHistory.poll(); Loading packages/SystemUI/src/com/android/systemui/settings/BrightnessController.java +1 −1 Original line number Diff line number Diff line Loading @@ -385,7 +385,7 @@ public class BrightnessController implements ToggleSlider.Listener { if (stopTracking) { // TODO(brightnessfloat): change to use float value instead. MetricsLogger.action(mContext, metric, BrightnessSynchronizer.brightnessFloatToInt(mContext, valFloat)); BrightnessSynchronizer.brightnessFloatToInt(valFloat)); } setBrightness(valFloat); Loading services/core/java/com/android/server/display/BrightnessMappingStrategy.java +1 −3 Original line number Diff line number Diff line Loading @@ -349,9 +349,7 @@ public abstract class BrightnessMappingStrategy { // Normalize entire brightness range to 0 - 1. protected static float normalizeAbsoluteBrightness(int brightness) { return BrightnessSynchronizer.brightnessIntToFloat(brightness, PowerManager.BRIGHTNESS_OFF + 1, PowerManager.BRIGHTNESS_ON, PowerManager.BRIGHTNESS_MIN, PowerManager.BRIGHTNESS_MAX); return BrightnessSynchronizer.brightnessIntToFloat(brightness); } private Pair<float[], float[]> insertControlPoint( Loading services/core/java/com/android/server/display/DisplayPowerController.java +4 −5 Original line number Diff line number Diff line Loading @@ -705,13 +705,13 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call // Initialize screen state for battery stats. try { mBatteryStats.noteScreenState(mPowerState.getScreenState()); mBatteryStats.noteScreenBrightness(BrightnessSynchronizer.brightnessFloatToInt(mContext, mBatteryStats.noteScreenBrightness(BrightnessSynchronizer.brightnessFloatToInt( mPowerState.getScreenBrightness())); } catch (RemoteException ex) { // same process } // Initialize all of the brightness tracking state final float brightness = convertToNits(BrightnessSynchronizer.brightnessFloatToInt(mContext, final float brightness = convertToNits(BrightnessSynchronizer.brightnessFloatToInt( mPowerState.getScreenBrightness())); if (brightness >= 0.0f) { mBrightnessTracker.start(brightness); Loading Loading @@ -1114,7 +1114,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call userInitiatedChange = false; } notifyBrightnessChanged( BrightnessSynchronizer.brightnessFloatToInt(mContext, brightnessState), BrightnessSynchronizer.brightnessFloatToInt(brightnessState), userInitiatedChange, hadUserBrightnessPoint); } Loading Loading @@ -1370,8 +1370,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call try { // TODO(brightnessfloat): change BatteryStats to use float mBatteryStats.noteScreenBrightness( BrightnessSynchronizer.brightnessFloatToInt( mContext, target)); BrightnessSynchronizer.brightnessFloatToInt(target)); } catch (RemoteException ex) { // same process } Loading services/core/java/com/android/server/display/LocalDisplayAdapter.java +2 −4 Original line number Diff line number Diff line Loading @@ -728,16 +728,14 @@ final class LocalDisplayAdapter extends DisplayAdapter { try { if (isHalBrightnessRangeSpecified()) { brightness = displayBrightnessToHalBrightness( BrightnessSynchronizer.brightnessFloatToIntRange( getContext(), brightness)); BrightnessSynchronizer.brightnessFloatToIntRange(brightness)); } if (mBacklight != null) { mBacklight.setBrightness(brightness); } Trace.traceCounter(Trace.TRACE_TAG_POWER, "ScreenBrightness", BrightnessSynchronizer.brightnessFloatToInt( getContext(), brightness)); BrightnessSynchronizer.brightnessFloatToInt(brightness)); } finally { Trace.traceEnd(Trace.TRACE_TAG_POWER); } Loading Loading
core/java/com/android/internal/BrightnessSynchronizer.java +18 −52 Original line number Diff line number Diff line Loading @@ -83,63 +83,25 @@ public class BrightnessSynchronizer{ /** * Converts between the int brightness system and the float brightness system. */ public static float brightnessIntToFloat(Context context, int brightnessInt) { final PowerManager pm = context.getSystemService(PowerManager.class); final float pmMinBrightness = pm.getBrightnessConstraint( PowerManager.BRIGHTNESS_CONSTRAINT_TYPE_MINIMUM); final float pmMaxBrightness = pm.getBrightnessConstraint( PowerManager.BRIGHTNESS_CONSTRAINT_TYPE_MAXIMUM); final int minBrightnessInt = Math.round(brightnessFloatToIntRange(pmMinBrightness, PowerManager.BRIGHTNESS_MIN, PowerManager.BRIGHTNESS_MAX, PowerManager.BRIGHTNESS_OFF + 1, PowerManager.BRIGHTNESS_ON)); final int maxBrightnessInt = Math.round(brightnessFloatToIntRange(pmMaxBrightness, PowerManager.BRIGHTNESS_MIN, PowerManager.BRIGHTNESS_MAX, PowerManager.BRIGHTNESS_OFF + 1, PowerManager.BRIGHTNESS_ON)); return brightnessIntToFloat(brightnessInt, minBrightnessInt, maxBrightnessInt, pmMinBrightness, pmMaxBrightness); } /** * Converts between the int brightness system and the float brightness system. */ public static float brightnessIntToFloat(int brightnessInt, int minInt, int maxInt, float minFloat, float maxFloat) { public static float brightnessIntToFloat(int brightnessInt) { if (brightnessInt == PowerManager.BRIGHTNESS_OFF) { return PowerManager.BRIGHTNESS_OFF_FLOAT; } else if (brightnessInt == PowerManager.BRIGHTNESS_INVALID) { return PowerManager.BRIGHTNESS_INVALID_FLOAT; } else { return MathUtils.constrainedMap(minFloat, maxFloat, (float) minInt, (float) maxInt, brightnessInt); final float minFloat = PowerManager.BRIGHTNESS_MIN; final float maxFloat = PowerManager.BRIGHTNESS_MAX; final float minInt = PowerManager.BRIGHTNESS_OFF + 1; final float maxInt = PowerManager.BRIGHTNESS_ON; return MathUtils.constrainedMap(minFloat, maxFloat, minInt, maxInt, brightnessInt); } } /** * Converts between the float brightness system and the int brightness system. */ public static int brightnessFloatToInt(Context context, float brightnessFloat) { return Math.round(brightnessFloatToIntRange(context, brightnessFloat)); } /** * Converts between the float brightness system and the int brightness system, but returns * the converted value as a float within the int-system's range. This method helps with * conversions from one system to the other without losing the floating-point precision. */ public static float brightnessFloatToIntRange(Context context, float brightnessFloat) { final PowerManager pm = context.getSystemService(PowerManager.class); final float minFloat = pm.getBrightnessConstraint( PowerManager.BRIGHTNESS_CONSTRAINT_TYPE_MINIMUM); final float maxFloat = pm.getBrightnessConstraint( PowerManager.BRIGHTNESS_CONSTRAINT_TYPE_MAXIMUM); final float minInt = brightnessFloatToIntRange(minFloat, PowerManager.BRIGHTNESS_MIN, PowerManager.BRIGHTNESS_MAX, PowerManager.BRIGHTNESS_OFF + 1, PowerManager.BRIGHTNESS_ON); final float maxInt = brightnessFloatToIntRange(maxFloat, PowerManager.BRIGHTNESS_MIN, PowerManager.BRIGHTNESS_MAX, PowerManager.BRIGHTNESS_OFF + 1, PowerManager.BRIGHTNESS_ON); return brightnessFloatToIntRange(brightnessFloat, minFloat, maxFloat, minInt, maxInt); public static int brightnessFloatToInt(float brightnessFloat) { return Math.round(brightnessFloatToIntRange(brightnessFloat)); } /** Loading @@ -148,20 +110,24 @@ public class BrightnessSynchronizer{ * Value returned as a float privimite (to preserve precision), but is a value within the * int-system range. */ private static float brightnessFloatToIntRange(float brightnessFloat, float minFloat, float maxFloat, float minInt, float maxInt) { public static float brightnessFloatToIntRange(float brightnessFloat) { if (floatEquals(brightnessFloat, PowerManager.BRIGHTNESS_OFF_FLOAT)) { return PowerManager.BRIGHTNESS_OFF; } else if (Float.isNaN(brightnessFloat)) { return PowerManager.BRIGHTNESS_INVALID; } else { final float minFloat = PowerManager.BRIGHTNESS_MIN; final float maxFloat = PowerManager.BRIGHTNESS_MAX; final float minInt = PowerManager.BRIGHTNESS_OFF + 1; final float maxInt = PowerManager.BRIGHTNESS_ON; return MathUtils.constrainedMap(minInt, maxInt, minFloat, maxFloat, brightnessFloat); } } private static float getScreenBrightnessFloat(Context context) { return Settings.System.getFloatForUser(context.getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_FLOAT, Float.NaN, UserHandle.USER_CURRENT); Settings.System.SCREEN_BRIGHTNESS_FLOAT, PowerManager.BRIGHTNESS_INVALID_FLOAT, UserHandle.USER_CURRENT); } private static int getScreenBrightnessInt(Context context) { Loading @@ -185,10 +151,10 @@ public class BrightnessSynchronizer{ if (topOfQueue != null && topOfQueue.equals(value)) { mWriteHistory.poll(); } else { if (brightnessFloatToInt(mContext, mPreferredSettingValue) == value) { if (brightnessFloatToInt(mPreferredSettingValue) == value) { return; } float newBrightnessFloat = brightnessIntToFloat(mContext, value); float newBrightnessFloat = brightnessIntToFloat(value); mWriteHistory.offer(newBrightnessFloat); mPreferredSettingValue = newBrightnessFloat; Settings.System.putFloatForUser(mContext.getContentResolver(), Loading @@ -207,7 +173,7 @@ public class BrightnessSynchronizer{ * @param value Brightness setting as float to store in int setting. */ private void updateBrightnessIntFromFloat(float value) { int newBrightnessInt = brightnessFloatToInt(mContext, value); int newBrightnessInt = brightnessFloatToInt(value); Object topOfQueue = mWriteHistory.peek(); if (topOfQueue != null && topOfQueue.equals(value)) { mWriteHistory.poll(); Loading
packages/SystemUI/src/com/android/systemui/settings/BrightnessController.java +1 −1 Original line number Diff line number Diff line Loading @@ -385,7 +385,7 @@ public class BrightnessController implements ToggleSlider.Listener { if (stopTracking) { // TODO(brightnessfloat): change to use float value instead. MetricsLogger.action(mContext, metric, BrightnessSynchronizer.brightnessFloatToInt(mContext, valFloat)); BrightnessSynchronizer.brightnessFloatToInt(valFloat)); } setBrightness(valFloat); Loading
services/core/java/com/android/server/display/BrightnessMappingStrategy.java +1 −3 Original line number Diff line number Diff line Loading @@ -349,9 +349,7 @@ public abstract class BrightnessMappingStrategy { // Normalize entire brightness range to 0 - 1. protected static float normalizeAbsoluteBrightness(int brightness) { return BrightnessSynchronizer.brightnessIntToFloat(brightness, PowerManager.BRIGHTNESS_OFF + 1, PowerManager.BRIGHTNESS_ON, PowerManager.BRIGHTNESS_MIN, PowerManager.BRIGHTNESS_MAX); return BrightnessSynchronizer.brightnessIntToFloat(brightness); } private Pair<float[], float[]> insertControlPoint( Loading
services/core/java/com/android/server/display/DisplayPowerController.java +4 −5 Original line number Diff line number Diff line Loading @@ -705,13 +705,13 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call // Initialize screen state for battery stats. try { mBatteryStats.noteScreenState(mPowerState.getScreenState()); mBatteryStats.noteScreenBrightness(BrightnessSynchronizer.brightnessFloatToInt(mContext, mBatteryStats.noteScreenBrightness(BrightnessSynchronizer.brightnessFloatToInt( mPowerState.getScreenBrightness())); } catch (RemoteException ex) { // same process } // Initialize all of the brightness tracking state final float brightness = convertToNits(BrightnessSynchronizer.brightnessFloatToInt(mContext, final float brightness = convertToNits(BrightnessSynchronizer.brightnessFloatToInt( mPowerState.getScreenBrightness())); if (brightness >= 0.0f) { mBrightnessTracker.start(brightness); Loading Loading @@ -1114,7 +1114,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call userInitiatedChange = false; } notifyBrightnessChanged( BrightnessSynchronizer.brightnessFloatToInt(mContext, brightnessState), BrightnessSynchronizer.brightnessFloatToInt(brightnessState), userInitiatedChange, hadUserBrightnessPoint); } Loading Loading @@ -1370,8 +1370,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call try { // TODO(brightnessfloat): change BatteryStats to use float mBatteryStats.noteScreenBrightness( BrightnessSynchronizer.brightnessFloatToInt( mContext, target)); BrightnessSynchronizer.brightnessFloatToInt(target)); } catch (RemoteException ex) { // same process } Loading
services/core/java/com/android/server/display/LocalDisplayAdapter.java +2 −4 Original line number Diff line number Diff line Loading @@ -728,16 +728,14 @@ final class LocalDisplayAdapter extends DisplayAdapter { try { if (isHalBrightnessRangeSpecified()) { brightness = displayBrightnessToHalBrightness( BrightnessSynchronizer.brightnessFloatToIntRange( getContext(), brightness)); BrightnessSynchronizer.brightnessFloatToIntRange(brightness)); } if (mBacklight != null) { mBacklight.setBrightness(brightness); } Trace.traceCounter(Trace.TRACE_TAG_POWER, "ScreenBrightness", BrightnessSynchronizer.brightnessFloatToInt( getContext(), brightness)); BrightnessSynchronizer.brightnessFloatToInt(brightness)); } finally { Trace.traceEnd(Trace.TRACE_TAG_POWER); } Loading