ACTION_DOWN事件
->mPrivateHandler.sendEmptyMessageDelayed(SWITCH_TO_SHORTPRESS, TAP_TIMEOUT)
发延迟处理的消息SWITCH_TO_SHORTPRESS (短按) 计时
->mPrivateHandler.sendEmptyMessageDelayed(SWITCH_TO_LONGPRESS, LONG_PRESS_TIMEOUT)
发延迟处理的消息SWITCH_TO_LONGPRESS (长按) 计时
ACTION_UP事件
(1)ACTION_UP < SWITCH_TO_SHORTPRESS < SWITCH_TO_LONGPRESS (单击/双击)发生在SWITCH_TO_SHORTPRESS和SWITCH_TO_LONGPRESS处理之前 (快速点击_1)
->清除mPrivateHandler中SWITCH_TO_SHORTPRESS和SWITCH_TO_LONGPRESS消息
->mPrivateHandler.sendEmptyMessageDelayed(RELEASE_SINGLE_TAP, getDoubleTapDelay())
发延迟处理的消息RELEASE_SINGLE_TAP (二次计时)
->(1)DoubleTapDelay < ACTION_DOWN 第一次ACTION_DOWN+ACTION_UP之后的getDoubleTapDelay()时间内没有ACTION_DOWN
->处理RELEASE_SINGLE_TAP
->doShortPress()(短按)
->(2)ACTION_DOWN < DoubleTapDelay第一次ACTION_DOWN+ACTION_UP之后的getDoubleTapDelay()时间内有ACTION_DOWN
->清除RELEASE_SINGLE_TAP ,进TOUCH_DOUBLE_TAP_MODE模式
->发延迟处理的消息SWITCH_TO_SHORTPRESS +发延迟处理的消息SWITCH_TO_LONGPRESS
->(1)ACTION_UP<SWITCH_TO_SHORTPRESS再次发生ACTION_UP事件 (快速点击_2)
->清除mPrivateHandler中SWITCH_TO_SHORTPRESS和SWITCH_TO_LONGPRESS消息
->doDoubleTap() (双击)
->(2)SWITCH_TO_SHORTPRESS < ACTION_UP < SWITCH_TO_LONGPRESS
(2) SWITCH_TO_SHORTPRESS <ACTION_UP < SWITCH_TO_LONGPRESS (短按)
->处理SWITCH_TO_SHORTPRESS
->清除mPrivateHandler中SWITCH_TO_LONGPRESS消息
->doShortPress()(短按)
(3) SWITCH_TO_SHORTPRESS < SWITCH_TO_LONGPRESS < ACTION_UP (长按)发生在SWITCH_TO_SHORTPRESS和SWITCH_TO_LONGPRESS处理之后 (长按模式)
期间mPrivateHandler会处理SWITCH_TO_SHORTPRESS和SWITCH_TO_LONGPRESS消息
->处理SWITCH_TO_SHORTPRESS
->处理SWITCH_TO_LONGPRESS (长按)