Check whether a session is still managed before removing
When the controller of the `MediaNotificationManager` is disconnected, the session is removed from the service without checking whether the session hasn't already been removed. This caused flakiness in `MediaSessionServiceTest.addSession()`. Because there is a public API `MediaSessionService.removeSession()`, the controller can't make an assumption whether the session is still contained in the service when being disconnected. #minor-release PiperOrigin-RevId: 572568350
This commit is contained in:
parent
cef85be40f
commit
7fdc5b22ba
@ -392,7 +392,9 @@ import java.util.concurrent.TimeoutException;
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onDisconnected(MediaController controller) {
|
public void onDisconnected(MediaController controller) {
|
||||||
mediaSessionService.removeSession(session);
|
if (mediaSessionService.isSessionAdded(session)) {
|
||||||
|
mediaSessionService.removeSession(session);
|
||||||
|
}
|
||||||
// We may need to hide the notification.
|
// We may need to hide the notification.
|
||||||
mediaSessionService.onUpdateNotificationInternal(
|
mediaSessionService.onUpdateNotificationInternal(
|
||||||
session, /* startInForegroundWhenPaused= */ false);
|
session, /* startInForegroundWhenPaused= */ false);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user