summaryrefslogtreecommitdiff
path: root/android/media/session/MediaSessionManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'android/media/session/MediaSessionManager.java')
-rw-r--r--android/media/session/MediaSessionManager.java14
1 files changed, 12 insertions, 2 deletions
diff --git a/android/media/session/MediaSessionManager.java b/android/media/session/MediaSessionManager.java
index 519af1ba..fbc14384 100644
--- a/android/media/session/MediaSessionManager.java
+++ b/android/media/session/MediaSessionManager.java
@@ -47,6 +47,7 @@ import android.view.KeyEvent;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
+import java.util.Objects;
import java.util.concurrent.Executor;
/**
@@ -342,12 +343,16 @@ public final class MediaSessionManager {
}
/**
- * Returns whether the app is trusted.
+ * Checks whether the remote user is a trusted app.
* <p>
* An app is trusted if the app holds the android.Manifest.permission.MEDIA_CONTENT_CONTROL
* permission or has an enabled notification listener.
*
- * @param userInfo The remote user info
+ * @param userInfo The remote user info from either
+ * {@link MediaSession#getCurrentControllerInfo()} or
+ * {@link MediaBrowserService#getCurrentBrowserInfo()}.
+ * @return {@code true} if the remote user is trusted and its package name matches with the UID.
+ * {@code false} otherwise.
*/
public boolean isTrustedForMediaControl(RemoteUserInfo userInfo) {
if (userInfo.getPackageName() == null) {
@@ -814,6 +819,11 @@ public final class MediaSessionManager {
&& mPid == otherUserInfo.mPid
&& mUid == otherUserInfo.mUid;
}
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(mPackageName, mPid, mUid);
+ }
}
private static final class SessionsChangedWrapper {