From 72c782ad2450f8fe116bbff5a5f256610b57ec0b Mon Sep 17 00:00:00 2001 From: Haoran Zhang Date: Wed, 29 Mar 2023 22:59:37 +0000 Subject: [PATCH] [DO NOT MERGE] change client suggestion related API to test api bug:224871426 Test: atest CtsAutoFillServiceTestCases Change-Id: I5f38adb4192cfa977a65b4de327e41b5400508b8 --- core/api/current.txt | 8 -------- core/api/test-current.txt | 11 +++++++++++ core/api/test-lint-baseline.txt | 4 ++++ core/java/android/view/autofill/AutofillManager.java | 6 ++++++ .../view/autofill/AutofillRequestCallback.java | 4 ++++ .../view/inputmethod/InlineSuggestionsRequest.java | 7 +++++++ 6 files changed, 32 insertions(+), 8 deletions(-) diff --git a/core/api/current.txt b/core/api/current.txt index 45c9becdcfd41..9cae2d1c2fbbb 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -55066,7 +55066,6 @@ package android.view.autofill { public final class AutofillManager { method public void cancel(); - method public void clearAutofillRequestCallback(); method public void commit(); method public void disableAutofillServices(); method @Nullable public android.content.ComponentName getAutofillServiceComponentName(); @@ -55093,7 +55092,6 @@ package android.view.autofill { method public void registerCallback(@Nullable android.view.autofill.AutofillManager.AutofillCallback); method public void requestAutofill(@NonNull android.view.View); method public void requestAutofill(@NonNull android.view.View, int, @NonNull android.graphics.Rect); - method @RequiresPermission(android.Manifest.permission.PROVIDE_OWN_AUTOFILL_SUGGESTIONS) public void setAutofillRequestCallback(@NonNull java.util.concurrent.Executor, @NonNull android.view.autofill.AutofillRequestCallback); method public void setUserData(@Nullable android.service.autofill.UserData); method public boolean showAutofillDialog(@NonNull android.view.View); method public boolean showAutofillDialog(@NonNull android.view.View, int); @@ -55114,10 +55112,6 @@ package android.view.autofill { field public static final int EVENT_INPUT_UNAVAILABLE = 3; // 0x3 } - public interface AutofillRequestCallback { - method public void onFillRequest(@Nullable android.view.inputmethod.InlineSuggestionsRequest, @NonNull android.os.CancellationSignal, @NonNull android.service.autofill.FillCallback); - } - public final class AutofillValue implements android.os.Parcelable { method public int describeContents(); method public static android.view.autofill.AutofillValue forDate(long); @@ -55567,12 +55561,10 @@ package android.view.inputmethod { ctor public InlineSuggestionsRequest.Builder(@NonNull java.util.List); method @NonNull public android.view.inputmethod.InlineSuggestionsRequest.Builder addInlinePresentationSpecs(@NonNull android.widget.inline.InlinePresentationSpec); method @NonNull public android.view.inputmethod.InlineSuggestionsRequest build(); - method @NonNull public android.view.inputmethod.InlineSuggestionsRequest.Builder setClientSupported(boolean); method @NonNull public android.view.inputmethod.InlineSuggestionsRequest.Builder setExtras(@NonNull android.os.Bundle); method @NonNull public android.view.inputmethod.InlineSuggestionsRequest.Builder setInlinePresentationSpecs(@NonNull java.util.List); method @NonNull public android.view.inputmethod.InlineSuggestionsRequest.Builder setInlineTooltipPresentationSpec(@NonNull android.widget.inline.InlinePresentationSpec); method @NonNull public android.view.inputmethod.InlineSuggestionsRequest.Builder setMaxSuggestionCount(int); - method @NonNull public android.view.inputmethod.InlineSuggestionsRequest.Builder setServiceSupported(boolean); method @NonNull public android.view.inputmethod.InlineSuggestionsRequest.Builder setSupportedLocales(@NonNull android.os.LocaleList); } diff --git a/core/api/test-current.txt b/core/api/test-current.txt index cc2e253560125..b788fe40c6573 100644 --- a/core/api/test-current.txt +++ b/core/api/test-current.txt @@ -3519,12 +3519,18 @@ package android.view.autofill { } public final class AutofillManager { + method public void clearAutofillRequestCallback(); + method @RequiresPermission(android.Manifest.permission.PROVIDE_OWN_AUTOFILL_SUGGESTIONS) public void setAutofillRequestCallback(@NonNull java.util.concurrent.Executor, @NonNull android.view.autofill.AutofillRequestCallback); field public static final String ANY_HINT = "any"; field public static final int FLAG_SMART_SUGGESTION_OFF = 0; // 0x0 field public static final int FLAG_SMART_SUGGESTION_SYSTEM = 1; // 0x1 field public static final int MAX_TEMP_AUGMENTED_SERVICE_DURATION_MS = 120000; // 0x1d4c0 } + public interface AutofillRequestCallback { + method public void onFillRequest(@Nullable android.view.inputmethod.InlineSuggestionsRequest, @NonNull android.os.CancellationSignal, @NonNull android.service.autofill.FillCallback); + } + } package android.view.contentcapture { @@ -3648,6 +3654,11 @@ package android.view.inputmethod { method @NonNull public static android.view.inputmethod.InlineSuggestionInfo newInlineSuggestionInfo(@NonNull android.widget.inline.InlinePresentationSpec, @NonNull String, @Nullable String[], @NonNull String, boolean); } + public static final class InlineSuggestionsRequest.Builder { + method @NonNull public android.view.inputmethod.InlineSuggestionsRequest.Builder setClientSupported(boolean); + method @NonNull public android.view.inputmethod.InlineSuggestionsRequest.Builder setServiceSupported(boolean); + } + public final class InlineSuggestionsResponse implements android.os.Parcelable { method @NonNull public static android.view.inputmethod.InlineSuggestionsResponse newInlineSuggestionsResponse(@NonNull java.util.List); } diff --git a/core/api/test-lint-baseline.txt b/core/api/test-lint-baseline.txt index 4a972806b3149..cf0264353159d 100644 --- a/core/api/test-lint-baseline.txt +++ b/core/api/test-lint-baseline.txt @@ -183,6 +183,10 @@ MissingGetterMatchingBuilder: android.telecom.ConnectionRequest.Builder#setShoul android.telecom.ConnectionRequest does not declare a `shouldShowIncomingCallUi()` method matching method android.telecom.ConnectionRequest.Builder.setShouldShowIncomingCallUi(boolean) MissingGetterMatchingBuilder: android.view.Display.Mode.Builder#setResolution(int, int): android.view.Display.Mode does not declare a `getResolution()` method matching method android.view.Display.Mode.Builder.setResolution(int,int) +MissingGetterMatchingBuilder: android.view.inputmethod.InlineSuggestionsRequest.Builder#setClientSupported(boolean): + android.view.inputmethod.InlineSuggestionsRequest does not declare a `isClientSupported()` method matching method android.view.inputmethod.InlineSuggestionsRequest.Builder.setClientSupported(boolean) +MissingGetterMatchingBuilder: android.view.inputmethod.InlineSuggestionsRequest.Builder#setServiceSupported(boolean): + android.view.inputmethod.InlineSuggestionsRequest does not declare a `isServiceSupported()` method matching method android.view.inputmethod.InlineSuggestionsRequest.Builder.setServiceSupported(boolean) MissingNullability: android.app.Activity#onMovedToDisplay(int, android.content.res.Configuration) parameter #1: diff --git a/core/java/android/view/autofill/AutofillManager.java b/core/java/android/view/autofill/AutofillManager.java index 1ef7afc8615b5..801b13a2c69c3 100644 --- a/core/java/android/view/autofill/AutofillManager.java +++ b/core/java/android/view/autofill/AutofillManager.java @@ -2322,7 +2322,10 @@ public final class AutofillManager { * * @param executor specifies the thread upon which the callbacks will be invoked. * @param callback which handles autofill request to provide client's suggestions. + * + * @hide */ + @TestApi @RequiresPermission(PROVIDE_OWN_AUTOFILL_SUGGESTIONS) public void setAutofillRequestCallback(@NonNull @CallbackExecutor Executor executor, @NonNull AutofillRequestCallback callback) { @@ -2339,7 +2342,10 @@ public final class AutofillManager { /** * clears the client's suggestions callback for autofill. + * + * @hide */ + @TestApi public void clearAutofillRequestCallback() { synchronized (mLock) { mRequestCallbackExecutor = null; diff --git a/core/java/android/view/autofill/AutofillRequestCallback.java b/core/java/android/view/autofill/AutofillRequestCallback.java index e632a5849471a..10a088b4ebfad 100644 --- a/core/java/android/view/autofill/AutofillRequestCallback.java +++ b/core/java/android/view/autofill/AutofillRequestCallback.java @@ -18,6 +18,7 @@ package android.view.autofill; import android.annotation.NonNull; import android.annotation.Nullable; +import android.annotation.TestApi; import android.os.CancellationSignal; import android.service.autofill.FillCallback; import android.view.inputmethod.InlineSuggestionsRequest; @@ -55,7 +56,10 @@ import android.view.inputmethod.InlineSuggestionsRequest; * *

IMPORTANT: This should not be used for displaying anything other than input suggestions, or * the keyboard may choose to block your app from the inline strip. + * + * @hide */ +@TestApi public interface AutofillRequestCallback { /** * Called by the Android system to decide if a screen can be autofilled by the callback. diff --git a/core/java/android/view/inputmethod/InlineSuggestionsRequest.java b/core/java/android/view/inputmethod/InlineSuggestionsRequest.java index 70279cc8e8452..77a2b5b877bef 100644 --- a/core/java/android/view/inputmethod/InlineSuggestionsRequest.java +++ b/core/java/android/view/inputmethod/InlineSuggestionsRequest.java @@ -18,6 +18,7 @@ package android.view.inputmethod; import android.annotation.NonNull; import android.annotation.Nullable; +import android.annotation.TestApi; import android.app.ActivityThread; import android.app.compat.CompatChanges; import android.compat.annotation.ChangeId; @@ -700,7 +701,10 @@ public final class InlineSuggestionsRequest implements Parcelable { * provides the input view. * * Note: The default value is {@code true}. + * + * @hide */ + @TestApi @DataClass.Generated.Member public @NonNull Builder setServiceSupported(boolean value) { checkNotUsed(); @@ -714,7 +718,10 @@ public final class InlineSuggestionsRequest implements Parcelable { * input view. * * Note: The default value is {@code true}. + * + * @hide */ + @TestApi @DataClass.Generated.Member public @NonNull Builder setClientSupported(boolean value) { checkNotUsed();