Loading services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java +18 −8 Original line number Diff line number Diff line Loading @@ -114,6 +114,7 @@ class MediaRouter2ServiceImpl { }; private final Context mContext; private final Looper mLooper; private final UserManagerInternal mUserManagerInternal; private final Object mLock = new Object(); private final AppOpsManager mAppOpsManager; Loading Loading @@ -178,8 +179,9 @@ class MediaRouter2ServiceImpl { Manifest.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS, Manifest.permission.WATCH_APPOPS }) /* package */ MediaRouter2ServiceImpl(Context context) { /* package */ MediaRouter2ServiceImpl(@NonNull Context context, @NonNull Looper looper) { mContext = context; mLooper = looper; mActivityManager = mContext.getSystemService(ActivityManager.class); mActivityManager.addOnUidImportanceListener(mOnUidImportanceListener, REQUIRED_PACKAGE_IMPORTANCE_FOR_SCANNING); Loading Loading @@ -1891,7 +1893,7 @@ class MediaRouter2ServiceImpl { private UserRecord getOrCreateUserRecordLocked(int userId) { UserRecord userRecord = mUserRecords.get(userId); if (userRecord == null) { userRecord = new UserRecord(userId); userRecord = new UserRecord(userId, mLooper); mUserRecords.put(userId, userRecord); userRecord.init(); if (isUserActiveLocked(userId)) { Loading Loading @@ -1962,9 +1964,13 @@ class MediaRouter2ServiceImpl { Set<String> mActivelyScanningPackages = Set.of(); final UserHandler mHandler; UserRecord(int userId) { UserRecord(int userId, @NonNull Looper looper) { mUserId = userId; mHandler = new UserHandler(MediaRouter2ServiceImpl.this, this); mHandler = new UserHandler( /* service= */ MediaRouter2ServiceImpl.this, /* userRecord= */ this, looper); } void init() { Loading Loading @@ -2365,12 +2371,16 @@ class MediaRouter2ServiceImpl { private boolean mRunning; // TODO: (In Android S+) Pull out SystemMediaRoute2Provider out of UserHandler. UserHandler(@NonNull MediaRouter2ServiceImpl service, @NonNull UserRecord userRecord) { super(Looper.getMainLooper(), null, true); UserHandler( @NonNull MediaRouter2ServiceImpl service, @NonNull UserRecord userRecord, @NonNull Looper looper) { super(looper, /* callback= */ null, /* async= */ true); mServiceRef = new WeakReference<>(service); mUserRecord = userRecord; mSystemProvider = new SystemMediaRoute2Provider(service.mContext, UserHandle.of(userRecord.mUserId)); mSystemProvider = new SystemMediaRoute2Provider( service.mContext, UserHandle.of(userRecord.mUserId), looper); mRouteProviders.add(mSystemProvider); mWatcher = new MediaRoute2ProviderWatcher(service.mContext, this, this, mUserRecord.mUserId); Loading services/core/java/com/android/server/media/MediaRouterService.java +6 −4 Original line number Diff line number Diff line Loading @@ -110,6 +110,7 @@ public final class MediaRouterService extends IMediaRouterService.Stub private static final long CONNECTED_TIMEOUT = 60000; private final Context mContext; private final Looper mLooper; // State guarded by mLock. private final Object mLock = new Object(); Loading Loading @@ -141,7 +142,8 @@ public final class MediaRouterService extends IMediaRouterService.Stub @RequiresPermission(Manifest.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS) public MediaRouterService(Context context) { mService2 = new MediaRouter2ServiceImpl(context); mLooper = Looper.getMainLooper(); mService2 = new MediaRouter2ServiceImpl(context, mLooper); mContext = context; Watchdog.getInstance().addMonitor(this); Resources res = context.getResources(); Loading Loading @@ -1104,7 +1106,7 @@ public final class MediaRouterService extends IMediaRouterService.Stub public UserRecord(int userId) { mUserId = userId; mHandler = new UserHandler(MediaRouterService.this, this); mHandler = new UserHandler(MediaRouterService.this, this, mLooper); } public void dump(final PrintWriter pw, String prefix) { Loading Loading @@ -1212,8 +1214,8 @@ public final class MediaRouterService extends IMediaRouterService.Stub private long mConnectionTimeoutStartTime; private boolean mClientStateUpdateScheduled; public UserHandler(MediaRouterService service, UserRecord userRecord) { super(Looper.getMainLooper(), null, true); private UserHandler(MediaRouterService service, UserRecord userRecord, Looper looper) { super(looper, null, true); mService = service; mUserRecord = userRecord; mWatcher = new RemoteDisplayProviderWatcher(service.mContext, this, Loading services/core/java/com/android/server/media/SystemMediaRoute2Provider.java +1 −2 Original line number Diff line number Diff line Loading @@ -86,12 +86,11 @@ class SystemMediaRoute2Provider extends MediaRoute2Provider { @GuardedBy("mTransferLock") @Nullable private volatile SessionCreationRequest mPendingTransferRequest; SystemMediaRoute2Provider(Context context, UserHandle user) { SystemMediaRoute2Provider(Context context, UserHandle user, Looper looper) { super(COMPONENT_NAME); mIsSystemRouteProvider = true; mContext = context; mUser = user; Looper looper = Looper.getMainLooper(); mHandler = new Handler(looper); mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE); Loading Loading
services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java +18 −8 Original line number Diff line number Diff line Loading @@ -114,6 +114,7 @@ class MediaRouter2ServiceImpl { }; private final Context mContext; private final Looper mLooper; private final UserManagerInternal mUserManagerInternal; private final Object mLock = new Object(); private final AppOpsManager mAppOpsManager; Loading Loading @@ -178,8 +179,9 @@ class MediaRouter2ServiceImpl { Manifest.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS, Manifest.permission.WATCH_APPOPS }) /* package */ MediaRouter2ServiceImpl(Context context) { /* package */ MediaRouter2ServiceImpl(@NonNull Context context, @NonNull Looper looper) { mContext = context; mLooper = looper; mActivityManager = mContext.getSystemService(ActivityManager.class); mActivityManager.addOnUidImportanceListener(mOnUidImportanceListener, REQUIRED_PACKAGE_IMPORTANCE_FOR_SCANNING); Loading Loading @@ -1891,7 +1893,7 @@ class MediaRouter2ServiceImpl { private UserRecord getOrCreateUserRecordLocked(int userId) { UserRecord userRecord = mUserRecords.get(userId); if (userRecord == null) { userRecord = new UserRecord(userId); userRecord = new UserRecord(userId, mLooper); mUserRecords.put(userId, userRecord); userRecord.init(); if (isUserActiveLocked(userId)) { Loading Loading @@ -1962,9 +1964,13 @@ class MediaRouter2ServiceImpl { Set<String> mActivelyScanningPackages = Set.of(); final UserHandler mHandler; UserRecord(int userId) { UserRecord(int userId, @NonNull Looper looper) { mUserId = userId; mHandler = new UserHandler(MediaRouter2ServiceImpl.this, this); mHandler = new UserHandler( /* service= */ MediaRouter2ServiceImpl.this, /* userRecord= */ this, looper); } void init() { Loading Loading @@ -2365,12 +2371,16 @@ class MediaRouter2ServiceImpl { private boolean mRunning; // TODO: (In Android S+) Pull out SystemMediaRoute2Provider out of UserHandler. UserHandler(@NonNull MediaRouter2ServiceImpl service, @NonNull UserRecord userRecord) { super(Looper.getMainLooper(), null, true); UserHandler( @NonNull MediaRouter2ServiceImpl service, @NonNull UserRecord userRecord, @NonNull Looper looper) { super(looper, /* callback= */ null, /* async= */ true); mServiceRef = new WeakReference<>(service); mUserRecord = userRecord; mSystemProvider = new SystemMediaRoute2Provider(service.mContext, UserHandle.of(userRecord.mUserId)); mSystemProvider = new SystemMediaRoute2Provider( service.mContext, UserHandle.of(userRecord.mUserId), looper); mRouteProviders.add(mSystemProvider); mWatcher = new MediaRoute2ProviderWatcher(service.mContext, this, this, mUserRecord.mUserId); Loading
services/core/java/com/android/server/media/MediaRouterService.java +6 −4 Original line number Diff line number Diff line Loading @@ -110,6 +110,7 @@ public final class MediaRouterService extends IMediaRouterService.Stub private static final long CONNECTED_TIMEOUT = 60000; private final Context mContext; private final Looper mLooper; // State guarded by mLock. private final Object mLock = new Object(); Loading Loading @@ -141,7 +142,8 @@ public final class MediaRouterService extends IMediaRouterService.Stub @RequiresPermission(Manifest.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS) public MediaRouterService(Context context) { mService2 = new MediaRouter2ServiceImpl(context); mLooper = Looper.getMainLooper(); mService2 = new MediaRouter2ServiceImpl(context, mLooper); mContext = context; Watchdog.getInstance().addMonitor(this); Resources res = context.getResources(); Loading Loading @@ -1104,7 +1106,7 @@ public final class MediaRouterService extends IMediaRouterService.Stub public UserRecord(int userId) { mUserId = userId; mHandler = new UserHandler(MediaRouterService.this, this); mHandler = new UserHandler(MediaRouterService.this, this, mLooper); } public void dump(final PrintWriter pw, String prefix) { Loading Loading @@ -1212,8 +1214,8 @@ public final class MediaRouterService extends IMediaRouterService.Stub private long mConnectionTimeoutStartTime; private boolean mClientStateUpdateScheduled; public UserHandler(MediaRouterService service, UserRecord userRecord) { super(Looper.getMainLooper(), null, true); private UserHandler(MediaRouterService service, UserRecord userRecord, Looper looper) { super(looper, null, true); mService = service; mUserRecord = userRecord; mWatcher = new RemoteDisplayProviderWatcher(service.mContext, this, Loading
services/core/java/com/android/server/media/SystemMediaRoute2Provider.java +1 −2 Original line number Diff line number Diff line Loading @@ -86,12 +86,11 @@ class SystemMediaRoute2Provider extends MediaRoute2Provider { @GuardedBy("mTransferLock") @Nullable private volatile SessionCreationRequest mPendingTransferRequest; SystemMediaRoute2Provider(Context context, UserHandle user) { SystemMediaRoute2Provider(Context context, UserHandle user, Looper looper) { super(COMPONENT_NAME); mIsSystemRouteProvider = true; mContext = context; mUser = user; Looper looper = Looper.getMainLooper(); mHandler = new Handler(looper); mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE); Loading