7f33cd350be4278ce5d4ef460c11e4dbaf9c473b |
|
11-May-2017 |
Felipe Leme <felipeal@google.com> |
Start a new session on manual request after session is "gone". When the autofill service returns a null FillResponse, the session is marked "gone" because the service cannot autofill it. But there might be cases where the view structure change and it's now autofillable, so need to allow users to manually request autofill again in such cases. Fixes: 38205945 Test: CtsAutoFillServiceTestCases pass Test: LoginActivityTest.testAutofillManuallyAfterServiceReturnedNoDatasets() Test: LoginActivityTest.testAutofillManuallyAndSaveAfterServiceReturnedNoDatasets() Change-Id: I9b23c255e563dd0646bf266d31ddb10dcc4f7f6d
/frameworks/base/core/java/android/view/autofill/IAutoFillManager.aidl
|
a9379d0b44ca1f68a0036d2b65218e17fa348514 |
|
10-May-2017 |
Svetoslav Ganov <svetoslavganov@google.com> |
Allow null fill values to support authentication case If a dataset needs to be authenticated the fill service may not have the values but needs to tell the system for which fields to show the fill UI. We now allow passing a null value to mean the view is a part of the dataset semantically but its value should remain unchanged. If a dataset has no values, i.e. the related autofill ids are mapped to null, we cannot properly filter. In this case we always match such items regardless what the user typed. While at this improved accessibility support for filtering to announce when the number of items being filtered changes. Also while at this allowed a dataset authentication to return a response which replaces the current response and refreshes the UI. Matching datasets with null values to any text plus allowing a response to be returned from a dataset auth enables the use case where there is always "Import" item at the end of the list which when clicked can show arbitrarily more data entries associated to other apps. Another change is that we now provide the client state bundle on both request and dataset auth. Finally, this change gets rid of dataset waiting auth and response waiting auth concepts since the reference to the response and the dataset is piped with the auth request. Fixed a bug where the width of the autofill UI was not properly measured by going over all items in the adapter. Now we measure enough height to fit the first three and the width id the width of the widest item in the adapter. Test: Added LoginActivityTest#testDatasetAuthTwoFieldsReplaceResponse Added LoginActivityTest#testDatasetAuthTwoFieldsNoValues Added LiginActivityTest#filterTextNullValuesAlwaysMatched All autofill CTS tests pass bug:37724701 bug:37424539 Change-Id: Ic19e5d7cbdbb7d110c9e7da0ad60b540cbf1aecf
/frameworks/base/core/java/android/view/autofill/IAutoFillManager.aidl
|
134cee27b8a54ff4c8bebda51c5fe4a4e6f1fd8a |
|
06-May-2017 |
Philip P. Moltmann <moltmann@google.com> |
No need to deal with windowTokens we have a link to the client which is enough to find the views. Also there was some cases where the windowToken was not updated properly. This is moot now. Also: Read a array of views from the client to speed up the client<->AutofillManager communication. Fixes: 38070352 Test: CtsAutoFillServiceTestCases 1 Started autofill, saw fill UI 2 Home button 3 Kill activity in background 4 Recents -> back to activity 5 Saw fill UI restored Change-Id: I7c2c9411204fa5d65867efae9b7296399121c3a2
/frameworks/base/core/java/android/view/autofill/IAutoFillManager.aidl
|
9f9ee25515591ef33281708c0ab911962f4364a6 |
|
27-Apr-2017 |
Felipe Leme <felipeal@google.com> |
Improved Autofill logging. - Removed ui.Helper. - Replaced DEBUG and VERBOSE constants by sDebug and sVerbose. - Added a shell command to dynamically set the constants. - Removed obsoleted log statements. - Changed log-level of some log entries. - Removed unused methods. Fixes: 36141126 Test: CtsAutoFillServiceTestCases pass Test: manual verification Change-Id: Ic08ee9a2adc10e63f49bbcc7ed126455462dc9c1
/frameworks/base/core/java/android/view/autofill/IAutoFillManager.aidl
|
0aa4c5065d1495ec0b2c6fe15324569f31dcbdb1 |
|
26-Apr-2017 |
Felipe Leme <felipeal@google.com> |
Refactored Autofill to move starting flag out of Session. Otherwise, all onFillRequest() calls in the same partition would use the same flags. Fixes: 37675138 Test: existing CtsAutoFillServiceTestCases pass Test: CtsAssistTestCases pass Test: PartitionedActivityTest.testAutofill4ParitionsMixManualAndAuto() pass Change-Id: I03c8a036637bae534904d4f41265e451088cf940
/frameworks/base/core/java/android/view/autofill/IAutoFillManager.aidl
|
db041188bc9ca03bed3c14a7ca1b3eb9524a9287 |
|
22-Apr-2017 |
Felipe Leme <felipeal@google.com> |
Added APIs that let AutofillService implementations set themselves as such. Bug: 37576671 Test: manual verification Test: CtsAutoFillServiceTestCases (with new tests) pass Change-Id: I6fd61f8a2826dbf6b6fce831f3deadf6df025386
/frameworks/base/core/java/android/view/autofill/IAutoFillManager.aidl
|
cc684ed41f17ccdce45a056fd4034efc35b213d5 |
|
17-Apr-2017 |
Philip P. Moltmann <moltmann@google.com> |
Add a way to read the last AutofillSelection. - Check UID to make sure one service cannot read FillSelections of other services - Add id to Dataset to allow to tag the datasets. This id is then found in the FillSelection.Event - Add clientState to FillSelection to allow service to store more data Fixes: 36871500 Test: CtsAutoFillServiceTestCases Change-Id: Ice894245508227265294a1c59ea97842175e5aec
/frameworks/base/core/java/android/view/autofill/IAutoFillManager.aidl
|
f20a037ba2a6990bb51ad40ee18c7af18464f620 |
|
11-Apr-2017 |
Svet Ganov <svetoslavganov@google.com> |
Move API for disabling an autofill service to the manager Test: the topic has a CTS test bug:37170723 Change-Id: I2be18968ea8df0fd3fb070fe2efc3e811b0e5a76
/frameworks/base/core/java/android/view/autofill/IAutoFillManager.aidl
|
eab62baabf290ea6671577a66cfc9fdd1b145d0e |
|
20-Mar-2017 |
Philip P. Moltmann <moltmann@google.com> |
Restore session on new window after app kill Also: - Give the session an integer ID as the activityToken is not stable over restarts of the activity - Verify that session is only accessed by one UID - stabilize AccessibilityViewIds over activity lifecycle at least for the IDs we can do that. This required to split the ID namespace in "per-app" and "per-activity" views. Only the later ones can be restored. - Do not end session when app is killed (as it can be restarted) Bug: 35484143 Fixes: 36392498 Test: cts-tradefed run cts-dev -m CtsAutoFillServiceTestCases --test=android.autofillservice.cts.SessionLifecycleTest cts-tradefed run cts-dev -m CtsAutoFillServiceTestCases Change-Id: I229acc1b3ce35fb57262da7d7466b5d4328b49d4
/frameworks/base/core/java/android/view/autofill/IAutoFillManager.aidl
|
7b7711680244108923f0dbb4ca6e35db7e659e6a |
|
04-Mar-2017 |
Philip P. Moltmann <moltmann@google.com> |
TRON log important auto-fill events Example log from android.autofillservice.cts.LoginActivityTest#testAutoFill#testAutoFillOneDatasetAndSave (translated from numbers of human readable string): AUTOFILL_SESSION_STARTED package=android.autofillservice.cts AUTOFILL_REQUEST type=TYPE_SUCCESS package=android.autofillservice.cts FIELD_AUTOFILL_SERVICE=android.autofillservice.cts FIELD_AUTOFILL_NUM_DATASETS=1 AUTOFILL_FILL_UI type=TYPE_ACTION package=android.autofillservice.cts FIELD_AUTOFILL_NUM_DATASETS=1 FIELD_AUTOFILL_FILTERTEXT_LEN=0 AUTOFILL_DATASET_APPLIED package=android.autofillservice.cts FIELD_AUTOFILL_NUM_VALUES=2 FIELD_AUTOFILL_NUM_VIEWS_FILLED=2 AUTOFILL_SAVE_UI package=android.autofillservice.cts FIELD_AUTOFILL_NUM_IDS=2 AUTOFILL_DATA_SAVE_REQUEST type=TYPE_SUCCESS package=android.autofillservice.cts FIELD_AUTOFILL_SERVICE=android.autofillservice.cts AUTOFILL_SESSION_FINISHED package=android.autofillservice.cts Test: Ran auto-fill tests and looked at event log. Change-Id: I58aaa58e4435e7d04c8cd91878411943d3eb13de
/frameworks/base/core/java/android/view/autofill/IAutoFillManager.aidl
|
2ac463e3f5c3b757ecbc7e30e0fc1e8e0d878272 |
|
13-Mar-2017 |
Felipe Leme <felipeal@google.com> |
Allow users to manually request Autofill. - Added a requestAutofill(view,flags) method, that when passed with FLAG_MANUAL_AUTOFILL triggers a manual request. - Added same method for virtual views - Overloaded existing AutofillService request methods to take a flag. - Added an AUTOFILL context menu option on TextViews. - Added a canRequestAutofill() that is used to enable the context menu. BUG: 35708229 Test: manual verification Test: existing CtsAutoFillServiceTestCases pass Test: android.autofillservice.cts.LoginActivityTest#testManualAutofill pass Change-Id: I1a64d40da3373774451d178b1cabf20f11120e9d
/frameworks/base/core/java/android/view/autofill/IAutoFillManager.aidl
|
2f8fb1f62f2840701e3e16497eb8191f38b72e0b |
|
13-Mar-2017 |
Svet Ganov <svetoslavganov@google.com> |
Fix a few auto fill ussues 1. Ensure clicking on a focused view brings up autofill if needed 2. Notify the autofill manager in a couple of cases we missed 3. Renamed the AutofillManager app facing APIs to better reflect what they do and added a API for the app to cancel the autofill interaction 4. Fix view structure dispatch where the ordering of children for autofill was mixed with ordering of direct view children - the autofill children may be indirect as views can be marked not important for autofill 5. Show scrollbars only if there are more fill options than want is shown 6. Show only three fill options and the rest can be accessed with a scroll 7. Remove the list divider to allow fill items to control all fill window content 8. Renamed the autofill manager internal service classes to xxAutofillxx 9. Fixed a comment that was not addressed in a previous CL 10. Showing max three fill options - rest needs a scroll 11. Make sure fill UI shown when filter with no matches is changed to filter with some matches 12. Make sure the fill window has a shadow Test: Autofill CTS tests pass and manual bug:36038929 bug:36040101 bug:36149166 bug:36034681 bug:36126001 bug:36035654 Change-Id: Ic8726146fc3c0a19d3e536becdd63fb65622136e
/frameworks/base/core/java/android/view/autofill/IAutoFillManager.aidl
|
640f30a7763b0a4b80c767acb84c740aac04768b |
|
07-Mar-2017 |
Felipe Leme <felipeal@google.com> |
Replaced auto-fill by autofill to keep it consistent with API style. This change will affects 2 types of apps: autofill service implementations and apps that use autofill APIs. Since just the former is known to be used at the moment, we're not trying to keep backward compatibility with the latter. Bug: 35956626 Test: CtsAutoFillServiceTestCases pass Test: android.provider.SettingsBackupTest pass Change-Id: Ia720083508716deae9e887f9faa7ae7c5a82f471
/frameworks/base/core/java/android/view/autofill/IAutoFillManager.aidl
|
e6010f2fb4d512c00a21cda55197f5f57e63fdc1 |
|
03-Mar-2017 |
Felipe Leme <felipeal@google.com> |
Provided an AutofillCallback API. Some custom views - like WebView - might have their own auto-complete mechanism, so we need to provide a way for them to know when the auto-fill UI is shown or hidden. Fixes: 35948429 Test: CtsAutoFillServiceTestCases (with new tests) pass Test: m update-api Test: manual verification Change-Id: I5682a3b9645d5d077a4a2446e79256d6f77b4b5a
/frameworks/base/core/java/android/view/autofill/IAutoFillManager.aidl
|
28a2c7e0579dbcbde09b6e23a17b0a501a3562b9 |
|
21-Feb-2017 |
Svet Ganov <svetoslavganov@google.com> |
Update fill UI 1. Abstracted the fill/save view and window management in dedicated classs 2. Avoided the need of a second window to detect outside touches 3. Simplified the fill-ui window management 4. Moved the UI in its own package to ease mmigration to sys UI. 5. Removed hard-coded colors from the layout 6. Make sure the save UI cannot grow as wide as the screen as this would not look good on tablets 7. Update the save UI to look closer to mocks Test: CTS tests pass Bug: 35708258 Change-Id: Ia74a5aad6f16bba0047a9e8e61958c77af0d358d
/frameworks/base/core/java/android/view/autofill/IAutoFillManager.aidl
|
782043caf81055aa1c331e9cc15b24a10e1bf17a |
|
11-Feb-2017 |
Svet Ganov <svetoslavganov@google.com> |
Refactor auto-fill * Fix a layering issue where auto-fill manager which is in view depended on activity which is in app * Moved auto-fill classes to view or service based on their purpose and removed dependecy on the classes in view to the classes in service * Push state to local auto-fill manager whether auto-fill is enabled to avoid making IPC for every focus transition if the user did not enable the feature * Remove unnecessary offload to messages when handling calls to auto-fill manager service as these are made over a oneway interface and in general they do almost no work and typically we do these on the binder thread * Removed id from data set and fill response as the provider can embed everything it needs to id them in the auth pending intent * Enforce the auth UI to be only an activity as this will work with multi-window, recents, and back and also does not require draw on top of other app special permission * Authentication also no longer requires passing a remotable callback to the auth activity but the activity handles the request as if called for a result * Handling stopping of a user to clean up in-memory state as well as handling when a user gets unlocked as a provider may be non-direct boot aware * User the correct context when creating an auto-fill manager * Move the receiver that listens for requests to hide system windows to the manager service as the UI is a singleton and no need every per-user state to register its own * Removed extras from dataset as the only case a provider needs to associate state with a dataset is for auth and the provider can embed this data in the auth pending intent Test: manual and CTS Change-Id: I4bc54c13cf779d7f6fdb3ab894637f9fac73f603
/frameworks/base/core/java/android/view/autofill/IAutoFillManager.aidl
|