Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8af5e5d7 authored by Johannes Gallmann's avatar Johannes Gallmann
Browse files

Optimize SYSUI_STATE_NOTIFICATION_PANEL_VISIBLE flag update frequency

Bug: 275121752
Test: Manual, i.e. observe Taskbar behaviour when pulling down notification shade and expanding quick settings
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:9bceeb3fdb2c003ddf79d71191bd0447ab4689ff)
Change-Id: Id66485e7d717dd0ea1ef17904d33aca7b98043c6
parent 3e7b20e5
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -3415,8 +3415,9 @@ public final class NotificationPanelViewController implements ShadeSurface, Dump
            Log.d(TAG, "Updating panel sysui state flags: fullyExpanded="
                    + isFullyExpanded() + " inQs=" + mQsController.getExpanded());
        }
        boolean isPanelVisible = mCentralSurfaces != null && mCentralSurfaces.isPanelExpanded();
        mSysUiState
                .setFlag(SYSUI_STATE_NOTIFICATION_PANEL_VISIBLE, getExpandedFraction() > 0)
                .setFlag(SYSUI_STATE_NOTIFICATION_PANEL_VISIBLE, isPanelVisible)
                .setFlag(SYSUI_STATE_NOTIFICATION_PANEL_EXPANDED,
                        isFullyExpanded() && !mQsController.getExpanded())
                .setFlag(SYSUI_STATE_QUICK_SETTINGS_EXPANDED,
+9 −4
Original line number Diff line number Diff line
@@ -1511,14 +1511,15 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces {
        boolean tracking = event.getTracking();
        dispatchPanelExpansionForKeyguardDismiss(fraction, tracking);

        if (getShadeViewController() != null) {
            getShadeViewController().updateSystemUiStateFlags();
        }

        if (fraction == 0 || fraction == 1) {
            if (getNavigationBarView() != null) {
                getNavigationBarView().onStatusBarPanelStateChanged();
            }
            if (getShadeViewController() != null) {
                // Needed to update SYSUI_STATE_NOTIFICATION_PANEL_EXPANDED and
                // SYSUI_STATE_QUICK_SETTINGS_EXPANDED
                getShadeViewController().updateSystemUiStateFlags();
            }
        }
    }

@@ -1526,6 +1527,10 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces {
    void onShadeExpansionFullyChanged(Boolean isExpanded) {
        if (mPanelExpanded != isExpanded) {
            mPanelExpanded = isExpanded;
            if (getShadeViewController() != null) {
                // Needed to update SYSUI_STATE_NOTIFICATION_PANEL_VISIBLE
                getShadeViewController().updateSystemUiStateFlags();
            }
            if (isExpanded && mStatusBarStateController.getState() != StatusBarState.KEYGUARD) {
                if (DEBUG) {
                    Log.v(TAG, "clearing notification effects from Height");