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

Commit f0f32087 authored by Priyanka Advani (xWF)'s avatar Priyanka Advani (xWF) Committed by Jorge Gil
Browse files

Revert "Add window decor logs and dump state"

This reverts commit e9f5931e.

Reason for revert: Droidmonitor created revert due to Jank regression b/416596161.

Bug: 413375299
Bug: 415096258
Fix: 416596161
Change-Id: I49cffa6c3e4b712324c91d2fd8ec0018d45575b8
parent 4ecc9607
Loading
Loading
Loading
Loading
+2 −11
Original line number Diff line number Diff line
@@ -37,7 +37,6 @@ import static com.android.wm.shell.desktopmode.DesktopModeVisualIndicator.Indica
import static com.android.wm.shell.desktopmode.DesktopModeVisualIndicator.IndicatorType.TO_SPLIT_LEFT_INDICATOR;
import static com.android.wm.shell.desktopmode.DesktopModeVisualIndicator.IndicatorType.TO_SPLIT_RIGHT_INDICATOR;
import static com.android.wm.shell.protolog.ShellProtoLogGroup.WM_SHELL_DESKTOP_MODE;
import static com.android.wm.shell.protolog.ShellProtoLogGroup.WM_SHELL_WINDOW_DECORATION;
import static com.android.wm.shell.shared.multiinstance.ManageWindowsViewContainer.MANAGE_WINDOWS_MINIMUM_INSTANCES;
import static com.android.wm.shell.shared.split.SplitScreenConstants.SPLIT_POSITION_BOTTOM_OR_RIGHT;
import static com.android.wm.shell.shared.split.SplitScreenConstants.SPLIT_POSITION_TOP_OR_LEFT;
@@ -1838,12 +1837,9 @@ public class DesktopModeWindowDecorViewModel implements WindowDecorViewModel,
            SurfaceControl taskSurface,
            SurfaceControl.Transaction startT,
            SurfaceControl.Transaction finishT) {
        ProtoLog.d(WM_SHELL_WINDOW_DECORATION, "%s: createWindowDecoration taskId=%d surface=%s",
                TAG, taskInfo.taskId, taskSurface);
        final DesktopModeWindowDecoration oldDecoration = mWindowDecorByTaskId.get(taskInfo.taskId);
        if (oldDecoration != null) {
            // close the old decoration if it exists to avoid two window decorations being added
            ProtoLog.d(WM_SHELL_WINDOW_DECORATION, "%s: closing old decoration", TAG);
            oldDecoration.close();
        }
        final DesktopModeWindowDecoration windowDecoration =
@@ -1928,17 +1924,12 @@ public class DesktopModeWindowDecorViewModel implements WindowDecorViewModel,
    private void dump(PrintWriter pw, String prefix) {
        final String innerPrefix = prefix + "  ";
        pw.println(prefix + "DesktopModeWindowDecorViewModel");
        pw.println(innerPrefix + "DesktopModeStatus=" + mDesktopState.canEnterDesktopMode());
        pw.println(innerPrefix + "DesktopModeStatus="
                + mDesktopState.canEnterDesktopMode());
        pw.println(innerPrefix + "mTransitionDragActive=" + mTransitionDragActive);
        pw.println(innerPrefix + "mEventReceiversByDisplay=" + mEventReceiversByDisplay);
        pw.println(innerPrefix + "mGestureExclusionTracker="
                + mGestureExclusionTracker);
        for (int i = 0; i < mWindowDecorByTaskId.size(); i++) {
            final DesktopModeWindowDecoration decor = mWindowDecorByTaskId.valueAt(i);
            if (decor != null) {
                decor.dump(pw, innerPrefix);
            }
        }
    }

    private class DesktopModeOnTaskRepositionAnimationListener
+8 −33
Original line number Diff line number Diff line
@@ -29,7 +29,6 @@ import static android.window.DesktopModeFlags.ENABLE_CAPTION_COMPAT_INSET_FORCE_
import static android.window.DesktopModeFlags.ENABLE_CAPTION_COMPAT_INSET_FORCE_CONSUMPTION_ALWAYS;

import static com.android.internal.policy.SystemBarUtils.getDesktopViewAppHeaderHeightId;
import static com.android.wm.shell.protolog.ShellProtoLogGroup.WM_SHELL_WINDOW_DECORATION;
import static com.android.wm.shell.shared.split.SplitScreenConstants.SPLIT_POSITION_BOTTOM_OR_RIGHT;
import static com.android.wm.shell.windowdecor.DragPositioningCallbackUtility.DragEventListener;
import static com.android.wm.shell.windowdecor.DragResizeWindowGeometry.DisabledEdge;
@@ -59,7 +58,6 @@ import android.net.Uri;
import android.os.Handler;
import android.os.Trace;
import android.os.UserHandle;
import android.util.IndentingPrintWriter;
import android.util.Size;
import android.view.Choreographer;
import android.view.Display;
@@ -79,7 +77,6 @@ import android.window.WindowContainerTransaction;

import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.policy.SystemBarUtils;
import com.android.internal.protolog.ProtoLog;
import com.android.window.flags.Flags;
import com.android.wm.shell.R;
import com.android.wm.shell.RootTaskDisplayAreaOrganizer;
@@ -126,7 +123,6 @@ import kotlin.jvm.functions.Function1;
import kotlinx.coroutines.CoroutineScope;
import kotlinx.coroutines.MainCoroutineDispatcher;

import java.io.PrintWriter;
import java.util.List;
import java.util.function.BiConsumer;
import java.util.function.BiFunction;
@@ -447,11 +443,6 @@ public class DesktopModeWindowDecoration extends WindowDecoration<WindowDecorLin
            boolean hasGlobalFocus, @NonNull Region displayExclusionRegion,
            boolean inSyncWithTransition) {
        Trace.beginSection("DesktopModeWindowDecoration#relayout");
        ProtoLog.d(WM_SHELL_WINDOW_DECORATION, "%s: relayout of taskId=%d startT=%s finishT=%s "
                + "applyStartTransactionOnDraw=%b "
                + "shouldSetTaskVisibilityPositionAndCrop=%b hasGlobalFocus=%b taskVisible=%b",
                TAG, taskInfo.taskId, startT.getId(), finishT.getId(), applyStartTransactionOnDraw,
                shouldSetTaskVisibilityPositionAndCrop, hasGlobalFocus, taskInfo.isVisible);

        if (DesktopModeFlags.ENABLE_DESKTOP_WINDOWING_APP_TO_WEB.isTrue()) {
            setCapturedLink(taskInfo.capturedLink, taskInfo.capturedLinkTimestamp);
@@ -1926,30 +1917,14 @@ public class DesktopModeWindowDecoration extends WindowDecoration<WindowDecorLin
        return !animatingTaskResizeOrReposition && !inImmersiveAndRequesting;
    }

    void dump(@NonNull PrintWriter originalWriter, @NonNull String prefix) {
        final IndentingPrintWriter pw = new IndentingPrintWriter(originalWriter, "  ", prefix);
        pw.println("DesktopModeWindowDecoration (task#" + mTaskInfo.taskId + ")");
        pw.increaseIndent();
        pw.println("mPositionInParent=" + mPositionInParent);
        pw.println("windowingMode=" + windowingModeToString(mTaskInfo.getWindowingMode()));
        pw.println("isFocused=" + isFocused());
        pw.println("taskVisible=" + mTaskInfo.isVisible);
        pw.println("mIsRecentsTransitionRunning=" + mIsRecentsTransitionRunning);
        pw.println("mIsDragging=" + mIsDragging);
        pw.println("mIsAppHeaderMaximizeButtonHovered=" + mIsAppHeaderMaximizeButtonHovered);
        pw.println("mIsMaximizeMenuHovered=" + mIsMaximizeMenuHovered);
        pw.println("mMinimumInstancesFound=" + mMinimumInstancesFound);
        pw.println("mDisabledResizingEdge=" + mDisabledResizingEdge);
        pw.println("mCapturedLink=" + mCapturedLink);
        pw.println("mGenericLink=" + mGenericLink);
        pw.println("mWebUri=" + mWebUri);
        if (mRelayoutParams != null) {
            mRelayoutParams.dump(pw, mContext);
        }
        pw.decreaseIndent();
        if (mResult != null) {
            mResult.dump(pw);
        }
    @Override
    public String toString() {
        return "{"
                + "mPositionInParent=" + mPositionInParent + ", "
                + "taskId=" + mTaskInfo.taskId + ", "
                + "windowingMode=" + windowingModeToString(mTaskInfo.getWindowingMode()) + ", "
                + "isFocused=" + isFocused()
                + "}";
    }

    static class Factory {
+0 −102
Original line number Diff line number Diff line
@@ -23,9 +23,6 @@ import static android.view.WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH;
import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION;
import static android.view.WindowManager.TRANSIT_CHANGE;

import static com.android.wm.shell.protolog.ShellProtoLogGroup.WM_SHELL_WINDOW_DECORATION;

import android.annotation.IdRes;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.app.ActivityManager.RunningTaskInfo;
@@ -43,7 +40,6 @@ import android.gui.BoxShadowSettings;
import android.os.Binder;
import android.os.Handler;
import android.os.Trace;
import android.util.IndentingPrintWriter;
import android.view.Display;
import android.view.InsetsSource;
import android.view.InsetsState;
@@ -60,7 +56,6 @@ import android.window.TaskConstants;
import android.window.WindowContainerTransaction;

import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.protolog.ProtoLog;
import com.android.wm.shell.ShellTaskOrganizer;
import com.android.wm.shell.common.BoxShadowHelper;
import com.android.wm.shell.common.DisplayController;
@@ -96,8 +91,6 @@ import java.util.function.Supplier;
public abstract class WindowDecoration<T extends View & TaskFocusStateConsumer>
        implements AutoCloseable {

    private static final String TAG = "WindowDecoration";

    /**
     * The Z-order of the caption surface.
     * <p>
@@ -263,9 +256,6 @@ public abstract class WindowDecoration<T extends View & TaskFocusStateConsumer>
    void relayout(RelayoutParams params, SurfaceControl.Transaction startT,
            SurfaceControl.Transaction finishT, WindowContainerTransaction wct, T rootView,
            RelayoutResult<T> outResult) {
        ProtoLog.v(WM_SHELL_WINDOW_DECORATION,
                "%s: relayout params=%s startT=%s finishT=%s",
                TAG, params.toString(mContext.getResources()), startT.getId(), finishT.getId());
        Trace.beginSection("WindowDecoration#relayout");
        outResult.reset();
        if (params.mRunningTaskInfo != null) {
@@ -972,76 +962,6 @@ public abstract class WindowDecoration<T extends View & TaskFocusStateConsumer>
            return (mInputFeatures & WindowManager.LayoutParams.INPUT_FEATURE_SPY) != 0;
        }

        void dump(@NonNull IndentingPrintWriter pw, @NonNull Context context) {
            pw.println("RelayoutParams");
            pw.increaseIndent();
            final Resources resources = context.getResources();
            pw.println("mTaskId=" + (mRunningTaskInfo != null ? mRunningTaskInfo.taskId : null));
            pw.println("mLayoutResId=" + resToString(mLayoutResId, resources));
            pw.println("mCaptionWidthId=" + resToString(mCaptionWidthId, resources));
            pw.println("mOccludingCaptionElements=" + occludingCaptionElementsToString(resources));
            pw.println("mLimitTouchRegionToSystemAreas=" + mLimitTouchRegionToSystemAreas);
            pw.println("mInputFeatures=" + Integer.toHexString(mInputFeatures));
            pw.println("mIsInsetSource=" + mIsInsetSource);
            pw.println("mInsetSourceFlags=" + InsetsSource.flagsToString(mInsetSourceFlags));
            pw.println("mDisplayExclusionRegion=" + mDisplayExclusionRegion);
            pw.println("mShadowRadiusId=" + resToString(mShadowRadiusId, resources));
            pw.println("mCornerRadiusId=" + resToString(mCornerRadiusId, resources));
            pw.println("mBorderSettingsId=" + resToString(mBorderSettingsId, resources));
            pw.println("mCaptionTopPadding=" + mCaptionTopPadding);
            pw.println("mIsCaptionVisible=" + mIsCaptionVisible);
            pw.println("mAsyncViewHost=" + mAsyncViewHost);
            pw.println("mApplyStartTransactionOnDraw=" + mApplyStartTransactionOnDraw);
            pw.println("mSetTaskVisibilityPositionAndCrop=" + mSetTaskVisibilityPositionAndCrop);
            pw.println("mHasGlobalFocus=" + mHasGlobalFocus);
            pw.println("mShouldSetAppBounds=" + mShouldSetAppBounds);
            pw.println("mShouldSetBackground=" + mShouldSetBackground);
        }

        public String toString(@NonNull Resources resources) {
            return "RelayoutParams{"
                    + "mTaskId=" + (mRunningTaskInfo != null ? mRunningTaskInfo.taskId : null) + " "
                    + "mLayoutResId=" + resToString(mLayoutResId, resources) + " "
                    + "mCaptionWidthId=" + resToString(mCaptionWidthId, resources) + " "
                    + "mOccludingCaptionElements="
                    + occludingCaptionElementsToString(resources) + " "
                    + "mLimitTouchRegionToSystemAreas=" + mLimitTouchRegionToSystemAreas + " "
                    + "mInputFeatures=" + Integer.toHexString(mInputFeatures) + " "
                    + "mIsInsetSource=" + mIsInsetSource + " "
                    + "mInsetSourceFlags=" + InsetsSource.flagsToString(mInsetSourceFlags) + " "
                    + "mDisplayExclusionRegion=" + mDisplayExclusionRegion + " "
                    + "mShadowRadiusId=" + resToString(mShadowRadiusId, resources) + " "
                    + "mCornerRadiusId=" + resToString(mCornerRadiusId, resources) + " "
                    + "mBorderSettingsId=" + resToString(mBorderSettingsId, resources) + " "
                    + "mCaptionTopPadding=" + mCaptionTopPadding + " "
                    + "mIsCaptionVisible=" + mIsCaptionVisible + " "
                    + "mAsyncViewHost=" + mAsyncViewHost + " "
                    + "mApplyStartTransactionOnDraw=" + mApplyStartTransactionOnDraw + " "
                    + "mSetTaskVisibilityPositionAndCrop=" + mSetTaskVisibilityPositionAndCrop + " "
                    + "mHasGlobalFocus=" + mHasGlobalFocus + " "
                    + "mShouldSetAppBounds=" + mShouldSetAppBounds + " "
                    + "mShouldSetBackground=" + mShouldSetBackground
                    + "}";
        }

        private static String resToString(@IdRes int resId, @NonNull Resources resources) {
            return resId != 0 ? resources.getResourceName(resId) : "ID_NULL";
        }

        private String occludingCaptionElementsToString(@NonNull Resources resources) {
            final StringBuilder sb = new StringBuilder();
            sb.append("[");
            for (int i = 0; i < mOccludingCaptionElements.size(); i++) {
                final OccludingCaptionElement element = mOccludingCaptionElements.get(i);
                sb.append(element.toString(resources));
                if (i < mOccludingCaptionElements.size() - 1) {
                    sb.append(", ");
                }
            }
            sb.append("]");
            return sb.toString();
        }

        /**
         * Describes elements within the caption bar that could occlude app content, and should be
         * sent as bounding rectangles to the insets system.
@@ -1053,13 +973,6 @@ public abstract class WindowDecoration<T extends View & TaskFocusStateConsumer>
            enum Alignment {
                START, END
            }

            String toString(@NonNull Resources resources) {
                return "OccludingCaptionElement{"
                        + "mWidthResId=" + resToString(mWidthResId, resources) + " "
                        + "mAlignment=" + mAlignment
                        + "}";
            }
        }
    }

@@ -1095,21 +1008,6 @@ public abstract class WindowDecoration<T extends View & TaskFocusStateConsumer>
                mShadowRadius = INVALID_SHADOW_RADIUS;
            }
        }

        void dump(@NonNull IndentingPrintWriter pw) {
            pw.println("RelayoutResult");
            pw.increaseIndent();
            pw.println("mCaptionWidth=" + mCaptionWidth);
            pw.println("mCaptionHeight=" + mCaptionHeight);
            pw.println("mCaptionX=" + mCaptionX);
            pw.println("mCaptionY=" + mCaptionY);
            pw.println("mCaptionTopPadding=" + mCaptionTopPadding);
            pw.println("mCustomizableCaptionRegion=" + mCustomizableCaptionRegion);
            pw.println("mWidth=" + mWidth);
            pw.println("mHeight=" + mHeight);
            pw.println("mCornerRadius=" + mCornerRadius);
            pw.println("mShadowRadius=" + mShadowRadius);
        }
    }

    private static class CaptionWindowlessWindowManager extends WindowlessWindowManager {