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

Commit 4da273e1 authored by Cosmin Băieș's avatar Cosmin Băieș
Browse files

Add dump in InputMethodBindingController

This extracts the dump of the binding controller state from
InputMethodManagerService into its own class, so its easier to track
that we are including all the necessary state.

Flag: EXEMPT dumping
Bug: 356239178
Test: presubmit
Change-Id: I257b68b79a43e7dd3d38e19af78cde2b55d9ee5c
parent cccfbd7e
Loading
Loading
Loading
Loading
+22 −0
Original line number Diff line number Diff line
@@ -61,6 +61,7 @@ import com.android.internal.inputmethod.UnbindReason;
import com.android.server.EventLogTags;
import com.android.server.wm.WindowManagerInternal;

import java.io.PrintWriter;
import java.util.concurrent.CountDownLatch;

/**
@@ -733,4 +734,25 @@ final class InputMethodBindingController {
    void setBackDisposition(@BackDispositionMode int backDisposition) {
        mBackDisposition = backDisposition;
    }

    @GuardedBy("ImfLock.class")
    void dump(@NonNull PrintWriter pw, @NonNull String prefix) {
        pw.println(prefix + "mSelectedMethodId=" + mSelectedMethodId);
        pw.println(prefix + "mCurrentSubtype=" + mCurrentSubtype);
        pw.println(prefix + "mCurSeq=" + mCurSeq);
        pw.println(prefix + "mCurId=" + mCurId);
        pw.println(prefix + "mHasMainConnection=" + mHasMainConnection);
        pw.println(prefix + "mVisibleBound=" + mVisibleBound);
        pw.println(prefix + "mCurToken=" + mCurToken);
        pw.println(prefix + "mCurTokenDisplayId=" + mCurTokenDisplayId);
        pw.println(prefix + "mCurHostInputToken=" + getCurHostInputToken());
        pw.println(prefix + "mCurIntent=" + mCurIntent);
        pw.println(prefix + "mCurMethod=" + mCurMethod);
        pw.println(prefix + "mImeWindowVis=" + mImeWindowVis);
        pw.println(prefix + "mBackDisposition=" + mBackDisposition);
        pw.println(prefix + "mDisplayIdToShowIme=" + mDisplayIdToShowIme);
        pw.println(prefix + "mDeviceIdToShowIme=" + mDeviceIdToShowIme);
        pw.println(prefix + "mSupportsStylusHw=" + mSupportsStylusHw);
        pw.println(prefix + "mSupportsConnectionlessStylusHw=" + mSupportsConnectionlessStylusHw);
    }
}
+3 −12
Original line number Diff line number Diff line
@@ -6141,22 +6141,13 @@ public final class InputMethodManagerService implements IInputMethodManagerImpl.
            final var bindingController = userData.mBindingController;
            client = userData.mCurClient;
            method = bindingController.getCurMethod();
            p.println("    mCurMethodId=" + bindingController.getSelectedMethodId());
            p.println("    mCurClient=" + client + " mCurSeq="
                    + bindingController.getSequenceNumber());
            p.println("    mBindingController:");
            bindingController.dump(pw, "      ");
            p.println("    mCurClient=" + client);
            p.println("    mFocusedWindowPerceptible=" + mFocusedWindowPerceptible);
            p.println("    mImeBindingState:");
            userData.mImeBindingState.dump(p, "      ");
            p.println("    mCurId=" + bindingController.getCurId());
            p.println("    mHaveConnection=" + bindingController.hasMainConnection());
            p.println("    mBoundToMethod=" + userData.mBoundToMethod);
            p.println("    mVisibleBound=" + bindingController.isVisibleBound());
            p.println("    mCurToken=" + bindingController.getCurToken());
            p.println("    mCurTokenDisplayId=" + bindingController.getCurTokenDisplayId());
            p.println("    mCurHostInputToken=" + bindingController.getCurHostInputToken());
            p.println("    mCurIntent=" + bindingController.getCurIntent());
            p.println("    mCurImeWindowVis=" + bindingController.getImeWindowVis());
            p.println("    mCurMethod=" + method);
            p.println("    mEnabledSession=" + userData.mEnabledSession);
            p.println("    mVisibilityStateComputer:");
            userData.mVisibilityStateComputer.dump(pw, "      ");