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

Commit 9ad00e09 authored by Anthony Chen's avatar Anthony Chen
Browse files

Add a method that allows the shade to be toggled.

This method allows the shade to be dismissed when it's down and vice
versa.

An alternative is to expose a method that returns a boolean indicating
whether or not the shade is down and call the show/hide methods
appropriately. However, choose not to go with this approach since
IStatusBar.aidl is oneway.

Test: booted up on phone and AAE headunit
Bug: 35930275
Change-Id: I5b8cadc1793ff2e21f242e866c01f57de20fbea6
parent 51829ae7
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@ oneway interface IStatusBar
    void animateExpandNotificationsPanel();
    void animateExpandSettingsPanel(String subPanel);
    void animateCollapsePanels();
    void togglePanel();

    /**
     * Notifies the status bar of a System UI visibility flag change.
+1 −0
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ interface IStatusBarService
{
    void expandNotificationsPanel();
    void collapsePanels();
    void togglePanel();
    void disable(int what, IBinder token, String pkg);
    void disableForUser(int what, IBinder token, String pkg, int userId);
    void disable2(int what, IBinder token, String pkg);
+14 −0
Original line number Diff line number Diff line
@@ -79,6 +79,7 @@ public class CommandQueue extends IStatusBar.Stub {
    private static final int MSG_DISMISS_KEYBOARD_SHORTCUTS    = 32 << MSG_SHIFT;
    private static final int MSG_HANDLE_SYSNAV_KEY             = 33 << MSG_SHIFT;
    private static final int MSG_SHOW_GLOBAL_ACTIONS           = 34 << MSG_SHIFT;
    private static final int MSG_TOGGLE_PANEL                  = 35 << MSG_SHIFT;

    public static final int FLAG_EXCLUDE_NONE = 0;
    public static final int FLAG_EXCLUDE_SEARCH_PANEL = 1 << 0;
@@ -104,6 +105,7 @@ public class CommandQueue extends IStatusBar.Stub {
        default void disable(int state1, int state2, boolean animate) { }
        default void animateExpandNotificationsPanel() { }
        default void animateCollapsePanels(int flags) { }
        default void togglePanel() { }
        default void animateExpandSettingsPanel(String obj) { }
        default void setSystemUiVisibility(int vis, int fullscreenStackVis,
                int dockedStackVis, int mask, Rect fullscreenStackBounds, Rect dockedStackBounds) {
@@ -211,6 +213,13 @@ public class CommandQueue extends IStatusBar.Stub {
        }
    }

    public void togglePanel() {
        synchronized (mLock) {
            mHandler.removeMessages(MSG_TOGGLE_PANEL);
            mHandler.obtainMessage(MSG_TOGGLE_PANEL, 0, 0).sendToTarget();
        }
    }

    public void animateExpandSettingsPanel(String subPanel) {
        synchronized (mLock) {
            mHandler.removeMessages(MSG_EXPAND_SETTINGS);
@@ -467,6 +476,11 @@ public class CommandQueue extends IStatusBar.Stub {
                        mCallbacks.get(i).animateCollapsePanels(msg.arg1);
                    }
                    break;
                case MSG_TOGGLE_PANEL:
                    for (int i = 0; i < mCallbacks.size(); i++) {
                        mCallbacks.get(i).togglePanel();
                    }
                    break;
                case MSG_EXPAND_SETTINGS:
                    for (int i = 0; i < mCallbacks.size(); i++) {
                        mCallbacks.get(i).animateExpandSettingsPanel((String) msg.obj);
+9 −0
Original line number Diff line number Diff line
@@ -2910,6 +2910,15 @@ public class StatusBar extends SystemUI implements DemoMode,
        mHandler.sendEmptyMessage(MSG_OPEN_SETTINGS_PANEL);
    }

    @Override
    public void togglePanel() {
        if (mPanelExpanded) {
            animateCollapsePanels();
        } else {
            animateExpandNotificationsPanel();
        }
    }

    @Override
    public void animateCollapsePanels(int flags) {
        animateCollapsePanels(flags, false /* force */, false /* delayed */,
+12 −0
Original line number Diff line number Diff line
@@ -358,6 +358,18 @@ public class StatusBarManagerService extends IStatusBarService.Stub {
        }
    }

    @Override
    public void togglePanel() {
        enforceExpandStatusBar();

        if (mBar != null) {
            try {
                mBar.togglePanel();
            } catch (RemoteException ex) {
            }
        }
    }

    @Override
    public void expandSettingsPanel(String subPanel) {
        enforceExpandStatusBar();