Clean up nullability in MediaRouter2ServiceImpl
- As discussed offline, we agreed upon addiing @NonNull/@Nullable annotations to all arguments in public functions. - For private functions we can also add @NonNull in cases where we actually check for nulls, (i.e cases where nulls break the execution). Bug: 248537248 Test: atest MediaRouter2Test Change-Id: I95a155fd762417bcfd8f2581ebe95f232ee6718e
This commit is contained in:
@@ -143,10 +143,7 @@ class MediaRouter2ServiceImpl {
|
||||
mContext.registerReceiver(mScreenOnOffReceiver, screenOnOffIntentFilter);
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////
|
||||
//// Calls from MediaRouter2
|
||||
//// - Should not have @NonNull/@Nullable on any arguments
|
||||
////////////////////////////////////////////////////////////////
|
||||
// Methods that implement MediaRouter2 operations.
|
||||
|
||||
@NonNull
|
||||
public void enforceMediaContentControlPermission() {
|
||||
@@ -234,7 +231,7 @@ class MediaRouter2ServiceImpl {
|
||||
}
|
||||
}
|
||||
|
||||
public void registerRouter2(IMediaRouter2 router, String packageName) {
|
||||
public void registerRouter2(@NonNull IMediaRouter2 router, @NonNull String packageName) {
|
||||
Objects.requireNonNull(router, "router must not be null");
|
||||
if (TextUtils.isEmpty(packageName)) {
|
||||
throw new IllegalArgumentException("packageName must not be empty");
|
||||
@@ -261,7 +258,7 @@ class MediaRouter2ServiceImpl {
|
||||
}
|
||||
}
|
||||
|
||||
public void unregisterRouter2(IMediaRouter2 router) {
|
||||
public void unregisterRouter2(@NonNull IMediaRouter2 router) {
|
||||
Objects.requireNonNull(router, "router must not be null");
|
||||
|
||||
final long token = Binder.clearCallingIdentity();
|
||||
@@ -274,8 +271,8 @@ class MediaRouter2ServiceImpl {
|
||||
}
|
||||
}
|
||||
|
||||
public void setDiscoveryRequestWithRouter2(IMediaRouter2 router,
|
||||
RouteDiscoveryPreference preference) {
|
||||
public void setDiscoveryRequestWithRouter2(@NonNull IMediaRouter2 router,
|
||||
@NonNull RouteDiscoveryPreference preference) {
|
||||
Objects.requireNonNull(router, "router must not be null");
|
||||
Objects.requireNonNull(preference, "preference must not be null");
|
||||
|
||||
@@ -294,8 +291,8 @@ class MediaRouter2ServiceImpl {
|
||||
}
|
||||
}
|
||||
|
||||
public void setRouteVolumeWithRouter2(IMediaRouter2 router,
|
||||
MediaRoute2Info route, int volume) {
|
||||
public void setRouteVolumeWithRouter2(@NonNull IMediaRouter2 router,
|
||||
@NonNull MediaRoute2Info route, int volume) {
|
||||
Objects.requireNonNull(router, "router must not be null");
|
||||
Objects.requireNonNull(route, "route must not be null");
|
||||
|
||||
@@ -309,9 +306,9 @@ class MediaRouter2ServiceImpl {
|
||||
}
|
||||
}
|
||||
|
||||
public void requestCreateSessionWithRouter2(IMediaRouter2 router, int requestId,
|
||||
long managerRequestId, RoutingSessionInfo oldSession,
|
||||
MediaRoute2Info route, Bundle sessionHints) {
|
||||
public void requestCreateSessionWithRouter2(@NonNull IMediaRouter2 router, int requestId,
|
||||
long managerRequestId, @NonNull RoutingSessionInfo oldSession,
|
||||
@NonNull MediaRoute2Info route, Bundle sessionHints) {
|
||||
Objects.requireNonNull(router, "router must not be null");
|
||||
Objects.requireNonNull(oldSession, "oldSession must not be null");
|
||||
Objects.requireNonNull(route, "route must not be null");
|
||||
@@ -327,8 +324,8 @@ class MediaRouter2ServiceImpl {
|
||||
}
|
||||
}
|
||||
|
||||
public void selectRouteWithRouter2(IMediaRouter2 router, String uniqueSessionId,
|
||||
MediaRoute2Info route) {
|
||||
public void selectRouteWithRouter2(@NonNull IMediaRouter2 router,
|
||||
@NonNull String uniqueSessionId, @NonNull MediaRoute2Info route) {
|
||||
Objects.requireNonNull(router, "router must not be null");
|
||||
Objects.requireNonNull(route, "route must not be null");
|
||||
if (TextUtils.isEmpty(uniqueSessionId)) {
|
||||
@@ -345,8 +342,8 @@ class MediaRouter2ServiceImpl {
|
||||
}
|
||||
}
|
||||
|
||||
public void deselectRouteWithRouter2(IMediaRouter2 router, String uniqueSessionId,
|
||||
MediaRoute2Info route) {
|
||||
public void deselectRouteWithRouter2(@NonNull IMediaRouter2 router,
|
||||
@NonNull String uniqueSessionId, @NonNull MediaRoute2Info route) {
|
||||
Objects.requireNonNull(router, "router must not be null");
|
||||
Objects.requireNonNull(route, "route must not be null");
|
||||
if (TextUtils.isEmpty(uniqueSessionId)) {
|
||||
@@ -363,8 +360,8 @@ class MediaRouter2ServiceImpl {
|
||||
}
|
||||
}
|
||||
|
||||
public void transferToRouteWithRouter2(IMediaRouter2 router, String uniqueSessionId,
|
||||
MediaRoute2Info route) {
|
||||
public void transferToRouteWithRouter2(@NonNull IMediaRouter2 router,
|
||||
@NonNull String uniqueSessionId, @NonNull MediaRoute2Info route) {
|
||||
Objects.requireNonNull(router, "router must not be null");
|
||||
Objects.requireNonNull(route, "route must not be null");
|
||||
if (TextUtils.isEmpty(uniqueSessionId)) {
|
||||
@@ -381,8 +378,8 @@ class MediaRouter2ServiceImpl {
|
||||
}
|
||||
}
|
||||
|
||||
public void setSessionVolumeWithRouter2(IMediaRouter2 router, String uniqueSessionId,
|
||||
int volume) {
|
||||
public void setSessionVolumeWithRouter2(@NonNull IMediaRouter2 router,
|
||||
@NonNull String uniqueSessionId, int volume) {
|
||||
Objects.requireNonNull(router, "router must not be null");
|
||||
Objects.requireNonNull(uniqueSessionId, "uniqueSessionId must not be null");
|
||||
|
||||
@@ -396,7 +393,8 @@ class MediaRouter2ServiceImpl {
|
||||
}
|
||||
}
|
||||
|
||||
public void releaseSessionWithRouter2(IMediaRouter2 router, String uniqueSessionId) {
|
||||
public void releaseSessionWithRouter2(@NonNull IMediaRouter2 router,
|
||||
@NonNull String uniqueSessionId) {
|
||||
Objects.requireNonNull(router, "router must not be null");
|
||||
if (TextUtils.isEmpty(uniqueSessionId)) {
|
||||
throw new IllegalArgumentException("uniqueSessionId must not be empty");
|
||||
@@ -412,13 +410,10 @@ class MediaRouter2ServiceImpl {
|
||||
}
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////
|
||||
//// Calls from MediaRouter2Manager
|
||||
//// - Should not have @NonNull/@Nullable on any arguments
|
||||
////////////////////////////////////////////////////////////////
|
||||
// Methods that implement MediaRouter2Manager operations.
|
||||
|
||||
@NonNull
|
||||
public List<RoutingSessionInfo> getRemoteSessions(IMediaRouter2Manager manager) {
|
||||
public List<RoutingSessionInfo> getRemoteSessions(@NonNull IMediaRouter2Manager manager) {
|
||||
Objects.requireNonNull(manager, "manager must not be null");
|
||||
final long token = Binder.clearCallingIdentity();
|
||||
try {
|
||||
@@ -430,7 +425,8 @@ class MediaRouter2ServiceImpl {
|
||||
}
|
||||
}
|
||||
|
||||
public void registerManager(IMediaRouter2Manager manager, String packageName) {
|
||||
public void registerManager(@NonNull IMediaRouter2Manager manager,
|
||||
@NonNull String packageName) {
|
||||
Objects.requireNonNull(manager, "manager must not be null");
|
||||
if (TextUtils.isEmpty(packageName)) {
|
||||
throw new IllegalArgumentException("packageName must not be empty");
|
||||
@@ -450,7 +446,7 @@ class MediaRouter2ServiceImpl {
|
||||
}
|
||||
}
|
||||
|
||||
public void unregisterManager(IMediaRouter2Manager manager) {
|
||||
public void unregisterManager(@NonNull IMediaRouter2Manager manager) {
|
||||
Objects.requireNonNull(manager, "manager must not be null");
|
||||
|
||||
final long token = Binder.clearCallingIdentity();
|
||||
@@ -463,7 +459,7 @@ class MediaRouter2ServiceImpl {
|
||||
}
|
||||
}
|
||||
|
||||
public void startScan(IMediaRouter2Manager manager) {
|
||||
public void startScan(@NonNull IMediaRouter2Manager manager) {
|
||||
Objects.requireNonNull(manager, "manager must not be null");
|
||||
final long token = Binder.clearCallingIdentity();
|
||||
try {
|
||||
@@ -475,7 +471,7 @@ class MediaRouter2ServiceImpl {
|
||||
}
|
||||
}
|
||||
|
||||
public void stopScan(IMediaRouter2Manager manager) {
|
||||
public void stopScan(@NonNull IMediaRouter2Manager manager) {
|
||||
Objects.requireNonNull(manager, "manager must not be null");
|
||||
final long token = Binder.clearCallingIdentity();
|
||||
try {
|
||||
@@ -487,8 +483,8 @@ class MediaRouter2ServiceImpl {
|
||||
}
|
||||
}
|
||||
|
||||
public void setRouteVolumeWithManager(IMediaRouter2Manager manager, int requestId,
|
||||
MediaRoute2Info route, int volume) {
|
||||
public void setRouteVolumeWithManager(@NonNull IMediaRouter2Manager manager, int requestId,
|
||||
@NonNull MediaRoute2Info route, int volume) {
|
||||
Objects.requireNonNull(manager, "manager must not be null");
|
||||
Objects.requireNonNull(route, "route must not be null");
|
||||
|
||||
@@ -502,10 +498,11 @@ class MediaRouter2ServiceImpl {
|
||||
}
|
||||
}
|
||||
|
||||
public void requestCreateSessionWithManager(IMediaRouter2Manager manager, int requestId,
|
||||
RoutingSessionInfo oldSession, MediaRoute2Info route) {
|
||||
public void requestCreateSessionWithManager(@NonNull IMediaRouter2Manager manager,
|
||||
int requestId, @NonNull RoutingSessionInfo oldSession, @NonNull MediaRoute2Info route) {
|
||||
Objects.requireNonNull(manager, "manager must not be null");
|
||||
Objects.requireNonNull(oldSession, "oldSession must not be null");
|
||||
Objects.requireNonNull(route, "route must not be null");
|
||||
|
||||
final long token = Binder.clearCallingIdentity();
|
||||
try {
|
||||
@@ -517,8 +514,8 @@ class MediaRouter2ServiceImpl {
|
||||
}
|
||||
}
|
||||
|
||||
public void selectRouteWithManager(IMediaRouter2Manager manager, int requestId,
|
||||
String uniqueSessionId, MediaRoute2Info route) {
|
||||
public void selectRouteWithManager(@NonNull IMediaRouter2Manager manager, int requestId,
|
||||
@NonNull String uniqueSessionId, @NonNull MediaRoute2Info route) {
|
||||
Objects.requireNonNull(manager, "manager must not be null");
|
||||
if (TextUtils.isEmpty(uniqueSessionId)) {
|
||||
throw new IllegalArgumentException("uniqueSessionId must not be empty");
|
||||
@@ -535,8 +532,8 @@ class MediaRouter2ServiceImpl {
|
||||
}
|
||||
}
|
||||
|
||||
public void deselectRouteWithManager(IMediaRouter2Manager manager, int requestId,
|
||||
String uniqueSessionId, MediaRoute2Info route) {
|
||||
public void deselectRouteWithManager(@NonNull IMediaRouter2Manager manager, int requestId,
|
||||
@NonNull String uniqueSessionId, @NonNull MediaRoute2Info route) {
|
||||
Objects.requireNonNull(manager, "manager must not be null");
|
||||
if (TextUtils.isEmpty(uniqueSessionId)) {
|
||||
throw new IllegalArgumentException("uniqueSessionId must not be empty");
|
||||
@@ -553,8 +550,8 @@ class MediaRouter2ServiceImpl {
|
||||
}
|
||||
}
|
||||
|
||||
public void transferToRouteWithManager(IMediaRouter2Manager manager, int requestId,
|
||||
String uniqueSessionId, MediaRoute2Info route) {
|
||||
public void transferToRouteWithManager(@NonNull IMediaRouter2Manager manager, int requestId,
|
||||
@NonNull String uniqueSessionId, @NonNull MediaRoute2Info route) {
|
||||
Objects.requireNonNull(manager, "manager must not be null");
|
||||
if (TextUtils.isEmpty(uniqueSessionId)) {
|
||||
throw new IllegalArgumentException("uniqueSessionId must not be empty");
|
||||
@@ -571,8 +568,8 @@ class MediaRouter2ServiceImpl {
|
||||
}
|
||||
}
|
||||
|
||||
public void setSessionVolumeWithManager(IMediaRouter2Manager manager, int requestId,
|
||||
String uniqueSessionId, int volume) {
|
||||
public void setSessionVolumeWithManager(@NonNull IMediaRouter2Manager manager, int requestId,
|
||||
@NonNull String uniqueSessionId, int volume) {
|
||||
Objects.requireNonNull(manager, "manager must not be null");
|
||||
if (TextUtils.isEmpty(uniqueSessionId)) {
|
||||
throw new IllegalArgumentException("uniqueSessionId must not be empty");
|
||||
@@ -588,8 +585,8 @@ class MediaRouter2ServiceImpl {
|
||||
}
|
||||
}
|
||||
|
||||
public void releaseSessionWithManager(IMediaRouter2Manager manager, int requestId,
|
||||
String uniqueSessionId) {
|
||||
public void releaseSessionWithManager(@NonNull IMediaRouter2Manager manager, int requestId,
|
||||
@NonNull String uniqueSessionId) {
|
||||
Objects.requireNonNull(manager, "manager must not be null");
|
||||
if (TextUtils.isEmpty(uniqueSessionId)) {
|
||||
throw new IllegalArgumentException("uniqueSessionId must not be empty");
|
||||
@@ -668,11 +665,6 @@ class MediaRouter2ServiceImpl {
|
||||
return mUserManagerInternal.getProfileParentId(userId) == mCurrentActiveUserId;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////
|
||||
//// ***Locked methods related to MediaRouter2
|
||||
//// - Should have @NonNull/@Nullable on all arguments
|
||||
////////////////////////////////////////////////////////////////
|
||||
|
||||
@GuardedBy("mLock")
|
||||
private void registerRouter2Locked(@NonNull IMediaRouter2 router, int uid, int pid,
|
||||
@NonNull String packageName, int userId, boolean hasConfigureWifiDisplayPermission,
|
||||
@@ -900,11 +892,6 @@ class MediaRouter2ServiceImpl {
|
||||
DUMMY_REQUEST_ID, routerRecord, uniqueSessionId));
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
//// ***Locked methods related to MediaRouter2Manager
|
||||
//// - Should have @NonNull/@Nullable on all arguments
|
||||
////////////////////////////////////////////////////////////
|
||||
|
||||
private List<RoutingSessionInfo> getRemoteSessionsLocked(
|
||||
@NonNull IMediaRouter2Manager manager) {
|
||||
final IBinder binder = manager.asBinder();
|
||||
@@ -1013,8 +1000,8 @@ class MediaRouter2ServiceImpl {
|
||||
}
|
||||
|
||||
private void requestCreateSessionWithManagerLocked(int requestId,
|
||||
@NonNull IMediaRouter2Manager manager,
|
||||
@NonNull RoutingSessionInfo oldSession, @NonNull MediaRoute2Info route) {
|
||||
@NonNull IMediaRouter2Manager manager, @NonNull RoutingSessionInfo oldSession,
|
||||
@NonNull MediaRoute2Info route) {
|
||||
ManagerRecord managerRecord = mAllManagerRecords.get(manager.asBinder());
|
||||
if (managerRecord == null) {
|
||||
return;
|
||||
@@ -1136,8 +1123,7 @@ class MediaRouter2ServiceImpl {
|
||||
}
|
||||
|
||||
private void releaseSessionWithManagerLocked(int requestId,
|
||||
@NonNull IMediaRouter2Manager manager,
|
||||
@NonNull String uniqueSessionId) {
|
||||
@NonNull IMediaRouter2Manager manager, @NonNull String uniqueSessionId) {
|
||||
final IBinder binder = manager.asBinder();
|
||||
ManagerRecord managerRecord = mAllManagerRecords.get(binder);
|
||||
|
||||
@@ -1155,11 +1141,6 @@ class MediaRouter2ServiceImpl {
|
||||
uniqueRequestId, routerRecord, uniqueSessionId));
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
//// ***Locked methods used by both router2 and manager
|
||||
//// - Should have @NonNull/@Nullable on all arguments
|
||||
////////////////////////////////////////////////////////////
|
||||
|
||||
@GuardedBy("mLock")
|
||||
private UserRecord getOrCreateUserRecordLocked(int userId) {
|
||||
UserRecord userRecord = mUserRecords.get(userId);
|
||||
|
||||
Reference in New Issue
Block a user