Fix issue where you could trigger a click after long pressing a widget (issue 11186227)
Change-Id: I5a767ac6352f7efb4d3c6c2768c8d2aaaa913f3f
This commit is contained in:
@@ -65,6 +65,12 @@ public class LauncherAppWidgetHostView extends AppWidgetHostView implements Touc
|
||||
}
|
||||
|
||||
public boolean onInterceptTouchEvent(MotionEvent ev) {
|
||||
// Just in case the previous long press hasn't been cleared, we make sure to start fresh
|
||||
// on touch down.
|
||||
if (ev.getAction() == MotionEvent.ACTION_DOWN) {
|
||||
mLongPressHelper.cancelLongPress();
|
||||
}
|
||||
|
||||
// Consume any touch events for ourselves after longpress is triggered
|
||||
if (mLongPressHelper.hasPerformedLongPress()) {
|
||||
mLongPressHelper.cancelLongPress();
|
||||
@@ -110,13 +116,15 @@ public class LauncherAppWidgetHostView extends AppWidgetHostView implements Touc
|
||||
|
||||
@Override
|
||||
public void onTouchComplete() {
|
||||
mLongPressHelper.cancelLongPress();
|
||||
if (!mLongPressHelper.hasPerformedLongPress()) {
|
||||
// If a long press has been performed, we don't want to clear the record of that since
|
||||
// we still may be receiving a touch up which we want to intercept
|
||||
mLongPressHelper.cancelLongPress();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getDescendantFocusability() {
|
||||
return ViewGroup.FOCUS_BLOCK_DESCENDANTS;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user