27e202208b42e78fefcece893a4bb5d8fe2eae58 |
|
19-May-2017 |
Felipe Leme <felipeal@google.com> |
Hide Autofill UI when non-savable id is gone. AutofillManager keeps track of which views the AutofillServiec is interested to save, so when these views are gone, the session is finished. But when the AutofillService returns a dataset whose views it can not save, the FillUi for these views are not hiding when the views are gone. This CL fixes this issue by: - Keeping track which non-savable views should be tracked. - Pass the view (instead of it's id) when the UI on such views should be hid. This CL also optimized some AIDL and internal calls by avoiding the creating of unnecessary Lists. Test: manual verification with Snapchat Test: existing CtsAutoFillServiceTestCases pass Test: new tests on MultipleFragmentLoginTest pass Fixes: 38199452 Change-Id: I78fa357962dbc6667146d8e08cd6bacb63e0f337
/frameworks/base/core/java/android/view/autofill/IAutoFillManagerClient.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/IAutoFillManagerClient.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/IAutoFillManagerClient.aidl
|
48f10a2ab53e415f34d86ac717b4f6412dfc824f |
|
27-Apr-2017 |
Svet Ganov <svetoslavganov@google.com> |
Handle package changes in autofill manager service Autofill manager service was not observing package changes thus we did not properly handle the cases of the service being updated, added, and removed. Handling, additions is needed to properly support restore from a backup. Fixed a few missing locks. Test: all autofill CTS tests pass and manually tested update, add, and remove of autofill services. bug:36638606 bug:36978445 Change-Id: Idd47891774ba2a4e562a1952cbb5a048211fd4e3
/frameworks/base/core/java/android/view/autofill/IAutoFillManagerClient.aidl
|
494c3f5da2c467ad07f50b4e1ad01065a8e3aa4f |
|
11-Apr-2017 |
Philip P. Moltmann <moltmann@google.com> |
Allow to finish session when all views are gone An service can option to finish the session once all views that it declared as important. Views that are important are all autofillable views of any partition and the saveable fields of the last partition. Test: CtsAutoFillServiceTestCases Fixes: 35708237 Change-Id: I0ccade8ebb427e5d8928697ef0007c75d3f83df0
/frameworks/base/core/java/android/view/autofill/IAutoFillManagerClient.aidl
|
e048a656397f9f9326482423d68ed46f87f92ed7 |
|
11-Apr-2017 |
Philip P. Moltmann <moltmann@google.com> |
Fix some racines in AutofillManager - The session might be gone by the time the handler is called, hence check the sessionID - Access getClientLocked() and mSession only under mLock. Test: cts-tradefed run cts-dev AutoFillServiceTestsCases Change-Id: I445a24557589afadb1f5372b63ef9db88021b609
/frameworks/base/core/java/android/view/autofill/IAutoFillManagerClient.aidl
|
c3d1c85bda1eb0a7f5a45cbe51406f2239b57cb2 |
|
13-Apr-2017 |
Svet Ganov <svetoslavganov@google.com> |
Allow custom buttons in autofill UI Test: added CTS test in topic bug:36871561 Change-Id: I78ffd8ba33fb982183677fffc587bbf1a077e132
/frameworks/base/core/java/android/view/autofill/IAutoFillManagerClient.aidl
|
4753bb0c34e068f57fff208529836a7688b3ef41 |
|
23-Mar-2017 |
Felipe Leme <felipeal@google.com> |
Make auto-fill UI robust Now the autofill UI tracks the movement of the anchor view, both real and virtual and while still preventing the filled app from accessing the chooser UI. This was achieved by using a popup window in the app process to determine the window location and adding a window presenter interface to popup window that controls the actual window addition, removal, and update which is implemented by the system server. Test: all autofill CTS tests pass bug: 36392498 bug: 35708258 bug: 34943932 fixes: 36039182 fixes: 36493078 Change-Id: I0321913b2e2e759f4b17003bf85cb873e63a467c
/frameworks/base/core/java/android/view/autofill/IAutoFillManagerClient.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/IAutoFillManagerClient.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/IAutoFillManagerClient.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/IAutoFillManagerClient.aidl
|