summaryrefslogtreecommitdiffstats
path: root/core/java/android
diff options
context:
space:
mode:
authorYin-Chia Yeh <yinchiayeh@google.com>2015-04-03 10:46:25 -0700
committerYin-Chia Yeh <yinchiayeh@google.com>2015-04-03 10:46:25 -0700
commit61f15366127752258aea05398c40182c5b174a29 (patch)
treedfcd721c37a4e06ffad28e685d05b772388e173a /core/java/android
parent222ab662051e9836b3623826fcb80ee7b5fa286f (diff)
downloadframeworks_base-61f15366127752258aea05398c40182c5b174a29.zip
frameworks_base-61f15366127752258aea05398c40182c5b174a29.tar.gz
frameworks_base-61f15366127752258aea05398c40182c5b174a29.tar.bz2
Camera: add equals/hashCode to OutputConfiguration
Bug: 20057354 Change-Id: Ib9c2e26ac4c52c47ccab86a7f25363b164d36eb6
Diffstat (limited to 'core/java/android')
-rw-r--r--core/java/android/hardware/camera2/params/OutputConfiguration.java30
1 files changed, 30 insertions, 0 deletions
diff --git a/core/java/android/hardware/camera2/params/OutputConfiguration.java b/core/java/android/hardware/camera2/params/OutputConfiguration.java
index 0a4ed39..7aa9787 100644
--- a/core/java/android/hardware/camera2/params/OutputConfiguration.java
+++ b/core/java/android/hardware/camera2/params/OutputConfiguration.java
@@ -18,6 +18,7 @@
package android.hardware.camera2.params;
import android.hardware.camera2.CameraDevice;
+import android.hardware.camera2.utils.HashCodeHelpers;
import android.util.Log;
import android.view.Surface;
import android.os.Parcel;
@@ -159,6 +160,35 @@ public final class OutputConfiguration implements Parcelable {
mSurface.writeToParcel(dest, flags);
}
+ /**
+ * Check if this {@link OutputConfiguration} is equal to another {@link OutputConfiguration}.
+ *
+ * <p>Two output configurations are only equal if and only if the underlying surface and
+ * all other configuration parameters are equal. </p>
+ *
+ * @return {@code true} if the objects were equal, {@code false} otherwise
+ */
+ @Override
+ public boolean equals(Object obj) {
+ if (obj == null) {
+ return false;
+ } else if (this == obj) {
+ return true;
+ } else if (obj instanceof OutputConfiguration) {
+ final OutputConfiguration other = (OutputConfiguration) obj;
+ return (mSurface == other.mSurface && mRotation == other.mRotation);
+ }
+ return false;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public int hashCode() {
+ return HashCodeHelpers.hashCode(mSurface.hashCode(), mRotation);
+ }
+
private static final String TAG = "OutputConfiguration";
private final Surface mSurface;
private final int mRotation;