From 07a410e1ea3ab1613adcac564fb4a86402e9561e Mon Sep 17 00:00:00 2001 From: codeworkx Date: Wed, 6 Jan 2016 11:35:40 +0100 Subject: Snap: add support for shutter speed Change-Id: Id3393280c7c1c2f292d71587ba099e8dbafd1340 --- src/com/android/camera/CameraSettings.java | 20 ++++++++++++++++++++ src/com/android/camera/PhotoMenu.java | 2 ++ src/com/android/camera/PhotoModule.java | 9 +++++++++ 3 files changed, 31 insertions(+) (limited to 'src/com/android/camera') diff --git a/src/com/android/camera/CameraSettings.java b/src/com/android/camera/CameraSettings.java index 9fdf55a04..91567eb86 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 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 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, -- cgit v1.2.3