summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDoris Liu <tianliu@google.com>2013-06-11 22:34:22 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-06-11 22:34:23 +0000
commit5791e2fbe36756806339182fcde4ce058ec1d203 (patch)
tree9bf070f0c9649915b6caed71ca46f6919aec6ea0
parent1e2b3f8be10ca20f6807ed71f160d6f6a8ab1c81 (diff)
parente991ac8d67ffa09ee285e72ad275d32475de2ded (diff)
downloadandroid_packages_apps_Snap-5791e2fbe36756806339182fcde4ce058ec1d203.tar.gz
android_packages_apps_Snap-5791e2fbe36756806339182fcde4ce058ec1d203.tar.bz2
android_packages_apps_Snap-5791e2fbe36756806339182fcde4ce058ec1d203.zip
Merge "Disable zoom when camera does not support zoom" into gb-ub-photos-carlsbad
-rw-r--r--src/com/android/camera/NewPhotoModule.java2
-rw-r--r--src/com/android/camera/NewPhotoUI.java1
-rw-r--r--src/com/android/camera/NewPreviewGestures.java11
-rw-r--r--src/com/android/camera/NewVideoModule.java1
-rw-r--r--src/com/android/camera/NewVideoUI.java6
5 files changed, 19 insertions, 2 deletions
diff --git a/src/com/android/camera/NewPhotoModule.java b/src/com/android/camera/NewPhotoModule.java
index 9911e8f4b..cd3281476 100644
--- a/src/com/android/camera/NewPhotoModule.java
+++ b/src/com/android/camera/NewPhotoModule.java
@@ -542,6 +542,8 @@ public class NewPhotoModule
mFocusManager.setParameters(mInitialParams);
setupPreview();
+ // reset zoom value index
+ mZoomValue = 0;
openCameraCommon();
if (ApiHelper.HAS_SURFACE_TEXTURE) {
diff --git a/src/com/android/camera/NewPhotoUI.java b/src/com/android/camera/NewPhotoUI.java
index 4d9469743..2f29e440f 100644
--- a/src/com/android/camera/NewPhotoUI.java
+++ b/src/com/android/camera/NewPhotoUI.java
@@ -293,6 +293,7 @@ public class NewPhotoUI implements PieListener,
mGestures = new NewPreviewGestures(mActivity, this, mZoomRenderer, mPieRenderer);
mRenderOverlay.setGestures(mGestures);
}
+ mGestures.setZoomEnabled(params.isZoomSupported());
mGestures.setRenderOverlay(mRenderOverlay);
mRenderOverlay.requestLayout();
diff --git a/src/com/android/camera/NewPreviewGestures.java b/src/com/android/camera/NewPreviewGestures.java
index 39c4be664..339c4b33f 100644
--- a/src/com/android/camera/NewPreviewGestures.java
+++ b/src/com/android/camera/NewPreviewGestures.java
@@ -69,6 +69,7 @@ public class NewPreviewGestures
private int mMode;
private int mSlop;
private int mTapTimeout;
+ private boolean mZoomEnabled;
private boolean mEnabled;
private boolean mZoomOnly;
private int mOrientation;
@@ -148,6 +149,10 @@ public class NewPreviewGestures
mEnabled = enabled;
}
+ public void setZoomEnabled(boolean enable) {
+ mZoomEnabled = enable;
+ }
+
public void setZoomOnly(boolean zoom) {
mZoomOnly = zoom;
}
@@ -178,7 +183,10 @@ public class NewPreviewGestures
mScale.onTouchEvent(m);
if (MotionEvent.ACTION_POINTER_DOWN == m.getActionMasked()) {
mMode = MODE_ZOOM;
- mZoom.onScaleBegin(mScale);
+ if (mZoomEnabled) {
+ // Start showing zoom UI as soon as there is a second finger down
+ mZoom.onScaleBegin(mScale);
+ }
} else if (MotionEvent.ACTION_POINTER_UP == m.getActionMasked()) {
mZoom.onScaleEnd(mScale);
}
@@ -241,6 +249,7 @@ public class NewPreviewGestures
if (mPie == null || !mPie.isOpen()) {
mMode = MODE_ZOOM;
mGestureDetector.onTouchEvent(makeCancelEvent(mCurrent));
+ if (!mZoomEnabled) return false;
return mZoom.onScaleBegin(detector);
}
return false;
diff --git a/src/com/android/camera/NewVideoModule.java b/src/com/android/camera/NewVideoModule.java
index 188a38965..8bec332f9 100644
--- a/src/com/android/camera/NewVideoModule.java
+++ b/src/com/android/camera/NewVideoModule.java
@@ -2015,6 +2015,7 @@ public class NewVideoModule implements NewCameraModule,
initializeVideoControl();
// From onResume
+ mZoomValue = 0;
mUI.initializeZoom(mParameters);
mUI.setOrientationIndicator(0, false);
diff --git a/src/com/android/camera/NewVideoUI.java b/src/com/android/camera/NewVideoUI.java
index 02c8e1c7a..9e2c10810 100644
--- a/src/com/android/camera/NewVideoUI.java
+++ b/src/com/android/camera/NewVideoUI.java
@@ -581,7 +581,11 @@ public class NewVideoUI implements PieRenderer.PieListener,
}
public void initializeZoom(Parameters param) {
- if (param == null || !param.isZoomSupported()) return;
+ if (param == null || !param.isZoomSupported()) {
+ mGestures.setZoomEnabled(false);
+ return;
+ }
+ mGestures.setZoomEnabled(true);
mZoomMax = param.getMaxZoom();
mZoomRatios = param.getZoomRatios();
// Currently we use immediate zoom for fast zooming to get better UX and