From c7ed6af6be62a4491a1b44d580b9da5850de2ef5 Mon Sep 17 00:00:00 2001 From: Feng Cao Date: Wed, 18 Mar 2020 14:16:07 -0700 Subject: [PATCH] Sample app: Use authentication instead of inline actions Test: manual Bug: 150499490 Change-Id: Ifc827cd1d633bf26a3450c392cc7da1211d02cfa --- samples/InlineFillService/AndroidManifest.xml | 2 -- .../src/foo/bar/inline/InlineFillService.java | 21 ++++++++++++------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/samples/InlineFillService/AndroidManifest.xml b/samples/InlineFillService/AndroidManifest.xml index 289177df0..70f8409f4 100644 --- a/samples/InlineFillService/AndroidManifest.xml +++ b/samples/InlineFillService/AndroidManifest.xml @@ -1,6 +1,5 @@ - - diff --git a/samples/InlineFillService/src/foo/bar/inline/InlineFillService.java b/samples/InlineFillService/src/foo/bar/inline/InlineFillService.java index 36a961273..babf95373 100644 --- a/samples/InlineFillService/src/foo/bar/inline/InlineFillService.java +++ b/samples/InlineFillService/src/foo/bar/inline/InlineFillService.java @@ -31,7 +31,6 @@ import android.service.autofill.FillCallback; import android.service.autofill.FillContext; import android.service.autofill.FillRequest; import android.service.autofill.FillResponse; -import android.service.autofill.InlineAction; import android.service.autofill.InlinePresentation; import android.service.autofill.SaveCallback; import android.service.autofill.SaveInfo; @@ -182,8 +181,9 @@ public class InlineFillService extends AutofillService { // value from the request for this. final int height = inlineRequest.getPresentationSpecs().get(0).getMinSize().getHeight(); final Size actionIconSize = new Size(height, height); - response.addInlineAction( - newInlineAction(context, actionIconSize, R.drawable.ic_settings)); + response.addDataset( + newInlineActionDataset(context, actionIconSize, R.drawable.ic_settings, + fields)); } // 2.Add save info @@ -198,8 +198,8 @@ public class InlineFillService extends AutofillService { return response.build(); } - static InlineAction newInlineAction(@NonNull Context context, - @NonNull Size size, int drawable) { + static Dataset newInlineActionDataset(@NonNull Context context, + @NonNull Size size, int drawable, ArrayMap fields) { Intent intent = new Intent().setComponent( new ComponentName(context.getPackageName(), SettingsActivity.class.getName())); PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, @@ -209,9 +209,14 @@ public class InlineFillService extends AutofillService { .build(); final InlinePresentationSpec currentSpec = new InlinePresentationSpec.Builder(size, size).build(); - return new InlineAction( - new InlinePresentation(suggestionSlice, currentSpec, /** pined= */true), - pendingIntent.getIntentSender()); + Dataset.Builder builder = new Dataset.Builder() + .setInlinePresentation( + new InlinePresentation(suggestionSlice, currentSpec, /** pined= */true)) + .setAuthentication(pendingIntent.getIntentSender()); + for (AutofillId fieldId : fields.values()) { + builder.setValue(fieldId, null); + } + return builder.build(); } static Dataset newUnlockedDataset(@NonNull Context context,