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

Commit 2f7f7c8d authored by rokuda's avatar rokuda
Browse files

Create all Insets logs for Winscope

This change is adding all kinds of Insets logs to existing
WindowManager-related logs. These logs are usually created by Winscope
and shown on it. Insets logs are just added and nothing is deleted.
Also, they are collected both when "dump" and "tracing" are chosen on
Winscope, and this behaivior follows the existing one.

Bug: 199224772

Test: manual by follow steps
    1) Start tracing by choosing "Window Manager" and clicking "START TRACE" on Winscope.
    2) End tracing by clicking "END TRACE".
    3) See if the insets logs are available.

Change-Id: I5ed1a8a48aaf6db0aece325c4ca32e7fa0747ecf
parent a23f27f9
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -211,6 +211,8 @@ message DisplayContentProto {

    optional DisplayRotationProto display_rotation = 33;
    optional int32 ime_policy = 34;

    repeated InsetsSourceProviderProto insets_source_providers = 35;
}

/* represents DisplayArea object */
+10 −4
Original line number Diff line number Diff line
@@ -111,6 +111,7 @@ import static com.android.server.wm.DisplayContentProto.IME_POLICY;
import static com.android.server.wm.DisplayContentProto.INPUT_METHOD_CONTROL_TARGET;
import static com.android.server.wm.DisplayContentProto.INPUT_METHOD_INPUT_TARGET;
import static com.android.server.wm.DisplayContentProto.INPUT_METHOD_TARGET;
import static com.android.server.wm.DisplayContentProto.INSETS_SOURCE_PROVIDERS;
import static com.android.server.wm.DisplayContentProto.OPENING_APPS;
import static com.android.server.wm.DisplayContentProto.RESUMED_ACTIVITY;
import static com.android.server.wm.DisplayContentProto.ROOT_DISPLAY_AREA;
@@ -3225,10 +3226,15 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp
        if (mCurrentFocus != null) {
            mCurrentFocus.dumpDebug(proto, CURRENT_FOCUS, logLevel);
        }
        if (mInsetsStateController != null
                && mInsetsStateController.getImeSourceProvider() != null) {
            mInsetsStateController.getImeSourceProvider().dumpDebug(proto,
                    IME_INSETS_SOURCE_PROVIDER, logLevel);
        if (mInsetsStateController != null) {
            for (@InternalInsetsType int type = 0; type < InsetsState.SIZE; type++) {
                final InsetsSourceProvider provider = mInsetsStateController.peekSourceProvider(
                        type);
                if (provider != null) {
                    provider.dumpDebug(proto, type == ITYPE_IME ? IME_INSETS_SOURCE_PROVIDER :
                            INSETS_SOURCE_PROVIDERS, logLevel);
                }
            }
        }
        proto.write(IME_POLICY, getImePolicy());
        proto.end(token);