am 5e900e3a: Merge "Adding a scaling threshold in ScreenMagnifier" into jb-mr1-dev
* commit '5e900e3a17a87e91a0d190bc1c96efc440eb026a': Adding a scaling threshold in ScreenMagnifier
This commit is contained in:
@@ -353,11 +353,13 @@ public final class ScreenMagnifier implements EventStreamTransformation {
|
|||||||
private static final float MIN_SCALE = 1.3f;
|
private static final float MIN_SCALE = 1.3f;
|
||||||
private static final float MAX_SCALE = 5.0f;
|
private static final float MAX_SCALE = 5.0f;
|
||||||
|
|
||||||
|
private static final float SCALING_THRESHOLD = 0.3f;
|
||||||
|
|
||||||
private final ScaleGestureDetector mScaleGestureDetector;
|
private final ScaleGestureDetector mScaleGestureDetector;
|
||||||
private final GestureDetector mGestureDetector;
|
private final GestureDetector mGestureDetector;
|
||||||
|
|
||||||
private float mScaleFocusX = -1;
|
private float mInitialScaleFactor = -1;
|
||||||
private float mScaleFocusY = -1;
|
private boolean mScaling;
|
||||||
|
|
||||||
public MagnifiedContentInteractonStateHandler(Context context) {
|
public MagnifiedContentInteractonStateHandler(Context context) {
|
||||||
mScaleGestureDetector = new ScaleGestureDetector(context, this);
|
mScaleGestureDetector = new ScaleGestureDetector(context, this);
|
||||||
@@ -405,8 +407,17 @@ public final class ScreenMagnifier implements EventStreamTransformation {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onScale(ScaleGestureDetector detector) {
|
public boolean onScale(ScaleGestureDetector detector) {
|
||||||
if (mCurrentState != STATE_MAGNIFIED_INTERACTION) {
|
if (!mScaling) {
|
||||||
return true;
|
if (mInitialScaleFactor < 0) {
|
||||||
|
mInitialScaleFactor = detector.getScaleFactor();
|
||||||
|
} else {
|
||||||
|
final float deltaScale = detector.getScaleFactor() - mInitialScaleFactor;
|
||||||
|
if (Math.abs(deltaScale) > SCALING_THRESHOLD) {
|
||||||
|
mScaling = true;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
final float newScale = mMagnificationController.getScale()
|
final float newScale = mMagnificationController.getScale()
|
||||||
* detector.getScaleFactor();
|
* detector.getScaleFactor();
|
||||||
@@ -414,12 +425,8 @@ public final class ScreenMagnifier implements EventStreamTransformation {
|
|||||||
if (DEBUG_SCALING) {
|
if (DEBUG_SCALING) {
|
||||||
Slog.i(LOG_TAG, "normalizedNewScale: " + normalizedNewScale);
|
Slog.i(LOG_TAG, "normalizedNewScale: " + normalizedNewScale);
|
||||||
}
|
}
|
||||||
if (mScaleFocusX < 0 && mScaleFocusY < 0) {
|
mMagnificationController.setScale(normalizedNewScale, detector.getFocusX(),
|
||||||
mScaleFocusX = detector.getFocusX();
|
detector.getFocusY(), false);
|
||||||
mScaleFocusY = detector.getFocusY();
|
|
||||||
}
|
|
||||||
mMagnificationController.setScale(normalizedNewScale, mScaleFocusX,
|
|
||||||
mScaleFocusY, false);
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -434,8 +441,8 @@ public final class ScreenMagnifier implements EventStreamTransformation {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void clear() {
|
private void clear() {
|
||||||
mScaleFocusX = -1;
|
mInitialScaleFactor = -1;
|
||||||
mScaleFocusY = -1;
|
mScaling = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user