From 0541c4e942fbcab4e781b06f09fb1fb4025f3879 Mon Sep 17 00:00:00 2001 From: Santiago Seifert Date: Wed, 20 Jul 2022 10:55:27 +0000 Subject: [PATCH] Rethrow MediaRouter2Manager RemoteExceptions This is a cherrypick of commit 147cb7c877be5e9ef457bdd602f07374c0c016e3. Said exceptions mean the system server died, after which guidance suggests it's not a good idea to silently swallow said exception. Specially considering the client will be restarted shortly after the system server dies. Bug: 232812007 Test: atest MediaDeviceManagerTest MediaDataCombineLatestTest CtsMediaBetterTogetherTestCases Change-Id: I21a724896684d79097ae74df2d5a54e60514ebdf Merged-In: I21a724896684d79097ae74df2d5a54e60514ebdf --- .../android/media/MediaRouter2Manager.java | 26 +++++++++---------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/media/java/android/media/MediaRouter2Manager.java b/media/java/android/media/MediaRouter2Manager.java index 071667a0e932f..c84f5b09f166a 100644 --- a/media/java/android/media/MediaRouter2Manager.java +++ b/media/java/android/media/MediaRouter2Manager.java @@ -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; } /**