summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteve Kondik <shade@chemlab.org>2013-12-07 06:07:02 -0800
committerArne Coucheron <arco68@gmail.com>2018-01-26 00:50:57 +0100
commit6bafe2c3bbab3b1804d8e6f4d32869f91d74adf0 (patch)
tree3a8a8cb57b2705f86f925c7d83dd658c4ec6929d
parent570f99f5932653dfe386836fb6e7c0fd8119038f (diff)
downloadandroid_packages_apps_Snap-6bafe2c3bbab3b1804d8e6f4d32869f91d74adf0.tar.gz
android_packages_apps_Snap-6bafe2c3bbab3b1804d8e6f4d32869f91d74adf0.tar.bz2
android_packages_apps_Snap-6bafe2c3bbab3b1804d8e6f4d32869f91d74adf0.zip
camera: Cleanup and compatibility fixes
* Don't crash for unavailable integer parameters * Kill logspam Change-Id: I6dbcf5560f96ce6173a847501721f589766889bc
-rw-r--r--src/com/android/camera/CameraSettings.java12
-rw-r--r--src/com/android/camera/PhotoModule.java65
-rw-r--r--src/com/android/camera/VideoModule.java4
-rw-r--r--src/com/android/camera/util/CameraUtil.java8
4 files changed, 62 insertions, 27 deletions
diff --git a/src/com/android/camera/CameraSettings.java b/src/com/android/camera/CameraSettings.java
index 4fff5fff7..b9fa37a96 100644
--- a/src/com/android/camera/CameraSettings.java
+++ b/src/com/android/camera/CameraSettings.java
@@ -806,6 +806,18 @@ public class CameraSettings {
selectableZoneAf, ParametersWrapper.getSupportedSelectableZoneAf(mParameters));
}
+ if (saturation != null && !CameraUtil.isSupported(mParameters, "saturation")) {
+ removePreference(group, saturation.getKey());
+ }
+
+ if (contrast != null && !CameraUtil.isSupported(mParameters, "contrast")) {
+ removePreference(group, contrast.getKey());
+ }
+
+ if (sharpness != null && !CameraUtil.isSupported(mParameters, "sharpness")) {
+ removePreference(group, sharpness.getKey());
+ }
+
if (mIso != null) {
filterUnsupportedOptions(group,
mIso, ParametersWrapper.getSupportedIsoValues(mParameters));
diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java
index c7a0ea8b0..e73aad8c8 100644
--- a/src/com/android/camera/PhotoModule.java
+++ b/src/com/android/camera/PhotoModule.java
@@ -1441,7 +1441,11 @@ public class PhotoModule
if(mSnapshotMode == CameraInfoWrapper.CAMERA_SUPPORT_MODE_ZSL) {
Log.v(TAG, "JpegPictureCallback : in zslmode");
mParameters = mCameraDevice.getParameters();
- mBurstSnapNum = mParameters.getInt("num-snaps-per-shutter");
+ if (CameraUtil.isBurstSupported(mParameters)) {
+ mBurstSnapNum = mParameters.getInt("num-snaps-per-shutter");
+ } else {
+ mBurstSnapNum = 1;
+ }
}
Log.v(TAG, "JpegPictureCallback: Received = " + mReceivedSnapNum +
"Burst count = " + mBurstSnapNum);
@@ -2986,6 +2990,9 @@ public class PhotoModule
}
return true;
case KeyEvent.KEYCODE_DPAD_LEFT:
+ if (!CameraUtil.isSupported(mParameters, "luma-adaptation")) {
+ break;
+ }
if ( (mCameraState != PREVIEW_STOPPED) && (mFocusManager != null) &&
(mFocusManager.getCurrentFocusState() != mFocusManager.STATE_FOCUSING) &&
(mFocusManager.getCurrentFocusState() != mFocusManager.STATE_FOCUSING_SNAP_ON_FINISH) ) {
@@ -3007,6 +3014,9 @@ public class PhotoModule
}
break;
case KeyEvent.KEYCODE_DPAD_RIGHT:
+ if (!CameraUtil.isSupported(mParameters, "luma-adaptation")) {
+ break;
+ }
if ( (mCameraState != PREVIEW_STOPPED) && (mFocusManager != null) &&
(mFocusManager.getCurrentFocusState() != mFocusManager.STATE_FOCUSING) &&
(mFocusManager.getCurrentFocusState() != mFocusManager.STATE_FOCUSING_SNAP_ON_FINISH) ) {
@@ -3422,32 +3432,38 @@ public class PhotoModule
}
//Set Saturation
- String saturationStr = mPreferences.getString(
- CameraSettings.KEY_SATURATION,
- mActivity.getString(R.string.pref_camera_saturation_default));
- int saturation = Integer.parseInt(saturationStr);
- Log.v(TAG, "Saturation value =" + saturation);
- if((0 <= saturation) && (saturation <= ParametersWrapper.getMaxSaturation(mParameters))){
- ParametersWrapper.setSaturation(mParameters, saturation);
+ if (CameraUtil.isSupported(mParameters, "saturation")) {
+ String saturationStr = mPreferences.getString(
+ CameraSettings.KEY_SATURATION,
+ mActivity.getString(R.string.pref_camera_saturation_default));
+ int saturation = Integer.parseInt(saturationStr);
+ Log.v(TAG, "Saturation value =" + saturation);
+ if((0 <= saturation) && (saturation <= ParametersWrapper.getMaxSaturation(mParameters))){
+ ParametersWrapper.setSaturation(mParameters, saturation);
+ }
}
// Set contrast parameter.
- String contrastStr = mPreferences.getString(
- CameraSettings.KEY_CONTRAST,
- mActivity.getString(R.string.pref_camera_contrast_default));
- int contrast = Integer.parseInt(contrastStr);
- Log.v(TAG, "Contrast value =" +contrast);
- if((0 <= contrast) && (contrast <= ParametersWrapper.getMaxContrast(mParameters))){
- ParametersWrapper.setContrast(mParameters, contrast);
+ if (CameraUtil.isSupported(mParameters, "contrast")) {
+ String contrastStr = mPreferences.getString(
+ CameraSettings.KEY_CONTRAST,
+ mActivity.getString(R.string.pref_camera_contrast_default));
+ int contrast = Integer.parseInt(contrastStr);
+ Log.v(TAG, "Contrast value =" + contrast);
+ if((0 <= contrast) && (contrast <= ParametersWrapper.getMaxContrast(mParameters))){
+ ParametersWrapper.setContrast(mParameters, contrast);
+ }
}
// Set sharpness parameter
- String sharpnessStr = mPreferences.getString(
- CameraSettings.KEY_SHARPNESS,
- mActivity.getString(R.string.pref_camera_sharpness_default));
- int sharpness = Integer.parseInt(sharpnessStr) *
- (ParametersWrapper.getMaxSharpness(mParameters)/MAX_SHARPNESS_LEVEL);
- Log.v(TAG, "Sharpness value =" + sharpness);
- if((0 <= sharpness) && (sharpness <= ParametersWrapper.getMaxSharpness(mParameters))){
- ParametersWrapper.setSharpness(mParameters, sharpness);
+ if (CameraUtil.isSupported(mParameters, "sharpness")) {
+ String sharpnessStr = mPreferences.getString(
+ CameraSettings.KEY_SHARPNESS,
+ mActivity.getString(R.string.pref_camera_sharpness_default));
+ int sharpness = Integer.parseInt(sharpnessStr) *
+ (ParametersWrapper.getMaxSharpness(mParameters)/MAX_SHARPNESS_LEVEL);
+ Log.v(TAG, "Sharpness value =" + sharpness);
+ if((0 <= sharpness) && (sharpness <= ParametersWrapper.getMaxSharpness(mParameters))){
+ ParametersWrapper.setSharpness(mParameters, sharpness);
+ }
}
// Set Face Recognition
String faceRC = mPreferences.getString(
@@ -5320,7 +5336,6 @@ class GraphView extends View {
private CameraManager.CameraProxy mGraphCameraDevice;
private float scaled;
private static final int STATS_SIZE = 256;
- private static final String TAG = "GraphView";
public GraphView(Context context, AttributeSet attrs) {
@@ -5340,9 +5355,7 @@ class GraphView extends View {
}
@Override
protected void onDraw(Canvas canvas) {
- Log.v(TAG, "in Camera.java ondraw");
if(mPhotoModule == null || !mPhotoModule.mHiston ) {
- Log.e(TAG, "returning as histogram is off ");
return;
}
diff --git a/src/com/android/camera/VideoModule.java b/src/com/android/camera/VideoModule.java
index 02ead1b1c..bf5cf4b0b 100644
--- a/src/com/android/camera/VideoModule.java
+++ b/src/com/android/camera/VideoModule.java
@@ -2722,7 +2722,9 @@ public class VideoModule implements CameraModule,
Log.i(TAG,"NOTE: SetCameraParameters " + videoWidth + " x " + videoHeight);
String recordSize = videoWidth + "x" + videoHeight;
Log.e(TAG,"Video dimension in App->"+recordSize);
- mParameters.set("video-size", recordSize);
+ if (CameraUtil.isSupported(mParameters, "video-size")) {
+ mParameters.set("video-size", recordSize);
+ }
// Set white balance parameter.
String whiteBalance = mPreferences.getString(
CameraSettings.KEY_WHITE_BALANCE,
diff --git a/src/com/android/camera/util/CameraUtil.java b/src/com/android/camera/util/CameraUtil.java
index 97ba3287b..618bf2a8d 100644
--- a/src/com/android/camera/util/CameraUtil.java
+++ b/src/com/android/camera/util/CameraUtil.java
@@ -196,6 +196,14 @@ public class CameraUtil {
params.getSupportedFocusModes()));
}
+ public static boolean isSupported(Parameters params, String key) {
+ return (params.get(key) != null && !"null".equals(params.get(key)));
+ }
+
+ public static boolean isBurstSupported(Parameters params) {
+ return isSupported(params, "num-snaps-per-shutter");
+ }
+
// Private intent extras. Test only.
private static final String EXTRAS_CAMERA_FACING =
"android.intent.extras.CAMERA_FACING";