Merge "Add threading annotations to MediaRouterService"

This commit is contained in:
Bishoy Gendy
2022-10-18 14:58:08 +00:00
committed by Android (Google) Code Review

View File

@@ -62,6 +62,7 @@ import android.util.Slog;
import android.util.SparseArray;
import android.util.TimeUtils;
import com.android.internal.annotations.GuardedBy;
import com.android.internal.util.DumpUtils;
import com.android.server.LocalServices;
import com.android.server.Watchdog;
@@ -107,9 +108,14 @@ public final class MediaRouterService extends IMediaRouterService.Stub
private final Object mLock = new Object();
private final UserManagerInternal mUserManagerInternal;
@GuardedBy("mLock")
private final SparseArray<UserRecord> mUserRecords = new SparseArray<>();
@GuardedBy("mLock")
private final ArrayMap<IBinder, ClientRecord> mAllClientRecords = new ArrayMap<>();
@GuardedBy("mLock")
private int mCurrentActiveUserId = -1;
private final IAudioService mAudioService;
private final AudioPlayerStateMonitor mAudioPlayerStateMonitor;
private final Handler mHandler = new Handler();
@@ -682,6 +688,7 @@ public final class MediaRouterService extends IMediaRouterService.Stub
}
}
@GuardedBy("mLock")
private void registerClientLocked(IMediaRouterClient client,
int uid, int pid, String packageName, int userId, boolean trusted) {
final IBinder binder = client.asBinder();
@@ -711,6 +718,7 @@ public final class MediaRouterService extends IMediaRouterService.Stub
}
}
@GuardedBy("mLock")
private void registerClientGroupIdLocked(IMediaRouterClient client, String groupId) {
final IBinder binder = client.asBinder();
ClientRecord clientRecord = mAllClientRecords.get(binder);
@@ -735,6 +743,7 @@ public final class MediaRouterService extends IMediaRouterService.Stub
}
}
@GuardedBy("mLock")
private void unregisterClientLocked(IMediaRouterClient client, boolean died) {
ClientRecord clientRecord = mAllClientRecords.remove(client.asBinder());
if (clientRecord != null) {
@@ -749,6 +758,7 @@ public final class MediaRouterService extends IMediaRouterService.Stub
}
}
@GuardedBy("mLock")
private MediaRouterClientState getStateLocked(IMediaRouterClient client) {
ClientRecord clientRecord = mAllClientRecords.get(client.asBinder());
if (clientRecord != null) {
@@ -757,6 +767,7 @@ public final class MediaRouterService extends IMediaRouterService.Stub
return null;
}
@GuardedBy("mLock")
private void setDiscoveryRequestLocked(IMediaRouterClient client,
int routeTypes, boolean activeScan) {
final IBinder binder = client.asBinder();
@@ -781,6 +792,7 @@ public final class MediaRouterService extends IMediaRouterService.Stub
}
}
@GuardedBy("mLock")
private void setSelectedRouteLocked(IMediaRouterClient client,
String routeId, boolean explicit) {
ClientRecord clientRecord = mAllClientRecords.get(client.asBinder());
@@ -831,6 +843,7 @@ public final class MediaRouterService extends IMediaRouterService.Stub
}
}
@GuardedBy("mLock")
private void requestSetVolumeLocked(IMediaRouterClient client,
String routeId, int volume) {
final IBinder binder = client.asBinder();
@@ -841,6 +854,7 @@ public final class MediaRouterService extends IMediaRouterService.Stub
}
}
@GuardedBy("mLock")
private void requestUpdateVolumeLocked(IMediaRouterClient client,
String routeId, int direction) {
final IBinder binder = client.asBinder();
@@ -851,6 +865,7 @@ public final class MediaRouterService extends IMediaRouterService.Stub
}
}
@GuardedBy("mLock")
private void initializeUserLocked(UserRecord userRecord) {
if (DEBUG) {
Slog.d(TAG, userRecord + ": Initialized");
@@ -860,6 +875,7 @@ public final class MediaRouterService extends IMediaRouterService.Stub
}
}
@GuardedBy("mLock")
private void disposeUserIfNeededLocked(UserRecord userRecord) {
// If there are no records left and the user is no longer current then go ahead
// and purge the user record and all of its associated state. If the user is current
@@ -878,16 +894,19 @@ public final class MediaRouterService extends IMediaRouterService.Stub
* Returns {@code true} if the given {@code userId} corresponds to the active user or a profile
* of the active user, returns {@code false} otherwise.
*/
@GuardedBy("mLock")
private boolean isUserActiveLocked(int userId) {
return mUserManagerInternal.getProfileParentId(userId) == mCurrentActiveUserId;
}
@GuardedBy("mLock")
private void initializeClientLocked(ClientRecord clientRecord) {
if (DEBUG) {
Slog.d(TAG, clientRecord + ": Registered");
}
}
@GuardedBy("mLock")
private void disposeClientLocked(ClientRecord clientRecord, boolean died) {
if (DEBUG) {
if (died) {