summaryrefslogtreecommitdiffstats
path: root/src/com
diff options
context:
space:
mode:
authormingwax <mingwax@codeaurora.org>2016-12-07 11:25:01 +0800
committerqimengp <qimengp@codeaurora.org>2016-12-13 19:32:44 +0800
commitb07761c05719ec203f41d729c9874d14072a76c2 (patch)
tree33dac39f1eb3da2f51b3c2d08cef38b7151f4ba2 /src/com
parent4020c7043ba2bae1aee5666498216bf2c66a8d97 (diff)
downloadandroid_packages_apps_Snap-b07761c05719ec203f41d729c9874d14072a76c2.tar.gz
android_packages_apps_Snap-b07761c05719ec203f41d729c9874d14072a76c2.tar.bz2
android_packages_apps_Snap-b07761c05719ec203f41d729c9874d14072a76c2.zip
SnapdragonCamera: Fix don`t save the value about focus distance
Don`t save the focus distance value when the user change the value. Add code for saving the value in xml when the user change the value. CRs-Fixed: 1095942 Change-Id: Ic2b88d67d068c17afcc12546028e99454070b8ab
Diffstat (limited to 'src/com')
-rw-r--r--[-rwxr-xr-x]src/com/android/camera/CaptureModule.java22
-rw-r--r--src/com/android/camera/ComboPreferences.java2
-rw-r--r--src/com/android/camera/SettingsManager.java37
-rw-r--r--src/com/android/camera/ui/ProMode.java4
4 files changed, 49 insertions, 16 deletions
diff --git a/src/com/android/camera/CaptureModule.java b/src/com/android/camera/CaptureModule.java
index b75c4aae1..b78e52d06 100755..100644
--- a/src/com/android/camera/CaptureModule.java
+++ b/src/com/android/camera/CaptureModule.java
@@ -1928,6 +1928,7 @@ public class CaptureModule implements CameraModule, PhotoController,
mFirstPreviewLoaded = false;
stopBackgroundThread();
mLastJpegData = null;
+ setProModeVisible();
}
@Override
@@ -2142,14 +2143,9 @@ public class CaptureModule implements CameraModule, PhotoController,
});
mUI.enableShutter(true);
mUI.enableVideo(true);
- String scene = mSettingsManager.getValue(SettingsManager.KEY_SCENE_MODE);
- boolean promode = false;
- if (scene != null) {
- int mode = Integer.parseInt(scene);
- if (mode == SettingsManager.SCENE_MODE_PROMODE_INT) promode = true;
- }
- mUI.initializeProMode(promode);
+ setProModeVisible();
+ String scene = mSettingsManager.getValue(SettingsManager.KEY_SCENE_MODE);
if(isPanoSetting(scene)) {
mActivity.onModuleSelected(ModuleSwitcher.PANOCAPTURE_MODULE_INDEX);
}
@@ -4204,4 +4200,16 @@ public class CaptureModule implements CameraModule, PhotoController,
mHandler.removeMessages(CLEAR_SCREEN_DELAY);
mActivity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}
+
+ private void setProModeVisible() {
+ String scene = mSettingsManager.getValue(SettingsManager.KEY_SCENE_MODE);
+ boolean promode = false;
+ if (scene != null) {
+ int mode = Integer.parseInt(scene);
+ if (mode == SettingsManager.SCENE_MODE_PROMODE_INT) {
+ promode = true;
+ }
+ }
+ mUI.initializeProMode(!mPaused && promode);
+ }
}
diff --git a/src/com/android/camera/ComboPreferences.java b/src/com/android/camera/ComboPreferences.java
index a30dd9448..401289fc3 100644
--- a/src/com/android/camera/ComboPreferences.java
+++ b/src/com/android/camera/ComboPreferences.java
@@ -68,7 +68,7 @@ public class ComboPreferences implements
}
}
- private static String getLocalSharedPreferencesName(
+ public static String getLocalSharedPreferencesName(
Context context, int cameraId) {
return context.getPackageName() + "_preferences_" + cameraId;
}
diff --git a/src/com/android/camera/SettingsManager.java b/src/com/android/camera/SettingsManager.java
index c1c6442dd..3e2c7873d 100644
--- a/src/com/android/camera/SettingsManager.java
+++ b/src/com/android/camera/SettingsManager.java
@@ -451,6 +451,28 @@ public class SettingsManager implements ListMenu.SettingsListener {
return pref.findIndexOfValue(value);
}
+ private boolean setFocusValue(String key, float value) {
+ boolean result = false;
+ String prefName = ComboPreferences.getLocalSharedPreferencesName(mContext, mCameraId);
+ SharedPreferences sharedPreferences = mContext.getSharedPreferences(prefName,
+ Context.MODE_PRIVATE);
+ float prefValue = sharedPreferences.getFloat(key, 0.5f);
+ if (prefValue != value) {
+ SharedPreferences.Editor editor = sharedPreferences.edit();
+ editor.putFloat(key, value);
+ editor.apply();
+ result = true;
+ }
+ return result;
+ }
+
+ public float getFocusValue(String key) {
+ String prefName = ComboPreferences.getLocalSharedPreferencesName(mContext, mCameraId);
+ SharedPreferences sharedPreferences = mContext.getSharedPreferences(prefName,
+ Context.MODE_PRIVATE);
+ return sharedPreferences.getFloat(key, 0.5f);
+ }
+
public boolean isOverriden(String key) {
Values values = mValuesMap.get(key);
return values.overriddenValue != null;
@@ -479,12 +501,15 @@ public class SettingsManager implements ListMenu.SettingsListener {
}
}
- public void setFocusDistance(float value) {
- List<SettingState> list = new ArrayList<>();
- Values values = new Values("" + value, null);
- SettingState ss = new SettingState(KEY_FOCUS_DISTANCE, values);
- list.add(ss);
- notifyListeners(list);
+ public void setFocusDistance(String key, float value, float minFocus) {
+ boolean isSuccess = setFocusValue(key, value);
+ if (isSuccess) {
+ List<SettingState> list = new ArrayList<>();
+ Values values = new Values("" + value * minFocus, null);
+ SettingState ss = new SettingState(KEY_FOCUS_DISTANCE, values);
+ list.add(ss);
+ notifyListeners(list);
+ }
}
private void updateMapAndNotify(ListPreference pref) {
diff --git a/src/com/android/camera/ui/ProMode.java b/src/com/android/camera/ui/ProMode.java
index 876dff323..b55d0c425 100644
--- a/src/com/android/camera/ui/ProMode.java
+++ b/src/com/android/camera/ui/ProMode.java
@@ -203,7 +203,7 @@ public class ProMode extends View {
if (mMode == MANUAL_MODE) {
minFocus = mSettingsManager
.getMinimumFocusDistance(mSettingsManager.getCurrentCameraId());
- float value = 0.5f;
+ float value = mSettingsManager.getFocusValue(SettingsManager.KEY_FOCUS_DISTANCE);
setSlider(value);
int stride = mCurveRight - mCurveLeft;
for (int i = 0; i < 2; i++) {
@@ -292,7 +292,7 @@ public class ProMode extends View {
public void setSlider(float slider) {
mSlider = slider;
- mSettingsManager.setFocusDistance(mSlider * minFocus);
+ mSettingsManager.setFocusDistance(SettingsManager.KEY_FOCUS_DISTANCE, mSlider, minFocus);
mUI.updateProModeText(mMode, "Manual");
invalidate();
}