From e9c19a5a8e020b11935511b37f51f9007994f4b6 Mon Sep 17 00:00:00 2001 From: Jean-Michel Trivi Date: Tue, 29 Jul 2014 13:04:41 -0700 Subject: [PATCH] AudioAttributes: implement hashcode and equals methods Change-Id: I3245c38d9413ba7590811a038db54628424a420e --- media/java/android/media/AudioAttributes.java | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/media/java/android/media/AudioAttributes.java b/media/java/android/media/AudioAttributes.java index 1225fd17517cf..46fc66b922df1 100644 --- a/media/java/android/media/AudioAttributes.java +++ b/media/java/android/media/AudioAttributes.java @@ -27,6 +27,7 @@ import java.lang.annotation.RetentionPolicy; import java.util.Collections; import java.util.HashSet; import java.util.Iterator; +import java.util.Objects; import java.util.Set; /** @@ -526,7 +527,26 @@ public final class AudioAttributes implements Parcelable { } }; - /** @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:"