From 12148f13d22ba323de67748fcc07945cbd8cde23 Mon Sep 17 00:00:00 2001 From: Randy Pfohl Date: Wed, 12 Mar 2025 00:20:19 +0000 Subject: [PATCH] Fix issue where we don't show home button when keygaurd is occluded by another app and is not visible Flag: None fixing regression Test: built and ran locally, verified home button is showing in the proper scenarios. Bug: 376851989 Change-Id: Ifcc6c5e41135a7e67aa20c18efac34af32b71e15 --- .../taskbar/NavbarButtonsViewController.java | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java b/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java index ee5b8d1285..ef44dc2e07 100644 --- a/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java +++ b/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java @@ -42,8 +42,8 @@ import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_A import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_BACK_DISABLED; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_BACK_DISMISS_IME; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_HOME_DISABLED; -import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_IME_VISIBLE; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_IME_SWITCHER_BUTTON_VISIBLE; +import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_IME_VISIBLE; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_NAV_BAR_HIDDEN; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_NOTIFICATION_PANEL_EXPANDED; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_OVERVIEW_DISABLED; @@ -487,8 +487,17 @@ public class NavbarButtonsViewController implements TaskbarControllers.LoggableT mPropertyHolders.add( new StatePropertyHolder(mHomeButtonAlpha.get( ALPHA_INDEX_KEYGUARD_OR_DISABLE), - flags -> (flags & FLAG_KEYGUARD_VISIBLE) == 0 - && (flags & FLAG_DISABLE_HOME) == 0 && !mContext.isGestureNav())); + flags -> { + /* when the keyguard is visible hide home button. Anytime we are + * occluded we want to show the home button for apps over keyguard. + * however we don't want to show when not occluded/visible. + * (visible false || occluded true) && disable false && not gnav + */ + return ((flags & FLAG_KEYGUARD_VISIBLE) == 0 + || (flags & FLAG_KEYGUARD_OCCLUDED) != 0) + && (flags & FLAG_DISABLE_HOME) == 0 + && !mContext.isGestureNav(); + })); // Recents button mRecentsButton = addButton(R.drawable.ic_sysbar_recent, BUTTON_RECENTS,