Loading quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java +13 −3 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_N import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_OVERVIEW_DISABLED; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_QUICK_SETTINGS_EXPANDED; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_SCREEN_PINNING; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_VOICE_INTERACTION_WINDOW_SHOWING; import static com.android.systemui.shared.system.ViewTreeObserverWrapper.InsetsInfo.TOUCHABLE_INSETS_REGION; import android.animation.ArgbEvaluator; Loading Loading @@ -105,6 +106,7 @@ public class NavbarButtonsViewController implements TaskbarControllers.LoggableT private static final int FLAG_DISABLE_BACK = 1 << 9; private static final int FLAG_NOTIFICATION_SHADE_EXPANDED = 1 << 10; private static final int FLAG_SCREEN_PINNING_ACTIVE = 1 << 11; private static final int FLAG_VOICE_INTERACTION_WINDOW_SHOWING = 1 << 12; private static final int MASK_IME_SWITCHER_VISIBLE = FLAG_SWITCHER_SUPPORTED | FLAG_IME_VISIBLE; Loading Loading @@ -207,9 +209,12 @@ public class NavbarButtonsViewController implements TaskbarControllers.LoggableT boolean isInKidsMode = mContext.isNavBarKidsModeActive(); boolean alwaysShowButtons = isThreeButtonNav || isInSetup; // Make sure to remove nav bar buttons translation when notification shade is expanded or // IME is showing (add separate translation for IME). int flagsToRemoveTranslation = FLAG_NOTIFICATION_SHADE_EXPANDED | FLAG_IME_VISIBLE; // Make sure to remove nav bar buttons translation when any of the following occur: // - Notification shade is expanded // - IME is showing (add separate translation for IME) // - VoiceInteractionWindow (assistant) is showing int flagsToRemoveTranslation = FLAG_NOTIFICATION_SHADE_EXPANDED | FLAG_IME_VISIBLE | FLAG_VOICE_INTERACTION_WINDOW_SHOWING; mPropertyHolders.add(new StatePropertyHolder(mNavButtonInAppDisplayProgressForSysui, flags -> (flags & flagsToRemoveTranslation) != 0, AnimatedFloat.VALUE, 1, 0)); Loading Loading @@ -443,6 +448,8 @@ public class NavbarButtonsViewController implements TaskbarControllers.LoggableT | SYSUI_STATE_QUICK_SETTINGS_EXPANDED; boolean isNotificationShadeExpanded = (sysUiStateFlags & shadeExpandedFlags) != 0; boolean isScreenPinningActive = (sysUiStateFlags & SYSUI_STATE_SCREEN_PINNING) != 0; boolean isVoiceInteractionWindowShowing = (sysUiStateFlags & SYSUI_STATE_VOICE_INTERACTION_WINDOW_SHOWING) != 0; // TODO(b/202218289) we're getting IME as not visible on lockscreen from system updateStateForFlag(FLAG_IME_VISIBLE, isImeVisible); Loading @@ -453,6 +460,7 @@ public class NavbarButtonsViewController implements TaskbarControllers.LoggableT updateStateForFlag(FLAG_DISABLE_BACK, isBackDisabled); updateStateForFlag(FLAG_NOTIFICATION_SHADE_EXPANDED, isNotificationShadeExpanded); updateStateForFlag(FLAG_SCREEN_PINNING_ACTIVE, isScreenPinningActive); updateStateForFlag(FLAG_VOICE_INTERACTION_WINDOW_SHOWING, isVoiceInteractionWindowShowing); if (mA11yButton != null) { // Only used in 3 button Loading Loading @@ -750,6 +758,8 @@ public class NavbarButtonsViewController implements TaskbarControllers.LoggableT appendFlag(str, flags, FLAG_NOTIFICATION_SHADE_EXPANDED, "FLAG_NOTIFICATION_SHADE_EXPANDED"); appendFlag(str, flags, FLAG_SCREEN_PINNING_ACTIVE, "FLAG_SCREEN_PINNING_ACTIVE"); appendFlag(str, flags, FLAG_VOICE_INTERACTION_WINDOW_SHOWING, "FLAG_VOICE_INTERACTION_WINDOW_SHOWING"); return str.toString(); } Loading quickstep/src/com/android/launcher3/taskbar/StashedHandleViewController.java +2 −1 Original line number Diff line number Diff line Loading @@ -43,7 +43,8 @@ public class StashedHandleViewController implements TaskbarControllers.LoggableT public static final int ALPHA_INDEX_STASHED = 0; public static final int ALPHA_INDEX_HOME_DISABLED = 1; private static final int NUM_ALPHA_CHANNELS = 2; public static final int ALPHA_INDEX_ASSISTANT_INVOKED = 2; private static final int NUM_ALPHA_CHANNELS = 3; /** * The SharedPreferences key for whether the stashed handle region is dark. Loading quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java +18 −4 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import static com.android.launcher3.ResourceUtils.getBoolByName; import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_FOLDER_OPEN; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_NOTIFICATION_PANEL_EXPANDED; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_QUICK_SETTINGS_EXPANDED; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_VOICE_INTERACTION_WINDOW_SHOWING; import android.animation.AnimatorSet; import android.animation.ValueAnimator; Loading Loading @@ -200,7 +201,8 @@ public class TaskbarActivityContext extends BaseTaskbarContext { new TaskbarPopupController(this), new TaskbarForceVisibleImmersiveController(this), new TaskbarAllAppsController(this, dp), new TaskbarInsetsController(this)); new TaskbarInsetsController(this), new VoiceInteractionWindowController(this)); } public void init(@NonNull TaskbarSharedState sharedState) { Loading Loading @@ -246,12 +248,20 @@ public class TaskbarActivityContext extends BaseTaskbarContext { return super.getStatsLogManager(); } /** Creates LayoutParams for adding a view directly to WindowManager as a new window */ /** @see #createDefaultWindowLayoutParams(int) */ public WindowManager.LayoutParams createDefaultWindowLayoutParams() { return createDefaultWindowLayoutParams(TYPE_NAVIGATION_BAR_PANEL); } /** * Creates LayoutParams for adding a view directly to WindowManager as a new window. * @param type The window type to pass to the created WindowManager.LayoutParams. */ public WindowManager.LayoutParams createDefaultWindowLayoutParams(int type) { WindowManager.LayoutParams windowLayoutParams = new WindowManager.LayoutParams( MATCH_PARENT, mLastRequestedNonFullscreenHeight, TYPE_NAVIGATION_BAR_PANEL, type, WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_SLIPPERY, PixelFormat.TRANSLUCENT); Loading Loading @@ -468,6 +478,8 @@ public class TaskbarActivityContext extends BaseTaskbarContext { fromInit); mControllers.navButtonController.updateSysuiFlags(systemUiStateFlags); mControllers.taskbarForceVisibleImmersiveController.updateSysuiFlags(systemUiStateFlags); mControllers.voiceInteractionWindowController.setIsVoiceInteractionWindowVisible( (systemUiStateFlags & SYSUI_STATE_VOICE_INTERACTION_WINDOW_SHOWING) != 0, fromInit); } /** Loading Loading @@ -612,8 +624,10 @@ public class TaskbarActivityContext extends BaseTaskbarContext { /** Removes the given view from WindowManager. See {@link #addWindowView}. */ public void removeWindowView(View view) { if (view.isAttachedToWindow()) { mWindowManager.removeViewImmediate(view); } } protected void onTaskbarIconClicked(View view) { Object tag = view.getTag(); Loading quickstep/src/com/android/launcher3/taskbar/TaskbarControllers.java +8 −2 Original line number Diff line number Diff line Loading @@ -52,6 +52,7 @@ public class TaskbarControllers { public final TaskbarForceVisibleImmersiveController taskbarForceVisibleImmersiveController; public final TaskbarAllAppsController taskbarAllAppsController; public final TaskbarInsetsController taskbarInsetsController; public final VoiceInteractionWindowController voiceInteractionWindowController; @Nullable private LoggableTaskbarController[] mControllersToLog = null; Loading Loading @@ -80,7 +81,8 @@ public class TaskbarControllers { TaskbarPopupController taskbarPopupController, TaskbarForceVisibleImmersiveController taskbarForceVisibleImmersiveController, TaskbarAllAppsController taskbarAllAppsController, TaskbarInsetsController taskbarInsetsController) { TaskbarInsetsController taskbarInsetsController, VoiceInteractionWindowController voiceInteractionWindowController) { this.taskbarActivityContext = taskbarActivityContext; this.taskbarDragController = taskbarDragController; this.navButtonController = navButtonController; Loading @@ -99,6 +101,7 @@ public class TaskbarControllers { this.taskbarForceVisibleImmersiveController = taskbarForceVisibleImmersiveController; this.taskbarAllAppsController = taskbarAllAppsController; this.taskbarInsetsController = taskbarInsetsController; this.voiceInteractionWindowController = voiceInteractionWindowController; } /** Loading Loading @@ -126,13 +129,15 @@ public class TaskbarControllers { taskbarAllAppsController.init(this, sharedState.allAppsVisible); navButtonController.init(this); taskbarInsetsController.init(this); voiceInteractionWindowController.init(this); mControllersToLog = new LoggableTaskbarController[] { taskbarDragController, navButtonController, navbarButtonsViewController, taskbarDragLayerController, taskbarScrimViewController, taskbarViewController, taskbarUnfoldAnimationController, taskbarKeyguardController, stashedHandleViewController, taskbarStashController, taskbarEduController, taskbarAutohideSuspendController, taskbarPopupController, taskbarInsetsController taskbarAutohideSuspendController, taskbarPopupController, taskbarInsetsController, voiceInteractionWindowController }; mAreAllControllersInitialized = true; Loading Loading @@ -172,6 +177,7 @@ public class TaskbarControllers { taskbarAllAppsController.onDestroy(); navButtonController.onDestroy(); taskbarInsetsController.onDestroy(); voiceInteractionWindowController.onDestroy(); mControllersToLog = null; } Loading quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java +2 −1 Original line number Diff line number Diff line Loading @@ -63,7 +63,8 @@ public class TaskbarViewController implements TaskbarControllers.LoggableTaskbar public static final int ALPHA_INDEX_STASH = 2; public static final int ALPHA_INDEX_RECENTS_DISABLED = 3; public static final int ALPHA_INDEX_NOTIFICATION_EXPANDED = 4; private static final int NUM_ALPHA_CHANNELS = 5; public static final int ALPHA_INDEX_ASSISTANT_INVOKED = 5; private static final int NUM_ALPHA_CHANNELS = 6; private final TaskbarActivityContext mActivity; private final TaskbarView mTaskbarView; Loading Loading
quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java +13 −3 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_N import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_OVERVIEW_DISABLED; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_QUICK_SETTINGS_EXPANDED; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_SCREEN_PINNING; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_VOICE_INTERACTION_WINDOW_SHOWING; import static com.android.systemui.shared.system.ViewTreeObserverWrapper.InsetsInfo.TOUCHABLE_INSETS_REGION; import android.animation.ArgbEvaluator; Loading Loading @@ -105,6 +106,7 @@ public class NavbarButtonsViewController implements TaskbarControllers.LoggableT private static final int FLAG_DISABLE_BACK = 1 << 9; private static final int FLAG_NOTIFICATION_SHADE_EXPANDED = 1 << 10; private static final int FLAG_SCREEN_PINNING_ACTIVE = 1 << 11; private static final int FLAG_VOICE_INTERACTION_WINDOW_SHOWING = 1 << 12; private static final int MASK_IME_SWITCHER_VISIBLE = FLAG_SWITCHER_SUPPORTED | FLAG_IME_VISIBLE; Loading Loading @@ -207,9 +209,12 @@ public class NavbarButtonsViewController implements TaskbarControllers.LoggableT boolean isInKidsMode = mContext.isNavBarKidsModeActive(); boolean alwaysShowButtons = isThreeButtonNav || isInSetup; // Make sure to remove nav bar buttons translation when notification shade is expanded or // IME is showing (add separate translation for IME). int flagsToRemoveTranslation = FLAG_NOTIFICATION_SHADE_EXPANDED | FLAG_IME_VISIBLE; // Make sure to remove nav bar buttons translation when any of the following occur: // - Notification shade is expanded // - IME is showing (add separate translation for IME) // - VoiceInteractionWindow (assistant) is showing int flagsToRemoveTranslation = FLAG_NOTIFICATION_SHADE_EXPANDED | FLAG_IME_VISIBLE | FLAG_VOICE_INTERACTION_WINDOW_SHOWING; mPropertyHolders.add(new StatePropertyHolder(mNavButtonInAppDisplayProgressForSysui, flags -> (flags & flagsToRemoveTranslation) != 0, AnimatedFloat.VALUE, 1, 0)); Loading Loading @@ -443,6 +448,8 @@ public class NavbarButtonsViewController implements TaskbarControllers.LoggableT | SYSUI_STATE_QUICK_SETTINGS_EXPANDED; boolean isNotificationShadeExpanded = (sysUiStateFlags & shadeExpandedFlags) != 0; boolean isScreenPinningActive = (sysUiStateFlags & SYSUI_STATE_SCREEN_PINNING) != 0; boolean isVoiceInteractionWindowShowing = (sysUiStateFlags & SYSUI_STATE_VOICE_INTERACTION_WINDOW_SHOWING) != 0; // TODO(b/202218289) we're getting IME as not visible on lockscreen from system updateStateForFlag(FLAG_IME_VISIBLE, isImeVisible); Loading @@ -453,6 +460,7 @@ public class NavbarButtonsViewController implements TaskbarControllers.LoggableT updateStateForFlag(FLAG_DISABLE_BACK, isBackDisabled); updateStateForFlag(FLAG_NOTIFICATION_SHADE_EXPANDED, isNotificationShadeExpanded); updateStateForFlag(FLAG_SCREEN_PINNING_ACTIVE, isScreenPinningActive); updateStateForFlag(FLAG_VOICE_INTERACTION_WINDOW_SHOWING, isVoiceInteractionWindowShowing); if (mA11yButton != null) { // Only used in 3 button Loading Loading @@ -750,6 +758,8 @@ public class NavbarButtonsViewController implements TaskbarControllers.LoggableT appendFlag(str, flags, FLAG_NOTIFICATION_SHADE_EXPANDED, "FLAG_NOTIFICATION_SHADE_EXPANDED"); appendFlag(str, flags, FLAG_SCREEN_PINNING_ACTIVE, "FLAG_SCREEN_PINNING_ACTIVE"); appendFlag(str, flags, FLAG_VOICE_INTERACTION_WINDOW_SHOWING, "FLAG_VOICE_INTERACTION_WINDOW_SHOWING"); return str.toString(); } Loading
quickstep/src/com/android/launcher3/taskbar/StashedHandleViewController.java +2 −1 Original line number Diff line number Diff line Loading @@ -43,7 +43,8 @@ public class StashedHandleViewController implements TaskbarControllers.LoggableT public static final int ALPHA_INDEX_STASHED = 0; public static final int ALPHA_INDEX_HOME_DISABLED = 1; private static final int NUM_ALPHA_CHANNELS = 2; public static final int ALPHA_INDEX_ASSISTANT_INVOKED = 2; private static final int NUM_ALPHA_CHANNELS = 3; /** * The SharedPreferences key for whether the stashed handle region is dark. Loading
quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java +18 −4 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import static com.android.launcher3.ResourceUtils.getBoolByName; import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_FOLDER_OPEN; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_NOTIFICATION_PANEL_EXPANDED; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_QUICK_SETTINGS_EXPANDED; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_VOICE_INTERACTION_WINDOW_SHOWING; import android.animation.AnimatorSet; import android.animation.ValueAnimator; Loading Loading @@ -200,7 +201,8 @@ public class TaskbarActivityContext extends BaseTaskbarContext { new TaskbarPopupController(this), new TaskbarForceVisibleImmersiveController(this), new TaskbarAllAppsController(this, dp), new TaskbarInsetsController(this)); new TaskbarInsetsController(this), new VoiceInteractionWindowController(this)); } public void init(@NonNull TaskbarSharedState sharedState) { Loading Loading @@ -246,12 +248,20 @@ public class TaskbarActivityContext extends BaseTaskbarContext { return super.getStatsLogManager(); } /** Creates LayoutParams for adding a view directly to WindowManager as a new window */ /** @see #createDefaultWindowLayoutParams(int) */ public WindowManager.LayoutParams createDefaultWindowLayoutParams() { return createDefaultWindowLayoutParams(TYPE_NAVIGATION_BAR_PANEL); } /** * Creates LayoutParams for adding a view directly to WindowManager as a new window. * @param type The window type to pass to the created WindowManager.LayoutParams. */ public WindowManager.LayoutParams createDefaultWindowLayoutParams(int type) { WindowManager.LayoutParams windowLayoutParams = new WindowManager.LayoutParams( MATCH_PARENT, mLastRequestedNonFullscreenHeight, TYPE_NAVIGATION_BAR_PANEL, type, WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_SLIPPERY, PixelFormat.TRANSLUCENT); Loading Loading @@ -468,6 +478,8 @@ public class TaskbarActivityContext extends BaseTaskbarContext { fromInit); mControllers.navButtonController.updateSysuiFlags(systemUiStateFlags); mControllers.taskbarForceVisibleImmersiveController.updateSysuiFlags(systemUiStateFlags); mControllers.voiceInteractionWindowController.setIsVoiceInteractionWindowVisible( (systemUiStateFlags & SYSUI_STATE_VOICE_INTERACTION_WINDOW_SHOWING) != 0, fromInit); } /** Loading Loading @@ -612,8 +624,10 @@ public class TaskbarActivityContext extends BaseTaskbarContext { /** Removes the given view from WindowManager. See {@link #addWindowView}. */ public void removeWindowView(View view) { if (view.isAttachedToWindow()) { mWindowManager.removeViewImmediate(view); } } protected void onTaskbarIconClicked(View view) { Object tag = view.getTag(); Loading
quickstep/src/com/android/launcher3/taskbar/TaskbarControllers.java +8 −2 Original line number Diff line number Diff line Loading @@ -52,6 +52,7 @@ public class TaskbarControllers { public final TaskbarForceVisibleImmersiveController taskbarForceVisibleImmersiveController; public final TaskbarAllAppsController taskbarAllAppsController; public final TaskbarInsetsController taskbarInsetsController; public final VoiceInteractionWindowController voiceInteractionWindowController; @Nullable private LoggableTaskbarController[] mControllersToLog = null; Loading Loading @@ -80,7 +81,8 @@ public class TaskbarControllers { TaskbarPopupController taskbarPopupController, TaskbarForceVisibleImmersiveController taskbarForceVisibleImmersiveController, TaskbarAllAppsController taskbarAllAppsController, TaskbarInsetsController taskbarInsetsController) { TaskbarInsetsController taskbarInsetsController, VoiceInteractionWindowController voiceInteractionWindowController) { this.taskbarActivityContext = taskbarActivityContext; this.taskbarDragController = taskbarDragController; this.navButtonController = navButtonController; Loading @@ -99,6 +101,7 @@ public class TaskbarControllers { this.taskbarForceVisibleImmersiveController = taskbarForceVisibleImmersiveController; this.taskbarAllAppsController = taskbarAllAppsController; this.taskbarInsetsController = taskbarInsetsController; this.voiceInteractionWindowController = voiceInteractionWindowController; } /** Loading Loading @@ -126,13 +129,15 @@ public class TaskbarControllers { taskbarAllAppsController.init(this, sharedState.allAppsVisible); navButtonController.init(this); taskbarInsetsController.init(this); voiceInteractionWindowController.init(this); mControllersToLog = new LoggableTaskbarController[] { taskbarDragController, navButtonController, navbarButtonsViewController, taskbarDragLayerController, taskbarScrimViewController, taskbarViewController, taskbarUnfoldAnimationController, taskbarKeyguardController, stashedHandleViewController, taskbarStashController, taskbarEduController, taskbarAutohideSuspendController, taskbarPopupController, taskbarInsetsController taskbarAutohideSuspendController, taskbarPopupController, taskbarInsetsController, voiceInteractionWindowController }; mAreAllControllersInitialized = true; Loading Loading @@ -172,6 +177,7 @@ public class TaskbarControllers { taskbarAllAppsController.onDestroy(); navButtonController.onDestroy(); taskbarInsetsController.onDestroy(); voiceInteractionWindowController.onDestroy(); mControllersToLog = null; } Loading
quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java +2 −1 Original line number Diff line number Diff line Loading @@ -63,7 +63,8 @@ public class TaskbarViewController implements TaskbarControllers.LoggableTaskbar public static final int ALPHA_INDEX_STASH = 2; public static final int ALPHA_INDEX_RECENTS_DISABLED = 3; public static final int ALPHA_INDEX_NOTIFICATION_EXPANDED = 4; private static final int NUM_ALPHA_CHANNELS = 5; public static final int ALPHA_INDEX_ASSISTANT_INVOKED = 5; private static final int NUM_ALPHA_CHANNELS = 6; private final TaskbarActivityContext mActivity; private final TaskbarView mTaskbarView; Loading