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

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

Merge "A few inline autofill API tweaks." into rvc-dev

parents 9a02e309 4b0ef392
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