summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Erik Wolsheimer <ewol@google.com> 2016-10-11 18:31:32 +0000
committer android-build-merger <android-build-merger@google.com> 2016-10-11 18:31:32 +0000
commitfdc44dc732ee8900fc597945a9fd4e4a229db757 (patch)
tree69d7248a248c75246337b2c91da8a70640c39e15
parent9011f8f92649a792bdc52578e81ef37cdc0eccf1 (diff)
parent8d135d53ccaa0545b0d15ffd13edfda3577e8d38 (diff)
Fix memory leak in Ringtone am: 76ed4ddca0
am: 8d135d53cc Change-Id: Ieed5a2e27ba53142ceb02a4e6812509beaabb414
-rw-r--r--media/java/android/media/Ringtone.java8
1 files changed, 6 insertions, 2 deletions
diff --git a/media/java/android/media/Ringtone.java b/media/java/android/media/Ringtone.java
index 8ae6e6bda0f2..754fe45c2a06 100644
--- a/media/java/android/media/Ringtone.java
+++ b/media/java/android/media/Ringtone.java
@@ -371,6 +371,7 @@ public class Ringtone {
private void destroyLocalPlayer() {
if (mLocalPlayer != null) {
+ mLocalPlayer.setOnCompletionListener(null);
mLocalPlayer.reset();
mLocalPlayer.release();
mLocalPlayer = null;
@@ -467,11 +468,14 @@ public class Ringtone {
}
class MyOnCompletionListener implements MediaPlayer.OnCompletionListener {
- public void onCompletion(MediaPlayer mp)
- {
+ @Override
+ public void onCompletion(MediaPlayer mp) {
synchronized (sActiveRingtones) {
sActiveRingtones.remove(Ringtone.this);
}
+ if (mLocalPlayer != null) {
+ mLocalPlayer.setOnCompletionListener(null);
+ }
}
}
}