Snap for 10654358 from f2dc4205bd753f6ac58c7798ad8a9df9f0e7da4f to mainline-conscrypt-release Change-Id: I03187fc35edd9682ac5d736e5d2ecc0688684dcd
diff --git a/apex/service/java/com/android/server/media/MediaCommunicationService.java b/apex/service/java/com/android/server/media/MediaCommunicationService.java index b88e586..3ebb40b 100644 --- a/apex/service/java/com/android/server/media/MediaCommunicationService.java +++ b/apex/service/java/com/android/server/media/MediaCommunicationService.java
@@ -272,20 +272,15 @@ } } - void onSessionDied(Session2Record session) { + private void removeSessionRecord(Session2Record session) { if (DEBUG) { - Log.d(TAG, "Destroying " + session); - } - if (session.isClosed()) { - Log.w(TAG, "Destroying already destroyed session. Ignoring."); - return; + Log.d(TAG, "Removing " + session); } FullUserRecord user = session.getFullUser(); if (user != null) { user.removeSession(session); } - session.close(); } void onSessionPlaybackStateChanged(Session2Record session, boolean promotePriority) { @@ -681,10 +676,13 @@ } synchronized (mSession2RecordLock) { mIsConnected = false; + // As per onDisconnected documentation, we do not need to call close() after + // onDisconnected is called. + mIsClosed = true; } MediaCommunicationService service = mServiceRef.get(); if (service != null) { - service.onSessionDied(Session2Record.this); + service.removeSessionRecord(Session2Record.this); } }