summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSteve Kondik <shade@chemlab.org>2013-12-07 06:07:02 -0800
committerMichael Bestas <mikeioannina@gmail.com>2017-01-04 21:57:35 +0200
commit10490c4cd277d653c155735125885b3370eb5ece (patch)
tree7c74f0f6d29d9a451afcf48bfe3cd802d0580fa5 /src
parent8abbc1144a6b5426042f3c8b4befe0fba70bd629 (diff)
downloadandroid_packages_apps_Snap-10490c4cd277d653c155735125885b3370eb5ece.tar.gz
android_packages_apps_Snap-10490c4cd277d653c155735125885b3370eb5ece.tar.bz2
android_packages_apps_Snap-10490c4cd277d653c155735125885b3370eb5ece.zip
camera: Cleanup and compatibility fixes
* Don't crash for unavailable integer parameters * Kill logspam Change-Id: I6dbcf5560f96ce6173a847501721f589766889bc
Diffstat (limited to 'src')
-rw-r--r--src/com/android/camera/CameraSettings.java12
-rwxr-xr-xsrc/com/android/camera/PhotoModule.java72
-rw-r--r--src/com/android/camera/VideoModule.java4
-rw-r--r--src/com/android/camera/util/CameraUtil.java8
4 files changed, 67 insertions, 29 deletions
diff --git a/src/com/android/camera/CameraSettings.java b/src/com/android/camera/CameraSettings.java
index 50a7d4560..ee7e0a0d1 100644
--- a/src/com/android/camera/CameraSettings.java
+++ b/src/com/android/camera/CameraSettings.java
@@ -729,6 +729,18 @@ public class CameraSettings {
selectableZoneAf, mParameters.getSupportedSelectableZoneAf());
}
+ 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, mParameters.getSupportedIsoValues());
diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java
index b2c4050c6..61d9372b3 100755
--- a/src/com/android/camera/PhotoModule.java
+++ b/src/com/android/camera/PhotoModule.java
@@ -1324,7 +1324,11 @@ public class PhotoModule
if(mSnapshotMode == CameraInfo.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);
@@ -1700,7 +1704,11 @@ public class PhotoModule
mParameters = mCameraDevice.getParameters();
}
- mBurstSnapNum = mParameters.getInt("num-snaps-per-shutter");
+ if (CameraUtil.isBurstSupported(mParameters)) {
+ mBurstSnapNum = mParameters.getInt("num-snaps-per-shutter");
+ } else {
+ mBurstSnapNum = 1;
+ }
mReceivedSnapNum = 0;
mPreviewRestartSupport = SystemProperties.getBoolean(
PERSIST_PREVIEW_RESTART, false);
@@ -2786,6 +2794,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) ) {
@@ -2807,6 +2818,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) ) {
@@ -3211,32 +3225,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 <= mParameters.getMaxSaturation())){
- mParameters.setSaturation(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 <= mParameters.getMaxSaturation())){
+ mParameters.setSaturation(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 <= mParameters.getMaxContrast())){
- mParameters.setContrast(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 <= mParameters.getMaxContrast())) {
+ mParameters.setContrast(contrast);
+ }
}
// Set sharpness parameter
- String sharpnessStr = mPreferences.getString(
- CameraSettings.KEY_SHARPNESS,
- mActivity.getString(R.string.pref_camera_sharpness_default));
- int sharpness = Integer.parseInt(sharpnessStr) *
- (mParameters.getMaxSharpness()/MAX_SHARPNESS_LEVEL);
- Log.v(TAG, "Sharpness value =" + sharpness);
- if((0 <= sharpness) && (sharpness <= mParameters.getMaxSharpness())){
- mParameters.setSharpness(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) *
+ (mParameters.getMaxSharpness() / MAX_SHARPNESS_LEVEL);
+ Log.v(TAG, "Sharpness value =" + sharpness);
+ if ((0 <= sharpness) && (sharpness <= mParameters.getMaxSharpness())) {
+ mParameters.setSharpness(sharpness);
+ }
}
// Set Face Recognition
String faceRC = mPreferences.getString(
@@ -5013,8 +5033,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) {
super(context,attrs);
@@ -5033,9 +5051,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 69f782629..63d863d1f 100644
--- a/src/com/android/camera/VideoModule.java
+++ b/src/com/android/camera/VideoModule.java
@@ -2635,7 +2635,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 987244214..705e94924 100644
--- a/src/com/android/camera/util/CameraUtil.java
+++ b/src/com/android/camera/util/CameraUtil.java
@@ -168,6 +168,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";