summaryrefslogtreecommitdiffstats
path: root/src/com
diff options
context:
space:
mode:
authorcodeworkx <codeworkx@cyanogenmod.org>2016-01-06 11:35:40 +0100
committerChippa-a <vusal1372@gmail.com>2019-10-25 15:55:25 +0300
commite043aa1a45655c813fad57cee05e8c0588add0ec (patch)
tree577f38adabeeb291c4cfe059d0a93d31ac33d25a /src/com
parent3d818573ea89729f43aee04a08ffd329c3a294da (diff)
downloadandroid_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
Diffstat (limited to 'src/com')
-rwxr-xr-xsrc/com/android/camera/CameraSettings.java18
-rw-r--r--src/com/android/camera/PhotoMenu.java2
-rwxr-xr-xsrc/com/android/camera/PhotoModule.java21
3 files changed, 41 insertions, 0 deletions
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.