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

Commit 2251eac1 authored by Wilson Wu's avatar Wilson Wu
Browse files

Add startInputOrWindowGainedFocus metrics

Add startInputOrWindowGainedFocus metrics in
InputMethodManager side to record whole consuming
time of this binder call.

Bug: 185928120
Test: presubmit
Change-Id: I3fa16757d5f7909a35d812d61bc510bb18cd212f
parent 60d7db22
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package android.view.inputmethod;

import static android.os.Trace.TRACE_TAG_WINDOW_MANAGER;
import static android.view.inputmethod.InputConnection.CURSOR_UPDATE_IMMEDIATE;
import static android.view.inputmethod.InputConnection.CURSOR_UPDATE_MONITOR;
import static android.view.inputmethod.InputMethodEditorTraceProto.InputMethodClientsTraceProto.ClientSideProto.DISPLAY_ID;
@@ -804,6 +805,7 @@ public final class InputMethodManager {
                }

                // ignore the result
                Trace.traceBegin(TRACE_TAG_WINDOW_MANAGER, "IMM.startInputOrWindowGainedFocus");
                IInputMethodManagerGlobalInvoker.startInputOrWindowGainedFocus(
                        StartInputReason.WINDOW_FOCUS_GAIN_REPORT_ONLY, mClient,
                        viewForWindowFocus.getWindowToken(), startInputFlags, softInputMode,
@@ -812,6 +814,7 @@ public final class InputMethodManager {
                        null, null,
                        mCurRootView.mContext.getApplicationInfo().targetSdkVersion,
                        UserHandle.myUserId(), mImeDispatcher);
                Trace.traceEnd(TRACE_TAG_WINDOW_MANAGER);
            }
        }

@@ -2550,6 +2553,7 @@ public final class InputMethodManager {
            }
            final int targetUserId = editorInfo.targetInputMethodUser != null
                    ? editorInfo.targetInputMethodUser.getIdentifier() : UserHandle.myUserId();
            Trace.traceBegin(TRACE_TAG_WINDOW_MANAGER, "IMM.startInputOrWindowGainedFocus");
            res = IInputMethodManagerGlobalInvoker.startInputOrWindowGainedFocus(
                    startInputReason, mClient, windowGainingFocus, startInputFlags,
                    softInputMode, windowFlags, editorInfo, servedInputConnection,
@@ -2557,6 +2561,7 @@ public final class InputMethodManager {
                            : servedInputConnection.asIRemoteAccessibilityInputConnection(),
                    view.getContext().getApplicationInfo().targetSdkVersion, targetUserId,
                    mImeDispatcher);
            Trace.traceEnd(TRACE_TAG_WINDOW_MANAGER);
            if (DEBUG) Log.v(TAG, "Starting input: Bind result=" + res);
            if (res == null) {
                Log.wtf(TAG, "startInputOrWindowGainedFocus must not return"