Ignore events that occur between app icons on the taskbar
Bug: 297325541 Flag: com.android.launcher3.show_taskbar_pinning_popup_from_anywhere Test: manual, flip the flag, long-click between taskbar items Change-Id: If2ee00f31fcd1788bac2c2c0cd78ba1eada86115
This commit is contained in:
@@ -202,6 +202,10 @@ public class TaskbarViewCallbacks {
|
||||
private class TaskbarViewGestureListener extends GestureDetector.SimpleOnGestureListener {
|
||||
@Override
|
||||
public boolean onDown(@NonNull MotionEvent event) {
|
||||
if (event.isFromSource(InputDevice.SOURCE_MOUSE)
|
||||
&& event.getButtonState() == MotionEvent.BUTTON_SECONDARY) {
|
||||
maybeShowPinningView(event);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -211,11 +215,16 @@ public class TaskbarViewCallbacks {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLongPress(MotionEvent event) {
|
||||
if (DisplayController.isPinnedTaskbar(mActivity)) {
|
||||
mControllers.taskbarPinningController.showPinningView(mTaskbarView,
|
||||
event.getRawX());
|
||||
public void onLongPress(@NonNull MotionEvent event) {
|
||||
maybeShowPinningView(event);
|
||||
}
|
||||
|
||||
private void maybeShowPinningView(@NonNull MotionEvent event) {
|
||||
if (!DisplayController.isPinnedTaskbar(mActivity) || mTaskbarView.isEventOverAnyItem(
|
||||
event)) {
|
||||
return;
|
||||
}
|
||||
mControllers.taskbarPinningController.showPinningView(mTaskbarView, event.getRawX());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user