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

Commit 1a68d9c0 authored by Nikolas Havrikov's avatar Nikolas Havrikov Committed by Android (Google) Code Review
Browse files

Merge "Zero out autofill id when no InputConnection"

parents 3329ea3d 69772357
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -72,6 +72,10 @@ public final class AutofillId implements Parcelable {
        mSessionId = sessionId;
    }

    /** @hide */
    @NonNull
    public static final AutofillId NO_AUTOFILL_ID = new AutofillId(0);

    /** @hide */
    @NonNull
    @TestApi
+10 −1
Original line number Diff line number Diff line
@@ -90,6 +90,7 @@ import android.view.KeyEvent;
import android.view.View;
import android.view.ViewRootImpl;
import android.view.WindowManager.LayoutParams.SoftInputModeFlags;
import android.view.autofill.AutofillId;
import android.view.autofill.AutofillManager;
import android.window.ImeOnBackInvokedDispatcher;
import android.window.WindowOnBackInvokedDispatcher;
@@ -2339,6 +2340,14 @@ public final class InputMethodManager {
        InputConnection ic = view.onCreateInputConnection(tba);
        if (DEBUG) Log.v(TAG, "Starting input: tba=" + tba + " ic=" + ic);

        // Clear autofill and field ids if a connection could not be established.
        // This ensures that even disconnected EditorInfos have well-defined attributes,
        // making them consistently and straightforwardly comparable.
        if (ic == null) {
            tba.autofillId = AutofillId.NO_AUTOFILL_ID;
            tba.fieldId = 0;
        }

        final Handler icHandler;
        InputBindResult res = null;
        synchronized (mH) {
@@ -2376,7 +2385,7 @@ public final class InputMethodManager {
                mServedInputConnection = null;
                mServedInputConnectionHandler = null;
            }
            RemoteInputConnectionImpl servedInputConnection;
            final RemoteInputConnectionImpl servedInputConnection;
            if (ic != null) {
                mCursorSelStart = tba.initialSelStart;
                mCursorSelEnd = tba.initialSelEnd;