summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJay Wang <jaywang@codeaurora.org>2016-06-17 11:38:12 -0700
committerJay Wang <jaywang@codeaurora.org>2016-06-17 11:44:27 -0700
commitde8ad436e64a1d844a10f2dbfbb48d9e4d9b976e (patch)
treee7124744d2847d4d9cfb21a773188b3caec84ea2
parent2a6ece71ba9ffd1cfb53b03fb788108606c8e30a (diff)
downloadandroid_packages_apps_Snap-de8ad436e64a1d844a10f2dbfbb48d9e4d9b976e.tar.gz
android_packages_apps_Snap-de8ad436e64a1d844a10f2dbfbb48d9e4d9b976e.tar.bz2
android_packages_apps_Snap-de8ad436e64a1d844a10f2dbfbb48d9e4d9b976e.zip
SnapdragonCamera: Fix slow zooming issue
Zoom range calculation didn't give enough precision and caused non-smooth zooming experience. Make the change to keep the full fractional digits. Change-Id: Ib72707e451ea7c4e375d489d183265592622ce0b CRs-Fixed: 1025788
-rw-r--r--src/com/android/camera/ui/ZoomRenderer.java8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/com/android/camera/ui/ZoomRenderer.java b/src/com/android/camera/ui/ZoomRenderer.java
index 0358bda7a..11bff7a8d 100644
--- a/src/com/android/camera/ui/ZoomRenderer.java
+++ b/src/com/android/camera/ui/ZoomRenderer.java
@@ -50,7 +50,6 @@ public class ZoomRenderer extends OverlayRenderer
private Rect mTextBounds;
private int mOrientation;
private boolean mCamera2 = false;
- private float mZoomValue;
private float mZoomMinValue;
private float mZoomMaxValue;
@@ -98,8 +97,9 @@ public class ZoomRenderer extends OverlayRenderer
public void setZoom(float zoomValue) {
mCamera2 = true;
- mZoomValue = zoomValue;
- mCircleSize = (int) (mMinCircle + (mMaxCircle - mMinCircle) * (mZoomValue - mZoomMinValue) /
+ mZoomSig = (int) zoomValue;
+ mZoomFraction = (int)(zoomValue * 10) % 10;
+ mCircleSize = (int) (mMinCircle + (mMaxCircle - mMinCircle) * (zoomValue - mZoomMinValue) /
(mZoomMaxValue - mZoomMinValue));
}
@@ -138,7 +138,6 @@ public class ZoomRenderer extends OverlayRenderer
canvas.drawCircle((float) mCenterX, (float) mCenterY,
mCircleSize, mPaint);
String txt = mZoomSig+"."+mZoomFraction+"x";
- if (mCamera2) txt = "" + mZoomValue;
mTextPaint.getTextBounds(txt, 0, txt.length(), mTextBounds);
canvas.drawText(txt, mCenterX - mTextBounds.centerX(), mCenterY - mTextBounds.centerY(),
mTextPaint);
@@ -155,7 +154,6 @@ public class ZoomRenderer extends OverlayRenderer
if (mCamera2) {
float zoom = mZoomMinValue + (mZoomMaxValue - mZoomMinValue) / (mMaxCircle -
mMinCircle) * (mCircleSize - mMinCircle);
- zoom = ((int) (zoom * 10)) / 10.0f;
mListener.onZoomValueChanged(zoom);
} else {
int zoom = mMinZoom + (int) ((mCircleSize - mMinCircle) * (mMaxZoom - mMinZoom) /