Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 39bb2c29 authored by Hangyu Kuang's avatar Hangyu Kuang Committed by Android (Google) Code Review
Browse files

Merge changes from topic 'atv-hdr' into nyc-dev

* changes:
  Unhide getHdrCapabilities and HdrCapabilities.
  Plumb HDR capabilities to Display
  Revert "Revert "Hook up HDR capabilities from native SurfaceControl""
parents 4dc63f78 da802f51
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -40933,6 +40933,7 @@ package android.view {
    method public void getCurrentSizeRange(android.graphics.Point, android.graphics.Point);
    method public int getDisplayId();
    method public int getFlags();
    method public android.view.Display.HdrCapabilities getHdrCapabilities();
    method public deprecated int getHeight();
    method public void getMetrics(android.util.DisplayMetrics);
    method public android.view.Display.Mode getMode();
@@ -40965,6 +40966,21 @@ package android.view {
    field public static final int STATE_UNKNOWN = 0; // 0x0
  }
  public static final class Display.HdrCapabilities implements android.os.Parcelable {
    ctor public Display.HdrCapabilities(int[], float, float, float);
    method public int describeContents();
    method public float getDesiredMaxAverageLuminance();
    method public float getDesiredMaxLuminance();
    method public float getDesiredMinLuminance();
    method public int[] getSupportedHdrTypes();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.view.Display.HdrCapabilities> CREATOR;
    field public static final int HDR_TYPE_DOLBY_VISION = 1; // 0x1
    field public static final int HDR_TYPE_HDR10 = 2; // 0x2
    field public static final int HDR_TYPE_HLG = 3; // 0x3
    field public static final float INVALID_LUMINANCE = -1.0f;
  }
  public static final class Display.Mode implements android.os.Parcelable {
    method public int describeContents();
    method public int getModeId();
+16 −0
Original line number Diff line number Diff line
@@ -43923,6 +43923,7 @@ package android.view {
    method public void getCurrentSizeRange(android.graphics.Point, android.graphics.Point);
    method public int getDisplayId();
    method public int getFlags();
    method public android.view.Display.HdrCapabilities getHdrCapabilities();
    method public deprecated int getHeight();
    method public void getMetrics(android.util.DisplayMetrics);
    method public android.view.Display.Mode getMode();
@@ -43955,6 +43956,21 @@ package android.view {
    field public static final int STATE_UNKNOWN = 0; // 0x0
  }
  public static final class Display.HdrCapabilities implements android.os.Parcelable {
    ctor public Display.HdrCapabilities(int[], float, float, float);
    method public int describeContents();
    method public float getDesiredMaxAverageLuminance();
    method public float getDesiredMaxLuminance();
    method public float getDesiredMinLuminance();
    method public int[] getSupportedHdrTypes();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.view.Display.HdrCapabilities> CREATOR;
    field public static final int HDR_TYPE_DOLBY_VISION = 1; // 0x1
    field public static final int HDR_TYPE_HDR10 = 2; // 0x2
    field public static final int HDR_TYPE_HLG = 3; // 0x3
    field public static final float INVALID_LUMINANCE = -1.0f;
  }
  public static final class Display.Mode implements android.os.Parcelable {
    method public int describeContents();
    method public int getModeId();
+16 −0
Original line number Diff line number Diff line
@@ -41011,6 +41011,7 @@ package android.view {
    method public void getCurrentSizeRange(android.graphics.Point, android.graphics.Point);
    method public int getDisplayId();
    method public int getFlags();
    method public android.view.Display.HdrCapabilities getHdrCapabilities();
    method public deprecated int getHeight();
    method public void getMetrics(android.util.DisplayMetrics);
    method public android.view.Display.Mode getMode();
@@ -41043,6 +41044,21 @@ package android.view {
    field public static final int STATE_UNKNOWN = 0; // 0x0
  }
  public static final class Display.HdrCapabilities implements android.os.Parcelable {
    ctor public Display.HdrCapabilities(int[], float, float, float);
    method public int describeContents();
    method public float getDesiredMaxAverageLuminance();
    method public float getDesiredMaxLuminance();
    method public float getDesiredMinLuminance();
    method public int[] getSupportedHdrTypes();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.view.Display.HdrCapabilities> CREATOR;
    field public static final int HDR_TYPE_DOLBY_VISION = 1; // 0x1
    field public static final int HDR_TYPE_HDR10 = 2; // 0x2
    field public static final int HDR_TYPE_HLG = 3; // 0x3
    field public static final float INVALID_LUMINANCE = -1.0f;
  }
  public static final class Display.Mode implements android.os.Parcelable {
    method public int describeContents();
    method public int getModeId();
+19 −3
Original line number Diff line number Diff line
@@ -719,10 +719,12 @@ public final class Display {

    /**
     * Returns the display's HDR capabilities.
     * @hide
     */
    public HdrCapabilities getHdrCapabilities() {
        return new HdrCapabilities();
        synchronized (this) {
            updateDisplayInfoLocked();
            return mDisplayInfo.hdrCapabilities;
        }
    }

    /**
@@ -1127,7 +1129,6 @@ public final class Display {
     * For example, what HDR types it supports and details about the desired luminance data.
     * <p>You can get an instance for a given {@link Display} object with
     * {@link Display#getHdrCapabilities getHdrCapabilities()}.
     * @hide
     */
    public static final class HdrCapabilities implements Parcelable {
        /**
@@ -1147,6 +1148,7 @@ public final class Display {
         */
        public static final int HDR_TYPE_HLG = 3;

        /** @hide */
        @IntDef({
            HDR_TYPE_DOLBY_VISION,
            HDR_TYPE_HDR10,
@@ -1160,9 +1162,20 @@ public final class Display {
        private float mMaxAverageLuminance = INVALID_LUMINANCE;
        private float mMinLuminance = INVALID_LUMINANCE;

        /**
         * @hide
         */
        public HdrCapabilities() {
        }

        public HdrCapabilities(int[] supportedHdrTypes, float maxLuminance,
                float maxAverageLuminance, float minLuminance) {
            mSupportedHdrTypes = supportedHdrTypes;
            mMaxLuminance = maxLuminance;
            mMaxAverageLuminance = maxAverageLuminance;
            mMinLuminance = minLuminance;
        }

        /**
         * Gets the supported HDR types of this display.
         * Returns empty array if HDR is not supported by the display.
@@ -1205,6 +1218,9 @@ public final class Display {
            readFromParcel(source);
        }

        /**
         * @hide
         */
        public void readFromParcel(Parcel source) {
            int types = source.readInt();
            mSupportedHdrTypes = new int[types];
+9 −0
Original line number Diff line number Diff line
@@ -178,6 +178,9 @@ public final class DisplayInfo implements Parcelable {
    /** The list of supported color transforms */
    public Display.ColorTransform[] supportedColorTransforms = Display.ColorTransform.EMPTY_ARRAY;

    /** The display's HDR capabilities */
    public Display.HdrCapabilities hdrCapabilities;

    /**
     * The logical display density which is the basis for density-independent
     * pixels.
@@ -290,6 +293,7 @@ public final class DisplayInfo implements Parcelable {
                && defaultModeId == other.defaultModeId
                && colorTransformId == other.colorTransformId
                && defaultColorTransformId == other.defaultColorTransformId
                && Objects.equal(hdrCapabilities, other.hdrCapabilities)
                && logicalDensityDpi == other.logicalDensityDpi
                && physicalXDpi == other.physicalXDpi
                && physicalYDpi == other.physicalYDpi
@@ -332,6 +336,7 @@ public final class DisplayInfo implements Parcelable {
        defaultColorTransformId = other.defaultColorTransformId;
        supportedColorTransforms = Arrays.copyOf(
                other.supportedColorTransforms, other.supportedColorTransforms.length);
        hdrCapabilities = other.hdrCapabilities;
        logicalDensityDpi = other.logicalDensityDpi;
        physicalXDpi = other.physicalXDpi;
        physicalYDpi = other.physicalYDpi;
@@ -375,6 +380,7 @@ public final class DisplayInfo implements Parcelable {
        for (int i = 0; i < nColorTransforms; i++) {
            supportedColorTransforms[i] = Display.ColorTransform.CREATOR.createFromParcel(source);
        }
        hdrCapabilities = Display.HdrCapabilities.CREATOR.createFromParcel(source);
        logicalDensityDpi = source.readInt();
        physicalXDpi = source.readFloat();
        physicalYDpi = source.readFloat();
@@ -418,6 +424,7 @@ public final class DisplayInfo implements Parcelable {
        for (int i = 0; i < supportedColorTransforms.length; i++) {
            supportedColorTransforms[i].writeToParcel(dest, flags);
        }
        hdrCapabilities.writeToParcel(dest, flags);
        dest.writeInt(logicalDensityDpi);
        dest.writeFloat(physicalXDpi);
        dest.writeFloat(physicalYDpi);
@@ -614,6 +621,8 @@ public final class DisplayInfo implements Parcelable {
        sb.append(defaultColorTransformId);
        sb.append(", supportedColorTransforms ");
        sb.append(Arrays.toString(supportedColorTransforms));
        sb.append(", hdrCapabilities ");
        sb.append(hdrCapabilities);
        sb.append(", rotation ");
        sb.append(rotation);
        sb.append(", density ");
Loading