diff options
author | codeworkx <codeworkx@cyanogenmod.org> | 2016-01-06 11:35:40 +0100 |
---|---|---|
committer | Daniel Hillenbrand <codeworkx@cyanogenmod.org> | 2016-01-06 03:22:48 -0800 |
commit | c75c27de40ef97d9d2168c2a70916de876cd26da (patch) | |
tree | 09a00611638df7c71ec7ee759b4ce909e02bee85 | |
parent | b729dc33d1f437b84512a09c133f894ac417eef6 (diff) | |
download | android_packages_apps_Snap-c75c27de40ef97d9d2168c2a70916de876cd26da.tar.gz android_packages_apps_Snap-c75c27de40ef97d9d2168c2a70916de876cd26da.tar.bz2 android_packages_apps_Snap-c75c27de40ef97d9d2168c2a70916de876cd26da.zip |
Snap: add support for shutter speed
Change-Id: Id3393280c7c1c2f292d71587ba099e8dbafd1340
-rw-r--r-- | res/values/cm_arrays.xml | 48 | ||||
-rw-r--r-- | res/values/cm_strings.xml | 26 | ||||
-rw-r--r-- | res/xml/camera_preferences.xml | 7 | ||||
-rw-r--r-- | src/com/android/camera/CameraSettings.java | 20 | ||||
-rw-r--r-- | src/com/android/camera/PhotoMenu.java | 2 | ||||
-rw-r--r-- | src/com/android/camera/PhotoModule.java | 9 |
6 files changed, 112 insertions, 0 deletions
diff --git a/res/values/cm_arrays.xml b/res/values/cm_arrays.xml index 94410cf48..d3414355d 100644 --- a/res/values/cm_arrays.xml +++ b/res/values/cm_arrays.xml @@ -44,4 +44,52 @@ <item>30000</item> <item>0</item> </string-array> + + <!-- Shutter speed --> + <array name="pref_camera_shutter_speed_entries" translatable="false"> + <item>@string/pref_camera_shutter_speed_entry_0</item> + <item>@string/pref_camera_shutter_speed_entry_1_6000</item> + <item>@string/pref_camera_shutter_speed_entry_1_4000</item> + <item>@string/pref_camera_shutter_speed_entry_1_2000</item> + <item>@string/pref_camera_shutter_speed_entry_1_1000</item> + <item>@string/pref_camera_shutter_speed_entry_1_500</item> + <item>@string/pref_camera_shutter_speed_entry_1_250</item> + <item>@string/pref_camera_shutter_speed_entry_1_125</item> + <item>@string/pref_camera_shutter_speed_entry_1_60</item> + <item>@string/pref_camera_shutter_speed_entry_1_30</item> + <item>@string/pref_camera_shutter_speed_entry_1_15</item> + <item>@string/pref_camera_shutter_speed_entry_1_8</item> + <item>@string/pref_camera_shutter_speed_entry_1_4</item> + <item>@string/pref_camera_shutter_speed_entry_1_2</item> + <item>@string/pref_camera_shutter_speed_entry_1</item> + <item>@string/pref_camera_shutter_speed_entry_2</item> + <item>@string/pref_camera_shutter_speed_entry_4</item> + <item>@string/pref_camera_shutter_speed_entry_8</item> + <item>@string/pref_camera_shutter_speed_entry_15</item> + <item>@string/pref_camera_shutter_speed_entry_30</item> + </array> + + <string-array name="pref_camera_shutter_speed_entryvalues" translatable="false"> + <item>0</item> + <item>1/6000</item> + <item>1/4000</item> + <item>1/2000</item> + <item>1/1000</item> + <item>1/500</item> + <item>1/250</item> + <item>1/125</item> + <item>1/60</item> + <item>1/30</item> + <item>1/15</item> + <item>1/8</item> + <item>1/4</item> + <item>1/2</item> + <item>1</item> + <item>2</item> + <item>4</item> + <item>8</item> + <item>15</item> + <item>30</item> + </string-array> + </resources> diff --git a/res/values/cm_strings.xml b/res/values/cm_strings.xml index b328bda18..8f44e53b4 100644 --- a/res/values/cm_strings.xml +++ b/res/values/cm_strings.xml @@ -161,4 +161,30 @@ <string name="pref_camera_focustime_entry_20">20s</string> <string name="pref_camera_focustime_entry_30">30s</string> <string name="pref_camera_focustime_entry_infinite">Infinite</string> + + <!-- Shutter speed --> + <string name="pref_camera_shutter_speed_title">Shutter speed</string> + <string name="pref_camera_shutter_speed_default" translatable="false">0</string> + + <string name="pref_camera_shutter_speed_entry_0" translatable="false">0</string> + <string name="pref_camera_shutter_speed_entry_1_6000" translatable="false">1/6000</string> + <string name="pref_camera_shutter_speed_entry_1_4000" translatable="false">1/4000</string> + <string name="pref_camera_shutter_speed_entry_1_2000" translatable="false">1/2000</string> + <string name="pref_camera_shutter_speed_entry_1_1000" translatable="false">1/1000</string> + <string name="pref_camera_shutter_speed_entry_1_500" translatable="false">1/500</string> + <string name="pref_camera_shutter_speed_entry_1_250" translatable="false">1/250</string> + <string name="pref_camera_shutter_speed_entry_1_125" translatable="false">1/125</string> + <string name="pref_camera_shutter_speed_entry_1_60" translatable="false">1/60</string> + <string name="pref_camera_shutter_speed_entry_1_30" translatable="false">1/30</string> + <string name="pref_camera_shutter_speed_entry_1_15" translatable="false">1/25</string> + <string name="pref_camera_shutter_speed_entry_1_8" translatable="false">1/8</string> + <string name="pref_camera_shutter_speed_entry_1_4" translatable="false">1/4</string> + <string name="pref_camera_shutter_speed_entry_1_2" translatable="false">1/2</string> + <string name="pref_camera_shutter_speed_entry_1" translatable="false">1</string> + <string name="pref_camera_shutter_speed_entry_2" translatable="false">2</string> + <string name="pref_camera_shutter_speed_entry_4" translatable="false">4</string> + <string name="pref_camera_shutter_speed_entry_8" translatable="false">8</string> + <string name="pref_camera_shutter_speed_entry_15" translatable="false">15</string> + <string name="pref_camera_shutter_speed_entry_30" translatable="false">30</string> + </resources> diff --git a/res/xml/camera_preferences.xml b/res/xml/camera_preferences.xml index 2fb598e0e..b3f34daf2 100644 --- a/res/xml/camera_preferences.xml +++ b/res/xml/camera_preferences.xml @@ -322,6 +322,13 @@ camera:title="@string/pref_camera_manual_focus_title" camera:entries="@array/pref_camera_manual_focus_entries" camera:entryValues="@array/pref_camera_manual_focus_entry_values" /> + <IconListPreference + camera:key="pref_camera_shutter_speed_key" + camera:defaultValue="@string/pref_camera_shutter_speed_default" + camera:title="@string/pref_camera_shutter_speed_title" + camera:entries="@array/pref_camera_shutter_speed_entries" + camera:singleIcon="@drawable/ic_settings_countdowntimer" + camera:entryValues="@array/pref_camera_shutter_speed_entryvalues" /> <ListPreference camera:key="pref_power_shutter" camera:defaultValue="@string/pref_camera_power_shutter_default" diff --git a/src/com/android/camera/CameraSettings.java b/src/com/android/camera/CameraSettings.java index e65e914e0..92c8b5038 100644 --- a/src/com/android/camera/CameraSettings.java +++ b/src/com/android/camera/CameraSettings.java @@ -98,6 +98,7 @@ public class CameraSettings { public static final String KEY_AUTOEXPOSURE = "pref_camera_autoexposure_key"; public static final String KEY_ANTIBANDING = "pref_camera_antibanding_key"; public static final String KEY_ISO = "pref_camera_iso_key"; + public static final String KEY_SHUTTER_SPEED = "pref_camera_shutter_speed_key"; public static final String KEY_LENSSHADING = "pref_camera_lensshading_key"; public static final String KEY_HISTOGRAM = "pref_camera_histogram_key"; public static final String KEY_DENOISE = "pref_camera_denoise_key"; @@ -144,6 +145,8 @@ public class CameraSettings { private static final String KEY_QC_SUPPORTED_PREVIEW_FORMATS = "preview-format-values"; private static final String KEY_SNAPCAM_SUPPORTED_HDR_MODES = "hdr-mode-values"; private static final String KEY_SNAPCAM_SUPPORTED_HDR_NEED_1X = "hdr-need-1x-values"; + public static final String KEY_SNAPCAM_SHUTTER_SPEED = "shutter-speed"; + public static final String KEY_SNAPCAM_SHUTTER_SPEED_MODES = "shutter-speed-values"; public static final String KEY_QC_AE_BRACKETING = "ae-bracket-hdr"; public static final String KEY_QC_AF_BRACKETING = "af-bracket"; public static final String KEY_QC_RE_FOCUS = "re-focus"; @@ -294,6 +297,7 @@ public class CameraSettings { return group; } + // ISO public static List<String> getSupportedIsoValues(Parameters params) { String isoValues = params.get(mKeyIsoValues); if (isoValues == null) { @@ -316,6 +320,16 @@ public class CameraSettings { params.set(mKeyIso, iso); } + // Shutter speed + public static List<String> getSupportedShutterSpeedValues(Parameters params) { + String shutterSpeedValues = params.get(KEY_SNAPCAM_SHUTTER_SPEED_MODES); + if (shutterSpeedValues == null) { + return null; + } + Log.d(TAG, "Supported shutter speed values: " + shutterSpeedValues); + return split(shutterSpeedValues); + } + public static String getSupportedHighestVideoQuality( int cameraId, Parameters parameters) { // When launching the camera app first time, we will set the video quality @@ -604,6 +618,7 @@ public class CameraSettings { ListPreference autoExposure = group.findPreference(KEY_AUTOEXPOSURE); ListPreference antiBanding = group.findPreference(KEY_ANTIBANDING); ListPreference mIso = group.findPreference(KEY_ISO); + ListPreference mShutterSpeed = group.findPreference(KEY_SHUTTER_SPEED); ListPreference lensShade = group.findPreference(KEY_LENSSHADING); ListPreference histogram = group.findPreference(KEY_HISTOGRAM); ListPreference denoise = group.findPreference(KEY_DENOISE); @@ -699,6 +714,11 @@ public class CameraSettings { mIso, getSupportedIsoValues(mParameters)); } + if (mShutterSpeed != null) { + filterUnsupportedOptions(group, + mShutterSpeed, getSupportedShutterSpeedValues(mParameters)); + } + if (redeyeReduction != null) { filterUnsupportedOptions(group, redeyeReduction, mParameters.getSupportedRedeyeReductionModes()); diff --git a/src/com/android/camera/PhotoMenu.java b/src/com/android/camera/PhotoMenu.java index 37aa77fda..f4381db88 100644 --- a/src/com/android/camera/PhotoMenu.java +++ b/src/com/android/camera/PhotoMenu.java @@ -150,6 +150,7 @@ public class PhotoMenu extends MenuController CameraSettings.KEY_WHITE_BALANCE, CameraSettings.KEY_FOCUS_MODE, CameraSettings.KEY_FOCUS_TIME, + CameraSettings.KEY_SHUTTER_SPEED, CameraSettings.KEY_REDEYE_REDUCTION, CameraSettings.KEY_POWER_SHUTTER, CameraSettings.KEY_MAX_BRIGHTNESS @@ -169,6 +170,7 @@ public class PhotoMenu extends MenuController CameraSettings.KEY_WHITE_BALANCE, CameraSettings.KEY_FOCUS_MODE, CameraSettings.KEY_FOCUS_TIME, + CameraSettings.KEY_SHUTTER_SPEED, CameraSettings.KEY_REDEYE_REDUCTION, CameraSettings.KEY_POWER_SHUTTER, CameraSettings.KEY_MAX_BRIGHTNESS, diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java index 5a05ae043..bee9d6e94 100644 --- a/src/com/android/camera/PhotoModule.java +++ b/src/com/android/camera/PhotoModule.java @@ -2940,6 +2940,15 @@ public class PhotoModule CameraSettings.setISOValue(mParameters, iso); } } + // Set shutter speed parameter + String shutterSpeed = mPreferences.getString( + CameraSettings.KEY_SHUTTER_SPEED, + mActivity.getString(R.string.pref_camera_shutter_speed_default)); + if (CameraUtil.isSupported(shutterSpeed, + CameraSettings.getSupportedShutterSpeedValues(mParameters))) { + mParameters.set(CameraSettings.KEY_SNAPCAM_SHUTTER_SPEED, shutterSpeed); + ; + } // Set color effect parameter. String colorEffect = mPreferences.getString( CameraSettings.KEY_COLOR_EFFECT, |