Merge "Fix taskbar linger above notification shade" into tm-qpr-dev

This commit is contained in:
Johannes Gallmann
2023-03-24 09:46:42 +00:00
committed by Android (Google) Code Review
3 changed files with 10 additions and 5 deletions

View File

@@ -121,6 +121,8 @@ public class QuickStepContract {
// Whether the screen is currently transitioning into the state indicated by // Whether the screen is currently transitioning into the state indicated by
// SYSUI_STATE_SCREEN_ON. // SYSUI_STATE_SCREEN_ON.
public static final int SYSUI_STATE_SCREEN_TRANSITION = 1 << 29; public static final int SYSUI_STATE_SCREEN_TRANSITION = 1 << 29;
// The notification panel expansion fraction is > 0
public static final int SYSUI_STATE_NOTIFICATION_PANEL_VISIBLE = 1 << 30;
// Mask for SystemUiStateFlags to isolate SYSUI_STATE_SCREEN_ON and // Mask for SystemUiStateFlags to isolate SYSUI_STATE_SCREEN_ON and
// SYSUI_STATE_SCREEN_TRANSITION, to match SCREEN_STATE_* // SYSUI_STATE_SCREEN_TRANSITION, to match SCREEN_STATE_*

View File

@@ -36,6 +36,7 @@ import static com.android.systemui.shade.ShadeExpansionStateManagerKt.STATE_CLOS
import static com.android.systemui.shade.ShadeExpansionStateManagerKt.STATE_OPEN; import static com.android.systemui.shade.ShadeExpansionStateManagerKt.STATE_OPEN;
import static com.android.systemui.shade.ShadeExpansionStateManagerKt.STATE_OPENING; import static com.android.systemui.shade.ShadeExpansionStateManagerKt.STATE_OPENING;
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_NOTIFICATION_PANEL_EXPANDED; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_NOTIFICATION_PANEL_EXPANDED;
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_NOTIFICATION_PANEL_VISIBLE;
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_QUICK_SETTINGS_EXPANDED; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_QUICK_SETTINGS_EXPANDED;
import static com.android.systemui.statusbar.StatusBarState.KEYGUARD; import static com.android.systemui.statusbar.StatusBarState.KEYGUARD;
import static com.android.systemui.statusbar.StatusBarState.SHADE; import static com.android.systemui.statusbar.StatusBarState.SHADE;
@@ -3395,7 +3396,9 @@ public final class NotificationPanelViewController implements Dumpable {
Log.d(TAG, "Updating panel sysui state flags: fullyExpanded=" Log.d(TAG, "Updating panel sysui state flags: fullyExpanded="
+ isFullyExpanded() + " inQs=" + mQsController.getExpanded()); + isFullyExpanded() + " inQs=" + mQsController.getExpanded());
} }
mSysUiState.setFlag(SYSUI_STATE_NOTIFICATION_PANEL_EXPANDED, mSysUiState
.setFlag(SYSUI_STATE_NOTIFICATION_PANEL_VISIBLE, getExpandedFraction() > 0)
.setFlag(SYSUI_STATE_NOTIFICATION_PANEL_EXPANDED,
isFullyExpanded() && !mQsController.getExpanded()) isFullyExpanded() && !mQsController.getExpanded())
.setFlag(SYSUI_STATE_QUICK_SETTINGS_EXPANDED, .setFlag(SYSUI_STATE_QUICK_SETTINGS_EXPANDED,
isFullyExpanded() && mQsController.getExpanded()).commitUpdate(mDisplayId); isFullyExpanded() && mQsController.getExpanded()).commitUpdate(mDisplayId);

View File

@@ -1440,16 +1440,16 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces {
private void onPanelExpansionChanged(ShadeExpansionChangeEvent event) { private void onPanelExpansionChanged(ShadeExpansionChangeEvent event) {
float fraction = event.getFraction(); float fraction = event.getFraction();
boolean tracking = event.getTracking(); boolean tracking = event.getTracking();
boolean isExpanded = event.getExpanded();
dispatchPanelExpansionForKeyguardDismiss(fraction, tracking); dispatchPanelExpansionForKeyguardDismiss(fraction, tracking);
if (getNotificationPanelViewController() != null) {
getNotificationPanelViewController().updateSystemUiStateFlags();
}
if (fraction == 0 || fraction == 1) { if (fraction == 0 || fraction == 1) {
if (getNavigationBarView() != null) { if (getNavigationBarView() != null) {
getNavigationBarView().onStatusBarPanelStateChanged(); getNavigationBarView().onStatusBarPanelStateChanged();
} }
if (getNotificationPanelViewController() != null) {
getNotificationPanelViewController().updateSystemUiStateFlags();
}
} }
} }