diff options
Diffstat (limited to 'src/com/android/camera/CameraSettings.java')
-rw-r--r-- | src/com/android/camera/CameraSettings.java | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/src/com/android/camera/CameraSettings.java b/src/com/android/camera/CameraSettings.java index 4c2a20651..356869b9b 100644 --- a/src/com/android/camera/CameraSettings.java +++ b/src/com/android/camera/CameraSettings.java @@ -184,6 +184,50 @@ public class CameraSettings { private static final String VIDEO_QUALITY_YOUTUBE = "youtube"; + //manual 3A keys and parameter strings + public static final String KEY_MANUAL_EXPOSURE = "pref_camera_manual_exp_key"; + public static final String KEY_MANUAL_WB = "pref_camera_manual_wb_key"; + public static final String KEY_MANUAL_FOCUS = "pref_camera_manual_focus_key"; + + public static final String KEY_MANUAL_EXPOSURE_MODES = "manual-exp-modes"; + public static final String KEY_MANUAL_WB_MODES = "manual-wb-modes"; + public static final String KEY_MANUAL_FOCUS_MODES = "manual-focus-modes"; + //manual exposure + public static final String KEY_MIN_EXPOSURE_TIME = "min-exposure-time"; + public static final String KEY_MAX_EXPOSURE_TIME = "max-exposure-time"; + public static final String KEY_EXPOSURE_TIME = "exposure-time"; + public static final String KEY_MIN_ISO = "min-iso"; + public static final String KEY_MAX_ISO = "max-iso"; + public static final String KEY_CONTINUOUS_ISO = "continuous-iso"; + public static final String KEY_MANUAL_ISO = "manual"; + public static final String KEY_CURRENT_ISO = "cur-iso"; + public static final String KEY_CURRENT_EXPOSURE_TIME = "cur-exposure-time"; + + //manual WB + public static final String KEY_MIN_WB_GAIN = "min-wb-gain"; + public static final String KEY_MAX_WB_GAIN = "max-wb-gain"; + public static final String KEY_MANUAL_WB_GAINS = "manual-wb-gains"; + public static final String KEY_MIN_WB_CCT = "min-wb-cct"; + public static final String KEY_MAX_WB_CCT = "max-wb-cct"; + public static final String KEY_MANUAL_WB_CCT = "wb-manual-cct"; + public static final String KEY_MANUAL_WHITE_BALANCE = "manual"; + public static final String KEY_MANUAL_WB_TYPE = "manual-wb-type"; + public static final String KEY_MANUAL_WB_VALUE = "manual-wb-value"; + + //manual focus + public static final String KEY_MIN_FOCUS_SCALE = "min-focus-pos-ratio"; + public static final String KEY_MAX_FOCUS_SCALE = "max-focus-pos-ratio"; + public static final String KEY_MIN_FOCUS_DIOPTER = "min-focus-pos-diopter"; + public static final String KEY_MAX_FOCUS_DIOPTER = "max-focus-pos-diopter"; + public static final String KEY_MANUAL_FOCUS_TYPE = "manual-focus-pos-type"; + public static final String KEY_MANUAL_FOCUS_POSITION = "manual-focus-position"; + public static final String KEY_MANUAL_FOCUS_SCALE = "cur-focus-scale"; + public static final String KEY_MANUAL_FOCUS_DIOPTER = "cur-focus-diopter"; + + public static final String KEY_QC_SUPPORTED_MANUAL_FOCUS_MODES = "manual-focus-modes"; + public static final String KEY_QC_SUPPORTED_MANUAL_EXPOSURE_MODES = "manual-exposure-modes"; + public static final String KEY_QC_SUPPORTED_MANUAL_WB_MODES = "manual-wb-modes"; + public static final String EXPOSURE_DEFAULT_VALUE = "0"; public static final int CURRENT_VERSION = 5; @@ -511,6 +555,9 @@ public class CameraSettings { ListPreference video_cds_mode = group.findPreference(KEY_VIDEO_CDS_MODE); ListPreference tnr_mode = group.findPreference(KEY_TNR_MODE); ListPreference video_tnr_mode = group.findPreference(KEY_VIDEO_TNR_MODE); + ListPreference manualFocus = group.findPreference(KEY_MANUAL_FOCUS); + ListPreference manualExposure = group.findPreference(KEY_MANUAL_EXPOSURE); + ListPreference manualWB = group.findPreference(KEY_MANUAL_WB); if (hdr_need_1x != null) { filterUnsupportedOptions(group, @@ -633,6 +680,21 @@ public class CameraSettings { filterUnsupportedOptions(group, videoRotation, mParameters.getSupportedVideoRotationValues()); } + + if (manualFocus != null) { + filterUnsupportedOptions(group, + manualFocus, getSupportedManualFocusModes(mParameters)); + } + + if (manualWB != null) { + filterUnsupportedOptions(group, + manualWB, getSupportedManualWBModes(mParameters)); + } + + if (manualExposure != null) { + filterUnsupportedOptions(group, + manualExposure, getSupportedManualExposureModes(mParameters)); + } } private void initPreference(PreferenceGroup group) { @@ -1130,4 +1192,29 @@ public class CameraSettings { } return ret; } + + public static List<String> getSupportedManualExposureModes(Parameters params) { + String str = params.get(KEY_QC_SUPPORTED_MANUAL_EXPOSURE_MODES); + if (str == null) { + return null; + } + return split(str); + } + + public static List<String> getSupportedManualFocusModes(Parameters params) { + String str = params.get(KEY_QC_SUPPORTED_MANUAL_FOCUS_MODES); + if (str == null) { + return null; + } + return split(str); + } + + public static List<String> getSupportedManualWBModes(Parameters params) { + String str = params.get(KEY_QC_SUPPORTED_MANUAL_WB_MODES); + if (str == null) { + return null; + } + return split(str); + } + } |