diff options
author | Steve Kondik <shade@chemlab.org> | 2013-12-23 18:03:46 -0800 |
---|---|---|
committer | Arne Coucheron <arco68@gmail.com> | 2018-01-26 01:02:55 +0100 |
commit | 3c70192ac84f19841cc4422410c7560f3fe69812 (patch) | |
tree | 7e8307d8dd7eb87aac863c7c1cf8aa545ddf0a3d /src/com/android | |
parent | 2eda9d0e7ae5702fed4980487b63519524690652 (diff) | |
download | android_packages_apps_Snap-3c70192ac84f19841cc4422410c7560f3fe69812.tar.gz android_packages_apps_Snap-3c70192ac84f19841cc4422410c7560f3fe69812.tar.bz2 android_packages_apps_Snap-3c70192ac84f19841cc4422410c7560f3fe69812.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
Diffstat (limited to 'src/com/android')
-rw-r--r-- | src/com/android/camera/PhotoModule.java | 12 | ||||
-rw-r--r-- | src/com/android/camera/util/CameraUtil.java | 13 |
2 files changed, 13 insertions, 12 deletions
diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java index b38464e30..94f39e0c3 100644 --- a/src/com/android/camera/PhotoModule.java +++ b/src/com/android/camera/PhotoModule.java @@ -1439,11 +1439,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); @@ -1884,11 +1880,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 f0b4b4451..a75ce1f0b 100644 --- a/src/com/android/camera/util/CameraUtil.java +++ b/src/com/android/camera/util/CameraUtil.java @@ -42,6 +42,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.Range; @@ -208,8 +209,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. |