summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/WideAnglePanoramaModule.java
diff options
context:
space:
mode:
authorJack Yoo <jyoo@codeaurora.org>2016-01-27 17:09:15 -0800
committerGerrit Code Review <gerrit@cyanogenmod.org>2016-05-26 09:48:45 -0700
commit02fa4483a6536b19ee49a5f98d30a3fa03eae72d (patch)
treec0afa86098ffd2f7f1452de45d092141cd66157a /src/com/android/camera/WideAnglePanoramaModule.java
parent94574eb97d43e17d0f2a115370f0f767f4c6049c (diff)
downloadandroid_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.java17
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();