From cb329352815a29fb36f936b44e6d06beed7950e3 Mon Sep 17 00:00:00 2001 From: Abhilasha Chahal Date: Tue, 31 May 2022 15:50:53 +0000 Subject: [PATCH] Allow overriding DragController and drag use cases Test: Manually verified Launcher3 works fine Bug: 233864888 Change-Id: Ifb2fe19c0a2b332862b36b1ac0100e0f5301a5a6 --- src/com/android/launcher3/Launcher.java | 11 +++++++++-- src/com/android/launcher3/Workspace.java | 4 ++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index cc57a7bfb1..a93b40d8f6 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -305,7 +305,6 @@ public class Launcher extends StatefulActivity Workspace mWorkspace; @Thunk DragLayer mDragLayer; - private DragController mDragController; private WidgetManagerHelper mAppWidgetManager; private LauncherAppWidgetHost mAppWidgetHost; @@ -369,6 +368,7 @@ public class Launcher extends StatefulActivity private RotationHelper mRotationHelper; protected LauncherOverlayManager mOverlayManager; + protected DragController mDragController; // If true, overlay callbacks are deferred private boolean mDeferOverlayCallbacks; private final Runnable mDeferredOverlayCallbacks = this::checkIfOverlayStillDeferred; @@ -465,7 +465,7 @@ public class Launcher extends StatefulActivity mIconCache = app.getIconCache(); mAccessibilityDelegate = createAccessibilityDelegate(); - mDragController = new LauncherDragController(this); + initDragController(); mAllAppsController = new AllAppsTransitionController(this); mStateManager = new StateManager<>(this, NORMAL); @@ -614,6 +614,13 @@ public class Launcher extends StatefulActivity super.onConfigurationChanged(newConfig); } + /** + * Initializes the drag controller. + */ + protected void initDragController() { + mDragController = new LauncherDragController(this); + } + @Override public void onIdpChanged(boolean modelPropertiesChanged) { initDeviceProfile(mDeviceProfile.inv); diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java index c482ed5698..e6dea8f5b1 100644 --- a/src/com/android/launcher3/Workspace.java +++ b/src/com/android/launcher3/Workspace.java @@ -159,7 +159,7 @@ public class Workspace extends PagedView private LayoutTransition mLayoutTransition; @Thunk final WallpaperManager mWallpaperManager; - private ShortcutAndWidgetContainer mDragSourceInternal; + protected ShortcutAndWidgetContainer mDragSourceInternal; @Thunk final IntSparseArrayMap mWorkspaceScreens = new IntSparseArrayMap<>(); @Thunk final IntArray mScreenOrder = new IntArray(); @@ -195,7 +195,7 @@ public class Workspace extends PagedView @Thunk final Launcher mLauncher; @Thunk DragController mDragController; - private final int[] mTempXY = new int[2]; + protected final int[] mTempXY = new int[2]; private final float[] mTempFXY = new float[2]; private final Rect mTempRect = new Rect(); @Thunk float[] mDragViewVisualCenter = new float[2];