summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTony Wickham <twickham@google.com>2019-04-03 14:05:08 -0700
committerTony Wickham <twickham@google.com>2019-04-03 21:07:13 +0000
commita5fb60aae89d52bc97209b94f335d5328842df23 (patch)
tree8465a4d9a57362b7fddacf05c6593db770ac23e8 /src
parent3388e34799e5c4a844f3b0305f655af1ae18c3af (diff)
downloadandroid_packages_apps_Trebuchet-a5fb60aae89d52bc97209b94f335d5328842df23.tar.gz
android_packages_apps_Trebuchet-a5fb60aae89d52bc97209b94f335d5328842df23.tar.bz2
android_packages_apps_Trebuchet-a5fb60aae89d52bc97209b94f335d5328842df23.zip
Add system gesture exclusion rects for widget resize handles
Change-Id: I67cae5d4cb27e4db36811f62480e7ab89e79bf49
Diffstat (limited to 'src')
-rw-r--r--src/com/android/launcher3/AppWidgetResizeFrame.java21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/com/android/launcher3/AppWidgetResizeFrame.java b/src/com/android/launcher3/AppWidgetResizeFrame.java
index 8e2ffe923..f9a8d1bbe 100644
--- a/src/com/android/launcher3/AppWidgetResizeFrame.java
+++ b/src/com/android/launcher3/AppWidgetResizeFrame.java
@@ -24,6 +24,9 @@ import com.android.launcher3.dragndrop.DragLayer;
import com.android.launcher3.util.FocusLogic;
import com.android.launcher3.widget.LauncherAppWidgetHostView;
+import java.util.ArrayList;
+import java.util.List;
+
public class AppWidgetResizeFrame extends AbstractFloatingView implements View.OnKeyListener {
private static final int SNAP_DURATION = 150;
private static final float DIMMED_HANDLE_ALPHA = 0f;
@@ -45,6 +48,7 @@ public class AppWidgetResizeFrame extends AbstractFloatingView implements View.O
private final FirstFrameAnimatorHelper mFirstFrameAnimatorHelper;
private final View[] mDragHandles = new View[HANDLE_COUNT];
+ private final List<Rect> mSystemGestureExclusionRects = new ArrayList<>(HANDLE_COUNT);
private LauncherAppWidgetHostView mWidgetView;
private CellLayout mCellLayout;
@@ -106,6 +110,10 @@ public class AppWidgetResizeFrame extends AbstractFloatingView implements View.O
.getDimensionPixelSize(R.dimen.resize_frame_background_padding);
mTouchTargetWidth = 2 * mBackgroundPadding;
mFirstFrameAnimatorHelper = new FirstFrameAnimatorHelper(this);
+
+ for (int i = 0; i < HANDLE_COUNT; i++) {
+ mSystemGestureExclusionRects.add(new Rect());
+ }
}
@Override
@@ -118,6 +126,19 @@ public class AppWidgetResizeFrame extends AbstractFloatingView implements View.O
}
}
+ @Override
+ protected void onLayout(boolean changed, int l, int t, int r, int b) {
+ super.onLayout(changed, l, t, r, b);
+ if (Utilities.ATLEAST_Q) {
+ for (int i = 0; i < HANDLE_COUNT; i++) {
+ View dragHandle = mDragHandles[i];
+ mSystemGestureExclusionRects.get(i).set(dragHandle.getLeft(), dragHandle.getTop(),
+ dragHandle.getRight(), dragHandle.getBottom());
+ }
+ setSystemGestureExclusionRects(mSystemGestureExclusionRects);
+ }
+ }
+
public static void showForWidget(LauncherAppWidgetHostView widget, CellLayout cellLayout) {
Launcher launcher = Launcher.getLauncher(cellLayout.getContext());
AbstractFloatingView.closeAllOpenViews(launcher);