diff options
| author | Yin-Chia Yeh <yinchiayeh@google.com> | 2015-04-03 10:46:25 -0700 |
|---|---|---|
| committer | Yin-Chia Yeh <yinchiayeh@google.com> | 2015-04-03 10:46:25 -0700 |
| commit | 61f15366127752258aea05398c40182c5b174a29 (patch) | |
| tree | dfcd721c37a4e06ffad28e685d05b772388e173a /core/java/android | |
| parent | 222ab662051e9836b3623826fcb80ee7b5fa286f (diff) | |
| download | frameworks_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.java | 30 |
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; |
