AudioAttributes: implement hashcode and equals methods
Change-Id: I3245c38d9413ba7590811a038db54628424a420e
diff --git a/media/java/android/media/AudioAttributes.java b/media/java/android/media/AudioAttributes.java
index 1225fd1..46fc66b 100644
--- a/media/java/android/media/AudioAttributes.java
+++ b/media/java/android/media/AudioAttributes.java
@@ -27,6 +27,7 @@
import java.util.Collections;
import java.util.HashSet;
import java.util.Iterator;
+import java.util.Objects;
import java.util.Set;
/**
@@ -526,7 +527,26 @@
}
};
- /** @hide */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+
+ AudioAttributes that = (AudioAttributes) o;
+
+ return ((mContentType == that.mContentType)
+ && (mFlags == that.mFlags)
+ && (mSource == that.mSource)
+ && (mUsage == that.mUsage)
+ //mFormattedTags is never null due to assignment in Builder or unmarshalling
+ && (mFormattedTags.equals(that.mFormattedTags)));
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(mContentType, mFlags, mSource, mUsage, mFormattedTags);
+ }
+
@Override
public String toString () {
return new String("AudioAttributes:"