diff options
author | 2025-04-09 18:36:53 -0700 | |
---|---|---|
committer | 2025-04-09 18:36:53 -0700 | |
commit | 177cf71d00d4ca4654751bfeed5ea855c811ad76 (patch) | |
tree | a5969d0e8fbd2573106d32c5bff0f0a80cff5b49 | |
parent | d9cdb051250e4a762c13ceb99a447a37ebf724bd (diff) | |
parent | 3829c887d3babecb957f577979f2bd9570dfc69b (diff) |
Merge cherrypicks of ['googleplex-android-review.googlesource.com/32895125'] into 25Q2-release.
Change-Id: I78268839a774bda8b678c5a610fee177d22f6171
-rw-r--r-- | quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java | 35 |
1 files changed, 20 insertions, 15 deletions
diff --git a/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java b/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java index 94746fd8a0..63673e0c3e 100644 --- a/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java +++ b/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java @@ -478,8 +478,9 @@ public class NavbarButtonsViewController implements TaskbarControllers.LoggableT if (!mContext.isPhoneMode()) { mPropertyHolders.add(new StatePropertyHolder( mBackButton, flags -> mContext.isUserSetupComplete() - && ((flags & FLAG_ONLY_BACK_FOR_BOUNCER_VISIBLE) != 0 - || (flags & FLAG_KEYGUARD_VISIBLE) != 0), + && ((flags & FLAG_ONLY_BACK_FOR_BOUNCER_VISIBLE) != 0 + || (flags & FLAG_KEYGUARD_VISIBLE) != 0) + && (!shouldShowHomeButtonInLockscreen(flags)), VIEW_TRANSLATE_X, navButtonSize * (isRtl ? -2 : 2), 0)); } @@ -489,19 +490,8 @@ public class NavbarButtonsViewController implements TaskbarControllers.LoggableT mHomeButtonAlpha = new MultiValueAlpha(mHomeButton, NUM_ALPHA_CHANNELS); mHomeButtonAlpha.setUpdateVisibility(true); mPropertyHolders.add( - new StatePropertyHolder(mHomeButtonAlpha.get( - ALPHA_INDEX_KEYGUARD_OR_DISABLE), - 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(); - })); + new StatePropertyHolder(mHomeButtonAlpha.get(ALPHA_INDEX_KEYGUARD_OR_DISABLE), + this::shouldShowHomeButtonInLockscreen)); // Recents button mRecentsButton = addButton(R.drawable.ic_sysbar_recent, BUTTON_RECENTS, @@ -534,6 +524,21 @@ public class NavbarButtonsViewController implements TaskbarControllers.LoggableT navButtonController.onButtonLongClick(BUTTON_SPACE, view)); } + /** + * Method to determine whether to show the home button in lockscreen + * + * 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 + */ + private boolean shouldShowHomeButtonInLockscreen(int flags) { + return ((flags & FLAG_KEYGUARD_VISIBLE) == 0 + || (flags & FLAG_KEYGUARD_OCCLUDED) != 0) + && (flags & FLAG_DISABLE_HOME) == 0 + && !mContext.isGestureNav(); + } + private void parseSystemUiFlags(@SystemUiStateFlags long sysUiStateFlags) { mSysuiStateFlags = sysUiStateFlags; boolean isImeSwitcherButtonVisible = |