Loading quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java +22 −3 Original line number Diff line number Diff line Loading @@ -25,8 +25,11 @@ import static com.android.launcher3.taskbar.TaskbarViewController.ALPHA_INDEX_IM import static com.android.launcher3.taskbar.TaskbarViewController.ALPHA_INDEX_KEYGUARD; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_A11Y_BUTTON_CLICKABLE; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_A11Y_BUTTON_LONG_CLICKABLE; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_BACK_DISABLED; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_HOME_DISABLED; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_IME_SHOWING; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_IME_SWITCHER_SHOWING; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_OVERVIEW_DISABLED; import android.animation.ObjectAnimator; import android.annotation.DrawableRes; Loading Loading @@ -69,6 +72,9 @@ public class NavbarButtonsViewController { private static final int FLAG_A11Y_VISIBLE = 1 << 3; private static final int FLAG_ONLY_BACK_FOR_BOUNCER_VISIBLE = 1 << 4; private static final int FLAG_KEYGUARD_VISIBLE = 1 << 5; private static final int FLAG_DISABLE_HOME = 1 << 6; private static final int FLAG_DISABLE_RECENTS = 1 << 7; private static final int FLAG_DISABLE_BACK = 1 << 8; private static final int MASK_IME_SWITCHER_VISIBLE = FLAG_SWITCHER_SUPPORTED | FLAG_IME_VISIBLE; Loading Loading @@ -169,7 +175,8 @@ public class NavbarButtonsViewController { mBackButton = addButton(R.drawable.ic_sysbar_back, BUTTON_BACK, mNavButtonContainer, mControllers.navButtonController, R.id.back); mPropertyHolders.add(new StatePropertyHolder(mBackButton, flags -> (flags & FLAG_IME_VISIBLE) == 0)); flags -> (flags & FLAG_IME_VISIBLE) == 0 && (flags & FLAG_DISABLE_BACK) == 0)); // Hide when keyguard is showing, show when bouncer is showing mPropertyHolders.add(new StatePropertyHolder(mBackButton, flags -> (flags & FLAG_KEYGUARD_VISIBLE) == 0 || Loading @@ -180,12 +187,14 @@ public class NavbarButtonsViewController { navButtonController, R.id.home); mPropertyHolders.add(new StatePropertyHolder(homeButton, flags -> (flags & FLAG_IME_VISIBLE) == 0 && (flags & FLAG_KEYGUARD_VISIBLE) == 0)); (flags & FLAG_KEYGUARD_VISIBLE) == 0 && (flags & FLAG_DISABLE_HOME) == 0)); View recentsButton = addButton(R.drawable.ic_sysbar_recent, BUTTON_RECENTS, navContainer, navButtonController, R.id.recent_apps); mPropertyHolders.add(new StatePropertyHolder(recentsButton, flags -> (flags & FLAG_IME_VISIBLE) == 0 && (flags & FLAG_KEYGUARD_VISIBLE) == 0)); (flags & FLAG_KEYGUARD_VISIBLE) == 0 && (flags & FLAG_DISABLE_RECENTS) == 0)); // A11y button mA11yButton = addButton(R.drawable.ic_sysbar_accessibility_button, BUTTON_A11Y, Loading @@ -202,6 +211,12 @@ public class NavbarButtonsViewController { boolean a11yVisible = (systemUiStateFlags & SYSUI_STATE_A11Y_BUTTON_CLICKABLE) != 0; boolean a11yLongClickable = (systemUiStateFlags & SYSUI_STATE_A11Y_BUTTON_LONG_CLICKABLE) != 0; boolean isHomeDisabled = (systemUiStateFlags & SYSUI_STATE_HOME_DISABLED) != 0; boolean isRecentsDisabled = (systemUiStateFlags & SYSUI_STATE_OVERVIEW_DISABLED) != 0; boolean isBackDisabled = (systemUiStateFlags & SYSUI_STATE_BACK_DISABLED) != 0; if (!forceUpdate && systemUiStateFlags == mSysuiStateFlags) { return; Loading @@ -211,6 +226,10 @@ public class NavbarButtonsViewController { updateStateForFlag(FLAG_IME_VISIBLE, isImeVisible); updateStateForFlag(FLAG_SWITCHER_SUPPORTED, isImeSwitcherShowing); updateStateForFlag(FLAG_A11Y_VISIBLE, a11yVisible); updateStateForFlag(FLAG_DISABLE_HOME, isHomeDisabled); updateStateForFlag(FLAG_DISABLE_RECENTS, isRecentsDisabled); updateStateForFlag(FLAG_DISABLE_BACK, isBackDisabled); if (mA11yButton != null) { // Only used in 3 button mA11yButton.setLongClickable(a11yLongClickable); Loading quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java +0 −1 Original line number Diff line number Diff line Loading @@ -235,7 +235,6 @@ public class TaskbarActivityContext extends ContextThemeWrapper implements Activ return; } mControllers.rotationButtonController.onDisable2FlagChanged(state2); mControllers.taskbarKeyguardController.disableNavbarElements(state1, state2); } public void onSystemBarAttributesChanged(int displayId, int behavior) { Loading quickstep/src/com/android/launcher3/taskbar/TaskbarKeyguardController.java +9 −15 Original line number Diff line number Diff line package com.android.launcher3.taskbar; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_BACK_DISABLED; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_BOUNCER_SHOWING; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_DEVICE_DOZING; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_HOME_DISABLED; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_OVERVIEW_DISABLED; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING; import android.app.KeyguardManager; Loading @@ -9,7 +12,6 @@ import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.view.View; /** * Controller for managing keyguard state for taskbar Loading @@ -17,10 +19,11 @@ import android.view.View; public class TaskbarKeyguardController { private static final int KEYGUARD_SYSUI_FLAGS = SYSUI_STATE_BOUNCER_SHOWING | SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING | SYSUI_STATE_DEVICE_DOZING; SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING | SYSUI_STATE_DEVICE_DOZING | SYSUI_STATE_OVERVIEW_DISABLED | SYSUI_STATE_HOME_DISABLED | SYSUI_STATE_BACK_DISABLED; private final TaskbarActivityContext mContext; private int mDisabledNavIcons; private int mKeyguardSysuiFlags; private boolean mBouncerShowing; private NavbarButtonsViewController mNavbarButtonsViewController; Loading Loading @@ -70,22 +73,13 @@ public class TaskbarKeyguardController { mIsScreenOff = false; } public void disableNavbarElements(int state1, int state2) { if (mDisabledNavIcons == state1) { // no change return; } mDisabledNavIcons = state1; updateIconsForBouncer(); } /** * Hides/shows taskbar when keyguard is up */ private void updateIconsForBouncer() { boolean disableBack = (mDisabledNavIcons & View.STATUS_BAR_DISABLE_BACK) != 0; boolean disableRecent = (mDisabledNavIcons & View.STATUS_BAR_DISABLE_RECENT) != 0; boolean disableHome = (mDisabledNavIcons & View.STATUS_BAR_DISABLE_HOME) != 0; boolean disableBack = (mKeyguardSysuiFlags & SYSUI_STATE_BACK_DISABLED) != 0; boolean disableRecent = (mKeyguardSysuiFlags & SYSUI_STATE_OVERVIEW_DISABLED) != 0; boolean disableHome = (mKeyguardSysuiFlags & SYSUI_STATE_HOME_DISABLED) != 0; boolean onlyBackEnabled = !disableBack && disableRecent && disableHome; boolean showBackForBouncer = onlyBackEnabled && Loading Loading
quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java +22 −3 Original line number Diff line number Diff line Loading @@ -25,8 +25,11 @@ import static com.android.launcher3.taskbar.TaskbarViewController.ALPHA_INDEX_IM import static com.android.launcher3.taskbar.TaskbarViewController.ALPHA_INDEX_KEYGUARD; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_A11Y_BUTTON_CLICKABLE; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_A11Y_BUTTON_LONG_CLICKABLE; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_BACK_DISABLED; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_HOME_DISABLED; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_IME_SHOWING; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_IME_SWITCHER_SHOWING; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_OVERVIEW_DISABLED; import android.animation.ObjectAnimator; import android.annotation.DrawableRes; Loading Loading @@ -69,6 +72,9 @@ public class NavbarButtonsViewController { private static final int FLAG_A11Y_VISIBLE = 1 << 3; private static final int FLAG_ONLY_BACK_FOR_BOUNCER_VISIBLE = 1 << 4; private static final int FLAG_KEYGUARD_VISIBLE = 1 << 5; private static final int FLAG_DISABLE_HOME = 1 << 6; private static final int FLAG_DISABLE_RECENTS = 1 << 7; private static final int FLAG_DISABLE_BACK = 1 << 8; private static final int MASK_IME_SWITCHER_VISIBLE = FLAG_SWITCHER_SUPPORTED | FLAG_IME_VISIBLE; Loading Loading @@ -169,7 +175,8 @@ public class NavbarButtonsViewController { mBackButton = addButton(R.drawable.ic_sysbar_back, BUTTON_BACK, mNavButtonContainer, mControllers.navButtonController, R.id.back); mPropertyHolders.add(new StatePropertyHolder(mBackButton, flags -> (flags & FLAG_IME_VISIBLE) == 0)); flags -> (flags & FLAG_IME_VISIBLE) == 0 && (flags & FLAG_DISABLE_BACK) == 0)); // Hide when keyguard is showing, show when bouncer is showing mPropertyHolders.add(new StatePropertyHolder(mBackButton, flags -> (flags & FLAG_KEYGUARD_VISIBLE) == 0 || Loading @@ -180,12 +187,14 @@ public class NavbarButtonsViewController { navButtonController, R.id.home); mPropertyHolders.add(new StatePropertyHolder(homeButton, flags -> (flags & FLAG_IME_VISIBLE) == 0 && (flags & FLAG_KEYGUARD_VISIBLE) == 0)); (flags & FLAG_KEYGUARD_VISIBLE) == 0 && (flags & FLAG_DISABLE_HOME) == 0)); View recentsButton = addButton(R.drawable.ic_sysbar_recent, BUTTON_RECENTS, navContainer, navButtonController, R.id.recent_apps); mPropertyHolders.add(new StatePropertyHolder(recentsButton, flags -> (flags & FLAG_IME_VISIBLE) == 0 && (flags & FLAG_KEYGUARD_VISIBLE) == 0)); (flags & FLAG_KEYGUARD_VISIBLE) == 0 && (flags & FLAG_DISABLE_RECENTS) == 0)); // A11y button mA11yButton = addButton(R.drawable.ic_sysbar_accessibility_button, BUTTON_A11Y, Loading @@ -202,6 +211,12 @@ public class NavbarButtonsViewController { boolean a11yVisible = (systemUiStateFlags & SYSUI_STATE_A11Y_BUTTON_CLICKABLE) != 0; boolean a11yLongClickable = (systemUiStateFlags & SYSUI_STATE_A11Y_BUTTON_LONG_CLICKABLE) != 0; boolean isHomeDisabled = (systemUiStateFlags & SYSUI_STATE_HOME_DISABLED) != 0; boolean isRecentsDisabled = (systemUiStateFlags & SYSUI_STATE_OVERVIEW_DISABLED) != 0; boolean isBackDisabled = (systemUiStateFlags & SYSUI_STATE_BACK_DISABLED) != 0; if (!forceUpdate && systemUiStateFlags == mSysuiStateFlags) { return; Loading @@ -211,6 +226,10 @@ public class NavbarButtonsViewController { updateStateForFlag(FLAG_IME_VISIBLE, isImeVisible); updateStateForFlag(FLAG_SWITCHER_SUPPORTED, isImeSwitcherShowing); updateStateForFlag(FLAG_A11Y_VISIBLE, a11yVisible); updateStateForFlag(FLAG_DISABLE_HOME, isHomeDisabled); updateStateForFlag(FLAG_DISABLE_RECENTS, isRecentsDisabled); updateStateForFlag(FLAG_DISABLE_BACK, isBackDisabled); if (mA11yButton != null) { // Only used in 3 button mA11yButton.setLongClickable(a11yLongClickable); Loading
quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java +0 −1 Original line number Diff line number Diff line Loading @@ -235,7 +235,6 @@ public class TaskbarActivityContext extends ContextThemeWrapper implements Activ return; } mControllers.rotationButtonController.onDisable2FlagChanged(state2); mControllers.taskbarKeyguardController.disableNavbarElements(state1, state2); } public void onSystemBarAttributesChanged(int displayId, int behavior) { Loading
quickstep/src/com/android/launcher3/taskbar/TaskbarKeyguardController.java +9 −15 Original line number Diff line number Diff line package com.android.launcher3.taskbar; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_BACK_DISABLED; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_BOUNCER_SHOWING; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_DEVICE_DOZING; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_HOME_DISABLED; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_OVERVIEW_DISABLED; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING; import android.app.KeyguardManager; Loading @@ -9,7 +12,6 @@ import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.view.View; /** * Controller for managing keyguard state for taskbar Loading @@ -17,10 +19,11 @@ import android.view.View; public class TaskbarKeyguardController { private static final int KEYGUARD_SYSUI_FLAGS = SYSUI_STATE_BOUNCER_SHOWING | SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING | SYSUI_STATE_DEVICE_DOZING; SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING | SYSUI_STATE_DEVICE_DOZING | SYSUI_STATE_OVERVIEW_DISABLED | SYSUI_STATE_HOME_DISABLED | SYSUI_STATE_BACK_DISABLED; private final TaskbarActivityContext mContext; private int mDisabledNavIcons; private int mKeyguardSysuiFlags; private boolean mBouncerShowing; private NavbarButtonsViewController mNavbarButtonsViewController; Loading Loading @@ -70,22 +73,13 @@ public class TaskbarKeyguardController { mIsScreenOff = false; } public void disableNavbarElements(int state1, int state2) { if (mDisabledNavIcons == state1) { // no change return; } mDisabledNavIcons = state1; updateIconsForBouncer(); } /** * Hides/shows taskbar when keyguard is up */ private void updateIconsForBouncer() { boolean disableBack = (mDisabledNavIcons & View.STATUS_BAR_DISABLE_BACK) != 0; boolean disableRecent = (mDisabledNavIcons & View.STATUS_BAR_DISABLE_RECENT) != 0; boolean disableHome = (mDisabledNavIcons & View.STATUS_BAR_DISABLE_HOME) != 0; boolean disableBack = (mKeyguardSysuiFlags & SYSUI_STATE_BACK_DISABLED) != 0; boolean disableRecent = (mKeyguardSysuiFlags & SYSUI_STATE_OVERVIEW_DISABLED) != 0; boolean disableHome = (mKeyguardSysuiFlags & SYSUI_STATE_HOME_DISABLED) != 0; boolean onlyBackEnabled = !disableBack && disableRecent && disableHome; boolean showBackForBouncer = onlyBackEnabled && Loading