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

Commit 0ec64c65 authored by John Spurlock's avatar John Spurlock
Browse files

Add new logging for system bar window state.

And re-enable PhoneStatusBar dump output in bugreports.

Bug:10488453
Change-Id: If39b32e82dee59f3c166c5a948d379030da0ea01
parent 94366313
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -22,6 +22,9 @@ import android.util.Log;
import com.android.systemui.R;
import com.android.systemui.SystemUI;

import java.io.FileDescriptor;
import java.io.PrintWriter;

/**
 * Ensure a single status bar service implementation is running at all times.
 *
@@ -66,6 +69,13 @@ public class SystemBars extends SystemUI implements ServiceMonitor.Callbacks {
        return 0;
    }

    @Override
    public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
        if (mStatusBar != null) {
            mStatusBar.dump(fd, pw, args);
        }
    }

    private void createStatusBarFromConfig() {
        if (DEBUG) Log.d(TAG, "createStatusBarFromConfig");
        final String clsName = mContext.getString(R.string.config_statusBarComponent);
+18 −2
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package com.android.systemui.statusbar.phone;

import static android.app.StatusBarManager.windowStateToString;
import static com.android.systemui.statusbar.phone.BarTransitions.MODE_OPAQUE;
import static com.android.systemui.statusbar.phone.BarTransitions.MODE_SEMI_TRANSPARENT;
import static com.android.systemui.statusbar.phone.BarTransitions.MODE_TRANSPARENT;
@@ -109,6 +110,7 @@ public class PhoneStatusBar extends BaseStatusBar {
    public static final boolean DEBUG_GESTURES = false;

    public static final boolean DEBUG_CLINGS = false;
    public static final boolean DEBUG_WINDOW_STATE = true;

    public static final boolean ENABLE_NOTIFICATION_PANEL_CLING = false;

@@ -1844,7 +1846,7 @@ public class PhoneStatusBar extends BaseStatusBar {
                && window == StatusBarManager.WINDOW_STATUS_BAR
                && mStatusBarWindowState != state) {
            mStatusBarWindowState = state;
            if (DEBUG) Log.d(TAG, "Status bar " + StatusBarManager.windowStateToString(state));
            if (DEBUG_WINDOW_STATE) Log.d(TAG, "Status bar " + windowStateToString(state));
            mStatusBarWindow.setEnabled(showing);
            if (!showing) {
                mStatusBarView.collapseAllPanels(false);
@@ -1854,7 +1856,7 @@ public class PhoneStatusBar extends BaseStatusBar {
                && window == StatusBarManager.WINDOW_NAVIGATION_BAR
                && mNavigationBarWindowState != state) {
            mNavigationBarWindowState = state;
            if (DEBUG) Log.d(TAG, "Navigation bar " + StatusBarManager.windowStateToString(state));
            if (DEBUG_WINDOW_STATE) Log.d(TAG, "Navigation bar " + windowStateToString(state));
            mNavigationBarView.setEnabled(showing);
        }
    }
@@ -2177,6 +2179,15 @@ public class PhoneStatusBar extends BaseStatusBar {
                    + " scroll " + mScrollView.getScrollX() + "," + mScrollView.getScrollY());
        }

        pw.print("  mStatusBarWindowState=");
        pw.println(windowStateToString(mStatusBarWindowState));
        dumpBarTransitions(pw, "mStatusBarView", mStatusBarView.getBarTransitions());
        if (mNavigationBarView != null) {
            pw.print("  mNavigationBarWindowState=");
            pw.println(windowStateToString(mNavigationBarWindowState));
            dumpBarTransitions(pw, "mNavigationBarView", mNavigationBarView.getBarTransitions());
        }

        pw.print("  mNavigationBarView=");
        if (mNavigationBarView == null) {
            pw.println("null");
@@ -2242,6 +2253,11 @@ public class PhoneStatusBar extends BaseStatusBar {
        mNetworkController.dump(fd, pw, args);
    }

    private static void dumpBarTransitions(PrintWriter pw, String var, BarTransitions transitions) {
        pw.print("  "); pw.print(var); pw.print(".BarTransitions.mMode=");
        pw.println(BarTransitions.modeToString(transitions.getMode()));
    }

    @Override
    public void createAndAddWindows() {
        addStatusBarWindow();
+8 −4
Original line number Diff line number Diff line
@@ -33,7 +33,7 @@ import java.io.PrintWriter;
 * Controls state/behavior specific to a system bar window.
 */
public class BarController {
    private static final boolean DEBUG = false;
    private static final boolean DEBUG = true;

    private static final int TRANSIENT_BAR_NONE = 0;
    private static final int TRANSIENT_BAR_SHOWING = 1;
@@ -126,6 +126,7 @@ public class BarController {
    private void updateState(final int state) {
        if (state != mState) {
            mState = state;
            if (DEBUG) Slog.d(mTag, "mState: " + StatusBarManager.windowStateToString(state));
            mHandler.post(new Runnable() {
                @Override
                public void run() {
@@ -135,6 +136,7 @@ public class BarController {
                            statusbar.setWindowState(mStatusBarManagerId, state);
                        }
                    } catch (RemoteException e) {
                        if (DEBUG) Slog.w(mTag, "Error posting window state", e);
                        // re-acquire status bar service next time it is needed.
                        mStatusBarService = null;
                    }
@@ -204,7 +206,7 @@ public class BarController {
                mLastTransparent = SystemClock.uptimeMillis();
            }
            mTransientBarState = state;
            if (DEBUG) Slog.d(mTag, "New state: " + transientBarStateToString(state));
            if (DEBUG) Slog.d(mTag, "mTransientBarState: " + transientBarStateToString(state));
        }
    }

@@ -227,8 +229,10 @@ public class BarController {

    public void dump(PrintWriter pw, String prefix) {
        if (mWin != null) {
            pw.print(prefix); pw.print(mTag); pw.print(' ');
            pw.print("mTransientBar"); pw.print('=');
            pw.print(prefix); pw.println(mTag);
            pw.print("  "); pw.print("mState"); pw.print('=');
            pw.println(StatusBarManager.windowStateToString(mState));
            pw.print("  "); pw.print("mTransientBar"); pw.print('=');
            pw.println(transientBarStateToString(mTransientBarState));
        }
    }