summaryrefslogtreecommitdiffstats
path: root/src/com/android
diff options
context:
space:
mode:
authorLikai Ding <likaid@codeaurora.org>2015-05-27 15:59:04 +0800
committerSteve Kondik <steve@cyngn.com>2016-08-03 15:45:47 -0700
commit846dc6ad1013a28d60aa883ce3d219bf01167e86 (patch)
treee1a01f23107f337236678e0bff8ebe3f043193e4 /src/com/android
parent9a1d5c26b78d3e7edb8a02961289f934a862cceb (diff)
downloadandroid_packages_apps_Snap-846dc6ad1013a28d60aa883ce3d219bf01167e86.tar.gz
android_packages_apps_Snap-846dc6ad1013a28d60aa883ce3d219bf01167e86.tar.bz2
android_packages_apps_Snap-846dc6ad1013a28d60aa883ce3d219bf01167e86.zip
SnapdragonCamera: implement optizoom and chromaflash UI
add scene mode for optizoom and preference entry for chromaflash Change-Id: I859a42e3273d340a7dda7e24c6cb2e08ddb0f7bf
Diffstat (limited to 'src/com/android')
-rw-r--r--src/com/android/camera/CameraSettings.java19
-rw-r--r--src/com/android/camera/PhotoMenu.java13
-rw-r--r--src/com/android/camera/PhotoModule.java17
3 files changed, 48 insertions, 1 deletions
diff --git a/src/com/android/camera/CameraSettings.java b/src/com/android/camera/CameraSettings.java
index ee5ba7b85..66a022b2d 100644
--- a/src/com/android/camera/CameraSettings.java
+++ b/src/com/android/camera/CameraSettings.java
@@ -881,6 +881,7 @@ public class CameraSettings {
ListPreference timeLapseInterval = group.findPreference(KEY_VIDEO_TIME_LAPSE_FRAME_INTERVAL);
ListPreference pictureSize = group.findPreference(KEY_PICTURE_SIZE);
ListPreference whiteBalance = group.findPreference(KEY_WHITE_BALANCE);
+ ListPreference chromaFlash = group.findPreference(KEY_QC_CHROMA_FLASH);
ListPreference sceneMode = group.findPreference(KEY_SCENE_MODE);
ListPreference flashMode = group.findPreference(KEY_FLASH_MODE);
ListPreference focusMode = group.findPreference(KEY_FOCUS_MODE);
@@ -927,6 +928,17 @@ public class CameraSettings {
whiteBalance, mParameters.getSupportedWhiteBalance());
}
+ if (chromaFlash != null) {
+ List<String> supportedAdvancedFeatures =
+ getSupportedAdvancedFeatures(mParameters);
+ if (!CameraUtil.isSupported(
+ mContext.getString(R.string
+ .pref_camera_advanced_feature_value_chromaflash_on),
+ supportedAdvancedFeatures)) {
+ removePreference(group, chromaFlash.getKey());
+ }
+ }
+
if (sceneMode != null) {
List<String> supportedSceneModes = mParameters.getSupportedSceneModes();
List<String> supportedAdvancedFeatures =
@@ -938,6 +950,13 @@ public class CameraSettings {
supportedSceneModes.add(mContext.getString(R.string
.pref_camera_advanced_feature_value_refocus_on));
}
+ if (CameraUtil.isSupported(
+ mContext.getString(R.string
+ .pref_camera_advanced_feature_value_optizoom_on),
+ supportedAdvancedFeatures)) {
+ supportedSceneModes.add(mContext.getString(R.string
+ .pref_camera_advanced_feature_value_optizoom_on));
+ }
filterUnsupportedOptions(group, sceneMode, supportedSceneModes);
}
if (flashMode != null) {
diff --git a/src/com/android/camera/PhotoMenu.java b/src/com/android/camera/PhotoMenu.java
index 8556a2319..35d721d3e 100644
--- a/src/com/android/camera/PhotoMenu.java
+++ b/src/com/android/camera/PhotoMenu.java
@@ -153,6 +153,7 @@ public class PhotoMenu extends MenuController
CameraSettings.KEY_ISO,
CameraSettings.KEY_EXPOSURE,
CameraSettings.KEY_WHITE_BALANCE,
+ CameraSettings.KEY_QC_CHROMA_FLASH,
CameraSettings.KEY_FOCUS_MODE,
CameraSettings.KEY_FOCUS_TIME,
CameraSettings.KEY_SHUTTER_SPEED,
@@ -180,6 +181,7 @@ public class PhotoMenu extends MenuController
CameraSettings.KEY_ISO,
CameraSettings.KEY_EXPOSURE,
CameraSettings.KEY_WHITE_BALANCE,
+ CameraSettings.KEY_QC_CHROMA_FLASH,
CameraSettings.KEY_FOCUS_MODE,
CameraSettings.KEY_FOCUS_TIME,
CameraSettings.KEY_SHUTTER_SPEED,
@@ -1155,6 +1157,17 @@ public class PhotoMenu extends MenuController
mActivity.getString(R.string.pref_camera_advanced_feature_default));
}
}
+
+ String optizoomOn = mActivity.getString(R.string
+ .pref_camera_advanced_feature_value_optizoom_on);
+ if (notSame(pref, CameraSettings.KEY_SCENE_MODE, optizoomOn)) {
+ ListPreference lp = mPreferenceGroup
+ .findPreference(CameraSettings.KEY_ADVANCED_FEATURES);
+ if (lp != null && optizoomOn.equals(lp.getValue())) {
+ setPreference(CameraSettings.KEY_ADVANCED_FEATURES,
+ mActivity.getString(R.string.pref_camera_advanced_feature_default));
+ }
+ }
updateFilterModeIcon(pref, pref);
super.onSettingChanged(pref);
}
diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java
index 133d73dd7..4208ca7a9 100644
--- a/src/com/android/camera/PhotoModule.java
+++ b/src/com/android/camera/PhotoModule.java
@@ -1867,7 +1867,11 @@ public class PhotoModule
(fssr != null && fssr.equals(fssrOn)) ||
(truePortrait != null && truePortrait.equals(truPortraitOn)) ||
(stillMore != null && stillMore.equals(stillMoreOn))) {
- mSceneMode = sceneMode = Parameters.SCENE_MODE_AUTO;
+ if (optiZoom != null && optiZoom.equals(optiZoomOn)) {
+ sceneMode = null;
+ } else {
+ mSceneMode = sceneMode = Parameters.SCENE_MODE_AUTO;
+ }
flashMode = Parameters.FLASH_MODE_OFF;
focusMode = Parameters.FOCUS_MODE_INFINITY;
redeyeReduction = mActivity.getString(R.string.
@@ -3682,6 +3686,8 @@ public class PhotoModule
String refocusOn = mActivity.getString(R.string
.pref_camera_advanced_feature_value_refocus_on);
+ String optizoomOn = mActivity.getString(R.string
+ .pref_camera_advanced_feature_value_optizoom_on);
if (CameraUtil.isSupported(mSceneMode, mParameters.getSupportedSceneModes())) {
if (!mParameters.getSceneMode().equals(mSceneMode)) {
@@ -3699,6 +3705,11 @@ public class PhotoModule
mUI.setPreference(CameraSettings.KEY_ADVANCED_FEATURES, refocusOn);
} catch (NullPointerException e) {
}
+ } else if (optizoomOn.equals(mSceneMode)) {
+ try {
+ mUI.setPreference(CameraSettings.KEY_ADVANCED_FEATURES, optizoomOn);
+ } catch (NullPointerException e) {
+ }
} else {
mSceneMode = mParameters.getSceneMode();
if (mSceneMode == null) {
@@ -4415,6 +4426,10 @@ public class PhotoModule
updateRemainingPhotos();
}
+ if (CameraSettings.KEY_QC_CHROMA_FLASH.equals(pref.getKey())) {
+ mUI.setPreference(CameraSettings.KEY_ADVANCED_FEATURES, pref.getValue());
+ }
+
//call generic onSharedPreferenceChanged
onSharedPreferenceChanged();
}