diff options
author | Jack Yoo <jyoo@codeaurora.org> | 2016-01-27 17:09:15 -0800 |
---|---|---|
committer | Gerrit Code Review <gerrit@cyanogenmod.org> | 2016-05-26 09:48:45 -0700 |
commit | 02fa4483a6536b19ee49a5f98d30a3fa03eae72d (patch) | |
tree | c0afa86098ffd2f7f1452de45d092141cd66157a /src/com/android/camera/WideAnglePanoramaModule.java | |
parent | 94574eb97d43e17d0f2a115370f0f767f4c6049c (diff) | |
download | android_packages_apps_Snap-02fa4483a6536b19ee49a5f98d30a3fa03eae72d.tar.gz android_packages_apps_Snap-02fa4483a6536b19ee49a5f98d30a3fa03eae72d.tar.bz2 android_packages_apps_Snap-02fa4483a6536b19ee49a5f98d30a3fa03eae72d.zip |
SnapdragonCamera: Fix the memory leak on view.
Keep using modules instead of creating.
Don't remove the view without cleaning it.
Change-Id: I260a660cac3d770f7d02dfdc1881e15490da66a0
CRs-Fixed: 958510
Diffstat (limited to 'src/com/android/camera/WideAnglePanoramaModule.java')
-rw-r--r-- | src/com/android/camera/WideAnglePanoramaModule.java | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/com/android/camera/WideAnglePanoramaModule.java b/src/com/android/camera/WideAnglePanoramaModule.java index e8ef589d7..0f1396a7d 100644 --- a/src/com/android/camera/WideAnglePanoramaModule.java +++ b/src/com/android/camera/WideAnglePanoramaModule.java @@ -215,6 +215,17 @@ public class WideAnglePanoramaModule } } + private int getPreferredCameraId(ComboPreferences preferences) { + int intentCameraId = CameraUtil.getCameraFacingIntentExtras(mActivity); + if (intentCameraId != -1) { + // Testing purpose. Launch a specific camera through the intent + // extras. + return intentCameraId; + } else { + return CameraSettings.readPreferredCameraId(preferences); + } + } + @Override public void init(CameraActivity activity, View parent) { mActivity = activity; @@ -291,6 +302,7 @@ public class WideAnglePanoramaModule mDialogWaitingPreviousString = appRes.getString(R.string.pano_dialog_waiting_previous); mPreferences = new ComboPreferences(mActivity); + mPreferences.setLocalId(mActivity, getPreferredCameraId(mPreferences)); CameraSettings.upgradeGlobalPreferences(mPreferences.getGlobal(), activity); mLocationManager = new LocationManager(mActivity, null); @@ -951,6 +963,10 @@ public class WideAnglePanoramaModule @Override public void onResumeBeforeSuper() { mPaused = false; + mPreferences = new ComboPreferences(mActivity); + CameraSettings.upgradeGlobalPreferences(mPreferences.getGlobal(), mActivity); + mPreferences.setLocalId(mActivity, getPreferredCameraId(mPreferences)); + CameraSettings.upgradeLocalPreferences(mPreferences.getLocal()); } @Override @@ -992,6 +1008,7 @@ public class WideAnglePanoramaModule } }); } + mUI.setSwitcherIndex(); keepScreenOnAwhile(); mOrientationManager.resume(); |