Loading core/api/current.txt +2 −1 Original line number Diff line number Diff line Loading @@ -224,6 +224,7 @@ package android { field @Deprecated public static final String PERSISTENT_ACTIVITY = "android.permission.PERSISTENT_ACTIVITY"; field public static final String POST_NOTIFICATIONS = "android.permission.POST_NOTIFICATIONS"; field @Deprecated public static final String PROCESS_OUTGOING_CALLS = "android.permission.PROCESS_OUTGOING_CALLS"; field public static final String PROVIDE_OWN_AUTOFILL_SUGGESTIONS = "android.permission.PROVIDE_OWN_AUTOFILL_SUGGESTIONS"; field public static final String PROVIDE_REMOTE_CREDENTIALS = "android.permission.PROVIDE_REMOTE_CREDENTIALS"; field public static final String QUERY_ALL_PACKAGES = "android.permission.QUERY_ALL_PACKAGES"; field public static final String READ_ASSISTANT_APP_SEARCH_DATA = "android.permission.READ_ASSISTANT_APP_SEARCH_DATA"; Loading Loading @@ -55074,7 +55075,7 @@ 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 public void setAutofillRequestCallback(@NonNull java.util.concurrent.Executor, @NonNull android.view.autofill.AutofillRequestCallback); 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); core/java/android/view/autofill/AutofillManager.java +8 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package android.view.autofill; import static android.Manifest.permission.PROVIDE_OWN_AUTOFILL_SUGGESTIONS; import static android.service.autofill.FillRequest.FLAG_IME_SHOWING; import static android.service.autofill.FillRequest.FLAG_MANUAL_REQUEST; import static android.service.autofill.FillRequest.FLAG_PASSWORD_INPUT_TYPE; Loading @@ -34,6 +35,7 @@ import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.RequiresFeature; import android.annotation.RequiresPermission; import android.annotation.SystemApi; import android.annotation.SystemService; import android.annotation.TestApi; Loading Loading @@ -2223,8 +2225,14 @@ 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. */ @RequiresPermission(PROVIDE_OWN_AUTOFILL_SUGGESTIONS) public void setAutofillRequestCallback(@NonNull @CallbackExecutor Executor executor, @NonNull AutofillRequestCallback callback) { if (mContext.checkSelfPermission(PROVIDE_OWN_AUTOFILL_SUGGESTIONS) != PackageManager.PERMISSION_GRANTED) { throw new SecurityException("Requires USE_APP_AUTOFILL permission!"); } synchronized (mLock) { mRequestCallbackExecutor = executor; mAutofillRequestCallback = callback; Loading core/res/AndroidManifest.xml +7 −0 Original line number Diff line number Diff line Loading @@ -7435,6 +7435,13 @@ <permission android:name="android.permission.EXECUTE_APP_ACTION" android:protectionLevel="internal|role" /> <!-- Allows an application to display its suggestions using the autofill framework. <p>For now, this permission is only granted to the Browser application. <p>Protection level: internal|role --> <permission android:name="android.permission.PROVIDE_OWN_AUTOFILL_SUGGESTIONS" android:protectionLevel="internal|role" /> <!-- @SystemApi Allows an application to create virtual devices in VirtualDeviceManager. @hide --> <permission android:name="android.permission.CREATE_VIRTUAL_DEVICE" Loading services/autofill/java/com/android/server/autofill/Session.java +7 −2 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.server.autofill; import static android.Manifest.permission.PROVIDE_OWN_AUTOFILL_SUGGESTIONS; import static android.service.autofill.AutofillFieldClassificationService.EXTRA_SCORES; import static android.service.autofill.AutofillService.EXTRA_FILL_RESPONSE; import static android.service.autofill.FillEventHistory.Event.UI_TYPE_DIALOG; Loading Loading @@ -72,6 +73,7 @@ import android.content.Intent; import android.content.IntentFilter; import android.content.IntentSender; import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.content.pm.ServiceInfo; import android.graphics.Bitmap; import android.graphics.Rect; Loading Loading @@ -1286,8 +1288,11 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState mSessionFlags = new SessionFlags(); mSessionFlags.mAugmentedAutofillOnly = forAugmentedAutofillOnly; mSessionFlags.mInlineSupportedByService = mService.isInlineSuggestionsEnabledLocked(); if (mContext.checkCallingPermission(PROVIDE_OWN_AUTOFILL_SUGGESTIONS) == PackageManager.PERMISSION_GRANTED) { mSessionFlags.mClientSuggestionsEnabled = (mFlags & FLAG_ENABLED_CLIENT_SUGGESTIONS) != 0; } setClientLocked(client); } Loading Loading
core/api/current.txt +2 −1 Original line number Diff line number Diff line Loading @@ -224,6 +224,7 @@ package android { field @Deprecated public static final String PERSISTENT_ACTIVITY = "android.permission.PERSISTENT_ACTIVITY"; field public static final String POST_NOTIFICATIONS = "android.permission.POST_NOTIFICATIONS"; field @Deprecated public static final String PROCESS_OUTGOING_CALLS = "android.permission.PROCESS_OUTGOING_CALLS"; field public static final String PROVIDE_OWN_AUTOFILL_SUGGESTIONS = "android.permission.PROVIDE_OWN_AUTOFILL_SUGGESTIONS"; field public static final String PROVIDE_REMOTE_CREDENTIALS = "android.permission.PROVIDE_REMOTE_CREDENTIALS"; field public static final String QUERY_ALL_PACKAGES = "android.permission.QUERY_ALL_PACKAGES"; field public static final String READ_ASSISTANT_APP_SEARCH_DATA = "android.permission.READ_ASSISTANT_APP_SEARCH_DATA"; Loading Loading @@ -55074,7 +55075,7 @@ 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 public void setAutofillRequestCallback(@NonNull java.util.concurrent.Executor, @NonNull android.view.autofill.AutofillRequestCallback); 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);
core/java/android/view/autofill/AutofillManager.java +8 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package android.view.autofill; import static android.Manifest.permission.PROVIDE_OWN_AUTOFILL_SUGGESTIONS; import static android.service.autofill.FillRequest.FLAG_IME_SHOWING; import static android.service.autofill.FillRequest.FLAG_MANUAL_REQUEST; import static android.service.autofill.FillRequest.FLAG_PASSWORD_INPUT_TYPE; Loading @@ -34,6 +35,7 @@ import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.RequiresFeature; import android.annotation.RequiresPermission; import android.annotation.SystemApi; import android.annotation.SystemService; import android.annotation.TestApi; Loading Loading @@ -2223,8 +2225,14 @@ 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. */ @RequiresPermission(PROVIDE_OWN_AUTOFILL_SUGGESTIONS) public void setAutofillRequestCallback(@NonNull @CallbackExecutor Executor executor, @NonNull AutofillRequestCallback callback) { if (mContext.checkSelfPermission(PROVIDE_OWN_AUTOFILL_SUGGESTIONS) != PackageManager.PERMISSION_GRANTED) { throw new SecurityException("Requires USE_APP_AUTOFILL permission!"); } synchronized (mLock) { mRequestCallbackExecutor = executor; mAutofillRequestCallback = callback; Loading
core/res/AndroidManifest.xml +7 −0 Original line number Diff line number Diff line Loading @@ -7435,6 +7435,13 @@ <permission android:name="android.permission.EXECUTE_APP_ACTION" android:protectionLevel="internal|role" /> <!-- Allows an application to display its suggestions using the autofill framework. <p>For now, this permission is only granted to the Browser application. <p>Protection level: internal|role --> <permission android:name="android.permission.PROVIDE_OWN_AUTOFILL_SUGGESTIONS" android:protectionLevel="internal|role" /> <!-- @SystemApi Allows an application to create virtual devices in VirtualDeviceManager. @hide --> <permission android:name="android.permission.CREATE_VIRTUAL_DEVICE" Loading
services/autofill/java/com/android/server/autofill/Session.java +7 −2 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.server.autofill; import static android.Manifest.permission.PROVIDE_OWN_AUTOFILL_SUGGESTIONS; import static android.service.autofill.AutofillFieldClassificationService.EXTRA_SCORES; import static android.service.autofill.AutofillService.EXTRA_FILL_RESPONSE; import static android.service.autofill.FillEventHistory.Event.UI_TYPE_DIALOG; Loading Loading @@ -72,6 +73,7 @@ import android.content.Intent; import android.content.IntentFilter; import android.content.IntentSender; import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.content.pm.ServiceInfo; import android.graphics.Bitmap; import android.graphics.Rect; Loading Loading @@ -1286,8 +1288,11 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState mSessionFlags = new SessionFlags(); mSessionFlags.mAugmentedAutofillOnly = forAugmentedAutofillOnly; mSessionFlags.mInlineSupportedByService = mService.isInlineSuggestionsEnabledLocked(); if (mContext.checkCallingPermission(PROVIDE_OWN_AUTOFILL_SUGGESTIONS) == PackageManager.PERMISSION_GRANTED) { mSessionFlags.mClientSuggestionsEnabled = (mFlags & FLAG_ENABLED_CLIENT_SUGGESTIONS) != 0; } setClientLocked(client); } Loading