Always bind to new media source, clear session callback
Bug: 145331204
Test: Manual
Change-Id: I860ebe717d36b7fa3a1840f8e2f151a2e648e8d8
diff --git a/service/src/com/android/car/CarMediaService.java b/service/src/com/android/car/CarMediaService.java
index 665643a..0bec4e8 100644
--- a/service/src/com/android/car/CarMediaService.java
+++ b/service/src/com/android/car/CarMediaService.java
@@ -519,6 +519,11 @@
return;
}
+ // Clear playback state callback so we preserve the state before stopping
+ if (mActiveUserMediaController != null) {
+ mActiveUserMediaController.unregisterCallback(mMediaControllerCallback);
+ mActiveUserMediaController = null;
+ }
stop();
mPreviousMediaComponent = mPrimaryMediaComponent;
@@ -535,9 +540,9 @@
}
notifyListeners();
- if (shouldStartPlayback(mPlayOnMediaSourceChangedConfig)) {
- startMediaConnectorService(true, new UserHandle(mCurrentUser));
- }
+
+ startMediaConnectorService(shouldStartPlayback(mPlayOnMediaSourceChangedConfig),
+ new UserHandle(mCurrentUser));
}
private void notifyListeners() {