summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAjay Panicker <apanicke@google.com>2017-07-21 13:29:57 -0700
committerandroid-build-team Robot <android-build-team-robot@google.com>2017-08-22 23:16:14 +0000
commit1333c1e2a863f8f8ce9fe6f1f93929506f361ebc (patch)
tree900acf1735e105591bd9eefc91ca76a692d96fef
parent1d9a6c4fba6e11d0da94060f7937e7b31301401f (diff)
downloadbase-1333c1e2a863f8f8ce9fe6f1f93929506f361ebc.tar.gz
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 (cherry picked from commit 2a9eef7a3be53cb8da1e6e4f394062d0301474a3)
-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 {