diff options
author | codeworkx <codeworkx@cyanogenmod.org> | 2016-01-06 11:35:40 +0100 |
---|---|---|
committer | Michael Bestas <mikeioannina@gmail.com> | 2017-01-04 21:57:40 +0200 |
commit | 1e98d653037fa55d6959668955f02e34dbdc75fc (patch) | |
tree | df6662318fb45de92ca71de497e3825b6ae5675d | |
parent | 9c67a209cc2aa08ac6c2ec1447cdabac3e9bf00a (diff) | |
download | android_packages_apps_Snap-1e98d653037fa55d6959668955f02e34dbdc75fc.tar.gz android_packages_apps_Snap-1e98d653037fa55d6959668955f02e34dbdc75fc.tar.bz2 android_packages_apps_Snap-1e98d653037fa55d6959668955f02e34dbdc75fc.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 | 9 | ||||
-rw-r--r-- | src/com/android/camera/CameraSettings.java | 20 | ||||
-rwxr-xr-x | src/com/android/camera/PhotoMenu.java | 2 | ||||
-rwxr-xr-x | src/com/android/camera/PhotoModule.java | 9 |
6 files changed, 114 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 f758c32be..04f34cd53 100644 --- a/res/values/cm_strings.xml +++ b/res/values/cm_strings.xml @@ -160,4 +160,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 5c2a2630c..a16679b15 100644 --- a/res/xml/camera_preferences.xml +++ b/res/xml/camera_preferences.xml @@ -393,12 +393,21 @@ camera:entries="@array/pref_camera2_camera2_entries" camera:entryValues="@array/pref_camera2_camera2_entryvalues" /> + <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" camera:title="@string/pref_camera_power_shutter_title" camera:entries="@array/pref_switch_entries" camera:entryValues="@array/pref_switch_entryvalues" /> + <ListPreference camera:key="pref_max_brightness" camera:defaultValue="@string/pref_camera_max_brightness_default" diff --git a/src/com/android/camera/CameraSettings.java b/src/com/android/camera/CameraSettings.java index 5379edb80..8a3a09cf8 100644 --- a/src/com/android/camera/CameraSettings.java +++ b/src/com/android/camera/CameraSettings.java @@ -99,6 +99,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"; @@ -150,6 +151,8 @@ public class CameraSettings { private static final String KEY_QC_SUPPORTED_VIDEO_TNR_MODES = "video-tnr-mode-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"; @@ -386,6 +389,7 @@ public class CameraSettings { return group; } + // ISO public static List<String> getSupportedIsoValues(Parameters params) { String isoValues = params.get(mKeyIsoValues); if (isoValues == null) { @@ -408,6 +412,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 @@ -713,6 +727,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); @@ -815,6 +830,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 02fd24872..fa6fe3159 100755 --- a/src/com/android/camera/PhotoMenu.java +++ b/src/com/android/camera/PhotoMenu.java @@ -193,6 +193,7 @@ public class PhotoMenu extends MenuController CameraSettings.KEY_WHITE_BALANCE, CameraSettings.KEY_QC_CHROMA_FLASH, CameraSettings.KEY_FOCUS_TIME, + CameraSettings.KEY_SHUTTER_SPEED, CameraSettings.KEY_REDEYE_REDUCTION, CameraSettings.KEY_SELFIE_MIRROR, CameraSettings.KEY_SHUTTER_SOUND @@ -216,6 +217,7 @@ public class PhotoMenu extends MenuController CameraSettings.KEY_QC_CHROMA_FLASH, 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 0f03a7a26..8204a7f22 100755 --- a/src/com/android/camera/PhotoModule.java +++ b/src/com/android/camera/PhotoModule.java @@ -3250,6 +3250,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, |