private void onInputEvent(InputEvent ev) {
if (!(ev instanceof MotionEvent)) {
Log.e(TAG, "Unknown event " + ev); return ; } MotionEvent event = (MotionEvent) ev; TOUCH_INTERACTION_LOG.addLog( "onMotionEvent" , event.getActionMasked()); if (event.getAction() == ACTION_DOWN) {
if (mSwipeTouchRegion.contains(event.getX(), event.getY())) { //判断触发区域 boolean useSharedState = mConsumer.useSharedSwipeState(); mConsumer.onConsumerAboutToBeSwitched(); mConsumer = newConsumer(useSharedState, event); // 分配对应的消费者 TOUCH_INTERACTION_LOG.addLog( "setInputConsumer" , mConsumer.getType()); mUncheckedConsumer = mConsumer; } else if (mIsUserUnlocked && mMode == Mode.NO_BUTTON && canTriggerAssistantAction(event)) {
// Do not change mConsumer as if there is an ongoing QuickSwitch gesture, we should // not interrupt it. QuickSwitch assumes that interruption can only happen if the // next gesture is also quick switch. mUncheckedConsumer = new AssistantTouchConsumer( this , mISystemUiProxy, // 安卓原生的语音助手一类的东西 mOverviewComponentObserver.getActivityControlHelper(), InputConsumer.NO_OP, mInputMonitorCompat); } else {
mUncheckedConsumer = InputConsumer.NO_OP; }
|