diff options
author | codeworkx <codeworkx@cyanogenmod.org> | 2016-01-06 11:35:40 +0100 |
---|---|---|
committer | Chippa-a <vusal1372@gmail.com> | 2019-10-25 15:55:25 +0300 |
commit | e043aa1a45655c813fad57cee05e8c0588add0ec (patch) | |
tree | 577f38adabeeb291c4cfe059d0a93d31ac33d25a | |
parent | 3d818573ea89729f43aee04a08ffd329c3a294da (diff) | |
download | android_packages_apps_Snap-e043aa1a45655c813fad57cee05e8c0588add0ec.tar.gz android_packages_apps_Snap-e043aa1a45655c813fad57cee05e8c0588add0ec.tar.bz2 android_packages_apps_Snap-e043aa1a45655c813fad57cee05e8c0588add0ec.zip |
Snap: Add support for shutter speed
Author: codeworkx <codeworkx@cyanogenmod.org>
Date: Wed Jan 6 11:35:40 2016 +0100
Snap: add support for shutter speed
Change-Id: Id3393280c7c1c2f292d71587ba099e8dbafd1340
Author: codeworkx <codeworkx@cyanogenmod.org>
Date: Fri Jan 8 19:38:15 2016 +0100
Snap: Restart preview when shutter-speed gets disabled
Change-Id: I3884b23f1c855cfffeb20ca6e2a760732370d772
Change-Id: I82144c80d8fc2e7324b3dc8cde44b5b2934bdd50
-rw-r--r-- | res/values/cm_arrays.xml | 48 | ||||
-rw-r--r-- | res/values/cm_strings.xml | 25 | ||||
-rwxr-xr-x | res/xml/camera_preferences.xml | 8 | ||||
-rwxr-xr-x | src/com/android/camera/CameraSettings.java | 18 | ||||
-rw-r--r-- | src/com/android/camera/PhotoMenu.java | 2 | ||||
-rwxr-xr-x | src/com/android/camera/PhotoModule.java | 21 |
6 files changed, 122 insertions, 0 deletions
diff --git a/res/values/cm_arrays.xml b/res/values/cm_arrays.xml index 3e700a68f..bb5627e7c 100644 --- a/res/values/cm_arrays.xml +++ b/res/values/cm_arrays.xml @@ -40,4 +40,52 @@ <item>10000</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 6b2ec335c..bf2766c5b 100644 --- a/res/values/cm_strings.xml +++ b/res/values/cm_strings.xml @@ -100,4 +100,29 @@ <string name="pref_camera_focustime_entry_10">10s</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 8f3efb6fe..f62711332 100755 --- a/res/xml/camera_preferences.xml +++ b/res/xml/camera_preferences.xml @@ -413,6 +413,14 @@ 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_camera_zoom_key" camera:defaultValue="@string/pref_camera_zoom_default" diff --git a/src/com/android/camera/CameraSettings.java b/src/com/android/camera/CameraSettings.java index cca1ef2cd..2fdd60ed4 100755 --- a/src/com/android/camera/CameraSettings.java +++ b/src/com/android/camera/CameraSettings.java @@ -103,6 +103,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"; @@ -159,6 +160,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"; @@ -514,6 +517,15 @@ public class CameraSettings { params.set(mKeyIso, iso); } + 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 @@ -831,6 +843,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); @@ -951,6 +964,11 @@ public class CameraSettings { mIso, getSupportedIsoValues(mParameters)); } + if (mShutterSpeed != null) { + filterUnsupportedOptions(group, + mShutterSpeed, getSupportedShutterSpeedValues(mParameters)); + } + if (redeyeReduction != null) { filterUnsupportedOptions(group, redeyeReduction, ParametersWrapper.getSupportedRedeyeReductionModes(mParameters)); diff --git a/src/com/android/camera/PhotoMenu.java b/src/com/android/camera/PhotoMenu.java index 87b2b95b4..2ff841562 100644 --- a/src/com/android/camera/PhotoMenu.java +++ b/src/com/android/camera/PhotoMenu.java @@ -195,6 +195,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, @@ -218,6 +219,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 8a9ceb8b0..d7338cf48 100755 --- a/src/com/android/camera/PhotoModule.java +++ b/src/com/android/camera/PhotoModule.java @@ -3305,6 +3305,14 @@ 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, @@ -4164,6 +4172,19 @@ public class PhotoModule mParameters.setJpegQuality(jpegQuality); + // When shutter speed gets disabled preview needs to be restarted + if (CameraUtil.isSupported(mParameters, CameraSettings.KEY_SNAPCAM_SHUTTER_SPEED)) { + String shutterSpeed = mPreferences.getString(CameraSettings.KEY_SHUTTER_SPEED, null); + if (shutterSpeed != null) { + String oldShutterSpeed = mParameters.get(CameraSettings.KEY_SNAPCAM_SHUTTER_SPEED); + if (!shutterSpeed.equals(oldShutterSpeed) && shutterSpeed.equals("0") && + mCameraState != PREVIEW_STOPPED) { + Log.v(TAG, "Shutter speed disabled. Restart Preview"); + mRestartPreview = true; + } + } + } + // For the following settings, we need to check if the settings are // still supported by latest driver, if not, ignore the settings. |