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

Commit 56a667b2 authored by Winson Chung's avatar Winson Chung
Browse files

Separate out sysui state updating

- Only update the disabled/screen pinning states when the disabled flags
  change, and not when the status bar panel height changes since that may
  be called frequently

Bug: 138640355
Test: Manual, lock/unlock, ensure that we don't get extra calls
Change-Id: Icbb03f1fef67e1254f03d85e4293f3b1a0ec4d6e
parent a1001b43
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -546,7 +546,8 @@ public class OverviewProxyService implements CallbackController<OverviewProxyLis
            navBarFragment.updateSystemUiStateFlags(-1);
        }
        if (navBarView != null) {
            navBarView.updateSystemUiStateFlags();
            navBarView.updatePanelSystemUiStateFlags();
            navBarView.updateDisabledSystemUiStateFlags();
        }
        if (mStatusBarWinController != null) {
            mStatusBarWinController.notifyStateChangedCallbacks();
+8 −4
Original line number Diff line number Diff line
@@ -322,7 +322,7 @@ public class NavigationBarView extends FrameLayout implements

    public void setComponents(NotificationPanelView panel, AssistManager assistManager) {
        mPanelView = panel;
        updateSystemUiStateFlags();
        updatePanelSystemUiStateFlags();
    }

    @Override
@@ -586,7 +586,7 @@ public class NavigationBarView extends FrameLayout implements
        updateNavButtonIcons();
        updateSlippery();
        setUpSwipeUpOnboarding(isQuickStepSwipeUpEnabled());
        updateSystemUiStateFlags();
        updateDisabledSystemUiStateFlags();
    }

    public void updateNavButtonIcons() {
@@ -709,10 +709,10 @@ public class NavigationBarView extends FrameLayout implements

    public void onPanelExpandedChange() {
        updateSlippery();
        updateSystemUiStateFlags();
        updatePanelSystemUiStateFlags();
    }

    public void updateSystemUiStateFlags() {
    public void updateDisabledSystemUiStateFlags() {
        int displayId = mContext.getDisplayId();
        mOverviewProxyService.setSystemUiStateFlag(SYSUI_STATE_SCREEN_PINNING,
                ActivityManagerWrapper.getInstance().isScreenPinningActive(), displayId);
@@ -722,6 +722,10 @@ public class NavigationBarView extends FrameLayout implements
                (mDisabledFlags & View.STATUS_BAR_DISABLE_HOME) != 0, displayId);
        mOverviewProxyService.setSystemUiStateFlag(SYSUI_STATE_SEARCH_DISABLED,
                (mDisabledFlags & View.STATUS_BAR_DISABLE_SEARCH) != 0, displayId);
    }

    public void updatePanelSystemUiStateFlags() {
        int displayId = mContext.getDisplayId();
        if (mPanelView != null) {
            mOverviewProxyService.setSystemUiStateFlag(SYSUI_STATE_NOTIFICATION_PANEL_EXPANDED,
                    mPanelView.isFullyExpanded() && !mPanelView.isInSettings(), displayId);