diff --git a/core/java/android/hardware/display/BrightnessChangeEvent.java b/core/java/android/hardware/display/BrightnessChangeEvent.java index 3003607e5f725..0a08353cbe4ca 100644 --- a/core/java/android/hardware/display/BrightnessChangeEvent.java +++ b/core/java/android/hardware/display/BrightnessChangeEvent.java @@ -28,7 +28,7 @@ import android.os.Parcelable; */ public final class BrightnessChangeEvent implements Parcelable { /** Brightness in nits */ - public int brightness; + public float brightness; /** Timestamp of the change {@see System.currentTimeMillis()} */ public long timeStamp; @@ -58,7 +58,7 @@ public final class BrightnessChangeEvent implements Parcelable { public int colorTemperature; /** Brightness level before slider adjustment */ - public int lastBrightness; + public float lastBrightness; public BrightnessChangeEvent() { } @@ -78,7 +78,7 @@ public final class BrightnessChangeEvent implements Parcelable { } private BrightnessChangeEvent(Parcel source) { - brightness = source.readInt(); + brightness = source.readFloat(); timeStamp = source.readLong(); packageName = source.readString(); userId = source.readInt(); @@ -87,7 +87,7 @@ public final class BrightnessChangeEvent implements Parcelable { batteryLevel = source.readFloat(); nightMode = source.readBoolean(); colorTemperature = source.readInt(); - lastBrightness = source.readInt(); + lastBrightness = source.readFloat(); } public static final Creator CREATOR = @@ -107,7 +107,7 @@ public final class BrightnessChangeEvent implements Parcelable { @Override public void writeToParcel(Parcel dest, int flags) { - dest.writeInt(brightness); + dest.writeFloat(brightness); dest.writeLong(timeStamp); dest.writeString(packageName); dest.writeInt(userId); @@ -116,6 +116,6 @@ public final class BrightnessChangeEvent implements Parcelable { dest.writeFloat(batteryLevel); dest.writeBoolean(nightMode); dest.writeInt(colorTemperature); - dest.writeInt(lastBrightness); + dest.writeFloat(lastBrightness); } } diff --git a/core/java/android/hardware/display/DisplayManager.java b/core/java/android/hardware/display/DisplayManager.java index 7de667dcaa2b5..97e9b9c2e2f46 100644 --- a/core/java/android/hardware/display/DisplayManager.java +++ b/core/java/android/hardware/display/DisplayManager.java @@ -627,13 +627,6 @@ public final class DisplayManager { return mGlobal.getBrightnessEvents(mContext.getOpPackageName()); } - /** - * @hide STOPSHIP - remove when adaptive brightness accepts curves. - */ - public void setBrightness(int brightness) { - mGlobal.setBrightness(brightness); - } - /** * Sets the global display brightness configuration. * diff --git a/core/java/android/hardware/display/DisplayManagerGlobal.java b/core/java/android/hardware/display/DisplayManagerGlobal.java index bf4cc1d826a93..cbb5a7de7db8d 100644 --- a/core/java/android/hardware/display/DisplayManagerGlobal.java +++ b/core/java/android/hardware/display/DisplayManagerGlobal.java @@ -475,18 +475,6 @@ public final class DisplayManagerGlobal { } } - /** - * Set brightness but don't add a BrightnessChangeEvent - * STOPSHIP remove when adaptive brightness accepts curves. - */ - public void setBrightness(int brightness) { - try { - mDm.setBrightness(brightness); - } catch (RemoteException ex) { - throw ex.rethrowFromSystemServer(); - } - } - /** * Sets the global brightness configuration for a given user. * diff --git a/core/java/android/hardware/display/DisplayManagerInternal.java b/core/java/android/hardware/display/DisplayManagerInternal.java index cd551bd42e0fc..3f6dd2e757edb 100644 --- a/core/java/android/hardware/display/DisplayManagerInternal.java +++ b/core/java/android/hardware/display/DisplayManagerInternal.java @@ -222,6 +222,11 @@ public abstract class DisplayManagerInternal { // set by the user as opposed to being programmatically controlled by apps. public boolean brightnessSetByUser; + // Set to true if screenBrightness or screenAutoBrightnessAdjustment are being set + // temporarily. This is typically set while the user has their finger on the brightness + // control, before they've selected the final brightness value. + public boolean brightnessIsTemporary; + // If true, enables automatic brightness control. public boolean useAutoBrightness; @@ -280,6 +285,7 @@ public abstract class DisplayManagerInternal { screenAutoBrightnessAdjustment = other.screenAutoBrightnessAdjustment; screenLowPowerBrightnessFactor = other.screenLowPowerBrightnessFactor; brightnessSetByUser = other.brightnessSetByUser; + brightnessIsTemporary = other.brightnessIsTemporary; useAutoBrightness = other.useAutoBrightness; blockScreenOn = other.blockScreenOn; lowPowerMode = other.lowPowerMode; @@ -303,6 +309,7 @@ public abstract class DisplayManagerInternal { && screenLowPowerBrightnessFactor == other.screenLowPowerBrightnessFactor && brightnessSetByUser == other.brightnessSetByUser + && brightnessIsTemporary == other.brightnessIsTemporary && useAutoBrightness == other.useAutoBrightness && blockScreenOn == other.blockScreenOn && lowPowerMode == other.lowPowerMode @@ -324,6 +331,7 @@ public abstract class DisplayManagerInternal { + ", screenAutoBrightnessAdjustment=" + screenAutoBrightnessAdjustment + ", screenLowPowerBrightnessFactor=" + screenLowPowerBrightnessFactor + ", brightnessSetByUser=" + brightnessSetByUser + + ", brightnessIsTemporary=" + brightnessIsTemporary + ", useAutoBrightness=" + useAutoBrightness + ", blockScreenOn=" + blockScreenOn + ", lowPowerMode=" + lowPowerMode diff --git a/core/java/android/hardware/display/IDisplayManager.aidl b/core/java/android/hardware/display/IDisplayManager.aidl index 8afae6ec90101..61c42e1ab491a 100644 --- a/core/java/android/hardware/display/IDisplayManager.aidl +++ b/core/java/android/hardware/display/IDisplayManager.aidl @@ -87,10 +87,6 @@ interface IDisplayManager { // Requires BRIGHTNESS_SLIDER_USAGE permission. ParceledListSlice getBrightnessEvents(String callingPackage); - // STOPSHIP remove when adaptive brightness code is updated to accept curves. - // Requires BRIGHTNESS_SLIDER_USAGE permission. - void setBrightness(int brightness); - // Sets the global brightness configuration for a given user. Requires // CONFIGURE_DISPLAY_BRIGHTNESS, and INTERACT_ACROSS_USER if the user being configured is not // the same as the calling user. diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index dc791cf68b6b3..fd05bb442247e 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -1302,8 +1302,8 @@ If this is defined then: - config_autoBrightnessLcdBacklightValues should not be defined - - config_screenBrightnessMinimumNits must be defined - - config_screenBrightnessMaximumNits must be defined + - config_screenBrightnessNits must be defined + - config_screenBrightnessBacklight must be defined This array should have size one greater than the size of the config_autoBrightnessLevels array. The brightness values must be non-negative and non-decreasing. This must be @@ -1347,28 +1347,23 @@ 200 - - -1.0 + This array should be equal in size to config_screenBrightnessBacklight. --> + + - + + - If this and config_screenBrightnessMinimumNits are set to something non-negative, then the - display's brightness range is assumed to be linear between - (config_screenBrightnessSettingMinimum, config_screenBrightnessMaximumNits) and - (config_screenBrightnessSettingMaximum, config_screenBrightnessMaximumNits). --> - -1.0