summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--media/java/android/media/MediaRouter2.java22
1 files changed, 11 insertions, 11 deletions
diff --git a/media/java/android/media/MediaRouter2.java b/media/java/android/media/MediaRouter2.java
index 17f25255fd4b..687feef6c58a 100644
--- a/media/java/android/media/MediaRouter2.java
+++ b/media/java/android/media/MediaRouter2.java
@@ -3109,9 +3109,8 @@ public final class MediaRouter2 {
mStub, mDiscoveryPreference);
}
- if (mRouteCallbackRecords.isEmpty() && mNonSystemRoutingControllers.isEmpty()) {
- unregisterRouterStubLocked();
- }
+ unregisterRouterStubIfNeededLocked();
+
} catch (RemoteException ex) {
Log.e(TAG, "unregisterRouteCallback: Unable to set discovery request.", ex);
}
@@ -3319,13 +3318,12 @@ public final class MediaRouter2 {
obtainMessage(MediaRouter2::notifyStop, MediaRouter2.this, controller));
}
- if (mRouteCallbackRecords.isEmpty() && mNonSystemRoutingControllers.isEmpty()) {
- try {
- unregisterRouterStubLocked();
- } catch (RemoteException ex) {
- ex.rethrowFromSystemServer();
- }
+ try {
+ unregisterRouterStubIfNeededLocked();
+ } catch (RemoteException ex) {
+ ex.rethrowFromSystemServer();
}
+
}
}
@@ -3339,8 +3337,10 @@ public final class MediaRouter2 {
}
@GuardedBy("mLock")
- private void unregisterRouterStubLocked() throws RemoteException {
- if (mStub != null) {
+ private void unregisterRouterStubIfNeededLocked() throws RemoteException {
+ if (mStub != null
+ && mRouteCallbackRecords.isEmpty()
+ && mNonSystemRoutingControllers.isEmpty()) {
mMediaRouterService.unregisterRouter2(mStub);
mStub = null;
}