diff options
author | Likai Ding <likaid@codeaurora.org> | 2015-05-27 15:59:04 +0800 |
---|---|---|
committer | Steve Kondik <steve@cyngn.com> | 2016-08-03 15:45:47 -0700 |
commit | 846dc6ad1013a28d60aa883ce3d219bf01167e86 (patch) | |
tree | e1a01f23107f337236678e0bff8ebe3f043193e4 /src/com/android/camera | |
parent | 9a1d5c26b78d3e7edb8a02961289f934a862cceb (diff) | |
download | android_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/camera')
-rw-r--r-- | src/com/android/camera/CameraSettings.java | 19 | ||||
-rw-r--r-- | src/com/android/camera/PhotoMenu.java | 13 | ||||
-rw-r--r-- | src/com/android/camera/PhotoModule.java | 17 |
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(); } |