summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteve Kondik <shade@chemlab.org>2013-12-23 18:03:46 -0800
committerMichael Bestas <mikeioannina@gmail.com>2017-01-04 21:57:43 +0200
commit0e265f6ce6f4098aebe4f7e3c95e2c92770665d0 (patch)
tree07ff63fe733517a21d664960cd6cca477ece75af
parent1c9fc1f47845de98381af359ca63d6626f1a7fb7 (diff)
downloadandroid_packages_apps_Snap-0e265f6ce6f4098aebe4f7e3c95e2c92770665d0.tar.gz
android_packages_apps_Snap-0e265f6ce6f4098aebe4f7e3c95e2c92770665d0.tar.bz2
android_packages_apps_Snap-0e265f6ce6f4098aebe4f7e3c95e2c92770665d0.zip
Snap: Support for HTC's HDR mode
* HDR was never actually working on CM because we did not instruct the camera to take all exposures. The HAL tells us that we'll get one JPEG, but we should snap 3 times. We handle this behavior in the framework now, but we should honor the num-jpegs-per-shutter value in the JPEG callback. Change-Id: I7124bf08985ae23b21ac4e294fb889ac4106946b
-rwxr-xr-xsrc/com/android/camera/PhotoModule.java12
-rw-r--r--src/com/android/camera/util/CameraUtil.java13
2 files changed, 13 insertions, 12 deletions
diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java
index 5b13b5e31..7d4af4454 100755
--- a/src/com/android/camera/PhotoModule.java
+++ b/src/com/android/camera/PhotoModule.java
@@ -1323,11 +1323,7 @@ public class PhotoModule
if(mSnapshotMode == CameraInfo.CAMERA_SUPPORT_MODE_ZSL) {
Log.v(TAG, "JpegPictureCallback : in zslmode");
mParameters = mCameraDevice.getParameters();
- if (CameraUtil.isBurstSupported(mParameters)) {
- mBurstSnapNum = mParameters.getInt("num-snaps-per-shutter");
- } else {
- mBurstSnapNum = 1;
- }
+ mBurstSnapNum = CameraUtil.getNumSnapsPerShutter(mParameters);
}
Log.v(TAG, "JpegPictureCallback: Received = " + mReceivedSnapNum +
"Burst count = " + mBurstSnapNum);
@@ -1720,11 +1716,7 @@ public class PhotoModule
mParameters = mCameraDevice.getParameters();
}
- if (CameraUtil.isBurstSupported(mParameters)) {
- mBurstSnapNum = mParameters.getInt("num-snaps-per-shutter");
- } else {
- mBurstSnapNum = 1;
- }
+ mBurstSnapNum = CameraUtil.getNumSnapsPerShutter(mParameters);
mReceivedSnapNum = 0;
mPreviewRestartSupport = SystemProperties.getBoolean(
PERSIST_PREVIEW_RESTART, false);
diff --git a/src/com/android/camera/util/CameraUtil.java b/src/com/android/camera/util/CameraUtil.java
index 6cdafa694..1dd1b17cb 100644
--- a/src/com/android/camera/util/CameraUtil.java
+++ b/src/com/android/camera/util/CameraUtil.java
@@ -41,6 +41,7 @@ import android.net.Uri;
import android.os.Handler;
import android.os.ParcelFileDescriptor;
import android.telephony.TelephonyManager;
+import android.text.TextUtils;
import android.util.DisplayMetrics;
import android.util.Log;
import android.util.TypedValue;
@@ -180,8 +181,16 @@ public class CameraUtil {
return (params.get(key) != null && !"null".equals(params.get(key)));
}
- public static boolean isBurstSupported(Parameters params) {
- return isSupported(params, "num-snaps-per-shutter");
+ public static int getNumSnapsPerShutter(Parameters params) {
+ String numJpegs = params.get("num-jpegs-per-shutter");
+ if (!TextUtils.isEmpty(numJpegs)) {
+ return Integer.valueOf(numJpegs);
+ }
+ String numSnaps = params.get("num-snaps-per-shutter");
+ if (!TextUtils.isEmpty(numSnaps)) {
+ return Integer.valueOf(numSnaps);
+ }
+ return 1;
}
// Private intent extras. Test only.