diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/camera/CameraActivity.java | 3 | ||||
-rw-r--r--[-rwxr-xr-x] | src/com/android/camera/CaptureModule.java | 5 | ||||
-rw-r--r-- | src/com/android/camera/SettingsManager.java | 4 |
3 files changed, 12 insertions, 0 deletions
diff --git a/src/com/android/camera/CameraActivity.java b/src/com/android/camera/CameraActivity.java index 045e771cd..acbf0483a 100644 --- a/src/com/android/camera/CameraActivity.java +++ b/src/com/android/camera/CameraActivity.java @@ -1831,6 +1831,9 @@ public class CameraActivity extends Activity mCursor.close(); mCursor=null; } + if (mCaptureModule != null){ + mCaptureModule.unRegisterSettingsListener(); + } if (mDataAdapter != null) { mDataAdapter.stopLoading(); } diff --git a/src/com/android/camera/CaptureModule.java b/src/com/android/camera/CaptureModule.java index 041e19b74..b6968f6f9 100755..100644 --- a/src/com/android/camera/CaptureModule.java +++ b/src/com/android/camera/CaptureModule.java @@ -640,6 +640,11 @@ public class CaptureModule extends BaseModule<CaptureUI> implements PhotoControl } } + public void unRegisterSettingsListener(){ + mSettingsManager.unregisterListener(this); + mSettingsManager.unregisterListener(mUI); + } + public void startFaceDetection() { mUI.onStartFaceDetection(mDisplayOrientation, mSettingsManager.isFacingFront(getMainCameraId()), diff --git a/src/com/android/camera/SettingsManager.java b/src/com/android/camera/SettingsManager.java index 263575cb7..c242224c7 100644 --- a/src/com/android/camera/SettingsManager.java +++ b/src/com/android/camera/SettingsManager.java @@ -379,6 +379,10 @@ public class SettingsManager implements ListMenu.SettingsListener { mListeners.add(listener); } + public void unregisterListener(Listener listener) { + mListeners.remove(listener); + } + private void notifyListeners(List<SettingState> changes) { for (Listener listener : mListeners) { listener.onSettingsChanged(changes); |