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

Commit 52c9d1d3 authored by Winson Chung's avatar Winson Chung
Browse files

Log remove reason string for easier debugging

Bug: 385674612
Flag: EXEMPT log only update
Test: logcat -s Bubbles
Change-Id: Ieb47095bf4b460ea00099e1ef704f4f33b42ac2b
parent 813c9541
Loading
Loading
Loading
Loading
+10 −7
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package com.android.wm.shell.bubbles;
import static com.android.internal.annotations.VisibleForTesting.Visibility.PRIVATE;
import static com.android.wm.shell.bubbles.BubbleDebugConfig.TAG_BUBBLES;
import static com.android.wm.shell.bubbles.BubbleDebugConfig.TAG_WITH_CLASS_NAME;
import static com.android.wm.shell.bubbles.Bubbles.dismissReasonToString;
import static com.android.wm.shell.protolog.ShellProtoLogGroup.WM_SHELL_BUBBLES;

import android.annotation.NonNull;
@@ -819,8 +820,8 @@ public class BubbleData {
            if (hasOverflowBubbleWithKey(key)
                    && shouldRemoveHiddenBubble) {
                Bubble b = getOverflowBubbleWithKey(key);
                ProtoLog.d(WM_SHELL_BUBBLES, "doRemove - cancel overflow bubble=%s reason=%d",
                        key, reason);
                ProtoLog.d(WM_SHELL_BUBBLES, "doRemove - cancel overflow bubble=%s reason=%s",
                        key, dismissReasonToString(reason));
                if (b != null) {
                    b.stopInflation();
                }
@@ -834,8 +835,8 @@ public class BubbleData {
            }
            if (hasSuppressedBubbleWithKey(key) && shouldRemoveHiddenBubble) {
                Bubble b = getSuppressedBubbleWithKey(key);
                ProtoLog.d(WM_SHELL_BUBBLES, "doRemove - cancel suppressed bubble=%s reason=%d",
                        key, reason);
                ProtoLog.d(WM_SHELL_BUBBLES, "doRemove - cancel suppressed bubble=%s reason=%s",
                        key, dismissReasonToString(reason));
                if (b != null) {
                    mSuppressedBubbles.remove(b.getLocusId());
                    b.stopInflation();
@@ -845,7 +846,8 @@ public class BubbleData {
            return;
        }
        Bubble bubbleToRemove = mBubbles.get(indexToRemove);
        ProtoLog.d(WM_SHELL_BUBBLES, "doRemove=%s reason=%d", bubbleToRemove.getKey(), reason);
        ProtoLog.d(WM_SHELL_BUBBLES, "doRemove=%s reason=%s", bubbleToRemove.getKey(),
                dismissReasonToString(reason));
        bubbleToRemove.stopInflation();
        overflowBubble(reason, bubbleToRemove);

@@ -951,7 +953,8 @@ public class BubbleData {
                || reason == Bubbles.DISMISS_RELOAD_FROM_DISK)) {
            return;
        }
        ProtoLog.d(WM_SHELL_BUBBLES, "overflowBubble=%s reason=%d", bubble.getKey(), reason);
        ProtoLog.d(WM_SHELL_BUBBLES, "overflowBubble=%s reason=%s", bubble.getKey(),
                dismissReasonToString(reason));
        mLogger.logOverflowAdd(bubble, mPositioner.isShowingInBubbleBar(), reason);
        if (mOverflowBubbles.isEmpty()) {
            mStateChange.showOverflowChanged = true;
@@ -975,7 +978,7 @@ public class BubbleData {
    }

    public void dismissAll(@DismissReason int reason) {
        ProtoLog.d(WM_SHELL_BUBBLES, "dismissAll reason=%d", reason);
        ProtoLog.d(WM_SHELL_BUBBLES, "dismissAll reason=%s", dismissReasonToString(reason));
        if (mBubbles.isEmpty() && mSuppressedBubbles.isEmpty()) {
            return;
        }
+27 −0
Original line number Diff line number Diff line
@@ -312,6 +312,33 @@ public interface Bubbles {
     */
    boolean canShowBubbleNotification();

    /**
     * Returns the string representation of the given dismiss reason.
     */
    public static String dismissReasonToString(@DismissReason int dismissReason) {
        switch (dismissReason) {
            case DISMISS_USER_GESTURE: return "USER_GESTURE";
            case DISMISS_AGED: return "AGED";
            case DISMISS_TASK_FINISHED: return "TASK_FINISHED";
            case DISMISS_BLOCKED: return "BLOCKED";
            case DISMISS_NOTIF_CANCEL: return "NOTIF_CANCEL";
            case DISMISS_ACCESSIBILITY_ACTION: return "ACCESSIBILITY_ACTION";
            case DISMISS_NO_LONGER_BUBBLE: return "NO_LONGER_BUBBLE";
            case DISMISS_USER_CHANGED: return "USER_CHANGED";
            case DISMISS_GROUP_CANCELLED: return "GROUP_CANCELLED";
            case DISMISS_INVALID_INTENT: return "INVALID_INTENT";
            case DISMISS_OVERFLOW_MAX_REACHED: return "OVERFLOW_MAX_REACHED";
            case DISMISS_SHORTCUT_REMOVED: return "SHORTCUT_REMOVED";
            case DISMISS_PACKAGE_REMOVED: return "PACKAGE_REMOVED";
            case DISMISS_NO_BUBBLE_UP: return "NO_BUBBLE_UP";
            case DISMISS_RELOAD_FROM_DISK: return "RELOAD_FROM_DISK";
            case DISMISS_USER_ACCOUNT_REMOVED: return "USER_ACCOUNT_REMOVED";
            case DISMISS_SWITCH_TO_STACK: return "SWITCH_TO_STACK";
            case DISMISS_USER_GESTURE_FROM_LAUNCHER: return "USER_GESTURE_FROM_LAUNCHER";
            default: return "UNKNOWN";
        }
    }

    /**
     * A listener to be notified of bubble state changes, used by launcher to render bubbles in
     * its process.