From 4e72c9098e96866fe9d7612c197a5b26f8f99d57 Mon Sep 17 00:00:00 2001 From: Doris Liu Date: Thu, 7 Feb 2013 12:32:42 -0800 Subject: Fix memory leak in ComboPreferences Bug: 8028546 Change-Id: I05246ba6675c62f89b1eaeb90d594dcb9aaf7185 --- src/com/android/camera/ComboPreferences.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/com/android') diff --git a/src/com/android/camera/ComboPreferences.java b/src/com/android/camera/ComboPreferences.java index af1476eac..9155fb3eb 100644 --- a/src/com/android/camera/ComboPreferences.java +++ b/src/com/android/camera/ComboPreferences.java @@ -32,12 +32,14 @@ public class ComboPreferences implements OnSharedPreferenceChangeListener { private SharedPreferences mPrefGlobal; // global preferences private SharedPreferences mPrefLocal; // per-camera preferences - private BackupManager mBackupManager; + private String mPackageName; private CopyOnWriteArrayList mListeners; + // TODO: Remove this WeakHashMap in the camera code refactoring private static WeakHashMap sMap = new WeakHashMap(); public ComboPreferences(Context context) { + mPackageName = context.getPackageName(); mPrefGlobal = context.getSharedPreferences( getGlobalSharedPreferencesName(context), Context.MODE_PRIVATE); mPrefGlobal.registerOnSharedPreferenceChangeListener(this); @@ -45,7 +47,6 @@ public class ComboPreferences implements synchronized (sMap) { sMap.put(context, this); } - mBackupManager = new BackupManager(context); mListeners = new CopyOnWriteArrayList(); // The global preferences was previously stored in the default @@ -327,6 +328,6 @@ public class ComboPreferences implements for (OnSharedPreferenceChangeListener listener : mListeners) { listener.onSharedPreferenceChanged(this, key); } - mBackupManager.dataChanged(); + BackupManager.dataChanged(mPackageName); } } -- cgit v1.2.3