Support new Autofill session after service returns a null FillResponse.
When the AutofillService returns a null FillResponse for onFillRequest(), AutofillManager was ignoring any further view calls backs (other than a manual request to start a session) to optimize performance by avoiding unnecessary IPCs to system_server (and then from system_server to the Autofill Service process). But this optimization has a drawback: it makes it harder for the service to handle cases where the activitity dynamically added new views after a view has been focused. This CL offers a compromise to fix both problems: it removes the optimization for notifyViewEntered() calls (as that's what triggers autofill), but still ignores the other calls once the session is on finished state. Test: atest CtsAutoFillServiceTestCases:LoginActivityTest#testAutofillAutomaticallyAfterServiceReturnedNoDatasets Test: atest CtsAutoFillServiceTestCases:LoginActivityTest#testAutofillAutomaticallyAndSaveAfterServiceReturnedNoDatasets Test: atest CtsAutoFillServiceTestCases:LoginActivityTest Fixes: 70046972 For optimization purposes, AutofillManager was ignoring all request Changed AutofillManager to start a new session after service returns a null Change-Id: Iaae9ed7f8b12ebc9da13e990ef468d9019d5c6ca
Loading
Please register or sign in to comment