summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Ajay Panicker <apanicke@google.com> 2017-07-21 13:29:57 -0700
committer Andre Eisenbach <eisenbach@google.com> 2017-08-22 01:14:47 +0000
commit2a9eef7a3be53cb8da1e6e4f394062d0301474a3 (patch)
tree085316f2857ec8895a5226eb5b3fc016682eff6e
parent230c78cec5086e53e378bfc3a8e3bb6168dc0a1f (diff)
Improve AVRCP quality and state handling (2/2)
Bug: 64749777 Test: Play music with various car kits and see that metadata shows up See go/oc-avrcp-sotu - 8/15/20 OC + Patches for further info Change-Id: I58c9dd0bf976485a2efefd042cd667ee433e07e1
-rw-r--r--media/java/android/media/MediaDescription.java27
-rw-r--r--media/java/android/media/session/MediaSession.java23
2 files changed, 50 insertions, 0 deletions
diff --git a/media/java/android/media/MediaDescription.java b/media/java/android/media/MediaDescription.java
index 14485d3c43a3..e6aea99ef50b 100644
--- a/media/java/android/media/MediaDescription.java
+++ b/media/java/android/media/MediaDescription.java
@@ -220,6 +220,33 @@ public class MediaDescription implements Parcelable {
}
@Override
+ public boolean equals(Object o) {
+ if (o == null) {
+ return false;
+ }
+
+ if (!(o instanceof MediaDescription)){
+ return false;
+ }
+
+ final MediaDescription d = (MediaDescription) o;
+
+ if (!String.valueOf(mTitle).equals(String.valueOf(d.mTitle))) {
+ return false;
+ }
+
+ if (!String.valueOf(mSubtitle).equals(String.valueOf(d.mSubtitle))) {
+ return false;
+ }
+
+ if (!String.valueOf(mDescription).equals(String.valueOf(d.mDescription))) {
+ return false;
+ }
+
+ return true;
+ }
+
+ @Override
public String toString() {
return mTitle + ", " + mSubtitle + ", " + mDescription;
}
diff --git a/media/java/android/media/session/MediaSession.java b/media/java/android/media/session/MediaSession.java
index dfd2bb35d6ea..9536d3d35206 100644
--- a/media/java/android/media/session/MediaSession.java
+++ b/media/java/android/media/session/MediaSession.java
@@ -48,6 +48,7 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.ref.WeakReference;
import java.util.List;
+import java.util.Objects;
/**
* Allows interaction with media controllers, volume keys, media buttons, and
@@ -1256,6 +1257,28 @@ public final class MediaSession {
"Description=" + mDescription +
", Id=" + mId + " }";
}
+
+ @Override
+ public boolean equals(Object o) {
+ if (o == null) {
+ return false;
+ }
+
+ if (!(o instanceof QueueItem)) {
+ return false;
+ }
+
+ final QueueItem item = (QueueItem) o;
+ if (mId != item.mId) {
+ return false;
+ }
+
+ if (!Objects.equals(mDescription, item.mDescription)) {
+ return false;
+ }
+
+ return true;
+ }
}
private static final class Command {