summaryrefslogtreecommitdiffstats
path: root/src/com
diff options
context:
space:
mode:
authorDoris Liu <tianliu@google.com>2013-06-11 13:31:41 -0700
committerDoris Liu <tianliu@google.com>2013-06-11 13:59:09 -0700
commite991ac8d67ffa09ee285e72ad275d32475de2ded (patch)
treecc2126edee8cdffca4aa6b9028462595f98bb991 /src/com
parent5644a35e0fa484565cfe27e2c5d4cbcca1ddedd9 (diff)
downloadandroid_packages_apps_Snap-e991ac8d67ffa09ee285e72ad275d32475de2ded.tar.gz
android_packages_apps_Snap-e991ac8d67ffa09ee285e72ad275d32475de2ded.tar.bz2
android_packages_apps_Snap-e991ac8d67ffa09ee285e72ad275d32475de2ded.zip
Disable zoom when camera does not support zoom
Change-Id: I5b4c38636614df37db1ef3166368f1650c9e5fa0
Diffstat (limited to 'src/com')
-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 f3eac3d57..71b23737b 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 793cc5352..0d4e70229 100644
--- a/src/com/android/camera/NewVideoModule.java
+++ b/src/com/android/camera/NewVideoModule.java
@@ -2008,6 +2008,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