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

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

Merge "Move the presentation view to proper location."

parents 24dfce2f eb49515a
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -36244,10 +36244,9 @@ package android.service.autofill {
  }
  public static final class Dataset.Builder {
    ctor public Dataset.Builder();
    ctor public Dataset.Builder(android.widget.RemoteViews);
    method public android.service.autofill.Dataset build();
    method public android.service.autofill.Dataset.Builder setAuthentication(android.content.IntentSender);
    method public android.service.autofill.Dataset.Builder setPresentation(android.widget.RemoteViews);
    method public android.service.autofill.Dataset.Builder setValue(android.view.autofill.AutoFillId, android.view.autofill.AutoFillValue);
  }
@@ -36267,9 +36266,8 @@ package android.service.autofill {
    method public android.service.autofill.FillResponse.Builder addDataset(android.service.autofill.Dataset);
    method public android.service.autofill.FillResponse.Builder addSavableFields(android.view.autofill.AutoFillId...);
    method public android.service.autofill.FillResponse build();
    method public android.service.autofill.FillResponse.Builder setAuthentication(android.content.IntentSender);
    method public android.service.autofill.FillResponse.Builder setAuthentication(android.content.IntentSender, android.widget.RemoteViews);
    method public android.service.autofill.FillResponse.Builder setExtras(android.os.Bundle);
    method public android.service.autofill.FillResponse.Builder setPresentation(android.widget.RemoteViews);
  }
  public final class SaveCallback {
+2 −4
Original line number Diff line number Diff line
@@ -39364,10 +39364,9 @@ package android.service.autofill {
  }
  public static final class Dataset.Builder {
    ctor public Dataset.Builder();
    ctor public Dataset.Builder(android.widget.RemoteViews);
    method public android.service.autofill.Dataset build();
    method public android.service.autofill.Dataset.Builder setAuthentication(android.content.IntentSender);
    method public android.service.autofill.Dataset.Builder setPresentation(android.widget.RemoteViews);
    method public android.service.autofill.Dataset.Builder setValue(android.view.autofill.AutoFillId, android.view.autofill.AutoFillValue);
  }
@@ -39387,9 +39386,8 @@ package android.service.autofill {
    method public android.service.autofill.FillResponse.Builder addDataset(android.service.autofill.Dataset);
    method public android.service.autofill.FillResponse.Builder addSavableFields(android.view.autofill.AutoFillId...);
    method public android.service.autofill.FillResponse build();
    method public android.service.autofill.FillResponse.Builder setAuthentication(android.content.IntentSender);
    method public android.service.autofill.FillResponse.Builder setAuthentication(android.content.IntentSender, android.widget.RemoteViews);
    method public android.service.autofill.FillResponse.Builder setExtras(android.os.Bundle);
    method public android.service.autofill.FillResponse.Builder setPresentation(android.widget.RemoteViews);
  }
  public final class SaveCallback {
+2 −4
Original line number Diff line number Diff line
@@ -36383,10 +36383,9 @@ package android.service.autofill {
  }
  public static final class Dataset.Builder {
    ctor public Dataset.Builder();
    ctor public Dataset.Builder(android.widget.RemoteViews);
    method public android.service.autofill.Dataset build();
    method public android.service.autofill.Dataset.Builder setAuthentication(android.content.IntentSender);
    method public android.service.autofill.Dataset.Builder setPresentation(android.widget.RemoteViews);
    method public android.service.autofill.Dataset.Builder setValue(android.view.autofill.AutoFillId, android.view.autofill.AutoFillValue);
  }
@@ -36406,9 +36405,8 @@ package android.service.autofill {
    method public android.service.autofill.FillResponse.Builder addDataset(android.service.autofill.Dataset);
    method public android.service.autofill.FillResponse.Builder addSavableFields(android.view.autofill.AutoFillId...);
    method public android.service.autofill.FillResponse build();
    method public android.service.autofill.FillResponse.Builder setAuthentication(android.content.IntentSender);
    method public android.service.autofill.FillResponse.Builder setAuthentication(android.content.IntentSender, android.widget.RemoteViews);
    method public android.service.autofill.FillResponse.Builder setExtras(android.os.Bundle);
    method public android.service.autofill.FillResponse.Builder setPresentation(android.widget.RemoteViews);
  }
  public final class SaveCallback {
+6 −12
Original line number Diff line number Diff line
@@ -106,15 +106,13 @@ public final class Dataset implements Parcelable {
        private boolean mDestroyed;

        /**
         * Sets the presentation used to visualize this dataset.
         * Creates a new builder.
         *
         * @param presentation The presentation view.
         *
         * @return This builder.
         * @param presentation The presentation used to visualize this dataset.
         */
        public @NonNull Builder setPresentation(@Nullable RemoteViews presentation) {
        public Builder(@NonNull RemoteViews presentation) {
            Preconditions.checkNotNull(presentation, "presentation must be non-null");
            mPresentation = presentation;
            return this;
        }

        /**
@@ -201,9 +199,6 @@ public final class Dataset implements Parcelable {
                throw new IllegalArgumentException(
                        "at least one value must be set");
            }
            if (mPresentation == null) {
                throw new IllegalArgumentException("presentation must be set");
            }
            return new Dataset(this);
        }

@@ -225,9 +220,9 @@ public final class Dataset implements Parcelable {

    @Override
    public void writeToParcel(Parcel parcel, int flags) {
        parcel.writeParcelable(mPresentation, flags);
        parcel.writeTypedArrayList(mFieldIds, flags);
        parcel.writeTypedArrayList(mFieldValues, flags);
        parcel.writeParcelable(mPresentation, flags);
        parcel.writeParcelable(mAuthentication, flags);
    }

@@ -237,7 +232,7 @@ public final class Dataset implements Parcelable {
            // Always go through the builder to ensure the data ingested by
            // the system obeys the contract of the builder to avoid attacks
            // using specially crafted parcels.
            final Builder builder = new Builder();
            final Builder builder = new Builder(parcel.readParcelable(null));
            final ArrayList<AutoFillId> ids = parcel.readTypedArrayList(null);
            final ArrayList<AutoFillValue> values = parcel.readTypedArrayList(null);
            final int idCount = (ids != null) ? ids.size() : 0;
@@ -247,7 +242,6 @@ public final class Dataset implements Parcelable {
                AutoFillValue value = (valueCount > i) ? values.get(i) : null;
                builder.setValue(id, value);
            }
            builder.setPresentation(parcel.readParcelable(null));
            builder.setAuthentication(parcel.readParcelable(null));
            return builder.build();
        }
+23 −42
Original line number Diff line number Diff line
@@ -45,8 +45,7 @@ import java.util.ArrayList;
 *
 * <pre class="prettyprint">
 *  new FillResponse.Builder()
 *      .add(new Dataset.Builder()
 *          .setPresentation(createPresentation())
 *      .add(new Dataset.Builder(createPresentation())
 *          .setTextFieldValue(id1, "homer")
 *          .setTextFieldValue(id2, "D'OH!")
 *          .build())
@@ -57,13 +56,11 @@ import java.util.ArrayList;
 *
 * <pre class="prettyprint">
 *  new FillResponse.Builder()
 *      .add(new Dataset.Builder()
 *          .setPresentation(createFirstPresentation())
 *      .add(new Dataset.Builder(createFirstPresentation())
 *          .setTextFieldValue(id1, "homer")
 *          .setTextFieldValue(id2, "D'OH!")
 *          .build())
 *      .add(new Dataset.Builder()
 *          .setPresentation(createSecondPresentation())
 *      .add(new Dataset.Builder(createSecondPresentation())
 *          .setTextFieldValue(id1, "elbarto")
 *          .setTextFieldValue(id2, "cowabonga")
 *          .build())
@@ -87,8 +84,7 @@ import java.util.ArrayList;
 *
 * <pre class="prettyprint">
 *   new FillResponse.Builder()
 *       .add(new Dataset.Builder(")
 *          .setPresentation(createPresentation())
 *       .add(new Dataset.Builder(createPresentation())
 *          .setTextFieldValue(id1, "Homer")                  // first name
 *          .setTextFieldValue(id2, "Simpson")                // last name
 *          .setTextFieldValue(id3, "742 Evergreen Terrace")  // street
@@ -116,13 +112,11 @@ import java.util.ArrayList;
 *
 * <pre class="prettyprint">
 *  new FillResponse.Builder()
 *      .add(new Dataset.Builder()
 *          .setPresentation(createFirstPresentation())
 *      .add(new Dataset.Builder(createFirstPresentation())
 *          .setTextFieldValue(id1, "Homer")
 *          .setTextFieldValue(id2, "Simpson")
 *          .build())
 *      .add(new Dataset.Builder()
 *          .setPresentation(createSecondPresentation())
 *      .add(new Dataset.Builder(createSecondPresentation())
 *          .setTextFieldValue(id1, "Bart")
 *          .setTextFieldValue(id2, "Simpson")
 *          .build())
@@ -134,13 +128,11 @@ import java.util.ArrayList;
 *
 * <pre class="prettyprint">
 *  new FillResponse.Builder()
 *      .add(new Dataset.Builder()
 *          .setPresentation(createThirdPresentation())
 *      .add(new Dataset.Builder(createThirdPresentation())
 *          .setTextFieldValue(id3, "742 Evergreen Terrace")
 *          .setTextFieldValue(id4, "Springfield")
 *          .build())
 *      .add(new Dataset.Builder()
 *          .setPresentation(createFourthPresentation())
 *      .add(new Dataset.Builder(createFourthPresentation())
 *          .setTextFieldValue(id3, "Springfield Power Plant")
 *          .setTextFieldValue(id4, "Springfield")
 *          .build())
@@ -216,23 +208,6 @@ public final class FillResponse implements Parcelable {
        private IntentSender mAuthentication;
        private boolean mDestroyed;

        /**
         * Sets the presentation used to visualize this response. You should
         * set this only if you need an authentication as this is the only
         * case the response needs to be presented to the user.
         *
         * @param presentation The presentation view.
         *
         * @return This builder.
         *
         * @see #setAuthentication(IntentSender)
         */
        public @NonNull
        FillResponse.Builder setPresentation(@Nullable RemoteViews presentation) {
            mPresentation = presentation;
            return this;
        }

        /**
         * Requires a fill response authentication before auto-filling the activity with
         * any data set in this response.
@@ -259,19 +234,29 @@ public final class FillResponse implements Parcelable {
         * available data sets some of which may need to be further authenticated, for
         * example a credit card whose CVV needs to be entered.</p>
         *
         * <p>If you provide an authentication intent you must also provide a presentation
         * which is used to visualize visualize the response for triggering the authentication
         * flow.</p>
         *
         * <p></><strong>Note:</strong> Do not make the provided pending intent
         * immutable by using {@link android.app.PendingIntent#FLAG_IMMUTABLE} as the
         * platform needs to fill in the authentication arguments.</p>
         *
         * @param authentication Intent to an activity with your authentication flow.
         * @param presentation The presentation to visualize the response.
         * @return This builder.
         *
         * @see android.app.PendingIntent#getIntentSender()
         * @see #setPresentation(RemoteViews)
         */
        public @NonNull Builder setAuthentication(@Nullable IntentSender authentication) {
        public @NonNull Builder setAuthentication(@Nullable IntentSender authentication,
                @Nullable RemoteViews presentation) {
            throwIfDestroyed();
            if (authentication == null ^ presentation == null) {
                throw new IllegalArgumentException("authentication and presentation"
                        + " must be both non-null or null");
            }
            mAuthentication = authentication;
            mPresentation = presentation;
            return this;
        }

@@ -355,10 +340,6 @@ public final class FillResponse implements Parcelable {
         */
        public FillResponse build() {
            throwIfDestroyed();
            if (mAuthentication == null ^ mPresentation == null) {
                throw new IllegalArgumentException("authentication and presentation"
                        + " must be both non-null or null");
            }
            if (mAuthentication == null && mDatasets == null && mSavableIds == null) {
                throw new IllegalArgumentException("need to provide at least one"
                        + " data set or savable ids or an authentication with a presentation");
@@ -403,8 +384,8 @@ public final class FillResponse implements Parcelable {
        parcel.writeTypedArrayList(mDatasets, flags);
        parcel.writeTypedArraySet(mSavableIds, flags);
        parcel.writeParcelable(mExtras, flags);
        parcel.writeParcelable(mPresentation, flags);
        parcel.writeParcelable(mAuthentication, flags);
        parcel.writeParcelable(mPresentation, flags);
    }

    public static final Parcelable.Creator<FillResponse> CREATOR =
@@ -426,8 +407,8 @@ public final class FillResponse implements Parcelable {
                builder.addSavableFields(fillIds.valueAt(i));
            }
            builder.setExtras(parcel.readParcelable(null));
            builder.setPresentation(parcel.readParcelable(null));
            builder.setAuthentication(parcel.readParcelable(null));
            builder.setAuthentication(parcel.readParcelable(null),
                    parcel.readParcelable(null));
            return builder.build();
        }