Snap for 4693621 from 8937157e0df49de5e2f6cdfbf21272aea2e5b9ac to pi-release

Change-Id: I454ee04f5d309667d18a070f0ba007952308039a
diff --git a/input/autofill/AutofillFramework/afservice/src/main/java/com/example/android/autofill/service/MyAutofillService.java b/input/autofill/AutofillFramework/afservice/src/main/java/com/example/android/autofill/service/MyAutofillService.java
index ace2cef..e9cdd6c 100644
--- a/input/autofill/AutofillFramework/afservice/src/main/java/com/example/android/autofill/service/MyAutofillService.java
+++ b/input/autofill/AutofillFramework/afservice/src/main/java/com/example/android/autofill/service/MyAutofillService.java
@@ -147,15 +147,7 @@
     private void fetchDataAndGenerateResponse(
             HashMap<String, FieldTypeWithHeuristics> fieldTypesByAutofillHint, boolean responseAuth,
             boolean datasetAuth, boolean manual, FillCallback callback) {
-        if (manual) {
-            IntentSender sender = ManualActivity.getManualIntentSenderForResponse(this);
-            RemoteViews remoteViews = RemoteViewsHelper.viewsWithNoAuth(getPackageName(),
-                    getString(R.string.autofill_manual_prompt));
-            FillResponse response = mResponseAdapter.buildManualResponse(sender, remoteViews);
-            if (response != null) {
-                callback.onSuccess(response);
-            }
-        } else if (responseAuth) {
+        if (responseAuth) {
             // If the entire Autofill Response is authenticated, AuthActivity is used
             // to generate Response.
             IntentSender sender = AuthActivity.getAuthIntentSenderForResponse(this);
@@ -170,9 +162,22 @@
                     new DataCallback<List<DatasetWithFilledAutofillFields>>() {
                         @Override
                         public void onLoaded(List<DatasetWithFilledAutofillFields> datasets) {
-                            FillResponse response = mResponseAdapter.buildResponse(
-                                    fieldTypesByAutofillHint, datasets, datasetAuth);
-                            callback.onSuccess(response);
+                            if ((datasets == null || datasets.isEmpty()) && manual) {
+                                IntentSender sender = ManualActivity
+                                        .getManualIntentSenderForResponse(MyAutofillService.this);
+                                RemoteViews remoteViews = RemoteViewsHelper.viewsWithNoAuth(
+                                        getPackageName(),
+                                        getString(R.string.autofill_manual_prompt));
+                                FillResponse response = mResponseAdapter.buildManualResponse(sender,
+                                        remoteViews);
+                                if (response != null) {
+                                    callback.onSuccess(response);
+                                }
+                            } else {
+                                FillResponse response = mResponseAdapter.buildResponse(
+                                        fieldTypesByAutofillHint, datasets, datasetAuth);
+                                callback.onSuccess(response);
+                            }
                         }
 
                         @Override