summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--media/java/android/media/IMediaRouterService.aidl3
-rw-r--r--media/java/android/media/MediaRouter2.java6
-rw-r--r--services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java23
-rw-r--r--services/core/java/com/android/server/media/MediaRouterService.java10
4 files changed, 14 insertions, 28 deletions
diff --git a/media/java/android/media/IMediaRouterService.aidl b/media/java/android/media/IMediaRouterService.aidl
index f6a9162cda39..aa7e4df18186 100644
--- a/media/java/android/media/IMediaRouterService.aidl
+++ b/media/java/android/media/IMediaRouterService.aidl
@@ -50,8 +50,7 @@ interface IMediaRouterService {
// MediaRouterService.java for readability.
// Methods for MediaRouter2
- boolean verifyPackageName(String clientPackageName);
- void enforceMediaContentControlPermission();
+ boolean verifyPackageExists(String clientPackageName);
List<MediaRoute2Info> getSystemRoutes();
RoutingSessionInfo getSystemSessionInfo();
diff --git a/media/java/android/media/MediaRouter2.java b/media/java/android/media/MediaRouter2.java
index 5faa794151b1..fa74a9f12d7c 100644
--- a/media/java/android/media/MediaRouter2.java
+++ b/media/java/android/media/MediaRouter2.java
@@ -208,9 +208,9 @@ public final class MediaRouter2 {
IMediaRouterService.Stub.asInterface(
ServiceManager.getService(Context.MEDIA_ROUTER_SERVICE));
try {
- // SecurityException will be thrown if there's no permission.
- serviceBinder.enforceMediaContentControlPermission();
- if (!serviceBinder.verifyPackageName(clientPackageName)) {
+ // verifyPackageExists throws SecurityException if the caller doesn't hold
+ // MEDIA_CONTENT_CONTROL permission.
+ if (!serviceBinder.verifyPackageExists(clientPackageName)) {
Log.e(TAG, "Package " + clientPackageName + " not found. Ignoring.");
return null;
}
diff --git a/services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java b/services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java
index 5e01ddbfbf77..2e31a4a4c86e 100644
--- a/services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java
+++ b/services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java
@@ -154,10 +154,17 @@ class MediaRouter2ServiceImpl {
// Start of methods that implement MediaRouter2 operations.
@NonNull
- public boolean verifyPackageName(@NonNull String clientPackageName) {
+ public boolean verifyPackageExists(@NonNull String clientPackageName) {
+ final int pid = Binder.getCallingPid();
+ final int uid = Binder.getCallingUid();
final long token = Binder.clearCallingIdentity();
try {
+ mContext.enforcePermission(
+ Manifest.permission.MEDIA_CONTENT_CONTROL,
+ pid,
+ uid,
+ "Must hold MEDIA_CONTENT_CONTROL permission.");
PackageManager pm = mContext.getPackageManager();
pm.getPackageInfo(clientPackageName, PackageManager.PackageInfoFlags.of(0));
return true;
@@ -169,20 +176,6 @@ class MediaRouter2ServiceImpl {
}
@NonNull
- public void enforceMediaContentControlPermission() {
- final int pid = Binder.getCallingPid();
- final int uid = Binder.getCallingUid();
- final long token = Binder.clearCallingIdentity();
-
- try {
- mContext.enforcePermission(Manifest.permission.MEDIA_CONTENT_CONTROL, pid, uid,
- "Must hold MEDIA_CONTENT_CONTROL permission.");
- } finally {
- Binder.restoreCallingIdentity(token);
- }
- }
-
- @NonNull
public List<MediaRoute2Info> getSystemRoutes() {
final int uid = Binder.getCallingUid();
final int userId = UserHandle.getUserHandleForUid(uid).getIdentifier();
diff --git a/services/core/java/com/android/server/media/MediaRouterService.java b/services/core/java/com/android/server/media/MediaRouterService.java
index ad82e1c786e3..3ad0e44e6ea3 100644
--- a/services/core/java/com/android/server/media/MediaRouterService.java
+++ b/services/core/java/com/android/server/media/MediaRouterService.java
@@ -380,14 +380,8 @@ public final class MediaRouterService extends IMediaRouterService.Stub
// Binder call
@Override
- public boolean verifyPackageName(String clientPackageName) {
- return mService2.verifyPackageName(clientPackageName);
- }
-
- // Binder call
- @Override
- public void enforceMediaContentControlPermission() {
- mService2.enforceMediaContentControlPermission();
+ public boolean verifyPackageExists(String clientPackageName) {
+ return mService2.verifyPackageExists(clientPackageName);
}
// Binder call