summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteve Kondik <shade@chemlab.org>2013-12-23 18:03:46 -0800
committerChippa-a <vusal1372@gmail.com>2019-10-25 15:55:25 +0300
commitbed3f387678a8772f238731b74183d3d4c7c3e74 (patch)
treea7aba0d1e97776d660a993a3e9f1452e07d2d94f
parentdf2f8692e61c25eb6a5c961049cc1e46e6d5c06d (diff)
downloadandroid_packages_apps_Snap-bed3f387678a8772f238731b74183d3d4c7c3e74.tar.gz
android_packages_apps_Snap-bed3f387678a8772f238731b74183d3d4c7c3e74.tar.bz2
android_packages_apps_Snap-bed3f387678a8772f238731b74183d3d4c7c3e74.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
-rwxr-xr-xsrc/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 88380d5fc..3996583c3 100755
--- a/src/com/android/camera/PhotoModule.java
+++ b/src/com/android/camera/PhotoModule.java
@@ -1360,11 +1360,7 @@ public class PhotoModule
if(mSnapshotMode == CameraInfoWrapper.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);
@@ -1785,11 +1781,7 @@ public class PhotoModule
mParameters = mCameraDevice.getParameters();
}
- try {
- mBurstSnapNum = mParameters.getInt("num-snaps-per-shutter");
- }catch (NumberFormatException ex){
- mBurstSnapNum = 1;
- }
+ mBurstSnapNum = CameraUtil.getNumSnapsPerShutter(mParameters);
mReceivedSnapNum = 0;
mPreviewRestartSupport = PersistUtil.isPreviewRestartEnabled();
mPreviewRestartSupport &= CameraSettings.isInternalPreviewSupported(
diff --git a/src/com/android/camera/util/CameraUtil.java b/src/com/android/camera/util/CameraUtil.java
index 68c121774..82324a9ca 100755
--- a/src/com/android/camera/util/CameraUtil.java
+++ b/src/com/android/camera/util/CameraUtil.java
@@ -43,6 +43,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;
@@ -213,8 +214,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.