Loading media/java/android/media/AudioService.java +10 −2 Original line number Diff line number Diff line Loading @@ -3062,6 +3062,7 @@ public class AudioService extends IAudioService.Stub { if ((mRcClientDeathHandler != null) && (mRcClientDeathHandler.mCb != null)) { try { mRcClientDeathHandler.mCb.unlinkToDeath(mRcClientDeathHandler, 0); mRcClientDeathHandler = null; } catch (java.util.NoSuchElementException e) { // not much we can do here Log.e(TAG, "Encountered " + e + " in unlinkToRcClientDeath()"); Loading @@ -3069,6 +3070,12 @@ public class AudioService extends IAudioService.Stub { } } } @Override protected void finalize() throws Throwable { unlinkToRcClientDeath();// unlink exception handled inside method super.finalize(); } } /** Loading Loading @@ -3115,6 +3122,7 @@ public class AudioService extends IAudioService.Stub { if (packageName.equalsIgnoreCase(rcse.mReceiverComponent.getPackageName())) { // a stack entry is from the package being removed, remove it from the stack stackIterator.remove(); rcse.unlinkToRcClientDeath(); } } if (mRCStack.empty()) { Loading Loading @@ -3195,6 +3203,7 @@ public class AudioService extends IAudioService.Stub { RemoteControlStackEntry rcse = (RemoteControlStackEntry)stackIterator.next(); if(rcse.mMediaIntent.equals(pi)) { stackIterator.remove(); rcse.unlinkToRcClientDeath(); break; } } Loading Loading @@ -3456,7 +3465,7 @@ public class AudioService extends IAudioService.Stub { rcse.mCallingPackageName = callingPackageName; rcse.mCallingUid = Binder.getCallingUid(); if (rcClient == null) { rcse.mRcClientDeathHandler = null; // here rcse.mRcClientDeathHandler is null; break; } Loading Loading @@ -3512,7 +3521,6 @@ public class AudioService extends IAudioService.Stub { rcse.unlinkToRcClientDeath(); // reset the client-related fields rcse.mRcClient = null; rcse.mRcClientDeathHandler = null; rcse.mCallingPackageName = null; } } Loading Loading
media/java/android/media/AudioService.java +10 −2 Original line number Diff line number Diff line Loading @@ -3062,6 +3062,7 @@ public class AudioService extends IAudioService.Stub { if ((mRcClientDeathHandler != null) && (mRcClientDeathHandler.mCb != null)) { try { mRcClientDeathHandler.mCb.unlinkToDeath(mRcClientDeathHandler, 0); mRcClientDeathHandler = null; } catch (java.util.NoSuchElementException e) { // not much we can do here Log.e(TAG, "Encountered " + e + " in unlinkToRcClientDeath()"); Loading @@ -3069,6 +3070,12 @@ public class AudioService extends IAudioService.Stub { } } } @Override protected void finalize() throws Throwable { unlinkToRcClientDeath();// unlink exception handled inside method super.finalize(); } } /** Loading Loading @@ -3115,6 +3122,7 @@ public class AudioService extends IAudioService.Stub { if (packageName.equalsIgnoreCase(rcse.mReceiverComponent.getPackageName())) { // a stack entry is from the package being removed, remove it from the stack stackIterator.remove(); rcse.unlinkToRcClientDeath(); } } if (mRCStack.empty()) { Loading Loading @@ -3195,6 +3203,7 @@ public class AudioService extends IAudioService.Stub { RemoteControlStackEntry rcse = (RemoteControlStackEntry)stackIterator.next(); if(rcse.mMediaIntent.equals(pi)) { stackIterator.remove(); rcse.unlinkToRcClientDeath(); break; } } Loading Loading @@ -3456,7 +3465,7 @@ public class AudioService extends IAudioService.Stub { rcse.mCallingPackageName = callingPackageName; rcse.mCallingUid = Binder.getCallingUid(); if (rcClient == null) { rcse.mRcClientDeathHandler = null; // here rcse.mRcClientDeathHandler is null; break; } Loading Loading @@ -3512,7 +3521,6 @@ public class AudioService extends IAudioService.Stub { rcse.unlinkToRcClientDeath(); // reset the client-related fields rcse.mRcClient = null; rcse.mRcClientDeathHandler = null; rcse.mCallingPackageName = null; } } Loading