summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorcodeworkx <codeworkx@cyanogenmod.org>2016-01-06 12:25:10 +0100
committerArne Coucheron <arco68@gmail.com>2018-01-26 01:02:25 +0100
commitae8ef453111d0050efda875959ce8090bb19925b (patch)
tree00a44084ac1c497d8971cb273a86eaf602130ed3 /src
parenta5340ca1cf6f85a3df76c07501ce9df2564b853c (diff)
downloadandroid_packages_apps_Snap-ae8ef453111d0050efda875959ce8090bb19925b.tar.gz
android_packages_apps_Snap-ae8ef453111d0050efda875959ce8090bb19925b.tar.bz2
android_packages_apps_Snap-ae8ef453111d0050efda875959ce8090bb19925b.zip
Snap: add support for mw_continuous-picture focus mode
Change-Id: If165370b52d7454c69e2cdeb9d837d049010b0e8
Diffstat (limited to 'src')
-rw-r--r--src/com/android/camera/PhotoModule.java38
-rw-r--r--src/com/android/camera/util/CameraUtil.java1
2 files changed, 27 insertions, 12 deletions
diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java
index 19e1d87e4..86794b946 100644
--- a/src/com/android/camera/PhotoModule.java
+++ b/src/com/android/camera/PhotoModule.java
@@ -1478,15 +1478,15 @@ public class PhotoModule
if (needRestartPreview) {
setupPreview();
- if (CameraUtil.FOCUS_MODE_CONTINUOUS_PICTURE.equals(
- mFocusManager.getFocusMode())) {
+ if (CameraUtil.FOCUS_MODE_CONTINUOUS_PICTURE.equals(mFocusManager.getFocusMode()) ||
+ CameraUtil.FOCUS_MODE_MW_CONTINUOUS_PICTURE.equals(mFocusManager.getFocusMode())) {
mCameraDevice.cancelAutoFocus();
}
} else if ((mReceivedSnapNum == mBurstSnapNum)
&& (mCameraState != LONGSHOT)){
mFocusManager.resetTouchFocus();
- if (CameraUtil.FOCUS_MODE_CONTINUOUS_PICTURE.equals(
- mFocusManager.getFocusMode())) {
+ if (CameraUtil.FOCUS_MODE_CONTINUOUS_PICTURE.equals(mFocusManager.getFocusMode()) ||
+ CameraUtil.FOCUS_MODE_MW_CONTINUOUS_PICTURE.equals(mFocusManager.getFocusMode())) {
mCameraDevice.cancelAutoFocus();
}
mUI.resumeFaceDetection();
@@ -3175,7 +3175,8 @@ public class PhotoModule
if (!mSnapshotOnIdle && !mInstantCaptureSnapShot) {
// If the focus mode is continuous autofocus, call cancelAutoFocus to
// resume it because it may have been paused by autoFocus call.
- if (CameraUtil.FOCUS_MODE_CONTINUOUS_PICTURE.equals(mFocusManager.getFocusMode()) && mCameraState !=INIT) {
+ if (CameraUtil.FOCUS_MODE_CONTINUOUS_PICTURE.equals(mFocusManager.getFocusMode()) && mCameraState !=INIT ||
+ CameraUtil.FOCUS_MODE_MW_CONTINUOUS_PICTURE.equals(mFocusManager.getFocusMode())) {
mCameraDevice.cancelAutoFocus();
}
} else {
@@ -3812,10 +3813,17 @@ public class PhotoModule
mParameters.set(KEY_PICTURE_FORMAT, PIXEL_FORMAT_JPEG);
//Try to set CAF for ZSL
- if(CameraUtil.isSupported(Parameters.FOCUS_MODE_CONTINUOUS_PICTURE,
- mParameters.getSupportedFocusModes()) && !mFocusManager.isTouch()) {
- mFocusManager.overrideFocusMode(Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);
- mParameters.setFocusMode(Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);
+ if (!mFocusManager.isTouch()) {
+ if(CameraUtil.isSupported(CameraUtil.FOCUS_MODE_MW_CONTINUOUS_PICTURE,
+ mParameters.getSupportedFocusModes())) {
+ mFocusManager.overrideFocusMode(CameraUtil.FOCUS_MODE_MW_CONTINUOUS_PICTURE);
+ mParameters.setFocusMode(CameraUtil.FOCUS_MODE_MW_CONTINUOUS_PICTURE);
+ }
+ else if(CameraUtil.isSupported(Parameters.FOCUS_MODE_CONTINUOUS_PICTURE,
+ mParameters.getSupportedFocusModes())) {
+ mFocusManager.overrideFocusMode(Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);
+ mParameters.setFocusMode(Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);
+ }
} else if (mFocusManager.isTouch()) {
mFocusManager.overrideFocusMode(null);
mParameters.setFocusMode(mFocusManager.getFocusMode());
@@ -4375,7 +4383,8 @@ public class PhotoModule
@TargetApi(Build.VERSION_CODES.JELLY_BEAN)
private void updateAutoFocusMoveCallback() {
- if (mParameters.getFocusMode().equals(CameraUtil.FOCUS_MODE_CONTINUOUS_PICTURE)) {
+ if (mParameters.getFocusMode().equals(CameraUtil.FOCUS_MODE_CONTINUOUS_PICTURE) ||
+ mParameters.getFocusMode().equals(CameraUtil.FOCUS_MODE_MW_CONTINUOUS_PICTURE)) {
mCameraDevice.setAutoFocusMoveCallback(mHandler,
(CameraAFMoveCallback) mAutoFocusMoveCallback);
} else {
@@ -5114,8 +5123,13 @@ public class PhotoModule
mMeteringAreaSupported = CameraUtil.isMeteringAreaSupported(mInitialParams);
mAeLockSupported = CameraUtil.isAutoExposureLockSupported(mInitialParams);
mAwbLockSupported = CameraUtil.isAutoWhiteBalanceLockSupported(mInitialParams);
- mContinuousFocusSupported = mInitialParams.getSupportedFocusModes().contains(
- CameraUtil.FOCUS_MODE_CONTINUOUS_PICTURE);
+
+ if (mInitialParams.getSupportedFocusModes().contains(CameraUtil.FOCUS_MODE_CONTINUOUS_PICTURE) ||
+ mInitialParams.getSupportedFocusModes().contains(CameraUtil.FOCUS_MODE_MW_CONTINUOUS_PICTURE)) {
+ mContinuousFocusSupported = true;
+ } else {
+ mContinuousFocusSupported = false;
+ }
}
@Override
diff --git a/src/com/android/camera/util/CameraUtil.java b/src/com/android/camera/util/CameraUtil.java
index 3d34a8020..f9cab0165 100644
--- a/src/com/android/camera/util/CameraUtil.java
+++ b/src/com/android/camera/util/CameraUtil.java
@@ -133,6 +133,7 @@ public class CameraUtil {
public static final String SECURE_CAMERA_EXTRA = "secure_camera";
// Fields from android.hardware.Camera.Parameters
public static final String FOCUS_MODE_CONTINUOUS_PICTURE = "continuous-picture";
+ public static final String FOCUS_MODE_MW_CONTINUOUS_PICTURE = "mw_continuous-picture";
public static final String RECORDING_HINT = "recording-hint";
private static final String AUTO_EXPOSURE_LOCK_SUPPORTED = "auto-exposure-lock-supported";
private static final String AUTO_WHITE_BALANCE_LOCK_SUPPORTED = "auto-whitebalance-lock-supported";