Merge "Use long click timeout for handwriting" into tm-dev
This commit is contained in:
@@ -55,10 +55,10 @@ public class HandwritingInitiator {
|
|||||||
*/
|
*/
|
||||||
private final int mTouchSlop;
|
private final int mTouchSlop;
|
||||||
/**
|
/**
|
||||||
* The timeout used to distinguish tap from handwriting. If the stylus doesn't move before this
|
* The timeout used to distinguish tap or long click from handwriting. If the stylus doesn't
|
||||||
* timeout, it's not considered as handwriting.
|
* move before this timeout, it's not considered as handwriting.
|
||||||
*/
|
*/
|
||||||
private final long mTapTimeoutInMillis;
|
private final long mHandwritingTimeoutInMillis;
|
||||||
|
|
||||||
private State mState = new State();
|
private State mState = new State();
|
||||||
private final HandwritingAreaTracker mHandwritingAreasTracker = new HandwritingAreaTracker();
|
private final HandwritingAreaTracker mHandwritingAreasTracker = new HandwritingAreaTracker();
|
||||||
@@ -90,7 +90,7 @@ public class HandwritingInitiator {
|
|||||||
public HandwritingInitiator(@NonNull ViewConfiguration viewConfiguration,
|
public HandwritingInitiator(@NonNull ViewConfiguration viewConfiguration,
|
||||||
@NonNull InputMethodManager inputMethodManager) {
|
@NonNull InputMethodManager inputMethodManager) {
|
||||||
mTouchSlop = viewConfiguration.getScaledTouchSlop();
|
mTouchSlop = viewConfiguration.getScaledTouchSlop();
|
||||||
mTapTimeoutInMillis = ViewConfiguration.getTapTimeout();
|
mHandwritingTimeoutInMillis = ViewConfiguration.getLongPressTimeout();
|
||||||
mImm = inputMethodManager;
|
mImm = inputMethodManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -145,7 +145,7 @@ public class HandwritingInitiator {
|
|||||||
|
|
||||||
final long timeElapsed =
|
final long timeElapsed =
|
||||||
motionEvent.getEventTime() - mState.mStylusDownTimeInMillis;
|
motionEvent.getEventTime() - mState.mStylusDownTimeInMillis;
|
||||||
if (timeElapsed > mTapTimeoutInMillis) {
|
if (timeElapsed > mHandwritingTimeoutInMillis) {
|
||||||
reset();
|
reset();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ import org.junit.runner.RunWith;
|
|||||||
@RunWith(AndroidJUnit4.class)
|
@RunWith(AndroidJUnit4.class)
|
||||||
public class HandwritingInitiatorTest {
|
public class HandwritingInitiatorTest {
|
||||||
private static final int TOUCH_SLOP = 8;
|
private static final int TOUCH_SLOP = 8;
|
||||||
private static final long TAP_TIMEOUT = ViewConfiguration.getTapTimeout();
|
private static final long TIMEOUT = ViewConfiguration.getLongPressTimeout();
|
||||||
private static final Rect sHwArea = new Rect(100, 200, 500, 500);
|
private static final Rect sHwArea = new Rect(100, 200, 500, 500);
|
||||||
|
|
||||||
private HandwritingInitiator mHandwritingInitiator;
|
private HandwritingInitiator mHandwritingInitiator;
|
||||||
@@ -177,7 +177,7 @@ public class HandwritingInitiatorTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onTouchEvent_notStartHandwriting_when_stylusMove_afterTapTimeOut() {
|
public void onTouchEvent_notStartHandwriting_when_stylusMove_afterTimeOut() {
|
||||||
mHandwritingInitiator.onInputConnectionCreated(mTestView);
|
mHandwritingInitiator.onInputConnectionCreated(mTestView);
|
||||||
final int x1 = 10;
|
final int x1 = 10;
|
||||||
final int y1 = 10;
|
final int y1 = 10;
|
||||||
@@ -187,7 +187,7 @@ public class HandwritingInitiatorTest {
|
|||||||
|
|
||||||
final int x2 = x1 + TOUCH_SLOP * 2;
|
final int x2 = x1 + TOUCH_SLOP * 2;
|
||||||
final int y2 = y1;
|
final int y2 = y1;
|
||||||
final long time2 = time1 + TAP_TIMEOUT + 10L;
|
final long time2 = time1 + TIMEOUT + 10L;
|
||||||
MotionEvent stylusEvent2 = createStylusEvent(ACTION_MOVE, x2, y2, time2);
|
MotionEvent stylusEvent2 = createStylusEvent(ACTION_MOVE, x2, y2, time2);
|
||||||
mHandwritingInitiator.onTouchEvent(stylusEvent2);
|
mHandwritingInitiator.onTouchEvent(stylusEvent2);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user