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

Commit 355ca2bd authored by Automerger Merge Worker's avatar Automerger Merge Worker
Browse files

Merge "A few inline autofill API tweaks." into rvc-dev am: 658fc6d6

Change-Id: Ifa8aa617050dcb65d29011ba52345e8ea04c6e3f
parents 25ef7c55 658fc6d6
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -56980,6 +56980,7 @@ package android.view.inputmethod {
    method @NonNull public android.view.inline.InlinePresentationSpec getPresentationSpec();
    method @NonNull public String getSource();
    method @NonNull public String getType();
    method public boolean isPinned();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.view.inputmethod.InlineSuggestionInfo> CREATOR;
    field public static final String SOURCE_AUTOFILL = "android:autofill";
+1 −0
Original line number Diff line number Diff line
@@ -9931,6 +9931,7 @@ package android.service.autofill.augmented {
    method @NonNull public android.service.autofill.augmented.FillResponse build();
    method @NonNull public android.service.autofill.augmented.FillResponse.Builder setClientState(@Nullable android.os.Bundle);
    method @NonNull public android.service.autofill.augmented.FillResponse.Builder setFillWindow(@Nullable android.service.autofill.augmented.FillWindow);
    method @NonNull public android.service.autofill.augmented.FillResponse.Builder setInlineActions(@Nullable java.util.List<android.service.autofill.InlinePresentation>);
    method @NonNull public android.service.autofill.augmented.FillResponse.Builder setInlineSuggestions(@Nullable java.util.List<android.service.autofill.Dataset>);
  }
+2 −1
Original line number Diff line number Diff line
@@ -3270,6 +3270,7 @@ package android.service.autofill.augmented {
    method @NonNull public android.service.autofill.augmented.FillResponse build();
    method @NonNull public android.service.autofill.augmented.FillResponse.Builder setClientState(@Nullable android.os.Bundle);
    method @NonNull public android.service.autofill.augmented.FillResponse.Builder setFillWindow(@Nullable android.service.autofill.augmented.FillWindow);
    method @NonNull public android.service.autofill.augmented.FillResponse.Builder setInlineActions(@Nullable java.util.List<android.service.autofill.InlinePresentation>);
    method @NonNull public android.service.autofill.augmented.FillResponse.Builder setInlineSuggestions(@Nullable java.util.List<android.service.autofill.Dataset>);
  }

@@ -5211,7 +5212,7 @@ package android.view.inputmethod {
  }

  public final class InlineSuggestionInfo implements android.os.Parcelable {
    method @NonNull public static android.view.inputmethod.InlineSuggestionInfo newInlineSuggestionInfo(@NonNull android.view.inline.InlinePresentationSpec, @NonNull String, @Nullable String[]);
    method @NonNull public static android.view.inputmethod.InlineSuggestionInfo newInlineSuggestionInfo(@NonNull android.view.inline.InlinePresentationSpec, @NonNull String, @Nullable String[], @NonNull String, boolean);
  }

  public final class InlineSuggestionsResponse implements android.os.Parcelable {
+17 −2
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package android.service.autofill;

import android.annotation.NonNull;
import android.annotation.Size;
import android.app.slice.Slice;
import android.os.Parcel;
import android.os.Parcelable;
@@ -24,6 +25,8 @@ import android.view.inline.InlinePresentationSpec;

import com.android.internal.util.DataClass;

import java.util.List;

/**
 * Wrapper class holding a {@link Slice} and an {@link InlinePresentationSpec} for rendering UI
 * for an Inline Suggestion.
@@ -50,6 +53,18 @@ public final class InlinePresentation implements Parcelable {
     */
    private final boolean mPinned;

    /**
     * Returns the autofill hints set in the slice.
     *
     * @hide
     */
    @NonNull
    @Size(min = 0)
    public String[] getAutofillHints() {
        List<String> hints = mSlice.getHints();
        return hints.toArray(new String[hints.size()]);
    }



    // Code below generated by codegen v1.0.14.
@@ -214,10 +229,10 @@ public final class InlinePresentation implements Parcelable {
    };

    @DataClass.Generated(
            time = 1579726472535L,
            time = 1582753782651L,
            codegenVersion = "1.0.14",
            sourceFile = "frameworks/base/core/java/android/service/autofill/InlinePresentation.java",
            inputSignatures = "private final @android.annotation.NonNull android.app.slice.Slice mSlice\nprivate final @android.annotation.NonNull android.view.inline.InlinePresentationSpec mInlinePresentationSpec\nprivate final  boolean mPinned\nclass InlinePresentation extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genToString=true, genHiddenConstDefs=true, genEqualsHashCode=true)")
            inputSignatures = "private final @android.annotation.NonNull android.app.slice.Slice mSlice\nprivate final @android.annotation.NonNull android.view.inline.InlinePresentationSpec mInlinePresentationSpec\nprivate final  boolean mPinned\npublic @android.annotation.NonNull @android.annotation.Size(min=0L) java.lang.String[] getAutofillHints()\nclass InlinePresentation extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genToString=true, genHiddenConstDefs=true, genEqualsHashCode=true)")
    @Deprecated
    private void __metadata() {}

+57 −5
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import android.annotation.SystemApi;
import android.annotation.TestApi;
import android.os.Bundle;
import android.service.autofill.Dataset;
import android.service.autofill.InlinePresentation;

import com.android.internal.util.DataClass;

@@ -51,6 +52,13 @@ public final class FillResponse {
    @DataClass.PluralOf("inlineSuggestion")
    private @Nullable List<Dataset> mInlineSuggestions;

    /**
     * The {@link InlinePresentation}s representing the inline actions. Defaults to null if no
     * inline actions are provided.
     */
    @DataClass.PluralOf("inlineAction")
    private @Nullable List<InlinePresentation> mInlineActions;

    /**
     * The client state that {@link AugmentedAutofillService} implementation can put anything in to
     * identify the request and the response when calling
@@ -66,6 +74,10 @@ public final class FillResponse {
        return null;
    }

    private static List<InlinePresentation> defaultInlineActions() {
        return null;
    }

    private static Bundle defaultClientState() {
        return null;
    }
@@ -74,6 +86,7 @@ public final class FillResponse {
    /** @hide */
    abstract static class BaseBuilder {
        abstract FillResponse.Builder addInlineSuggestion(@NonNull Dataset value);
        abstract FillResponse.Builder addInlineAction(@NonNull InlinePresentation value);
    }


@@ -95,9 +108,11 @@ public final class FillResponse {
    /* package-private */ FillResponse(
            @Nullable FillWindow fillWindow,
            @Nullable List<Dataset> inlineSuggestions,
            @Nullable List<InlinePresentation> inlineActions,
            @Nullable Bundle clientState) {
        this.mFillWindow = fillWindow;
        this.mInlineSuggestions = inlineSuggestions;
        this.mInlineActions = inlineActions;
        this.mClientState = clientState;

        // onConstructed(); // You can define this method to get a callback
@@ -124,6 +139,17 @@ public final class FillResponse {
        return mInlineSuggestions;
    }

    /**
     * The {@link InlinePresentation}s representing the inline actions. Defaults to null if no
     * inline actions are provided.
     *
     * @hide
     */
    @DataClass.Generated.Member
    public @Nullable List<InlinePresentation> getInlineActions() {
        return mInlineActions;
    }

    /**
     * The client state that {@link AugmentedAutofillService} implementation can put anything in to
     * identify the request and the response when calling
@@ -145,6 +171,7 @@ public final class FillResponse {

        private @Nullable FillWindow mFillWindow;
        private @Nullable List<Dataset> mInlineSuggestions;
        private @Nullable List<InlinePresentation> mInlineActions;
        private @Nullable Bundle mClientState;

        private long mBuilderFieldsSet = 0L;
@@ -184,6 +211,27 @@ public final class FillResponse {
            return this;
        }

        /**
         * The {@link InlinePresentation}s representing the inline actions. Defaults to null if no
         * inline actions are provided.
         */
        @DataClass.Generated.Member
        public @NonNull Builder setInlineActions(@Nullable List<InlinePresentation> value) {
            checkNotUsed();
            mBuilderFieldsSet |= 0x4;
            mInlineActions = value;
            return this;
        }

        /** @see #setInlineActions */
        @DataClass.Generated.Member
        @Override
        @NonNull FillResponse.Builder addInlineAction(@NonNull InlinePresentation value) {
            if (mInlineActions == null) setInlineActions(new ArrayList<>());
            mInlineActions.add(value);
            return this;
        }

        /**
         * The client state that {@link AugmentedAutofillService} implementation can put anything in to
         * identify the request and the response when calling
@@ -192,7 +240,7 @@ public final class FillResponse {
        @DataClass.Generated.Member
        public @NonNull Builder setClientState(@Nullable Bundle value) {
            checkNotUsed();
            mBuilderFieldsSet |= 0x4;
            mBuilderFieldsSet |= 0x8;
            mClientState = value;
            return this;
        }
@@ -200,7 +248,7 @@ public final class FillResponse {
        /** Builds the instance. This builder should not be touched after calling this! */
        public @NonNull FillResponse build() {
            checkNotUsed();
            mBuilderFieldsSet |= 0x8; // Mark builder used
            mBuilderFieldsSet |= 0x10; // Mark builder used

            if ((mBuilderFieldsSet & 0x1) == 0) {
                mFillWindow = defaultFillWindow();
@@ -209,17 +257,21 @@ public final class FillResponse {
                mInlineSuggestions = defaultInlineSuggestions();
            }
            if ((mBuilderFieldsSet & 0x4) == 0) {
                mInlineActions = defaultInlineActions();
            }
            if ((mBuilderFieldsSet & 0x8) == 0) {
                mClientState = defaultClientState();
            }
            FillResponse o = new FillResponse(
                    mFillWindow,
                    mInlineSuggestions,
                    mInlineActions,
                    mClientState);
            return o;
        }

        private void checkNotUsed() {
            if ((mBuilderFieldsSet & 0x8) != 0) {
            if ((mBuilderFieldsSet & 0x10) != 0) {
                throw new IllegalStateException(
                        "This Builder should not be reused. Use a new Builder instance instead");
            }
@@ -227,10 +279,10 @@ public final class FillResponse {
    }

    @DataClass.Generated(
            time = 1580335256422L,
            time = 1582682935951L,
            codegenVersion = "1.0.14",
            sourceFile = "frameworks/base/core/java/android/service/autofill/augmented/FillResponse.java",
            inputSignatures = "private @android.annotation.Nullable android.service.autofill.augmented.FillWindow mFillWindow\nprivate @com.android.internal.util.DataClass.PluralOf(\"inlineSuggestion\") @android.annotation.Nullable java.util.List<android.service.autofill.Dataset> mInlineSuggestions\nprivate @android.annotation.Nullable android.os.Bundle mClientState\nprivate static  android.service.autofill.augmented.FillWindow defaultFillWindow()\nprivate static  java.util.List<android.service.autofill.Dataset> defaultInlineSuggestions()\nprivate static  android.os.Bundle defaultClientState()\nclass FillResponse extends java.lang.Object implements []\n@com.android.internal.util.DataClass(genBuilder=true, genHiddenGetters=true)\nabstract  android.service.autofill.augmented.FillResponse.Builder addInlineSuggestion(android.service.autofill.Dataset)\nclass BaseBuilder extends java.lang.Object implements []")
            inputSignatures = "private @android.annotation.Nullable android.service.autofill.augmented.FillWindow mFillWindow\nprivate @com.android.internal.util.DataClass.PluralOf(\"inlineSuggestion\") @android.annotation.Nullable java.util.List<android.service.autofill.Dataset> mInlineSuggestions\nprivate @com.android.internal.util.DataClass.PluralOf(\"inlineAction\") @android.annotation.Nullable java.util.List<android.service.autofill.InlinePresentation> mInlineActions\nprivate @android.annotation.Nullable android.os.Bundle mClientState\nprivate static  android.service.autofill.augmented.FillWindow defaultFillWindow()\nprivate static  java.util.List<android.service.autofill.Dataset> defaultInlineSuggestions()\nprivate static  java.util.List<android.service.autofill.InlinePresentation> defaultInlineActions()\nprivate static  android.os.Bundle defaultClientState()\nclass FillResponse extends java.lang.Object implements []\n@com.android.internal.util.DataClass(genBuilder=true, genHiddenGetters=true)\nabstract  android.service.autofill.augmented.FillResponse.Builder addInlineSuggestion(android.service.autofill.Dataset)\nabstract  android.service.autofill.augmented.FillResponse.Builder addInlineAction(android.service.autofill.InlinePresentation)\nclass BaseBuilder extends java.lang.Object implements []")
    @Deprecated
    private void __metadata() {}

Loading