Loading services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java +14 −7 Original line number Original line Diff line number Diff line Loading @@ -192,6 +192,7 @@ class MediaRouter2ServiceImpl { // Start of methods that implement MediaRouter2 operations. // Start of methods that implement MediaRouter2 operations. @RequiresPermission(Manifest.permission.MEDIA_CONTENT_CONTROL) @NonNull @NonNull public boolean verifyPackageExists(@NonNull String clientPackageName) { public boolean verifyPackageExists(@NonNull String clientPackageName) { final int pid = Binder.getCallingPid(); final int pid = Binder.getCallingPid(); Loading @@ -199,11 +200,7 @@ class MediaRouter2ServiceImpl { final long token = Binder.clearCallingIdentity(); final long token = Binder.clearCallingIdentity(); try { try { mContext.enforcePermission( enforcePrivilegedRoutingPermissions(uid, pid); Manifest.permission.MEDIA_CONTENT_CONTROL, pid, uid, "Must hold MEDIA_CONTENT_CONTROL permission."); PackageManager pm = mContext.getPackageManager(); PackageManager pm = mContext.getPackageManager(); pm.getPackageInfo(clientPackageName, PackageManager.PackageInfoFlags.of(0)); pm.getPackageInfo(clientPackageName, PackageManager.PackageInfoFlags.of(0)); return true; return true; Loading Loading @@ -482,6 +479,7 @@ class MediaRouter2ServiceImpl { } } } } @RequiresPermission(Manifest.permission.MEDIA_CONTENT_CONTROL) public void registerManager(@NonNull IMediaRouter2Manager manager, public void registerManager(@NonNull IMediaRouter2Manager manager, @NonNull String callerPackageName) { @NonNull String callerPackageName) { Objects.requireNonNull(manager, "manager must not be null"); Objects.requireNonNull(manager, "manager must not be null"); Loading Loading @@ -729,6 +727,15 @@ class MediaRouter2ServiceImpl { return hasBluetoothRoutingPermission; return hasBluetoothRoutingPermission; } } @RequiresPermission(Manifest.permission.MEDIA_CONTENT_CONTROL) private void enforcePrivilegedRoutingPermissions(int callerUid, int callerPid) { mContext.enforcePermission( Manifest.permission.MEDIA_CONTENT_CONTROL, callerPid, callerUid, "Must hold MEDIA_CONTENT_CONTROL permission."); } // End of methods that implements operations for both MediaRouter2 and MediaRouter2Manager. // End of methods that implements operations for both MediaRouter2 and MediaRouter2Manager. public void dump(@NonNull PrintWriter pw, @NonNull String prefix) { public void dump(@NonNull PrintWriter pw, @NonNull String prefix) { Loading Loading @@ -1164,6 +1171,7 @@ class MediaRouter2ServiceImpl { return sessionInfos; return sessionInfos; } } @RequiresPermission(Manifest.permission.MEDIA_CONTENT_CONTROL) @GuardedBy("mLock") @GuardedBy("mLock") private void registerManagerLocked( private void registerManagerLocked( @NonNull IMediaRouter2Manager manager, @NonNull IMediaRouter2Manager manager, Loading @@ -1187,8 +1195,7 @@ class MediaRouter2ServiceImpl { + " callerUserId: %d", + " callerUserId: %d", callerUid, callerPid, callerPackageName, callerUserId)); callerUid, callerPid, callerPackageName, callerUserId)); mContext.enforcePermission(Manifest.permission.MEDIA_CONTENT_CONTROL, callerPid, callerUid, enforcePrivilegedRoutingPermissions(callerUid, callerPid); "Must hold MEDIA_CONTENT_CONTROL permission."); UserRecord userRecord = getOrCreateUserRecordLocked(callerUserId); UserRecord userRecord = getOrCreateUserRecordLocked(callerUserId); managerRecord = new ManagerRecord( managerRecord = new ManagerRecord( Loading services/core/java/com/android/server/media/MediaRouterService.java +2 −0 Original line number Original line Diff line number Diff line Loading @@ -409,6 +409,7 @@ public final class MediaRouterService extends IMediaRouterService.Stub } } // Binder call // Binder call @RequiresPermission(Manifest.permission.MEDIA_CONTENT_CONTROL) @Override @Override public boolean verifyPackageExists(String clientPackageName) { public boolean verifyPackageExists(String clientPackageName) { return mService2.verifyPackageExists(clientPackageName); return mService2.verifyPackageExists(clientPackageName); Loading Loading @@ -536,6 +537,7 @@ public final class MediaRouterService extends IMediaRouterService.Stub } } // Binder call // Binder call @RequiresPermission(Manifest.permission.MEDIA_CONTENT_CONTROL) @Override @Override public void registerManager(IMediaRouter2Manager manager, String callerPackageName) { public void registerManager(IMediaRouter2Manager manager, String callerPackageName) { final int uid = Binder.getCallingUid(); final int uid = Binder.getCallingUid(); Loading Loading
services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java +14 −7 Original line number Original line Diff line number Diff line Loading @@ -192,6 +192,7 @@ class MediaRouter2ServiceImpl { // Start of methods that implement MediaRouter2 operations. // Start of methods that implement MediaRouter2 operations. @RequiresPermission(Manifest.permission.MEDIA_CONTENT_CONTROL) @NonNull @NonNull public boolean verifyPackageExists(@NonNull String clientPackageName) { public boolean verifyPackageExists(@NonNull String clientPackageName) { final int pid = Binder.getCallingPid(); final int pid = Binder.getCallingPid(); Loading @@ -199,11 +200,7 @@ class MediaRouter2ServiceImpl { final long token = Binder.clearCallingIdentity(); final long token = Binder.clearCallingIdentity(); try { try { mContext.enforcePermission( enforcePrivilegedRoutingPermissions(uid, pid); Manifest.permission.MEDIA_CONTENT_CONTROL, pid, uid, "Must hold MEDIA_CONTENT_CONTROL permission."); PackageManager pm = mContext.getPackageManager(); PackageManager pm = mContext.getPackageManager(); pm.getPackageInfo(clientPackageName, PackageManager.PackageInfoFlags.of(0)); pm.getPackageInfo(clientPackageName, PackageManager.PackageInfoFlags.of(0)); return true; return true; Loading Loading @@ -482,6 +479,7 @@ class MediaRouter2ServiceImpl { } } } } @RequiresPermission(Manifest.permission.MEDIA_CONTENT_CONTROL) public void registerManager(@NonNull IMediaRouter2Manager manager, public void registerManager(@NonNull IMediaRouter2Manager manager, @NonNull String callerPackageName) { @NonNull String callerPackageName) { Objects.requireNonNull(manager, "manager must not be null"); Objects.requireNonNull(manager, "manager must not be null"); Loading Loading @@ -729,6 +727,15 @@ class MediaRouter2ServiceImpl { return hasBluetoothRoutingPermission; return hasBluetoothRoutingPermission; } } @RequiresPermission(Manifest.permission.MEDIA_CONTENT_CONTROL) private void enforcePrivilegedRoutingPermissions(int callerUid, int callerPid) { mContext.enforcePermission( Manifest.permission.MEDIA_CONTENT_CONTROL, callerPid, callerUid, "Must hold MEDIA_CONTENT_CONTROL permission."); } // End of methods that implements operations for both MediaRouter2 and MediaRouter2Manager. // End of methods that implements operations for both MediaRouter2 and MediaRouter2Manager. public void dump(@NonNull PrintWriter pw, @NonNull String prefix) { public void dump(@NonNull PrintWriter pw, @NonNull String prefix) { Loading Loading @@ -1164,6 +1171,7 @@ class MediaRouter2ServiceImpl { return sessionInfos; return sessionInfos; } } @RequiresPermission(Manifest.permission.MEDIA_CONTENT_CONTROL) @GuardedBy("mLock") @GuardedBy("mLock") private void registerManagerLocked( private void registerManagerLocked( @NonNull IMediaRouter2Manager manager, @NonNull IMediaRouter2Manager manager, Loading @@ -1187,8 +1195,7 @@ class MediaRouter2ServiceImpl { + " callerUserId: %d", + " callerUserId: %d", callerUid, callerPid, callerPackageName, callerUserId)); callerUid, callerPid, callerPackageName, callerUserId)); mContext.enforcePermission(Manifest.permission.MEDIA_CONTENT_CONTROL, callerPid, callerUid, enforcePrivilegedRoutingPermissions(callerUid, callerPid); "Must hold MEDIA_CONTENT_CONTROL permission."); UserRecord userRecord = getOrCreateUserRecordLocked(callerUserId); UserRecord userRecord = getOrCreateUserRecordLocked(callerUserId); managerRecord = new ManagerRecord( managerRecord = new ManagerRecord( Loading
services/core/java/com/android/server/media/MediaRouterService.java +2 −0 Original line number Original line Diff line number Diff line Loading @@ -409,6 +409,7 @@ public final class MediaRouterService extends IMediaRouterService.Stub } } // Binder call // Binder call @RequiresPermission(Manifest.permission.MEDIA_CONTENT_CONTROL) @Override @Override public boolean verifyPackageExists(String clientPackageName) { public boolean verifyPackageExists(String clientPackageName) { return mService2.verifyPackageExists(clientPackageName); return mService2.verifyPackageExists(clientPackageName); Loading Loading @@ -536,6 +537,7 @@ public final class MediaRouterService extends IMediaRouterService.Stub } } // Binder call // Binder call @RequiresPermission(Manifest.permission.MEDIA_CONTENT_CONTROL) @Override @Override public void registerManager(IMediaRouter2Manager manager, String callerPackageName) { public void registerManager(IMediaRouter2Manager manager, String callerPackageName) { final int uid = Binder.getCallingUid(); final int uid = Binder.getCallingUid(); Loading