From 0318a652c12325bfd9feeba4a34f2d0bb17804c4 Mon Sep 17 00:00:00 2001 From: Matt Casey Date: Tue, 3 Mar 2020 17:20:42 -0500 Subject: [PATCH] Let launcher to provide its own OverscrollPlugin If the local OverscrollPlugin provided by the activity is non-null and FORCE_LOCAL_OVERSCROLL_PLUGIN is true, the local plugin object overrides the loaded actual plugin. Test: Manual testing flipping the flag and observing which plugin is activated. Bug: 150245271 Change-Id: I0cd5184628c2cb572b5e1c56d6a008dcaa8807fb --- .../android/quickstep/TaskOverlayFactory.java | 8 +++++ .../quickstep/TouchInteractionService.java | 31 ++++++++++++------- .../launcher3/config/FeatureFlags.java | 4 +++ 3 files changed, 31 insertions(+), 12 deletions(-) diff --git a/quickstep/recents_ui_overrides/src/com/android/quickstep/TaskOverlayFactory.java b/quickstep/recents_ui_overrides/src/com/android/quickstep/TaskOverlayFactory.java index eb3b190110..33d9d9aa55 100644 --- a/quickstep/recents_ui_overrides/src/com/android/quickstep/TaskOverlayFactory.java +++ b/quickstep/recents_ui_overrides/src/com/android/quickstep/TaskOverlayFactory.java @@ -31,6 +31,7 @@ import com.android.launcher3.util.MainThreadInitializedObject; import com.android.launcher3.util.ResourceBasedOverride; import com.android.quickstep.views.TaskThumbnailView; import com.android.quickstep.views.TaskView; +import com.android.systemui.plugins.OverscrollPlugin; import com.android.systemui.shared.recents.model.Task; import com.android.systemui.shared.recents.model.ThumbnailData; @@ -67,6 +68,13 @@ public class TaskOverlayFactory implements ResourceBasedOverride { public static final MainThreadInitializedObject INSTANCE = forOverride(TaskOverlayFactory.class, R.string.task_overlay_factory_class); + /** + * @return a launcher-provided OverscrollPlugin if available, otherwise null + */ + public OverscrollPlugin getLocalOverscrollPlugin() { + return null; + } + public TaskOverlay createOverlay(TaskThumbnailView thumbnailView) { return new TaskOverlay(); } diff --git a/quickstep/recents_ui_overrides/src/com/android/quickstep/TouchInteractionService.java b/quickstep/recents_ui_overrides/src/com/android/quickstep/TouchInteractionService.java index 28e8fb6604..7be0f4e4ed 100644 --- a/quickstep/recents_ui_overrides/src/com/android/quickstep/TouchInteractionService.java +++ b/quickstep/recents_ui_overrides/src/com/android/quickstep/TouchInteractionService.java @@ -17,13 +17,7 @@ package com.android.quickstep; import static android.view.MotionEvent.ACTION_DOWN; -import static com.android.launcher3.config.FeatureFlags.ADAPTIVE_ICON_WINDOW_ANIM; -import static com.android.launcher3.config.FeatureFlags.APPLY_CONFIG_AT_RUNTIME; -import static com.android.launcher3.config.FeatureFlags.ENABLE_HINTS_IN_OVERVIEW; import static com.android.launcher3.config.FeatureFlags.ENABLE_QUICKSTEP_LIVE_TILE; -import static com.android.launcher3.config.FeatureFlags.FAKE_LANDSCAPE_UI; -import static com.android.launcher3.config.FeatureFlags.QUICKSTEP_SPRINGS; -import static com.android.launcher3.config.FeatureFlags.UNSTABLE_SPRINGS; import static com.android.launcher3.util.Executors.MAIN_EXECUTOR; import static com.android.launcher3.util.Executors.UI_HELPER_EXECUTOR; import static com.android.systemui.shared.system.QuickStepContract.KEY_EXTRA_INPUT_MONITOR; @@ -507,12 +501,25 @@ public class TouchInteractionService extends Service implements PluginListener