Merge "Clarify brightness correction API"
This commit is contained in:
committed by
Android (Google) Code Review
commit
1dd0cb9898
@@ -1899,7 +1899,7 @@ package android.hardware.display {
|
||||
public final class BrightnessConfiguration implements android.os.Parcelable {
|
||||
method public int describeContents();
|
||||
method @Nullable public android.hardware.display.BrightnessCorrection getCorrectionByCategory(int);
|
||||
method @Nullable public android.hardware.display.BrightnessCorrection getCorrectionByPackageName(String);
|
||||
method @Nullable public android.hardware.display.BrightnessCorrection getCorrectionByPackageName(@NonNull String);
|
||||
method public android.util.Pair<float[],float[]> getCurve();
|
||||
method public void writeToParcel(android.os.Parcel, int);
|
||||
field public static final android.os.Parcelable.Creator<android.hardware.display.BrightnessConfiguration> CREATOR;
|
||||
@@ -1907,8 +1907,8 @@ package android.hardware.display {
|
||||
|
||||
public static class BrightnessConfiguration.Builder {
|
||||
ctor public BrightnessConfiguration.Builder(float[], float[]);
|
||||
method public android.hardware.display.BrightnessConfiguration.Builder addCorrectionByCategory(int, android.hardware.display.BrightnessCorrection);
|
||||
method public android.hardware.display.BrightnessConfiguration.Builder addCorrectionByPackageName(String, android.hardware.display.BrightnessCorrection);
|
||||
method public android.hardware.display.BrightnessConfiguration.Builder addCorrectionByCategory(int, @NonNull android.hardware.display.BrightnessCorrection);
|
||||
method public android.hardware.display.BrightnessConfiguration.Builder addCorrectionByPackageName(@NonNull String, @NonNull android.hardware.display.BrightnessCorrection);
|
||||
method public android.hardware.display.BrightnessConfiguration build();
|
||||
method public int getMaxCorrectionsByCategory();
|
||||
method public int getMaxCorrectionsByPackageName();
|
||||
@@ -1916,7 +1916,7 @@ package android.hardware.display {
|
||||
}
|
||||
|
||||
public final class BrightnessCorrection implements android.os.Parcelable {
|
||||
method public float apply(float);
|
||||
method @FloatRange(from=0.0) public float apply(@FloatRange(from=0.0) float);
|
||||
method @NonNull public static android.hardware.display.BrightnessCorrection createScaleAndTranslateLog(float, float);
|
||||
method public int describeContents();
|
||||
method public void writeToParcel(android.os.Parcel, int);
|
||||
|
||||
@@ -765,7 +765,7 @@ package android.hardware.display {
|
||||
public final class BrightnessConfiguration implements android.os.Parcelable {
|
||||
method public int describeContents();
|
||||
method @Nullable public android.hardware.display.BrightnessCorrection getCorrectionByCategory(int);
|
||||
method @Nullable public android.hardware.display.BrightnessCorrection getCorrectionByPackageName(String);
|
||||
method @Nullable public android.hardware.display.BrightnessCorrection getCorrectionByPackageName(@NonNull String);
|
||||
method public android.util.Pair<float[],float[]> getCurve();
|
||||
method public void writeToParcel(android.os.Parcel, int);
|
||||
field public static final android.os.Parcelable.Creator<android.hardware.display.BrightnessConfiguration> CREATOR;
|
||||
@@ -773,8 +773,8 @@ package android.hardware.display {
|
||||
|
||||
public static class BrightnessConfiguration.Builder {
|
||||
ctor public BrightnessConfiguration.Builder(float[], float[]);
|
||||
method public android.hardware.display.BrightnessConfiguration.Builder addCorrectionByCategory(int, android.hardware.display.BrightnessCorrection);
|
||||
method public android.hardware.display.BrightnessConfiguration.Builder addCorrectionByPackageName(String, android.hardware.display.BrightnessCorrection);
|
||||
method public android.hardware.display.BrightnessConfiguration.Builder addCorrectionByCategory(int, @NonNull android.hardware.display.BrightnessCorrection);
|
||||
method public android.hardware.display.BrightnessConfiguration.Builder addCorrectionByPackageName(@NonNull String, @NonNull android.hardware.display.BrightnessCorrection);
|
||||
method public android.hardware.display.BrightnessConfiguration build();
|
||||
method public int getMaxCorrectionsByCategory();
|
||||
method public int getMaxCorrectionsByPackageName();
|
||||
@@ -782,7 +782,7 @@ package android.hardware.display {
|
||||
}
|
||||
|
||||
public final class BrightnessCorrection implements android.os.Parcelable {
|
||||
method public float apply(float);
|
||||
method @FloatRange(from=0.0) public float apply(@FloatRange(from=0.0) float);
|
||||
method @NonNull public static android.hardware.display.BrightnessCorrection createScaleAndTranslateLog(float, float);
|
||||
method public int describeContents();
|
||||
method public void writeToParcel(android.os.Parcel, int);
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
package android.hardware.display;
|
||||
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.Nullable;
|
||||
import android.annotation.SystemApi;
|
||||
import android.annotation.TestApi;
|
||||
@@ -93,7 +94,7 @@ public final class BrightnessConfiguration implements Parcelable {
|
||||
*
|
||||
*/
|
||||
@Nullable
|
||||
public BrightnessCorrection getCorrectionByPackageName(String packageName) {
|
||||
public BrightnessCorrection getCorrectionByPackageName(@NonNull String packageName) {
|
||||
return mCorrectionsByPackageName.get(packageName);
|
||||
}
|
||||
|
||||
@@ -106,7 +107,7 @@ public final class BrightnessConfiguration implements Parcelable {
|
||||
* @return The matching brightness correction, or null.
|
||||
*/
|
||||
@Nullable
|
||||
public BrightnessCorrection getCorrectionByCategory(int category) {
|
||||
public BrightnessCorrection getCorrectionByCategory(@ApplicationInfo.Category int category) {
|
||||
return mCorrectionsByCategory.get(category);
|
||||
}
|
||||
|
||||
@@ -238,7 +239,7 @@ public final class BrightnessConfiguration implements Parcelable {
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
public void saveToXml(XmlSerializer serializer) throws IOException {
|
||||
public void saveToXml(@NonNull XmlSerializer serializer) throws IOException {
|
||||
serializer.startTag(null, TAG_BRIGHTNESS_CURVE);
|
||||
if (mDescription != null) {
|
||||
serializer.attribute(null, ATTR_DESCRIPTION, mDescription);
|
||||
@@ -284,7 +285,7 @@ public final class BrightnessConfiguration implements Parcelable {
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
public static BrightnessConfiguration loadFromXml(XmlPullParser parser)
|
||||
public static BrightnessConfiguration loadFromXml(@NonNull XmlPullParser parser)
|
||||
throws IOException, XmlPullParserException {
|
||||
String description = null;
|
||||
List<Float> luxList = new ArrayList<>();
|
||||
@@ -443,8 +444,10 @@ public final class BrightnessConfiguration implements Parcelable {
|
||||
* {@link #getMaxCorrectionsByPackageName}).
|
||||
*
|
||||
*/
|
||||
public Builder addCorrectionByPackageName(String packageName,
|
||||
BrightnessCorrection correction) {
|
||||
public Builder addCorrectionByPackageName(@NonNull String packageName,
|
||||
@NonNull BrightnessCorrection correction) {
|
||||
Objects.requireNonNull(packageName, "packageName must not be null");
|
||||
Objects.requireNonNull(correction, "correction must not be null");
|
||||
if (mCorrectionsByPackageName.size() >= getMaxCorrectionsByPackageName()) {
|
||||
throw new IllegalArgumentException("Too many corrections by package name");
|
||||
}
|
||||
@@ -470,7 +473,8 @@ public final class BrightnessConfiguration implements Parcelable {
|
||||
*
|
||||
*/
|
||||
public Builder addCorrectionByCategory(@ApplicationInfo.Category int category,
|
||||
BrightnessCorrection correction) {
|
||||
@NonNull BrightnessCorrection correction) {
|
||||
Objects.requireNonNull(correction, "correction must not be null");
|
||||
if (mCorrectionsByCategory.size() >= getMaxCorrectionsByCategory()) {
|
||||
throw new IllegalArgumentException("Too many corrections by category");
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
package android.hardware.display;
|
||||
|
||||
import android.annotation.FloatRange;
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.SystemApi;
|
||||
import android.annotation.TestApi;
|
||||
@@ -59,15 +60,15 @@ public final class BrightnessCorrection implements Parcelable {
|
||||
|
||||
/**
|
||||
* Creates a BrightnessCorrection that given {@code brightness}, corrects it to be
|
||||
* {@code exp(scale * log(brightness) + translate)}.
|
||||
* {@code exp(scale * ln(brightness) + translate)}.
|
||||
*
|
||||
* @param scale
|
||||
* How much to scale the log brightness.
|
||||
* How much to scale the log (base e) brightness.
|
||||
* @param translate
|
||||
* How much to translate the log brightness.
|
||||
* How much to translate the log (base e) brightness.
|
||||
*
|
||||
* @return A BrightnessCorrection that given {@code brightness}, corrects it to be
|
||||
* {@code exp(scale * log(brightness) + translate)}.
|
||||
* {@code exp(scale * ln(brightness) + translate)}.
|
||||
*
|
||||
* @throws IllegalArgumentException
|
||||
* - scale or translate are NaN.
|
||||
@@ -87,7 +88,8 @@ public final class BrightnessCorrection implements Parcelable {
|
||||
*
|
||||
* @return The corrected brightness.
|
||||
*/
|
||||
public float apply(float brightness) {
|
||||
@FloatRange(from = 0.0)
|
||||
public float apply(@FloatRange(from = 0.0) float brightness) {
|
||||
return mImplementation.apply(brightness);
|
||||
}
|
||||
|
||||
@@ -202,7 +204,7 @@ public final class BrightnessCorrection implements Parcelable {
|
||||
|
||||
/**
|
||||
* A BrightnessCorrection that given {@code brightness}, corrects it to be
|
||||
* {@code exp(scale * log(brightness) + translate)}.
|
||||
* {@code exp(scale * ln(brightness) + translate)}.
|
||||
*/
|
||||
private static class ScaleAndTranslateLog implements BrightnessCorrectionImplementation {
|
||||
private static final float MIN_SCALE = 0.5f;
|
||||
|
||||
Reference in New Issue
Block a user