summaryrefslogtreecommitdiffstats
path: root/src/com/android/providers
diff options
context:
space:
mode:
authorMarco Nelissen <marcone@google.com>2014-03-27 11:27:11 -0700
committerMarco Nelissen <marcone@google.com>2014-03-27 13:30:17 -0700
commit1e45d525d1e521a0b1d425d53f1cda773fd203d3 (patch)
tree83bcab1640ad6c59cd2c2cb551cfb878caaa99d2 /src/com/android/providers
parent1cf716968afd032e8261df3f6c4671c1f0c5f769 (diff)
downloadandroid_packages_providers_MediaProvider-1e45d525d1e521a0b1d425d53f1cda773fd203d3.tar.gz
android_packages_providers_MediaProvider-1e45d525d1e521a0b1d425d53f1cda773fd203d3.tar.bz2
android_packages_providers_MediaProvider-1e45d525d1e521a0b1d425d53f1cda773fd203d3.zip
Unset server before database is discarded.
This fixes a broadcastreceiver leak. b/13622801 Change-Id: If9da147163c8f819eae66f97424a37e6f6f6d3aa
Diffstat (limited to 'src/com/android/providers')
-rw-r--r--src/com/android/providers/media/MtpService.java6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/com/android/providers/media/MtpService.java b/src/com/android/providers/media/MtpService.java
index e57aa645..7f61d8ba 100644
--- a/src/com/android/providers/media/MtpService.java
+++ b/src/com/android/providers/media/MtpService.java
@@ -158,6 +158,9 @@ public class MtpService extends Service {
}
}
final StorageVolume primary = StorageManager.getPrimaryVolume(mVolumes);
+ if (mDatabase != null) {
+ mDatabase.setServer(null);
+ }
mDatabase = new MtpDatabase(this, MediaProvider.EXTERNAL_VOLUME,
primary.getPath(), subdirs);
manageServiceLocked();
@@ -204,6 +207,9 @@ public class MtpService extends Service {
public void onDestroy() {
unregisterReceiver(mReceiver);
mStorageManager.unregisterListener(mStorageEventListener);
+ if (mDatabase != null) {
+ mDatabase.setServer(null);
+ }
}
private final IMtpService.Stub mBinder =