diff options
author | Justin Klaassen <justinklaassen@google.com> | 2018-04-15 00:41:15 -0400 |
---|---|---|
committer | Justin Klaassen <justinklaassen@google.com> | 2018-04-15 00:41:15 -0400 |
commit | b8042fc9b036db0a6692ca853428fc6ab1e60892 (patch) | |
tree | 82669ea5d75238758e22d379a42baeada526219e /android/hardware/display | |
parent | 4d01eeaffaa720e4458a118baa137a11614f00f7 (diff) | |
download | android-28-androidx-preference-release.tar.gz |
Import Android SDK Platform P [4719250]HEADmastermainandroidx-work-releaseandroidx-webkit-releaseandroidx-viewpager2-releaseandroidx-versionedparcelable-releaseandroidx-vectordrawable-releaseandroidx-transition-releaseandroidx-sqlite-releaseandroidx-sharetarget-releaseandroidx-security-security-crypto-releaseandroidx-savedstate-releaseandroidx-room-releaseandroidx-recyclerview-releaseandroidx-recyclerview-recyclerview-selection-releaseandroidx-preference-releaseandroidx-paging-releaseandroidx-paging-legacy-releaseandroidx-navigation-releaseandroidx-mediarouter-releaseandroidx-media2-releaseandroidx-media2-media2-widget-releaseandroidx-media-releaseandroidx-master-releaseandroidx-localbroadcastmanager-releaseandroidx-loader-releaseandroidx-lifecycle-releaseandroidx-jetifier-releaseandroidx-g3-releaseandroidx-fragment-releaseandroidx-exifinterface-releaseandroidx-enterprise-releaseandroidx-core-releaseandroidx-core-core-role-releaseandroidx-coordinatorlayout-releaseandroidx-concurrent-releaseandroidx-compose-releaseandroidx-collection-releaseandroidx-camerax-releaseandroidx-browser-releaseandroidx-biometric-releaseandroidx-benchmark-releaseandroidx-autofill-releaseandroidx-arch-core-releaseandroidx-appcompat-releaseandroidx-annotation-releaseandroidx-annotation-annotation-experimental-releaseandroidx-activity-releaseandroid-arch-work-releaseandroid-arch-navigation-release
/google/data/ro/projects/android/fetch_artifact \
--bid 4719250 \
--target sdk_phone_armv7-win_sdk \
sdk-repo-linux-sources-4719250.zip
AndroidVersion.ApiLevel has been modified to appear as 28
Change-Id: I9ec0a12c9251b8449dba0d86b0cfdbcca16b0a7c
Diffstat (limited to 'android/hardware/display')
-rw-r--r-- | android/hardware/display/BrightnessConfiguration.java | 8 | ||||
-rw-r--r-- | android/hardware/display/Curve.java | 62 | ||||
-rw-r--r-- | android/hardware/display/DisplayManager.java | 17 | ||||
-rw-r--r-- | android/hardware/display/DisplayManagerGlobal.java | 19 |
4 files changed, 104 insertions, 2 deletions
diff --git a/android/hardware/display/BrightnessConfiguration.java b/android/hardware/display/BrightnessConfiguration.java index 67e97bfd..6d9ba778 100644 --- a/android/hardware/display/BrightnessConfiguration.java +++ b/android/hardware/display/BrightnessConfiguration.java @@ -86,7 +86,9 @@ public final class BrightnessConfiguration implements Parcelable { sb.append("(").append(mLux[i]).append(", ").append(mNits[i]).append(")"); } sb.append("], '"); - sb.append(mDescription); + if (mDescription != null) { + sb.append(mDescription); + } sb.append("'}"); return sb.toString(); } @@ -96,7 +98,9 @@ public final class BrightnessConfiguration implements Parcelable { int result = 1; result = result * 31 + Arrays.hashCode(mLux); result = result * 31 + Arrays.hashCode(mNits); - result = result * 31 + mDescription.hashCode(); + if (mDescription != null) { + result = result * 31 + mDescription.hashCode(); + } return result; } diff --git a/android/hardware/display/Curve.java b/android/hardware/display/Curve.java new file mode 100644 index 00000000..ac28fdd6 --- /dev/null +++ b/android/hardware/display/Curve.java @@ -0,0 +1,62 @@ +/* + * Copyright (C) 2018 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package android.hardware.display; + +import android.os.Parcel; +import android.os.Parcelable; + +/** @hide */ +public final class Curve implements Parcelable { + private final float[] mX; + private final float[] mY; + + public Curve(float[] x, float[] y) { + mX = x; + mY = y; + } + + public float[] getX() { + return mX; + } + + public float[] getY() { + return mY; + } + + public static final Creator<Curve> CREATOR = new Creator<Curve>() { + public Curve createFromParcel(Parcel in) { + float[] x = in.createFloatArray(); + float[] y = in.createFloatArray(); + return new Curve(x, y); + } + + public Curve[] newArray(int size) { + return new Curve[size]; + } + }; + + @Override + public void writeToParcel(Parcel out, int flags) { + out.writeFloatArray(mX); + out.writeFloatArray(mY); + } + + @Override + public int describeContents() { + return 0; + } +} diff --git a/android/hardware/display/DisplayManager.java b/android/hardware/display/DisplayManager.java index efb9517a..b182fa2e 100644 --- a/android/hardware/display/DisplayManager.java +++ b/android/hardware/display/DisplayManager.java @@ -28,6 +28,7 @@ import android.content.Context; import android.graphics.Point; import android.media.projection.MediaProjection; import android.os.Handler; +import android.util.Pair; import android.util.SparseArray; import android.view.Display; import android.view.Surface; @@ -748,6 +749,22 @@ public final class DisplayManager { } /** + * Returns the minimum brightness curve, which guarantess that any brightness curve that dips + * below it is rejected by the system. + * This prevent auto-brightness from setting the screen so dark as to prevent the user from + * resetting or disabling it, and maps lux to the absolute minimum nits that are still readable + * in that ambient brightness. + * + * @return The minimum brightness curve (as lux values and their corresponding nits values). + * + * @hide + */ + @SystemApi + public Pair<float[], float[]> getMinimumBrightnessCurve() { + return mGlobal.getMinimumBrightnessCurve(); + } + + /** * Listens for changes in available display devices. */ public interface DisplayListener { diff --git a/android/hardware/display/DisplayManagerGlobal.java b/android/hardware/display/DisplayManagerGlobal.java index 2d0ef2f2..d968a3e9 100644 --- a/android/hardware/display/DisplayManagerGlobal.java +++ b/android/hardware/display/DisplayManagerGlobal.java @@ -31,6 +31,7 @@ import android.os.RemoteException; import android.os.ServiceManager; import android.text.TextUtils; import android.util.Log; +import android.util.Pair; import android.util.SparseArray; import android.view.Display; import android.view.DisplayAdjustments; @@ -563,6 +564,24 @@ public final class DisplayManagerGlobal { } /** + * Returns the minimum brightness curve, which guarantess that any brightness curve that dips + * below it is rejected by the system. + * This prevent auto-brightness from setting the screen so dark as to prevent the user from + * resetting or disabling it, and maps lux to the absolute minimum nits that are still readable + * in that ambient brightness. + * + * @return The minimum brightness curve (as lux values and their corresponding nits values). + */ + public Pair<float[], float[]> getMinimumBrightnessCurve() { + try { + Curve curve = mDm.getMinimumBrightnessCurve(); + return Pair.create(curve.getX(), curve.getY()); + } catch (RemoteException ex) { + throw ex.rethrowFromSystemServer(); + } + } + + /** * Retrieves ambient brightness stats. */ public List<AmbientBrightnessDayStats> getAmbientBrightnessStats() { |