diff options
author | Jay Wang <jaywang@codeaurora.org> | 2016-06-21 11:39:17 -0700 |
---|---|---|
committer | Jay Wang <jaywang@codeaurora.org> | 2016-06-21 11:54:54 -0700 |
commit | f38de1f33a6fcf1b7e804617158b506e1ffa4374 (patch) | |
tree | 60d1cfa064b8422029c883a122a59cea936619e3 /src/com/android | |
parent | f108f6243de9869ee43a6d2c2a7a1476abd137ab (diff) | |
download | android_packages_apps_Snap-f38de1f33a6fcf1b7e804617158b506e1ffa4374.tar.gz android_packages_apps_Snap-f38de1f33a6fcf1b7e804617158b506e1ffa4374.tar.bz2 android_packages_apps_Snap-f38de1f33a6fcf1b7e804617158b506e1ffa4374.zip |
SnapdragonCamera: Fix the camera setting corruption issue
Two instances of camera preference were created and caused
the wrong preference instance is referenced when changing the
camera2 mode. Due to this, it corrupted the camera setting on
the other camera device.
To resolve the issue, create single instance of camera
preference and re-use it.
Change-Id: Ia1a6923a10b83e4c5777fb1318677c1f191942fb
CRs-fixed: 1025776
Diffstat (limited to 'src/com/android')
-rw-r--r-- | src/com/android/camera/PhotoModule.java | 11 | ||||
-rw-r--r-- | src/com/android/camera/SettingsManager.java | 5 | ||||
-rw-r--r-- | src/com/android/camera/VideoModule.java | 12 | ||||
-rw-r--r-- | src/com/android/camera/WideAnglePanoramaModule.java | 12 |
4 files changed, 33 insertions, 7 deletions
diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java index d6caf7eb8..6941b67b0 100644 --- a/src/com/android/camera/PhotoModule.java +++ b/src/com/android/camera/PhotoModule.java @@ -544,7 +544,10 @@ public class PhotoModule } public void reinit() { - mPreferences = new ComboPreferences(mActivity); + mPreferences = ComboPreferences.get(mActivity); + if (mPreferences == null) { + mPreferences = new ComboPreferences(mActivity); + } CameraSettings.upgradeGlobalPreferences(mPreferences.getGlobal(), mActivity); mCameraId = getPreferredCameraId(mPreferences); mPreferences.setLocalId(mActivity, mCameraId); @@ -555,7 +558,11 @@ public class PhotoModule public void init(CameraActivity activity, View parent) { mActivity = activity; mRootView = parent; - mPreferences = new ComboPreferences(mActivity); + mPreferences = ComboPreferences.get(mActivity); + if (mPreferences == null) { + mPreferences = new ComboPreferences(mActivity); + } + CameraSettings.upgradeGlobalPreferences(mPreferences.getGlobal(), activity); mCameraId = getPreferredCameraId(mPreferences); diff --git a/src/com/android/camera/SettingsManager.java b/src/com/android/camera/SettingsManager.java index cc7523265..bd9322b4d 100644 --- a/src/com/android/camera/SettingsManager.java +++ b/src/com/android/camera/SettingsManager.java @@ -104,7 +104,10 @@ public class SettingsManager implements ListMenu.SettingsListener { mListeners = new ArrayList<>(); mCharacteristics = new ArrayList<>(); mContext = context; - mPreferences = new ComboPreferences(mContext); + mPreferences = ComboPreferences.get(mContext); + if (mPreferences == null) { + mPreferences = new ComboPreferences(mContext); + } CameraSettings.upgradeGlobalPreferences(mPreferences.getGlobal(), mContext); CameraManager manager = (CameraManager) mContext.getSystemService(Context.CAMERA_SERVICE); diff --git a/src/com/android/camera/VideoModule.java b/src/com/android/camera/VideoModule.java index 96423044f..9cb48eb0f 100644 --- a/src/com/android/camera/VideoModule.java +++ b/src/com/android/camera/VideoModule.java @@ -453,7 +453,11 @@ public class VideoModule implements CameraModule, } public void reinit() { - mPreferences = new ComboPreferences(mActivity); + mPreferences = ComboPreferences.get(mActivity); + if (mPreferences == null) { + mPreferences = new ComboPreferences(mActivity); + } + CameraSettings.upgradeGlobalPreferences(mPreferences.getGlobal(), mActivity); mCameraId = getPreferredCameraId(mPreferences); mPreferences.setLocalId(mActivity, mCameraId); @@ -464,7 +468,11 @@ public class VideoModule implements CameraModule, public void init(CameraActivity activity, View root) { mActivity = activity; mUI = new VideoUI(activity, this, root); - mPreferences = new ComboPreferences(mActivity); + mPreferences = ComboPreferences.get(mActivity); + if (mPreferences == null) { + mPreferences = new ComboPreferences(mActivity); + } + CameraSettings.upgradeGlobalPreferences(mPreferences.getGlobal(), activity); mCameraId = getPreferredCameraId(mPreferences); diff --git a/src/com/android/camera/WideAnglePanoramaModule.java b/src/com/android/camera/WideAnglePanoramaModule.java index 9a0e9ce7e..3f825dd39 100644 --- a/src/com/android/camera/WideAnglePanoramaModule.java +++ b/src/com/android/camera/WideAnglePanoramaModule.java @@ -301,7 +301,11 @@ public class WideAnglePanoramaModule mDialogPanoramaFailedString = appRes.getString(R.string.pano_dialog_panorama_failed); mDialogWaitingPreviousString = appRes.getString(R.string.pano_dialog_waiting_previous); - mPreferences = new ComboPreferences(mActivity); + mPreferences = ComboPreferences.get(mActivity); + if (mPreferences == null) { + mPreferences = new ComboPreferences(mActivity); + } + mPreferences.setLocalId(mActivity, getPreferredCameraId(mPreferences)); CameraSettings.upgradeGlobalPreferences(mPreferences.getGlobal(), activity); mLocationManager = new LocationManager(mActivity, null); @@ -960,7 +964,11 @@ public class WideAnglePanoramaModule @Override public void onResumeBeforeSuper() { mPaused = false; - mPreferences = new ComboPreferences(mActivity); + mPreferences = ComboPreferences.get(mActivity); + if (mPreferences == null) { + mPreferences = new ComboPreferences(mActivity); + } + CameraSettings.upgradeGlobalPreferences(mPreferences.getGlobal(), mActivity); mPreferences.setLocalId(mActivity, getPreferredCameraId(mPreferences)); CameraSettings.upgradeLocalPreferences(mPreferences.getLocal()); |