266752317b7752394e39618f6fe1ad2829e919d8 |
19-Jun-2017 |
Felipe Leme <felipeal@google.com> |
Fixed updateAutofillValue() when mText is not set. updateAutofillValue() was crashing some apps when the mText was not set at the time it was called. One solution would be to not set mText at all - since the Autofill Service should rely only on getAutofillValue() - but that could break existing services. Hence, a safer solution is to set that field if it's null. Test: existing CtsAutoFillServiceTestCases tests pass Test: manual verification using Fly Delta app Fixes: 62751039 Change-Id: I91a8e0ed5db4148f5eb5729b8e254aa3531f15e4
ssistStructure.java
|
2f6fc72efcb67737f45edb881eb2aed120a1b0bf |
31-May-2017 |
Felipe Leme <felipeal@google.com> |
Overall improvement on Autofill javadocs for autofillable APIs. Bug: 37567048 Test: ran 'm -j doc-comment-check-docs' and checked resulting HTML Change-Id: I7eaf0a521c3777baf0dc0002ae814990fd96a14c
ssistStructure.java
|
5f3dbb30fcec9d329f4cf0388241f5e6b2bc7abb |
25-May-2017 |
Felipe Leme <felipeal@google.com> |
Removed deprecated setAutofill() method for virtual children. Test: CtsAutoFillServiceTestCases pass Bug: 37563972 Change-Id: Icbffb89d86ee65831b7c78effd2522ac7891e1be
ssistStructure.java
|
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
ssistStructure.java
|
bc561eb06e0ac0f99f0a0589163bf8affc3516ae |
12-May-2017 |
Felipe Leme <felipeal@google.com> |
Don't print sensitive data on AssistStructure.dump() Test: manual verification Bug: 38205945 Change-Id: Ic184ee6da313a2c0f8e0dd11979f6985d8023140
ssistStructure.java
|
73fedacfebcccd54f2c36ff7c8eb9929e8ce8455 |
12-May-2017 |
Felipe Leme <felipeal@google.com> |
Removed deprecated APIs. Test: CtsAutoFillServiceTestCases pass Test: manual verification with existing service Bug: 37563972 Change-Id: Ibea2810f9230f06e59d2d81e4ba853de54987956
ssistStructure.java
|
c368a240c9a7b03c5fa3071b97ddf56e76dbd068 |
04-May-2017 |
Philip P. Moltmann <moltmann@google.com> |
Report less data in structure to autofill provider Fixes: 35899963 Test: CtsAutoFillServiceTestCases, CtsAccessibilityTestCases, CtsAccessibilityServiceTestCases Change-Id: Ia7dba3e252e7678c033d67bcf653e592f3134304
ssistStructure.java
|
5073b91236ad05ce4d478da9b9478ee07be1ace0 |
04-May-2017 |
Siyamed Sinir <siyamed@google.com> |
Merge "Don't copy NoCopySpans for assist and autofill" into oc-dev
|
a8fce3b29eff8ed452ee20a1938268b837a105ad |
04-Apr-2017 |
Felipe Leme <felipeal@google.com> |
Don't copy NoCopySpans for assist and autofill For AssistStructure, and AutofillValue, create a copy of the text in setText and forText methods if it is a Spanned. Fixes: 36838999 Test: cts-tradefed run cts -m CtsAutoFillServiceTestCases Test: cts-tradefed run cts -m CtsAssistTestCases Test: cts-tradefed run cts --test android.widget.cts.TextViewTest -m \ CtsWidgetTestCases Change-Id: I52e780fa9baa17c375d3945dc714171f41fd7db5
ssistStructure.java
|
61b7f121725bd5607fe498cbdae5fa9808188f61 |
02-May-2017 |
Felipe Leme <felipeal@google.com> |
Removed deprecated ViewStructure.setUrl() method. Fixes: 37623568 Test: CtsAutoFillServiceTestCases pass Test: CtsAssistTestCases pass Change-Id: I13cdf08f40ba3db31ddb3f104f99b7ab8839bd01
ssistStructure.java
|
b63d261f9c830e85c24c2a9d1d11d6b14d9f4e62 |
28-Apr-2017 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "Refactored Autofill to move starting flag out of Session." into oc-dev
|
3dfd8275749a734380282437579156b6b35ccc51 |
28-Apr-2017 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "Changed HtmlInfo.getAttributes() to return List instead of ArrayList" into oc-dev
|
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
ssistStructure.java
|
70c0221813d515c3496eb1ea1037198e9ad8ad44 |
28-Apr-2017 |
Svetoslav Ganov <svetoslavganov@google.com> |
Merge "Implement the rest of autofill importance modes" into oc-dev
|
09a70628da3aa617cdabace129bf8dbe64bc19b3 |
28-Apr-2017 |
Felipe Leme <felipeal@google.com> |
Changed HtmlInfo.getAttributes() to return List instead of ArrayList Fixes: 37747396 Test: CtsAutoFillServiceTestCases pass Change-Id: Ief53e6d71805f561577b73e57a9d36bc3769862a
ssistStructure.java
|
fd31f85d0c6f19138d06d565d2b30b59e241a960 |
27-Apr-2017 |
Svet Ganov <svetoslavganov@google.com> |
Implement the rest of autofill importance modes Test: CTS tests pass; augmented tests to verify new behavior bug:36171235 Change-Id: Ieff2b8d7e1c3a3eba456deca7bed70c8e29c415e
ssistStructure.java
|
3a4987bbe70acf484bb3c0240ecb93e7d04f6d84 |
27-Apr-2017 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "Improve docs for AssistStructure#isHomeActivity" into oc-dev
|
86687827f3936184d71d4d9b019b50661ce69ec7 |
26-Apr-2017 |
Amith Yamasani <yamasani@google.com> |
Improve docs for AssistStructure#isHomeActivity Change-Id: I84b5686c6d3d81f14dc56f72af985ffe686c0e0a Fixes: 37558097 Test: make offline-sdk-docs
ssistStructure.java
|
e4f30650ac2b4e7b1b2a8962a3618506aec1b81a |
25-Apr-2017 |
Felipe Leme <felipeal@google.com> |
Provide a way to set AutofillId on ViewStructure. So far that was done indirectly by public methods that could be overridden in away that does not set the proper id in the structure, which would crash apps. Bug: 36171235 Test: modified VirtualContainerActivityTest#testAutofillOverrideDispatchprovideAutofillStructure Change-Id: I3f1c64020125cbb8349971a0bc52ccd1e0c81e62
ssistStructure.java
|
85d1c2d2905362b984563d9b5e8332010c272fc5 |
21-Apr-2017 |
Felipe Leme <felipeal@google.com> |
Minor fixes on Autofill Framework: - Removed default implementation of onProvideAutofillVirtualStructure() that was using accessibility API (it's useless because without the View calling AutofillManager.notifyViewEntered(), it would never be triggered). - Fixed obsolete TODOs. - Removed obsolete service class name constant. - Removed unused debug constant. Fixes: 37078783 Fixes: 33197203 Bug: 33802548 Bug: 35956626 Test: CtsAutoFillServiceTestCases pass Merged-In: I834d34b8af8bf0d781dc7e0ffcd6e600bfa2d183 Change-Id: I834d34b8af8bf0d781dc7e0ffcd6e600bfa2d183
ssistStructure.java
|
4711ed9f9f8c4a320c66f2a277817acfea127703 |
22-Apr-2017 |
Felipe Leme <felipeal@google.com> |
Replaced getUrl() by getWebDomain(). Bug: 37566507 Test: CtsAssistTestCases pass Change-Id: I1b4dfa7259040b3b8bf1014ebb806eb7a3b36c58
ssistStructure.java
|
30e9b266aab920b7dbb6fb4784b3d58d3273b750 |
21-Apr-2017 |
Felipe Leme <felipeal@google.com> |
Clarify the meaning of ViewNodes methods used for Autofill purposes. Test: m update-api Bug: 37565909 Change-Id: I8abcc76193876b62726acb274c5e8984e9dbe6a7
ssistStructure.java
|
7e4c205d8f7e6746ab6e0701e4d7776a2cdd6aa0 |
18-Apr-2017 |
Felipe Leme <felipeal@google.com> |
Moved getAutofillOptions() logic from SpinnerAbs to AdapterView and Adapter. Fixes: 37330022 Test: CtsAutoFillServiceTestCases pass Test: manual verification using app from bug 37327881 Change-Id: I66260131c7ef0d5b3c2b20514f29efd5eb10057e
ssistStructure.java
|
b11802197259019b016c84741fd5ae18a1b276c1 |
18-Apr-2017 |
Felipe Leme <felipeal@google.com> |
Renamed ViewNode's getAutoFillHints() to getAutofillHints() Test: CtsAutoFillServiceTestCases pass Bug: 35956626 Bug: 35364993 Change-Id: I2ad5a625da6ed4ff889315923c81cfd629e34074
ssistStructure.java
|
cde040ae9563600179502f8ce8dd06bc7bb5a1c0 |
01-Apr-2017 |
Felipe Leme <felipeal@google.com> |
Improvements on ViewNodes received on partitioned requests: - Fixed focus - Added autofillValue for nodes previously autofilled BUG: 35707731 Test: existing CtsAutoFillServiceTestCases pass Test: more tests on PartitionedActivityTest Change-Id: If4390d002d44c82e3de0339a634041f3998e804e
ssistStructure.java
|
f78e952d8df7074aa7380c5998826a4dffe335e7 |
05-Apr-2017 |
Felipe Leme <felipeal@google.com> |
Removed deprecated auto(F)ill classes. Bug: 35956626 Test: manual verification Test: CtsAutoFillServiceTestCases pass Change-Id: Icb622589c41e6a286d51e3f85bd5a813e483b5ea
ssistStructure.java
|
4d558930c8fe9381a208715c73e665ab5f9baa0d |
01-Apr-2017 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "Created an HtmlInfo object on ViewStructure." into oc-dev
|
81192b40de3578368a38c9815d0af87565f99228 |
29-Mar-2017 |
Philip P. Moltmann <moltmann@google.com> |
Rename autoFillHint to autoFillHints. Fixes: 35364993 Test: cts-tradefed run cts-dev -m CtsAutoFillServiceTestCases Change-Id: I65a4c2c65563e7bbd60c4e99c8800b0b11af2300 (cherry picked from commit feb3299ed5fa30db8b1a4ab693e11e8acb32d13d)
ssistStructure.java
|
25bf787ffbc2c878683e824643941829e5b6967a |
29-Mar-2017 |
Felipe Leme <felipeal@google.com> |
Created an HtmlInfo object on ViewStructure. The ViewStructure typically represents a View, but it it can also be a virtual view; in particular, WebView uses virtual views to represent HTML elements. Although most of the properties of the HTML element maps to properties of Android Views, some properties (such as 'name' and 'id' on <INPUT> fields) don't, and those are crucial for autofilling web pages. Rather than trying to artificially map these properties, it's better to create a generic representation, for the following reasons: 1. Web standards move in a different velocity than Android APIs 2. Android APIs cannot be changed easily. Deprecated APIs continue to work, and new added APIs don't work in older versions 3. The data used for autofill is opaque to the Framework - it's only relevant to the node producers (like WebView) and consumers (Autofill services). Also removed the setIdEntry() that was used for the same purpose. Fixes: 36696757 Bug: 36718508 Test: VirtualContainerActivityTest with new checks pass Change-Id: Ia626bd1f640b0b5861e81a5915504b95029874c9
ssistStructure.java
|
b4ca70184c7c7170b05d01aa2f908b3de9d14ab5 |
23-Mar-2017 |
Felipe Leme <felipeal@google.com> |
Added LocaleList on ViewStructure. Fixes: 36219641 Test: CtsAssistTestCases pass Change-Id: I4f208a3b979a524d631e9d2c642b9b5a3cdccb22
ssistStructure.java
|
1f08e1369b72f9855b55c257b32bad7864dcfc2a |
21-Mar-2017 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "Changes on Assist structure to handle virtual child for autofill:"
|
1a1e4687e4401068af0e4901477a8169278aa39b |
14-Mar-2017 |
Felipe Leme <felipeal@google.com> |
Improved WebView -> ViewStructure mapping for Autofill. Added setIdEntry() on ViewStructure and documented how WebView can map HTML tags and attributes into ViewStructure. Test: VirtualContainerActivityTest pass Test: m update-api Bug: 36056207 Change-Id: Idaee9612d2c1b1adac99f354c8f87137ee9ef877
ssistStructure.java
|
f8a8174cd5bc8aff63befd6ca6d96d21e89260bd |
18-Mar-2017 |
Felipe Leme <felipeal@google.com> |
Changes on Assist structure to handle virtual child for autofill: - Removed overloaded newChild() methods. - Added a setAutofillId(parent, virtualId). - Changed view so AutofillId is set on all relevant methods. Test: VirtualContainerActivityTest (with new tests) pass Bug: 36056207 Change-Id: Ia11344f95c2756e83307c54052878e9dbe471873
ssistStructure.java
|
81f01d9efdd1739807d5aa5ac4f60b276f70155f |
17-Mar-2017 |
Felipe Leme <felipeal@google.com> |
Removed 'virtual' from autofill method names. Fixes: 36126001 Test: VirtualContainerActivityTest pass Change-Id: I3b8fe835cd7c7f39c8e2cb8f2daca71b03236a1f
ssistStructure.java
|
9b31b4eac838238ef3013cbfb1379cddbafa0f12 |
14-Mar-2017 |
Philip P. Moltmann <moltmann@google.com> |
Merge "Make it clear which type of AutoFillValue is set"
|
37bf8b17364c444aabfcaaed8081b3830202c5e6 |
14-Mar-2017 |
Philip P. Moltmann <moltmann@google.com> |
Merge "Change autoFillHint to list of strings"
|
c9a19b1b274af1fdd8b811c9ce2df994f7db47a4 |
14-Mar-2017 |
Felipe Leme <felipeal@google.com> |
Renamed ViewStructure.setSanitized() to setDataIsSensitive(). Bug: 36126001 Test: CtsAutoFillServiceTestCases pass Test: m update-api Change-Id: I182355b63d8743cd8cd8612f29a9269e258283c2
ssistStructure.java
|
9668903731c272e51ce610598c052ef411c9d89f |
09-Mar-2017 |
Philip P. Moltmann <moltmann@google.com> |
Make it clear which type of AutoFillValue is set throw and handle errors if the wrong value is set for a view Test: android.autofillservice.cts.AutofillValueTest Change-Id: Ida80da7913a210bede6c47d6b7a6f215a012a84c
ssistStructure.java
|
495cadd8a99d52965a22ffd83c2abe0930cb0968 |
11-Mar-2017 |
Philip P. Moltmann <moltmann@google.com> |
Change autoFillHint to list of strings Test: Ran autofill CTS tests Fixes: 35364993 Change-Id: I3f4ceb719b2d3fef0168e8300c0d15f1661560c0
ssistStructure.java
|
858f98d13e10afba6420daba0a42b2e056452e24 |
22-Feb-2017 |
Amith Yamasani <yamasani@google.com> |
AssistStructure improvements Added isOpaque() for Views Added getAcquisitionStartTime(), ...EndTime() Added isHomeActivity() Bug: 30895450 Test: cts-tradefed run cts-dev -m CtsAssistTestCases -t android.assist.cts.AssistStructureTest#testAssistStructure Change-Id: I294a089aa3454ebfebf0442036d98ccb86cb2827
ssistStructure.java
|
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
ssistStructure.java
|
8931e303700a5adb6e013c2b5a6cec621eede968 |
06-Mar-2017 |
Felipe Leme <felipeal@google.com> |
Replace AutoFillType by view constants. Now that AutoFillType does have any logic (since the "subType" logic was moved to AutoFillHint), it makes more sense to get rid of the type and use constants directly. This change creates the contants and "pseudo-deprecate" the old stuff: it's still available because some clients are using it, but it will be removed once they migrate. Bug: 35956626 Test: CtsAutoFillServiceTestCases pass Change-Id: I0efe7f0cc101c86164a18c85903bb871e1f13ba2
ssistStructure.java
|
a515299d2974f00225e10bace480ded4a1c14afc |
04-Mar-2017 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "Add forAutoFill suffix on ViewStructure methods that add children."
|
dbe07a587cd0c6a4b8770bf8f296c5b01cf12ab5 |
03-Mar-2017 |
Felipe Leme <felipeal@google.com> |
Add forAutoFill suffix on ViewStructure methods that add children. Change-Id: I36f7bd26b7d45fd809d7398cc86de3d2671f2b28 Fixes: 35764877 Test: m update-api
ssistStructure.java
|
235770d4ee5399b74a102da78eca97ab51a0774e |
03-Mar-2017 |
Felipe Leme <felipeal@google.com> |
Minor documentation fixes. Test: m update-api Bug: 33550221 Change-Id: I757f161eb78a5c0c662743f35a372c91130c5b34
ssistStructure.java
|
ba6f46260232c04b7e5d75b1c38187e581dabdeb |
22-Feb-2017 |
Philip P. Moltmann <moltmann@google.com> |
Add autoFillHint property to view Bug: 35364993 Test: Ran amended ViewAttributesTest Change-Id: Ib7d2c3dfd5b4a6b638b56c4583af4c9bdf37e346
ssistStructure.java
|
16aafc36ded4a118f86890261f8f87a6927dc547 |
27-Feb-2017 |
Felipe Leme <felipeal@google.com> |
Added inputType to Assist API. It will be used mostly for auto-fill purposes.. Bug: 35364993 Test: CtsAutoFillServiceTestCase (with new tests) pass Test: manual verification Change-Id: Ia5b6ff94e66a7da385cfb6f42ad994fe5e1e976b
ssistStructure.java
|
c01a873c4f68518be4698077c7eb593a6a3b9f4c |
23-Feb-2017 |
Felipe Leme <felipeal@google.com> |
Added sanitization for CompoundButton and RadioGroup. Bug: 33269702 Bug: 33550221 Test: CtsAutoFillServiceTestCases (with new tests) pass Change-Id: Ie2c8d2784227371588aa02973b8ef3ac1a6950aa
ssistStructure.java
|
d09ccb8db6c541f2d349b923bf9b38f1081aaa8d |
23-Feb-2017 |
Felipe Leme <felipeal@google.com> |
Added auto-fill support for Spinner. Spinner is a special kind of list-value field because its auto-fillable values are not currently present in the assist structure: this change adds a getAutoFillOptions() to fill that void, and implements the auto-fill APIs on Spinner. It also fixes RadioGroup.getAutoFillValue() - it should return the index of the child, not its resource id. Bug: 33550221 Test: CtsAutoFillServiceTestCases (with new tests) pass Change-Id: I625e7dd705fade56fda490fcd3c4446c0c245ee1
ssistStructure.java
|
bd271212a283a8e243ea498117f57b09ca2b346a |
22-Feb-2017 |
Felipe Leme <felipeal@google.com> |
Improved documentation and added @CallSuper on onProvideAutoFillStructure(). onProvideAutoFillStructure() sets mandatory auto-fill information like the auto-fill id, so we must enforce subclass to call it. Bug: 35395043 Test: m update-api Change-Id: I525690b38639d970f516a906ddeb3a6bd6e01d8c
ssistStructure.java
|
33791fd54b0e2acd6e7c06517cf2f994fa3d4213 |
16-Feb-2017 |
Felipe Leme <felipeal@google.com> |
Add API to mark sanitized fields and implement it on TextView. When sending a ViewNode to the auto-fill service, it's necessary to sanitize it so it does not contain PII (Personally Identifiable Information). A good rule of thumb is to mark as sanitized nodes whose value were statically set from resources. Ideally, that logic should belong to View, but View does not know how its contexts are set, so the decision must be made by the subclasses, and this CL implements that logic on TextView (which is the main auto-fill type - others will come soon...) Bug: 33269702 Test: CtsAutoFillServiceTestCases pass Test: manual verification Change-Id: I4dcdd8419a35812bd2f15a63a5be85f8cd97bb4e
ssistStructure.java
|
c32410068dc23b1eee87bc370525a46ffc7a936d |
15-Feb-2017 |
Felipe Leme <felipeal@google.com> |
Add URL on ViewStructure. The URL will be typically used by views rendering HTML pages (like WebView), and used in 2 cases - Root node (containing the URL of the HTML page) - Child nodes that represent hyperlinks (contains the hyperlink URL). Fixes: 20902429 Test: manual verification Test: android.assist.cts.WebViewTest verifies it Change-Id: Ic49472f1fca89047369b7187176f54efd277e204
ssistStructure.java
|
71377a4ae2d52494f19f15a0a1b860e356e80caa |
15-Feb-2017 |
Felipe Leme <felipeal@google.com> |
Enable auto-fill when activity is marked as FLAG_SECURE. BUG: 34077687 Test: CtsAutoFillServiceTestCases passes Change-Id: I2d7a565a53a32792d6daeceba3f3a7beebdf052c
ssistStructure.java
|
0200d9ea1509089c0c03b7071aa271e3a9b35c11 |
25-Jan-2017 |
Felipe Leme <felipeal@google.com> |
Improved AutoFill Save workflow. Currently, the onProvideAutoFillStructure() methods can be called twice: to auto-fill an activity and to save the activity's data in the service. The problem with this approach is that when the save workflow is called, the activity might have been gone. Hence, a proper approach is to keep the initial AssistStructure data in the system_service memory, watch for view changes, and then passed the new structure back to the AutoFillService. A side effect of this change is that we need another way to determine if the view is sanitized or not. For "standard" views, that will be defined based on whether the view content come from a resource or not, but that logic is not implemented yet (for now, all views will be considered sanitized, except for TextView passwords). For "custom" views (such as WebView), this logic is responsibility of the view implementation, through the newChild() method, which now takes a flag (whose value could be AUTO_FILL_FLAG_SANITIZED for sanitized views). The SaveCallback.onSuccess() method was simplified: it does not need a list of saved ids anymore the auto-fill UI will not use it anymore. Another side effect is that the Save notification is gone - until it's attached again, it can be test by using: adb shell cmd autofill save Finally, hook AutoFillUI on ACTION_CLOSE_SYSTEM_DIALOGS events. BUG: 33269702 BUG: 31001899 Test: manual verification Test: CtsAutoFillServiceTestCases passes Change-Id: I907a7e21d1b3cd1ab6dec3a08d144a52655da46f
ssistStructure.java
|
6d553874bed06280766ae24ea605f9bbde3f5a4a |
09-Dec-2016 |
Felipe Leme <felipeal@google.com> |
YAMAFFR - Yet Another Major AutoFill Framework Refactoring - Explicitly split View methods into Assist and AutoFill methods, rather than use an overloaded method that takes flags. - Simarly, renamed ASSIST_FLAG_SANITIZED_TEXT and ASSIST_FLAG_NON_SANITIZED_TEXT flags to AUTO_FILL_FLAG_TYPE_FILL and AUTO_FILL_FLAG_TYPE_SAVE respectively. - Created a AutoFillUI class to host the auto-fill bar and other UI affordances. - Moved the temporary notifications to AutoFillUI (eventually that class will host the real UI). - Moved FillData to android.app.view.autofill package. - Split IAutoFillCallback in 2 (IAutoFillAppCallback and IAutoFillServerCallback, residing at the app and system_server respectively), so service cannot fill the app directly (which lets the framework control the UI). - Moved assist's IResultReceiver to AutoFillServiceImpl so system_server can act as a mediator between the AutoFillService implementation and the app being auto-filled. - Replaced FillData and FillableInputFields by a bunch of new objects: - FillResponse contains a group of Datasets, each representing different values that can be used to auto-fill an activity (for example, different user accounts), optional id of fields the service is interested to save, and an optional bundle for service-side extras. - Dataset contains a name, Fields, and an optional bundle for service-side extras. - Fields contain an AutoFillId (parcelable) and a value (Bundle) - Changed the temporary notifications to emulate the new workflow: - Initial notification requests the auto-fill data but do not auto-fill. - Once service calls back, a new notification is shown with the results. - Then if the user selects a dataset, the activity is auto-filled with it. - It also shows a notification to emulate what can be saved. - Created an VirtualViewDelegate for views that uses a virtual hierarchy for assist data. - Added new methods on ViewStructure to add children with virtual ids. - Added 2 methods on View to support auto-fill: - autoFill(Bundle) to auto-fill the view. - getAutoFillType() to return how the view can be auto-filled. - AutoFillType defines the input fields that support auto-fill: - Text fields (like EditText) - Toggle fields (like CheckBox) - Lists (like RadioGroup) - AutoFillType can also have a sub-type representing its semantic (for now only text fields have it, and it's the same as getInputType()). - etc :-) Bug: 31001899 Test: manual verification Change-Id: I2dd2fdedcb3ecd1e4403f9c32fa644cb914e186f
ssistStructure.java
|
1ca634a544a47193dd9e57f9b3eb3e42ab0dbbf1 |
29-Nov-2016 |
Felipe Leme <felipeal@google.com> |
AutoFill Framework refactoring. The AutoFill Framework uses the same AssitStructure provided by the Assist API and so far it was using the same methods as well, both internally and externally (public API). Sharing that internal code internally is fine, but the public APIs must distinguish between the 2 cases so they can fill the assist structures accordingly (although the initial implementation still shares the same logic). This CL also splits the original 'auto-fill' request in 2 types of requests, which are set by View flags: - ASSIST_FLAG_SANITIZED_TEXT - ASSIST_FLAG_NON_SANITIZED_TEXT It also added new methods and callbacks to handle save requests. Bug: 31001899 Test: manual verification Change-Id: I4eb09099dc19a43cb7e053e64d939aed3704b410
ssistStructure.java
|
29a5b0d0f1cc7fd6cbfe97c816b8a687d9e438cc |
25-Oct-2016 |
Felipe Leme <felipeal@google.com> |
Added a callback for AutoFillService. So far AutoFillService only received the assist data from framework; in this CL, it also offers a method where the auto-fill provider can send the auto-fill data back to framework. The workflow is: - AFMSI calls a new AM method (requestAutoFillData(), instead of requestAssistContextExtras()). - The assist receiver is located in the app, not on system service. - AM uses a new request type (ASSIST_CONTEXT_AUTOFILL) to request the assist data to the activity. - ViewStructure has a new setAutoFillId() method which is used to set an unique id for the view. - View uses the accessibility id to implement the auto-fill id. - When the activity fullfills the request, it creates an IAutoFillCallback remote object - that will be used to set the auto-fill fields - and returns it in the assist bundle (using the VoiceInteractionSession.KEY_AUTO_FILL_CALLBACK key). - The app-visible AutoFillService class offers an onFillRequest() method, which contains the assist data and a FillCallback used to handle it. BUG: 31001899 Test: manually built and ran it Change-Id: I3d208c14e81022dc96dd03f38bbe25a778b24a67
ssistStructure.java
|
a5381085d399bd7e78a5f8df4a3e5e74ee90676d |
12-Nov-2015 |
Adam Skory <skory@google.com> |
Make isAppProvidedWebUri false from setDefaultIntent() Just assign mUri directly instead of calling setUri() to avoid flipping mIsAppProvidedWebUri to true exactly when it shouldn't be. Also, make sure the boolean gets un/parceled. Bug: 25952056 Change-Id: I973e585d04a73c2b7eab5975ea7f2b447b270c26
ssistContent.java
|
dfc23dd185d291c796f2939e4f8be0a8efc17ccb |
30-Oct-2015 |
Dianne Hackborn <hackbod@google.com> |
Add API to determine if the app supplied a web URI. Change-Id: I60aa39b9db822fe46ddd57ef5483b5708cf21422
ssistContent.java
|
afb308d6519c56cf2b8001b33dade35e682ab241 |
31-Jul-2015 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #21895842: Add is_assist_blocked to assist.ViewNode.NodeProperties Change-Id: I928882d42d0546cc6a12e803d96131beaba76d4e
ssistStructure.java
|
86cbc2bf30a7623b2ad6564cf50ca20f87067ea7 |
29-Jul-2015 |
Dianne Hackborn <hackbod@google.com> |
Work on issue #22765972: Binder transactions running out of address... ...space causing package manager to fail Lower the maximum IPC size we use in various places, to keep it under the threshold of becoming dangerous. Now everything tries to keep not much more than 64k. Change-Id: I814013097966a7843179e5d581bfdb254c5ae318
ssistStructure.java
|
3e8125b40ef2f559a123baadb8b253123c75a4ee |
23-Jul-2015 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #22653116: Google App crashing on NYT app We weren't correctly handling the root view of the window -- we were just pushing it on to the stack, but that means it got written at the end. Instead, we now immediately write it after the window and let things follow from there. Change-Id: I070c96bd2443f312a7c6f495d1bf72fa19c614d6
ssistStructure.java
|
fcbfeaf0695da69303e91aebe9ca97ef84437539 |
15-Jul-2015 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #22460110: AssistStructure.ViewNode.isAssistBlocked() always... ...returns true Well it wasn't *quite* always, but close enough. :p Change-Id: I990b8b2ca7b80ce68a067b0dd92efc1c2faaa8cd
ssistStructure.java
|
782d49826862cbdc9d020fc9d85f8a6f64675dcb |
09-Jul-2015 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #22328792: Fix scalability issues in AssistStructure We can now stream the AssistStructure across processes, avoiding IPC size limitations for large structures. There is also a new API that gets called on the VoiceInteractionSession if there is a failure retrieving the assist data. Also fix issue #22351981: Runtime restart due to ANR in system server, getting rid of a deadlock. And also tweak object lifecycles to try to avoid keeping around in an app the previous AssistStructure after we request a new one. Change-Id: Ifb136a0d31a14e56a8db6b90768d9fc65557a17f
ssistStructure.java
|
6f0fdc4167ad906fc7409856e86cd0cc601c3b53 |
07-Jul-2015 |
Dianne Hackborn <hackbod@google.com> |
Implement better handling of text in assist. TextView is now much smarter about the text it reports, limiting it to what is visible (plus a bit more). Also add a facility for it to report where the lines of text are, both as offsets in the text string and their baselines on screen. Part of fixing issue #22328792: Fix scalability issues in AssistStructure Change-Id: Idddb8c3a3331355f381e2d4af06d520fe7c7ce8e
ssistStructure.java
|
593334ab70a8341c7d24d71a377ab5617e3f4ab7 |
30-Jun-2015 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #22124996: VI: Command Request not Active Just forgot to add the request to the active set. Also eradicate a bunch of old cruft that has been replaced by the final APIs, and improve voice interaction test to sit fully on top of the final APIs and have a test for command request. Change-Id: Ieff7a6165ebf2a4c5fb80c1ebd020511a2ae63ee
ssistContent.java
|
70d8be7616a450e9b7ef09c8bda5a8b25936a29a |
23-Jun-2015 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #22013372: Assist should take translationX and friends... ...into account when calculating the position information Actually what we need here is the full transformation matrix, if it is available. And that means actually computing the location of views on the screen requires doing this all through transformations, so the AssistVisualizer has been changed to do this (while still also keeping the old mechanism for comparison to verify that things are working correctly). Also added new properties for elevation and alpha. And optimized the parcelling of AssistStructure to not write things that aren't needed; this reduces the parcelled size by about half. Change-Id: I50b0dd2e6599c74701a5d188617a3eff64b07d03
ssistStructure.java
|
8ecf16d186fa8606571b75c01a21a528a7e55d23 |
23-Jun-2015 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #20654534: API Review: android.app.assist Remove the old ViewAssistStructure class. Change-Id: I5eca7bc7af93cda5f654c9094a3aa07fe4958da2
ssistStructure.java
|
16036f26847f3f1a88a093fb776bf081008ff8d8 |
22-Jun-2015 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #20654534: API Review: android.app.assist Remove the old classes. Change-Id: I949350cadc5fc304e2651d7db0ffd38e45db9b6e
ssistContent.java
ssistStructure.java
|
69c6adc96eecfde74ceb83cf9177428dc08b6067 |
02-Jun-2015 |
Dianne Hackborn <hackbod@google.com> |
More API changes. Start moving Assist* stuff to android.app.assist. Clean up some more of the VoiceInteractionSession APIs. Clearly document that finish() is not the same as hide(), always call hide() instead, and fix the finish() path to also always do a hide to make sure everything is cleaned up correctly. Change-Id: I962d4069fcb34fe89547a95d395ae1b9fa3b4148
ssistContent.aidl
ssistContent.java
ssistStructure.aidl
ssistStructure.java
|