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

Commit ffdfb585 authored by Feng Cao's avatar Feng Cao Committed by Android (Google) Code Review
Browse files

Merge "Extend augmented autofill service APIs to support inline suggestion."

parents 8669c669 9ad619b2
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -7991,6 +7991,7 @@ package android.service.autofill.augmented {
    method @NonNull public android.content.ComponentName getActivityComponent();
    method @NonNull public android.view.autofill.AutofillId getFocusedId();
    method @NonNull public android.view.autofill.AutofillValue getFocusedValue();
    method @Nullable public android.view.inputmethod.InlineSuggestionsRequest getInlineSuggestionsRequest();
    method @Nullable public android.service.autofill.augmented.PresentationParams getPresentationParams();
    method public int getTaskId();
  }
@@ -8001,7 +8002,8 @@ package android.service.autofill.augmented {
  public static final class FillResponse.Builder {
    ctor public FillResponse.Builder();
    method @NonNull public android.service.autofill.augmented.FillResponse build();
    method @NonNull public android.service.autofill.augmented.FillResponse.Builder setFillWindow(@NonNull android.service.autofill.augmented.FillWindow);
    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 setInlineSuggestions(@Nullable java.util.List<android.service.autofill.Dataset>);
  }
  public final class FillWindow implements java.lang.AutoCloseable {
+3 −1
Original line number Diff line number Diff line
@@ -2786,6 +2786,7 @@ package android.service.autofill.augmented {
    method @NonNull public android.content.ComponentName getActivityComponent();
    method @NonNull public android.view.autofill.AutofillId getFocusedId();
    method @NonNull public android.view.autofill.AutofillValue getFocusedValue();
    method @Nullable public android.view.inputmethod.InlineSuggestionsRequest getInlineSuggestionsRequest();
    method @Nullable public android.service.autofill.augmented.PresentationParams getPresentationParams();
    method public int getTaskId();
  }
@@ -2796,7 +2797,8 @@ package android.service.autofill.augmented {
  public static final class FillResponse.Builder {
    ctor public FillResponse.Builder();
    method @NonNull public android.service.autofill.augmented.FillResponse build();
    method @NonNull public android.service.autofill.augmented.FillResponse.Builder setFillWindow(@NonNull android.service.autofill.augmented.FillWindow);
    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 setInlineSuggestions(@Nullable java.util.List<android.service.autofill.Dataset>);
  }

  public final class FillWindow implements java.lang.AutoCloseable {
+19 −0
Original line number Diff line number Diff line
/**
 * Copyright (c) 2019, The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package android.service.autofill;

parcelable Dataset;
+4 −4
Original line number Diff line number Diff line
@@ -236,9 +236,9 @@ public abstract class AugmentedAutofillService extends Service {
        } catch (RemoteException e) {
            e.rethrowFromSystemServer();
        }

        onFillRequest(new FillRequest(proxy), cancellationSignal, new FillController(proxy),
                new FillCallback(proxy));
        // TODO(b/146453195): pass the inline suggestion request over.
        onFillRequest(new FillRequest(proxy, /* inlineSuggestionsRequest= */null),
                cancellationSignal, new FillController(proxy), new FillCallback(proxy));
    }

    private void handleOnDestroyAllFillWindowsRequest() {
@@ -500,7 +500,7 @@ public abstract class AugmentedAutofillService extends Service {
                        }
                    }
                    try {
                        mCallback.onSuccess();
                        mCallback.onSuccess(/* mInlineSuggestionsData= */null);
                    } catch (RemoteException e) {
                        Log.e(TAG, "Error reporting success: " + e);
                    }
+83 −8
Original line number Diff line number Diff line
@@ -23,6 +23,9 @@ import android.content.ComponentName;
import android.service.autofill.augmented.AugmentedAutofillService.AutofillProxy;
import android.view.autofill.AutofillId;
import android.view.autofill.AutofillValue;
import android.view.inputmethod.InlineSuggestionsRequest;

import com.android.internal.util.DataClass;

/**
 * Represents a request to augment-fill an activity.
@@ -31,14 +34,20 @@ import android.view.autofill.AutofillValue;
@SystemApi
// TODO(b/123100811): pass a requestId and/or sessionId?
@TestApi
@DataClass(
        genToString = true,
        genBuilder = false,
        genHiddenConstructor = true)
@DataClass.Suppress({"getProxy"})
public final class FillRequest {

    final AutofillProxy mProxy;
    private final @NonNull AutofillProxy mProxy;

    /** @hide */
    FillRequest(@NonNull AutofillProxy proxy) {
        mProxy = proxy;
    }
    //TODO(b/146901891): add detailed docs once we have stable APIs.
    /**
     * An optional request for inline suggestions.
     */
    private final @Nullable InlineSuggestionsRequest mInlineSuggestionsRequest;

    /**
     * Gets the task of the activity associated with this request.
@@ -81,10 +90,76 @@ public final class FillRequest {
        return mProxy.getSmartSuggestionParams();
    }

    @NonNull
    @Override
    public String toString() {
    String proxyToString() {
        return "FillRequest[act=" + getActivityComponent().flattenToShortString()
                + ", id=" + mProxy.getFocusedId() + "]";
    }




    // Code below generated by codegen v1.0.14.
    //
    // DO NOT MODIFY!
    // CHECKSTYLE:OFF Generated code
    //
    // To regenerate run:
    // $ codegen $ANDROID_BUILD_TOP/frameworks/base/core/java/android/service/autofill/augmented/FillRequest.java
    //
    // To exclude the generated code from IntelliJ auto-formatting enable (one-time):
    //   Settings > Editor > Code Style > Formatter Control
    //@formatter:off


    /**
     * Creates a new FillRequest.
     *
     * @param inlineSuggestionsRequest
     *   An optional request for inline suggestions.
     * @hide
     */
    @DataClass.Generated.Member
    public FillRequest(
            @NonNull AutofillProxy proxy,
            @Nullable InlineSuggestionsRequest inlineSuggestionsRequest) {
        this.mProxy = proxy;
        com.android.internal.util.AnnotationValidations.validate(
                NonNull.class, null, mProxy);
        this.mInlineSuggestionsRequest = inlineSuggestionsRequest;

        // onConstructed(); // You can define this method to get a callback
    }

    /**
     * An optional request for inline suggestions.
     */
    @DataClass.Generated.Member
    public @Nullable InlineSuggestionsRequest getInlineSuggestionsRequest() {
        return mInlineSuggestionsRequest;
    }

    @Override
    @DataClass.Generated.Member
    public String toString() {
        // You can override field toString logic by defining methods like:
        // String fieldNameToString() { ... }

        return "FillRequest { " +
                "proxy = " + proxyToString() + ", " +
                "inlineSuggestionsRequest = " + mInlineSuggestionsRequest +
        " }";
    }

    @DataClass.Generated(
            time = 1577399314707L,
            codegenVersion = "1.0.14",
            sourceFile = "frameworks/base/core/java/android/service/autofill/augmented/FillRequest.java",
            inputSignatures = "private final @android.annotation.NonNull android.service.autofill.augmented.AugmentedAutofillService.AutofillProxy mProxy\nprivate final @android.annotation.Nullable android.view.inputmethod.InlineSuggestionsRequest mInlineSuggestionsRequest\npublic  int getTaskId()\npublic @android.annotation.NonNull android.content.ComponentName getActivityComponent()\npublic @android.annotation.NonNull android.view.autofill.AutofillId getFocusedId()\npublic @android.annotation.NonNull android.view.autofill.AutofillValue getFocusedValue()\npublic @android.annotation.Nullable android.service.autofill.augmented.PresentationParams getPresentationParams()\n  java.lang.String proxyToString()\nclass FillRequest extends java.lang.Object implements []\n@com.android.internal.util.DataClass(genToString=true, genBuilder=false, genHiddenConstructor=true)")
    @Deprecated
    private void __metadata() {}


    //@formatter:on
    // End of generated code

}
Loading