diff --git a/api/system-current.txt b/api/system-current.txt index cf93fbebd77ce..0d493e6d849fa 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -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 getCurve(); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator 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); diff --git a/api/test-current.txt b/api/test-current.txt index 8169230f32952..89f3df62c5929 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -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 getCurve(); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator 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); diff --git a/core/java/android/hardware/display/BrightnessConfiguration.java b/core/java/android/hardware/display/BrightnessConfiguration.java index 8c74ddc7698c4..ed8a97c7e2636 100644 --- a/core/java/android/hardware/display/BrightnessConfiguration.java +++ b/core/java/android/hardware/display/BrightnessConfiguration.java @@ -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 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"); } diff --git a/core/java/android/hardware/display/BrightnessCorrection.java b/core/java/android/hardware/display/BrightnessCorrection.java index 6a073ffaaa5ba..ee8d8467d8275 100644 --- a/core/java/android/hardware/display/BrightnessCorrection.java +++ b/core/java/android/hardware/display/BrightnessCorrection.java @@ -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;