diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java index 2f7f6f3e74..48c83dabc9 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java @@ -21,9 +21,7 @@ import static com.android.app.animation.Interpolators.EMPHASIZED; import static com.android.app.animation.Interpolators.FINAL_FRAME; import static com.android.app.animation.Interpolators.INSTANT; import static com.android.app.animation.Interpolators.LINEAR; -import static com.android.launcher3.LauncherPrefs.TASKBAR_PINNING; import static com.android.launcher3.config.FeatureFlags.ENABLE_TASKBAR_NAVBAR_UNIFICATION; -import static com.android.launcher3.config.FeatureFlags.enableTaskbarPinning; import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_TRANSIENT_TASKBAR_HIDE; import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_TRANSIENT_TASKBAR_SHOW; import static com.android.launcher3.taskbar.TaskbarKeyguardController.MASK_ANY_SYSUI_LOCKED; @@ -59,7 +57,6 @@ import androidx.annotation.VisibleForTesting; import com.android.internal.jank.InteractionJankMonitor; import com.android.launcher3.Alarm; import com.android.launcher3.DeviceProfile; -import com.android.launcher3.LauncherPrefs; import com.android.launcher3.R; import com.android.launcher3.anim.AnimatedFloat; import com.android.launcher3.anim.AnimatorListeners; @@ -949,8 +946,7 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba return false; } // Do not stash if pinned taskbar and hardware keyboard is attached. - if (mActivity.isHardwareKeyboard() && enableTaskbarPinning() - && LauncherPrefs.get(mActivity).get(TASKBAR_PINNING)) { + if (mActivity.isHardwareKeyboard() && DisplayController.isPinnedTaskbar(mActivity)) { return false; } return mIsImeShowing || mIsImeSwitcherShowing; diff --git a/quickstep/tests/src/com/android/quickstep/TaplTestsQuickstep.java b/quickstep/tests/src/com/android/quickstep/TaplTestsQuickstep.java index 25adb62d2f..e07b271089 100644 --- a/quickstep/tests/src/com/android/quickstep/TaplTestsQuickstep.java +++ b/quickstep/tests/src/com/android/quickstep/TaplTestsQuickstep.java @@ -295,7 +295,9 @@ public class TaplTestsQuickstep extends AbstractQuickStepTest { @Test @TaskbarModeSwitch - @Ignore // b/314873201 + @ScreenRecord // b/314873201 + // Staging; will be promoted to presubmit if stable + @TestStabilityRule.Stability(flavors = LOCAL | PLATFORM_POSTSUBMIT) public void testQuickSwitchToPreviousAppForTablet() throws Exception { assumeTrue(mLauncher.isTablet()); startTestActivity(2); diff --git a/src/com/android/launcher3/util/DisplayController.java b/src/com/android/launcher3/util/DisplayController.java index 18f583d702..1419dc4a6b 100644 --- a/src/com/android/launcher3/util/DisplayController.java +++ b/src/com/android/launcher3/util/DisplayController.java @@ -175,6 +175,13 @@ public class DisplayController implements ComponentCallbacks, SafeCloseable { sTransientTaskbarStatusForTests = enable; } + /** + * Returns whether the taskbar is pinned in gesture navigation mode. + */ + public static boolean isPinnedTaskbar(Context context) { + return INSTANCE.get(context).getInfo().isPinnedTaskbar(); + } + @Override public void close() { mDestroyed = true; @@ -423,6 +430,12 @@ public class DisplayController implements ComponentCallbacks, SafeCloseable { } return true; } + /** + * Returns whether the taskbar is pinned in gesture navigation mode. + */ + public boolean isPinnedTaskbar() { + return navigationMode == NavigationMode.NO_BUTTON && !isTransientTaskbar(); + } /** * Returns {@code true} if the bounds represent a tablet.