summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcodeworkx <codeworkx@cyanogenmod.org>2016-01-06 11:35:40 +0100
committerArne Coucheron <arco68@gmail.com>2018-01-26 01:02:22 +0100
commita5340ca1cf6f85a3df76c07501ce9df2564b853c (patch)
tree517495f699d865aada08bb83c8a7b216933f460c
parent7c7c54f29c284735dabced81ab58266e389d49fb (diff)
downloadandroid_packages_apps_Snap-a5340ca1cf6f85a3df76c07501ce9df2564b853c.tar.gz
android_packages_apps_Snap-a5340ca1cf6f85a3df76c07501ce9df2564b853c.tar.bz2
android_packages_apps_Snap-a5340ca1cf6f85a3df76c07501ce9df2564b853c.zip
Snap: add support for shutter speed
Change-Id: Id3393280c7c1c2f292d71587ba099e8dbafd1340
-rw-r--r--res/values/cm_arrays.xml48
-rw-r--r--res/values/cm_strings.xml25
-rwxr-xr-xres/xml/camera_preferences.xml8
-rw-r--r--src/com/android/camera/CameraSettings.java20
-rw-r--r--src/com/android/camera/PhotoMenu.java2
-rw-r--r--src/com/android/camera/PhotoModule.java8
6 files changed, 111 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 c665a4fdf..d2d19bef6 100644
--- a/res/values/cm_strings.xml
+++ b/res/values/cm_strings.xml
@@ -102,4 +102,29 @@
<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 5877eeade..ea6612726 100755
--- a/res/xml/camera_preferences.xml
+++ b/res/xml/camera_preferences.xml
@@ -415,6 +415,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 c84eb3774..a13205a7a 100644
--- 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";
@@ -433,6 +436,7 @@ public class CameraSettings {
return group;
}
+ // ISO
public static List<String> getSupportedIsoValues(Parameters params) {
String isoValues = params.get(mKeyIsoValues);
if (isoValues == null) {
@@ -455,6 +459,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
@@ -772,6 +786,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);
@@ -892,6 +907,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 2656c9691..848b850f7 100644
--- a/src/com/android/camera/PhotoMenu.java
+++ b/src/com/android/camera/PhotoMenu.java
@@ -199,6 +199,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,
@@ -222,6 +223,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 eeb895c39..19e1d87e4 100644
--- a/src/com/android/camera/PhotoModule.java
+++ b/src/com/android/camera/PhotoModule.java
@@ -3457,6 +3457,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,