summaryrefslogtreecommitdiffstats
path: root/src/com/android
diff options
context:
space:
mode:
authorLikai Ding <likaid@codeaurora.org>2015-05-27 15:59:04 +0800
committerLikai Ding <likaid@codeaurora.org>2015-05-27 15:59:04 +0800
commit36cfd9c72b8ed4ddce7625cc01641f2235bb473c (patch)
treec9a702ba7b993116b1fd5329a9ee533a10a5aad5 /src/com/android
parentda42b04ba6c0c3ec0b3f7e71ca5a277274443f89 (diff)
downloadandroid_packages_apps_Snap-36cfd9c72b8ed4ddce7625cc01641f2235bb473c.tar.gz
android_packages_apps_Snap-36cfd9c72b8ed4ddce7625cc01641f2235bb473c.tar.bz2
android_packages_apps_Snap-36cfd9c72b8ed4ddce7625cc01641f2235bb473c.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 b5c264b96..7aa96d52d 100644
--- a/src/com/android/camera/CameraSettings.java
+++ b/src/com/android/camera/CameraSettings.java
@@ -740,6 +740,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);
@@ -789,6 +790,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 =
@@ -800,6 +812,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 a70efdbad..b2ddc028a 100644
--- a/src/com/android/camera/PhotoMenu.java
+++ b/src/com/android/camera/PhotoMenu.java
@@ -179,6 +179,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_REDEYE_REDUCTION
};
@@ -195,6 +196,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_REDEYE_REDUCTION,
CameraSettings.KEY_AUTO_HDR,
@@ -1370,6 +1372,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 966fade3e..cc443e334 100644
--- a/src/com/android/camera/PhotoModule.java
+++ b/src/com/android/camera/PhotoModule.java
@@ -1734,7 +1734,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.
@@ -3475,6 +3479,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)) {
@@ -3493,6 +3499,11 @@ public class PhotoModule
mUI.showRefocusDialog();
} 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) {
@@ -4162,6 +4173,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();
}