Merge changes from topic "cherrypicker-L70100000956505250:N87500001297085156" into tm-qpr-dev

* changes:
  Add mediaroutertest to frameworks/base/media/TEST_MAPPING
  Rethrow MediaRouter2Manager RemoteExceptions
  Guard MediaDeviceManager.Entry against successive stop calls
This commit is contained in:
TreeHugger Robot
2022-09-23 22:10:09 +00:00
committed by Android (Google) Code Review
4 changed files with 34 additions and 29 deletions

View File

@@ -1,5 +1,8 @@
{
"presubmit": [
{
"name": "mediaroutertest"
},
{
"name": "CtsCameraTestCases",
"options" : [

View File

@@ -172,7 +172,7 @@ public final class MediaRouter2Manager {
try {
mMediaRouterService.startScan(client);
} catch (RemoteException ex) {
Log.e(TAG, "Unable to get sessions. Service probably died.", ex);
throw ex.rethrowFromSystemServer();
}
}
}
@@ -196,7 +196,7 @@ public final class MediaRouter2Manager {
try {
mMediaRouterService.stopScan(client);
} catch (RemoteException ex) {
Log.e(TAG, "Unable to get sessions. Service probably died.", ex);
throw ex.rethrowFromSystemServer();
}
}
}
@@ -361,9 +361,8 @@ public final class MediaRouter2Manager {
return mMediaRouterService.getSystemSessionInfoForPackage(
getOrCreateClient(), packageName);
} catch (RemoteException ex) {
Log.e(TAG, "Unable to get current system session info", ex);
throw ex.rethrowFromSystemServer();
}
return null;
}
/**
@@ -429,7 +428,7 @@ public final class MediaRouter2Manager {
try {
return mMediaRouterService.getRemoteSessions(client);
} catch (RemoteException ex) {
Log.e(TAG, "Unable to get sessions. Service probably died.", ex);
throw ex.rethrowFromSystemServer();
}
}
return Collections.emptyList();
@@ -521,7 +520,7 @@ public final class MediaRouter2Manager {
int requestId = mNextRequestId.getAndIncrement();
mMediaRouterService.setRouteVolumeWithManager(client, requestId, route, volume);
} catch (RemoteException ex) {
Log.e(TAG, "Unable to set route volume.", ex);
throw ex.rethrowFromSystemServer();
}
}
}
@@ -551,7 +550,7 @@ public final class MediaRouter2Manager {
mMediaRouterService.setSessionVolumeWithManager(
client, requestId, sessionInfo.getId(), volume);
} catch (RemoteException ex) {
Log.e(TAG, "Unable to set session volume.", ex);
throw ex.rethrowFromSystemServer();
}
}
}
@@ -816,7 +815,7 @@ public final class MediaRouter2Manager {
mMediaRouterService.selectRouteWithManager(
client, requestId, sessionInfo.getId(), route);
} catch (RemoteException ex) {
Log.e(TAG, "selectRoute: Failed to send a request.", ex);
throw ex.rethrowFromSystemServer();
}
}
}
@@ -858,7 +857,7 @@ public final class MediaRouter2Manager {
mMediaRouterService.deselectRouteWithManager(
client, requestId, sessionInfo.getId(), route);
} catch (RemoteException ex) {
Log.e(TAG, "deselectRoute: Failed to send a request.", ex);
throw ex.rethrowFromSystemServer();
}
}
}
@@ -883,7 +882,7 @@ public final class MediaRouter2Manager {
mMediaRouterService.releaseSessionWithManager(
client, requestId, sessionInfo.getId());
} catch (RemoteException ex) {
Log.e(TAG, "releaseSession: Failed to send a request", ex);
throw ex.rethrowFromSystemServer();
}
}
}
@@ -903,7 +902,7 @@ public final class MediaRouter2Manager {
mMediaRouterService.transferToRouteWithManager(
client, requestId, session.getId(), route);
} catch (RemoteException ex) {
Log.e(TAG, "transferToRoute: Failed to send a request.", ex);
throw ex.rethrowFromSystemServer();
}
}
}
@@ -923,7 +922,7 @@ public final class MediaRouter2Manager {
mMediaRouterService.requestCreateSessionWithManager(
client, requestId, oldSession, route);
} catch (RemoteException ex) {
Log.e(TAG, "requestCreateSession: Failed to send a request", ex);
throw ex.rethrowFromSystemServer();
}
}
}
@@ -979,10 +978,9 @@ public final class MediaRouter2Manager {
mClient = client;
return client;
} catch (RemoteException ex) {
Log.e(TAG, "Unable to register media router manager.", ex);
throw ex.rethrowFromSystemServer();
}
}
return null;
}
/**

View File

@@ -25,7 +25,7 @@ android_test {
"testng",
"truth-prebuilt",
],
test_suites: ["general-tests"],
platform_apis: true,
certificate: "platform",
}

View File

@@ -188,24 +188,28 @@ class MediaDeviceManager @Inject constructor(
@AnyThread
fun start() = bgExecutor.execute {
localMediaManager.registerCallback(this)
localMediaManager.startScan()
muteAwaitConnectionManager?.startListening()
playbackType = controller?.playbackInfo?.playbackType ?: PLAYBACK_TYPE_UNKNOWN
controller?.registerCallback(this)
updateCurrent()
started = true
configurationController.addCallback(configListener)
if (!started) {
localMediaManager.registerCallback(this)
localMediaManager.startScan()
muteAwaitConnectionManager?.startListening()
playbackType = controller?.playbackInfo?.playbackType ?: PLAYBACK_TYPE_UNKNOWN
controller?.registerCallback(this)
updateCurrent()
started = true
configurationController.addCallback(configListener)
}
}
@AnyThread
fun stop() = bgExecutor.execute {
started = false
controller?.unregisterCallback(this)
localMediaManager.stopScan()
localMediaManager.unregisterCallback(this)
muteAwaitConnectionManager?.stopListening()
configurationController.removeCallback(configListener)
if (started) {
started = false
controller?.unregisterCallback(this)
localMediaManager.stopScan()
localMediaManager.unregisterCallback(this)
muteAwaitConnectionManager?.stopListening()
configurationController.removeCallback(configListener)
}
}
fun dump(pw: PrintWriter) {