mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-27 23:36:47 +00:00
[Predictive Back] Replace legacy flag with aconfig flag in launcher
Fix: 323971106 Flag: ACONFIG launcher.enable_predictive_back_gesture DISABLED Test: manual Change-Id: Ie8051af2540699a7d75f1ed05132584d0b40d17d
This commit is contained in:
@@ -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"
|
||||
|
||||
@@ -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;
|
||||
@@ -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();
|
||||
@@ -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();
|
||||
|
||||
@@ -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;
|
||||
@@ -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) {
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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;
|
||||
@@ -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 {
|
||||
|
||||
@@ -199,11 +199,6 @@ public final class FeatureFlags {
|
||||
"ENABLE_SMARTSPACE_REMOVAL", DISABLED, "Enable SmartSpace removal for "
|
||||
+ "home screen");
|
||||
|
||||
// TODO(Block 10): Clean up flags
|
||||
public static final BooleanFlag ENABLE_BACK_SWIPE_LAUNCHER_ANIMATION = getDebugFlag(270614790,
|
||||
"ENABLE_BACK_SWIPE_LAUNCHER_ANIMATION", DISABLED,
|
||||
"Enables predictive back animation from all apps and widgets to home");
|
||||
|
||||
// TODO(Block 11): Clean up flags
|
||||
public static final BooleanFlag FOLDABLE_SINGLE_PAGE = getDebugFlag(270395274,
|
||||
"FOLDABLE_SINGLE_PAGE", DISABLED, "Use a single page for the workspace");
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
package com.android.launcher3.allapps;
|
||||
|
||||
import static com.android.launcher3.util.TestUtil.expectFail;
|
||||
import static com.android.launcher3.ui.AbstractLauncherUiTest.initialize;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
@@ -30,8 +29,8 @@ import android.platform.test.annotations.PlatinumTest;
|
||||
import androidx.test.filters.FlakyTest;
|
||||
import androidx.test.platform.app.InstrumentationRegistry;
|
||||
|
||||
import com.android.launcher3.Flags;
|
||||
import com.android.launcher3.LauncherState;
|
||||
import com.android.launcher3.config.FeatureFlags;
|
||||
import com.android.launcher3.tapl.AllApps;
|
||||
import com.android.launcher3.ui.AbstractLauncherUiTest;
|
||||
import com.android.launcher3.ui.PortraitLandscapeRunner.PortraitLandscape;
|
||||
@@ -208,7 +207,7 @@ public class TaplOpenCloseAllAppsTest extends AbstractLauncherUiTest {
|
||||
public void testPressBackFromAllAppsToHome() {
|
||||
InstrumentationRegistry.getInstrumentation().getUiAutomation().adoptShellPermissionIdentity(
|
||||
READ_DEVICE_CONFIG_PERMISSION);
|
||||
assumeFalse(FeatureFlags.ENABLE_BACK_SWIPE_LAUNCHER_ANIMATION.get());
|
||||
assumeFalse(Flags.enablePredictiveBackGesture());
|
||||
mLauncher
|
||||
.getWorkspace()
|
||||
.switchToAllApps()
|
||||
|
||||
Reference in New Issue
Block a user