diff --git a/core/java/android/view/Display.java b/core/java/android/view/Display.java index 899ae49f31a82..85a4bf9d9e8f9 100644 --- a/core/java/android/view/Display.java +++ b/core/java/android/view/Display.java @@ -1227,6 +1227,33 @@ public final class Display { return mMinLuminance; } + @Override + public boolean equals(Object other) { + if (this == other) { + return true; + } + + if (!(other instanceof HdrCapabilities)) { + return false; + } + HdrCapabilities that = (HdrCapabilities) other; + + return Arrays.equals(mSupportedHdrTypes, that.mSupportedHdrTypes) + && mMaxLuminance == that.mMaxLuminance + && mMaxAverageLuminance == that.mMaxAverageLuminance + && mMinLuminance == that.mMinLuminance; + } + + @Override + public int hashCode() { + int hash = 23; + hash = hash * 17 + Arrays.hashCode(mSupportedHdrTypes); + hash = hash * 17 + Float.floatToIntBits(mMaxLuminance); + hash = hash * 17 + Float.floatToIntBits(mMaxAverageLuminance); + hash = hash * 17 + Float.floatToIntBits(mMinLuminance); + return hash; + } + public static final Creator CREATOR = new Creator() { @Override public HdrCapabilities createFromParcel(Parcel source) { diff --git a/core/java/android/view/DisplayInfo.java b/core/java/android/view/DisplayInfo.java index 49c3c46c86fc0..bc40849a47bc0 100644 --- a/core/java/android/view/DisplayInfo.java +++ b/core/java/android/view/DisplayInfo.java @@ -289,7 +289,7 @@ public final class DisplayInfo implements Parcelable { && modeId == other.modeId && defaultModeId == other.defaultModeId && colorMode == other.colorMode - && Objects.equal(supportedColorModes, other.supportedColorModes) + && Arrays.equals(supportedColorModes, other.supportedColorModes) && Objects.equal(hdrCapabilities, other.hdrCapabilities) && logicalDensityDpi == other.logicalDensityDpi && physicalXDpi == other.physicalXDpi