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

Commit a4c4bca2 authored by Winson Chung's avatar Winson Chung
Browse files

Add some more logs

- It's useful for the changes to report windowing mode (for when tasks
  transition between modes)
- Extend ShellTaskOrg logs to also log non-transition WCT calls
- Enable Bubble logcat logs for now while we are actively developing

Test: logcat -S Bubbles
Flag: EXEMPT log only update
Bug: 416136909
Change-Id: Ib9a3a05cfeeb07516e2537a7d28a7dc86c5a73a5
parent 4ecc9607
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -1105,6 +1105,8 @@ public final class TransitionInfo implements Parcelable {
            if (mTaskInfo != null) {
                sb.append(" taskParent=");
                sb.append(mTaskInfo.parentTaskId);
                sb.append(" winMode=");
                sb.append(mTaskInfo.getWindowingMode());
            }
            if (mAnimationOptions != null) {
                sb.append(" opt=").append(mAnimationOptions);
+22 −0
Original line number Diff line number Diff line
@@ -39,6 +39,7 @@ import android.content.LocusId;
import android.content.pm.ActivityInfo;
import android.graphics.Rect;
import android.os.Binder;
import android.os.Debug;
import android.os.IBinder;
import android.util.ArrayMap;
import android.util.Log;
@@ -49,6 +50,8 @@ import android.window.StartingWindowInfo;
import android.window.StartingWindowRemovalInfo;
import android.window.TaskAppearedInfo;
import android.window.TaskOrganizer;
import android.window.WindowContainerTransaction;
import android.window.WindowContainerTransactionCallback;

import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.protolog.ProtoLog;
@@ -294,6 +297,25 @@ public class ShellTaskOrganizer extends TaskOrganizer {
        }
    }

    @Override
    public void applyTransaction(@NonNull WindowContainerTransaction t) {
        if (!t.isEmpty()) {
            ProtoLog.v(WM_SHELL_TASK_ORG, "applyTransaction(): wct=%s caller=%s",
                    t, Debug.getCallers(4));
        }
        super.applyTransaction(t);
    }

    @Override
    public int applySyncTransaction(@NonNull WindowContainerTransaction t,
            @NonNull WindowContainerTransactionCallback callback) {
        if (!t.isEmpty()) {
            ProtoLog.v(WM_SHELL_TASK_ORG, "applySyncTransaction(): wct=%s caller=%s",
                    t, Debug.getCallers(4));
        }
        return super.applySyncTransaction(t, callback);
    }

    /**
     * Creates a persistent root task in WM for a particular windowing-mode.
     * @param displayId The display to create the root task on.
+1 −1
Original line number Diff line number Diff line
@@ -69,7 +69,7 @@ public enum ShellProtoLogGroup implements IProtoLogGroup {
            Consts.TAG_WM_SHELL),
    WM_SHELL_BUBBLES_NOISY(Consts.ENABLE_DEBUG, Consts.ENABLE_LOG_TO_PROTO_DEBUG, false,
            Consts.TAG_WM_BUBBLES),
    WM_SHELL_BUBBLES(Consts.ENABLE_DEBUG, Consts.ENABLE_LOG_TO_PROTO_DEBUG, false,
    WM_SHELL_BUBBLES(Consts.ENABLE_DEBUG, Consts.ENABLE_LOG_TO_PROTO_DEBUG, true,
            Consts.TAG_WM_BUBBLES),
    WM_SHELL_COMPAT_UI(Consts.ENABLE_DEBUG, Consts.ENABLE_LOG_TO_PROTO_DEBUG, false,
            Consts.TAG_WM_COMPAT_UI),
+7 −2
Original line number Diff line number Diff line
@@ -292,8 +292,13 @@ public class TaskViewTransitions implements Transitions.TransitionHandler, TaskV
        }
        final TaskViewTaskController taskView = findTaskView(triggerTask);
        if (taskView == null) return null;

        // Opening types should all be initiated by shell
        if (!TransitionUtil.isClosingType(request.getType())) return null;
        if (!TransitionUtil.isClosingType(request.getType())) {
            ProtoLog.d(WM_SHELL_BUBBLES_NOISY, "Transitions.handleRequest(): taskView=%d "
                    + "skipping transition=%d", taskView.hashCode(), transition.hashCode());
            return null;
        }
        ProtoLog.d(WM_SHELL_BUBBLES_NOISY, "Transitions.handleRequest(): taskView=%d "
                        + "handling transition=%d", taskView.hashCode(), transition.hashCode());
        PendingTransition pending = new PendingTransition(request.getType(), null,
@@ -406,7 +411,7 @@ public class TaskViewTransitions implements Transitions.TransitionHandler, TaskV
        // transition in taskview and then transition is intercepted using the launchcookie.
        // The task here is already created and running, it just needs to be reparented, resized
        // and tracked correctly inside taskview. Which is done by calling
        // prepareOpenAnimationInternal() and then manually enqueuing the resulting window container
        // prepareOpenAnimation() and then manually enqueuing the resulting window container
        // transaction.
        prepareOpenAnimation(destination, true /* newTask */, mTransaction /* startTransaction */,
                null /* finishTransaction */, taskInfo, leash, wct);