mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-28 07:46:55 +00:00
Merge changes from topic "presubmit-am-cf03cdfdc7444d7faac91b866c05eae8" into sc-v2-dev-plus-aosp
* changes:
[automerge] Dispatch hover events through the input consumer proxy 2p: eff9a120c6
Dispatch hover events through the input consumer proxy
This commit is contained in:
@@ -99,6 +99,8 @@ public interface InputConsumer {
|
||||
|
||||
default void onMotionEvent(MotionEvent ev) { }
|
||||
|
||||
default void onHoverEvent(MotionEvent ev) { }
|
||||
|
||||
default void onKeyEvent(KeyEvent ev) { }
|
||||
|
||||
default void onInputEvent(InputEvent ev) {
|
||||
|
||||
@@ -100,6 +100,13 @@ public class OverviewInputConsumer<S extends BaseState<S>, T extends StatefulAct
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onHoverEvent(MotionEvent ev) {
|
||||
if (ENABLE_QUICKSTEP_LIVE_TILE.get()) {
|
||||
mActivity.dispatchGenericMotionEvent(ev);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onKeyEvent(KeyEvent ev) {
|
||||
if (ENABLE_QUICKSTEP_LIVE_TILE.get()) {
|
||||
|
||||
@@ -71,7 +71,16 @@ public class InputConsumerProxy {
|
||||
|
||||
private boolean onInputConsumerEvent(InputEvent ev) {
|
||||
if (ev instanceof MotionEvent) {
|
||||
onInputConsumerMotionEvent((MotionEvent) ev);
|
||||
MotionEvent event = (MotionEvent) ev;
|
||||
int action = event.getActionMasked();
|
||||
boolean isHoverEvent = action == MotionEvent.ACTION_HOVER_ENTER
|
||||
|| action == MotionEvent.ACTION_HOVER_MOVE
|
||||
|| action == MotionEvent.ACTION_HOVER_EXIT;
|
||||
if (isHoverEvent) {
|
||||
onInputConsumerHoverEvent(event);
|
||||
} else {
|
||||
onInputConsumerMotionEvent(event);
|
||||
}
|
||||
} else if (ev instanceof KeyEvent) {
|
||||
initInputConsumerIfNeeded();
|
||||
mInputConsumer.onKeyEvent((KeyEvent) ev);
|
||||
@@ -113,6 +122,15 @@ public class InputConsumerProxy {
|
||||
return true;
|
||||
}
|
||||
|
||||
private void onInputConsumerHoverEvent(MotionEvent ev) {
|
||||
initInputConsumerIfNeeded();
|
||||
if (mInputConsumer != null) {
|
||||
SimpleOrientationTouchTransformer.INSTANCE.get(mContext).transform(ev,
|
||||
mRotationSupplier.get());
|
||||
mInputConsumer.onHoverEvent(ev);
|
||||
}
|
||||
}
|
||||
|
||||
public void destroy() {
|
||||
if (mTouchInProgress) {
|
||||
mDestroyPending = true;
|
||||
|
||||
Reference in New Issue
Block a user