Fix missing taskbar scrim in folded state when swiping up from immersive mode

TaskbarTransitions is needed for gesture nav too

Also updated the TaskbarTransitions check so that foldables are included (instead of just phones with the unification for phones flag on

Fixes: 353620747
Test: Scrim shows in Youtube immerisve mode
Flag: EXEMPT bugfix
Change-Id: I9990ef8f793e28b3af2f42b0a5a117fdfbdd4081
This commit is contained in:
Tracy Zhou
2024-07-17 13:58:46 -07:00
parent 52f7fc5ef6
commit fe5c3fb5eb
@@ -48,7 +48,6 @@ import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_Q
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_SCREEN_PINNING;
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_SHORTCUT_HELPER_SHOWING;
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_VOICE_INTERACTION_WINDOW_SHOWING;
import static com.android.wm.shell.Flags.enableTaskbarOnPhones;
import android.animation.ArgbEvaluator;
import android.animation.ObjectAnimator;
@@ -247,7 +246,7 @@ public class NavbarButtonsViewController implements TaskbarControllers.LoggableT
? context.getColor(R.color.taskbar_nav_icon_light_color)
: context.getColor(R.color.taskbar_nav_icon_dark_color);
if (enableTaskbarOnPhones() && mContext.isPhoneButtonNavMode()) {
if (mContext.isPhoneMode()) {
mTaskbarTransitions = new TaskbarTransitions(mContext, mNavButtonsView);
}
}
@@ -361,7 +360,7 @@ public class NavbarButtonsViewController implements TaskbarControllers.LoggableT
R.bool.floating_rotation_button_position_left);
mControllers.rotationButtonController.setRotationButton(mFloatingRotationButton,
mRotationButtonListener);
if (enableTaskbarOnPhones() && mContext.isPhoneButtonNavMode()) {
if (mContext.isPhoneMode()) {
mTaskbarTransitions.init();
}
@@ -369,7 +368,7 @@ public class NavbarButtonsViewController implements TaskbarControllers.LoggableT
mPropertyHolders.forEach(StatePropertyHolder::endAnimation);
// Initialize things needed to move nav buttons to separate window.
mSeparateWindowParent = new BaseDragLayer<TaskbarActivityContext>(mContext, null, 0) {
mSeparateWindowParent = new BaseDragLayer<>(mContext, null, 0) {
@Override
public void recreateControllers() {
mControllers = new TouchController[0];
@@ -625,7 +624,7 @@ public class NavbarButtonsViewController implements TaskbarControllers.LoggableT
}
public void setWallpaperVisible(boolean isVisible) {
if (enableTaskbarOnPhones() && mContext.isPhoneButtonNavMode()) {
if (mContext.isPhoneMode()) {
mTaskbarTransitions.setWallpaperVisibility(isVisible);
}
}
@@ -638,20 +637,20 @@ public class NavbarButtonsViewController implements TaskbarControllers.LoggableT
}
public void checkNavBarModes() {
if (enableTaskbarOnPhones() && mContext.isPhoneButtonNavMode()) {
if (mContext.isPhoneMode()) {
boolean isBarHidden = (mSysuiStateFlags & SYSUI_STATE_NAV_BAR_HIDDEN) != 0;
mTaskbarTransitions.transitionTo(mTransitionMode, !isBarHidden);
}
}
public void finishBarAnimations() {
if (enableTaskbarOnPhones() && mContext.isPhoneButtonNavMode()) {
if (mContext.isPhoneMode()) {
mTaskbarTransitions.finishAnimations();
}
}
public void touchAutoDim(boolean reset) {
if (enableTaskbarOnPhones() && mContext.isPhoneButtonNavMode()) {
if (mContext.isPhoneMode()) {
mTaskbarTransitions.setAutoDim(false);
mHandler.removeCallbacks(mAutoDim);
if (reset) {
@@ -661,7 +660,7 @@ public class NavbarButtonsViewController implements TaskbarControllers.LoggableT
}
public void transitionTo(@BarTransitions.TransitionMode int barMode, boolean animate) {
if (enableTaskbarOnPhones() && mContext.isPhoneButtonNavMode()) {
if (mContext.isPhoneMode()) {
mTaskbarTransitions.transitionTo(barMode, animate);
}
}
@@ -765,7 +764,7 @@ public class NavbarButtonsViewController implements TaskbarControllers.LoggableT
private void onDarkIntensityChanged() {
updateNavButtonColor();
if (enableTaskbarOnPhones() && mContext.isPhoneButtonNavMode()) {
if (mContext.isPhoneMode()) {
mTaskbarTransitions.onDarkIntensityChanged(mTaskbarNavButtonDarkIntensity.value);
}
}
@@ -1115,7 +1114,7 @@ public class NavbarButtonsViewController implements TaskbarControllers.LoggableT
+ mOnBackgroundNavButtonColorOverrideMultiplier.value);
mNavButtonsView.dumpLogs(prefix + "\t", pw);
if (enableTaskbarOnPhones() && mContext.isPhoneButtonNavMode()) {
if (mContext.isPhoneMode()) {
mTaskbarTransitions.dumpLogs(prefix + "\t", pw);
}
}