Loading aconfig/launcher.aconfig +7 −0 Original line number Diff line number Diff line Loading @@ -91,6 +91,13 @@ flag { bug: "204463748" } flag { name: "enable_predictive_back_gesture" namespace: "launcher" description: "Enable predictive back gesture on Launcher (including all apps and widget picker)." bug: "238475505" } flag { name: "enable_shortcut_dont_suggest_app" namespace: "launcher" Loading quickstep/src/com/android/launcher3/taskbar/allapps/TaskbarAllAppsSlideInView.java +3 −2 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.launcher3.taskbar.allapps; import static com.android.app.animation.Interpolators.EMPHASIZED; import static com.android.launcher3.Flags.enablePredictiveBackGesture; import android.animation.Animator; import android.content.Context; Loading Loading @@ -168,7 +169,7 @@ public class TaskbarAllAppsSlideInView extends AbstractSlideInView<TaskbarOverla protected void onAttachedToWindow() { super.onAttachedToWindow(); mActivityContext.addOnDeviceProfileChangeListener(this); if (FeatureFlags.ENABLE_BACK_SWIPE_LAUNCHER_ANIMATION.get()) { if (enablePredictiveBackGesture()) { mAppsView.getAppsRecyclerViewContainer().setOutlineProvider(mViewOutlineProvider); mAppsView.getAppsRecyclerViewContainer().setClipToOutline(true); OnBackInvokedDispatcher dispatcher = findOnBackInvokedDispatcher(); Loading @@ -183,7 +184,7 @@ public class TaskbarAllAppsSlideInView extends AbstractSlideInView<TaskbarOverla protected void onDetachedFromWindow() { super.onDetachedFromWindow(); mActivityContext.removeOnDeviceProfileChangeListener(this); if (FeatureFlags.ENABLE_BACK_SWIPE_LAUNCHER_ANIMATION.get()) { if (enablePredictiveBackGesture()) { mAppsView.getAppsRecyclerViewContainer().setOutlineProvider(null); mAppsView.getAppsRecyclerViewContainer().setClipToOutline(false); OnBackInvokedDispatcher dispatcher = findOnBackInvokedDispatcher(); Loading quickstep/src/com/android/launcher3/uioverrides/QuickstepLauncher.java +3 −2 Original line number Diff line number Diff line Loading @@ -61,6 +61,7 @@ import static com.android.quickstep.util.SplitAnimationTimings.TABLET_HOME_TO_SP import static com.android.quickstep.views.DesktopTaskView.isDesktopModeSupported; import static com.android.systemui.shared.system.ActivityManagerWrapper.CLOSE_SYSTEM_WINDOWS_REASON_HOME_KEY; import static com.android.wm.shell.common.split.SplitScreenConstants.SNAP_TO_50_50; import static com.android.launcher3.Flags.enablePredictiveBackGesture; import android.animation.Animator; import android.animation.AnimatorListenerAdapter; Loading Loading @@ -645,7 +646,7 @@ public class QuickstepLauncher extends Launcher { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (Utilities.ATLEAST_U && FeatureFlags.ENABLE_BACK_SWIPE_LAUNCHER_ANIMATION.get()) { if (Utilities.ATLEAST_U && enablePredictiveBackGesture()) { getApplicationInfo().setEnableOnBackInvokedCallback(true); } if (savedInstanceState != null) { Loading Loading @@ -833,7 +834,7 @@ public class QuickstepLauncher extends Launcher { @Override protected void registerBackDispatcher() { if (!FeatureFlags.ENABLE_BACK_SWIPE_LAUNCHER_ANIMATION.get()) { if (!enablePredictiveBackGesture()) { super.registerBackDispatcher(); return; } Loading quickstep/tests/src/com/android/quickstep/TaplTestsQuickstep.java +2 −2 Original line number Diff line number Diff line Loading @@ -35,9 +35,9 @@ import androidx.test.runner.AndroidJUnit4; import androidx.test.uiautomator.By; import androidx.test.uiautomator.Until; import com.android.launcher3.Flags; import com.android.launcher3.Launcher; import com.android.launcher3.LauncherState; import com.android.launcher3.config.FeatureFlags; import com.android.launcher3.tapl.LaunchedAppState; import com.android.launcher3.tapl.LauncherInstrumentation.NavigationModel; import com.android.launcher3.tapl.Overview; Loading Loading @@ -394,7 +394,7 @@ public class TaplTestsQuickstep extends AbstractQuickStepTest { READ_DEVICE_CONFIG_PERMISSION); // Debug if we need to goHome to prevent wrong previous state b/315525621 mLauncher.goHome(); assumeFalse(FeatureFlags.ENABLE_BACK_SWIPE_LAUNCHER_ANIMATION.get()); assumeFalse(Flags.enablePredictiveBackGesture()); mLauncher.getWorkspace().switchToAllApps().pressBackToWorkspace(); waitForState("Launcher internal state didn't switch to Home", () -> LauncherState.NORMAL); Loading quickstep/tests/src/com/android/quickstep/TaplTestsTrackpad.java +2 −2 Original line number Diff line number Diff line Loading @@ -28,7 +28,7 @@ import androidx.test.filters.LargeTest; import androidx.test.platform.app.InstrumentationRegistry; import androidx.test.runner.AndroidJUnit4; import com.android.launcher3.config.FeatureFlags; import com.android.launcher3.Flags; import com.android.launcher3.tapl.LauncherInstrumentation.TrackpadGestureType; import com.android.launcher3.tapl.Workspace; import com.android.launcher3.ui.AbstractLauncherUiTest; Loading Loading @@ -77,7 +77,7 @@ public class TaplTestsTrackpad extends AbstractQuickStepTest { @NavigationModeSwitch(mode = ZERO_BUTTON) public void pressBack() throws Exception { assumeTrue(mLauncher.isTablet()); assumeFalse(FeatureFlags.ENABLE_BACK_SWIPE_LAUNCHER_ANIMATION.get()); assumeFalse(Flags.enablePredictiveBackGesture()); Instrumentation instrumentation = InstrumentationRegistry.getInstrumentation(); try { Loading Loading
aconfig/launcher.aconfig +7 −0 Original line number Diff line number Diff line Loading @@ -91,6 +91,13 @@ flag { bug: "204463748" } flag { name: "enable_predictive_back_gesture" namespace: "launcher" description: "Enable predictive back gesture on Launcher (including all apps and widget picker)." bug: "238475505" } flag { name: "enable_shortcut_dont_suggest_app" namespace: "launcher" Loading
quickstep/src/com/android/launcher3/taskbar/allapps/TaskbarAllAppsSlideInView.java +3 −2 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.launcher3.taskbar.allapps; import static com.android.app.animation.Interpolators.EMPHASIZED; import static com.android.launcher3.Flags.enablePredictiveBackGesture; import android.animation.Animator; import android.content.Context; Loading Loading @@ -168,7 +169,7 @@ public class TaskbarAllAppsSlideInView extends AbstractSlideInView<TaskbarOverla protected void onAttachedToWindow() { super.onAttachedToWindow(); mActivityContext.addOnDeviceProfileChangeListener(this); if (FeatureFlags.ENABLE_BACK_SWIPE_LAUNCHER_ANIMATION.get()) { if (enablePredictiveBackGesture()) { mAppsView.getAppsRecyclerViewContainer().setOutlineProvider(mViewOutlineProvider); mAppsView.getAppsRecyclerViewContainer().setClipToOutline(true); OnBackInvokedDispatcher dispatcher = findOnBackInvokedDispatcher(); Loading @@ -183,7 +184,7 @@ public class TaskbarAllAppsSlideInView extends AbstractSlideInView<TaskbarOverla protected void onDetachedFromWindow() { super.onDetachedFromWindow(); mActivityContext.removeOnDeviceProfileChangeListener(this); if (FeatureFlags.ENABLE_BACK_SWIPE_LAUNCHER_ANIMATION.get()) { if (enablePredictiveBackGesture()) { mAppsView.getAppsRecyclerViewContainer().setOutlineProvider(null); mAppsView.getAppsRecyclerViewContainer().setClipToOutline(false); OnBackInvokedDispatcher dispatcher = findOnBackInvokedDispatcher(); Loading
quickstep/src/com/android/launcher3/uioverrides/QuickstepLauncher.java +3 −2 Original line number Diff line number Diff line Loading @@ -61,6 +61,7 @@ import static com.android.quickstep.util.SplitAnimationTimings.TABLET_HOME_TO_SP import static com.android.quickstep.views.DesktopTaskView.isDesktopModeSupported; import static com.android.systemui.shared.system.ActivityManagerWrapper.CLOSE_SYSTEM_WINDOWS_REASON_HOME_KEY; import static com.android.wm.shell.common.split.SplitScreenConstants.SNAP_TO_50_50; import static com.android.launcher3.Flags.enablePredictiveBackGesture; import android.animation.Animator; import android.animation.AnimatorListenerAdapter; Loading Loading @@ -645,7 +646,7 @@ public class QuickstepLauncher extends Launcher { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (Utilities.ATLEAST_U && FeatureFlags.ENABLE_BACK_SWIPE_LAUNCHER_ANIMATION.get()) { if (Utilities.ATLEAST_U && enablePredictiveBackGesture()) { getApplicationInfo().setEnableOnBackInvokedCallback(true); } if (savedInstanceState != null) { Loading Loading @@ -833,7 +834,7 @@ public class QuickstepLauncher extends Launcher { @Override protected void registerBackDispatcher() { if (!FeatureFlags.ENABLE_BACK_SWIPE_LAUNCHER_ANIMATION.get()) { if (!enablePredictiveBackGesture()) { super.registerBackDispatcher(); return; } Loading
quickstep/tests/src/com/android/quickstep/TaplTestsQuickstep.java +2 −2 Original line number Diff line number Diff line Loading @@ -35,9 +35,9 @@ import androidx.test.runner.AndroidJUnit4; import androidx.test.uiautomator.By; import androidx.test.uiautomator.Until; import com.android.launcher3.Flags; import com.android.launcher3.Launcher; import com.android.launcher3.LauncherState; import com.android.launcher3.config.FeatureFlags; import com.android.launcher3.tapl.LaunchedAppState; import com.android.launcher3.tapl.LauncherInstrumentation.NavigationModel; import com.android.launcher3.tapl.Overview; Loading Loading @@ -394,7 +394,7 @@ public class TaplTestsQuickstep extends AbstractQuickStepTest { READ_DEVICE_CONFIG_PERMISSION); // Debug if we need to goHome to prevent wrong previous state b/315525621 mLauncher.goHome(); assumeFalse(FeatureFlags.ENABLE_BACK_SWIPE_LAUNCHER_ANIMATION.get()); assumeFalse(Flags.enablePredictiveBackGesture()); mLauncher.getWorkspace().switchToAllApps().pressBackToWorkspace(); waitForState("Launcher internal state didn't switch to Home", () -> LauncherState.NORMAL); Loading
quickstep/tests/src/com/android/quickstep/TaplTestsTrackpad.java +2 −2 Original line number Diff line number Diff line Loading @@ -28,7 +28,7 @@ import androidx.test.filters.LargeTest; import androidx.test.platform.app.InstrumentationRegistry; import androidx.test.runner.AndroidJUnit4; import com.android.launcher3.config.FeatureFlags; import com.android.launcher3.Flags; import com.android.launcher3.tapl.LauncherInstrumentation.TrackpadGestureType; import com.android.launcher3.tapl.Workspace; import com.android.launcher3.ui.AbstractLauncherUiTest; Loading Loading @@ -77,7 +77,7 @@ public class TaplTestsTrackpad extends AbstractQuickStepTest { @NavigationModeSwitch(mode = ZERO_BUTTON) public void pressBack() throws Exception { assumeTrue(mLauncher.isTablet()); assumeFalse(FeatureFlags.ENABLE_BACK_SWIPE_LAUNCHER_ANIMATION.get()); assumeFalse(Flags.enablePredictiveBackGesture()); Instrumentation instrumentation = InstrumentationRegistry.getInstrumentation(); try { Loading