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

Commit 9e730436 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "FillRequest provides AutofillId of view tapped in FillContext."

parents 432c55a6 2dfc869d
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -41175,8 +41175,9 @@ package android.service.autofill {
  public final class FillContext implements android.os.Parcelable {
    method public int describeContents();
    method @NonNull public android.view.autofill.AutofillId getFocusedId();
    method public int getRequestId();
    method public android.app.assist.AssistStructure getStructure();
    method @NonNull public android.app.assist.AssistStructure getStructure();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.service.autofill.FillContext> CREATOR;
  }
+18 −3
Original line number Diff line number Diff line
@@ -49,6 +49,7 @@ import java.util.LinkedList;
public final class FillContext implements Parcelable {
    private final int mRequestId;
    private final @NonNull AssistStructure mStructure;
    private final @NonNull AutofillId mFocusedId;

    /**
     * Lookup table AutofillId->ViewNode to speed up {@link #findViewNodesByAutofillIds}
@@ -58,13 +59,15 @@ public final class FillContext implements Parcelable {


    /** @hide */
    public FillContext(int requestId, @NonNull AssistStructure structure) {
    public FillContext(int requestId, @NonNull AssistStructure structure,
            @NonNull AutofillId autofillId) {
        mRequestId = requestId;
        mStructure = structure;
        mFocusedId = autofillId;
    }

    private FillContext(Parcel parcel) {
        this(parcel.readInt(), parcel.readParcelable(null));
        this(parcel.readInt(), parcel.readParcelable(null), parcel.readParcelable(null));
    }

    /**
@@ -82,15 +85,24 @@ public final class FillContext implements Parcelable {
    /**
     * @return The screen content.
     */
    @NonNull
    public AssistStructure getStructure() {
        return mStructure;
    }

    /**
     * @return the AutofillId of the view that triggered autofill.
     */
    @NonNull
    public AutofillId getFocusedId() {
        return mFocusedId;
    }

    @Override
    public String toString() {
        if (!sDebug)  return super.toString();

        return "FillContext [reqId=" + mRequestId + "]";
        return "FillContext [reqId=" + mRequestId + ", focusedId=" + mFocusedId + "]";
    }

    @Override
@@ -102,6 +114,7 @@ public final class FillContext implements Parcelable {
    public void writeToParcel(Parcel parcel, int flags) {
        parcel.writeInt(mRequestId);
        parcel.writeParcelable(mStructure, flags);
        parcel.writeParcelable(mFocusedId, flags);
    }

    /**
@@ -180,11 +193,13 @@ public final class FillContext implements Parcelable {
    public static final Parcelable.Creator<FillContext> CREATOR =
            new Parcelable.Creator<FillContext>() {
        @Override
        @NonNull
        public FillContext createFromParcel(Parcel parcel) {
            return new FillContext(parcel);
        }

        @Override
        @NonNull
        public FillContext[] newArray(int size) {
            return new FillContext[size];
        }
+1 −1
Original line number Diff line number Diff line
@@ -335,7 +335,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState
                if (mContexts == null) {
                    mContexts = new ArrayList<>(1);
                }
                mContexts.add(new FillContext(requestId, structure));
                mContexts.add(new FillContext(requestId, structure, mCurrentViewId));

                cancelCurrentRequestLocked();