From 04cd8f28521d8ee5571c51b68b09b911c5893a7d Mon Sep 17 00:00:00 2001 From: helencheuk Date: Fri, 2 Feb 2024 15:49:04 +0000 Subject: [PATCH] Show taskbar when external keyboard is attached, in 3 button nav mode and desktop windowing mode Bug: 280497051 Test: Manual, turn on desktop windowing mode. Enter input mode in an app, drag it from the top to be window mode. Verify if taskbar is present Flag: N/A Change-Id: I31dc922c480cd0b39a64763155777b906e3bd14a --- .../launcher3/taskbar/TaskbarStashController.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java index c883759692..db7d0ebf59 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java @@ -60,8 +60,10 @@ import com.android.launcher3.DeviceProfile; import com.android.launcher3.R; import com.android.launcher3.anim.AnimatedFloat; import com.android.launcher3.anim.AnimatorListeners; +import com.android.launcher3.statehandlers.DesktopVisibilityController; import com.android.launcher3.util.DisplayController; import com.android.launcher3.util.MultiPropertyFactory.MultiProperty; +import com.android.quickstep.LauncherActivityInterface; import com.android.quickstep.SystemUiProxy; import java.io.PrintWriter; @@ -951,6 +953,15 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba if (mActivity.isHardwareKeyboard() && DisplayController.isPinnedTaskbar(mActivity)) { return false; } + + // Do not stash if hardware keyboard is attached, in 3 button nav and desktop windowing mode + DesktopVisibilityController visibilityController = + LauncherActivityInterface.INSTANCE.getDesktopVisibilityController(); + if (visibilityController != null && mActivity.isHardwareKeyboard() + && mActivity.isThreeButtonNav() && visibilityController.areFreeformTasksVisible()) { + return false; + } + return mIsImeShowing || mIsImeSwitcherShowing; }