Commit Graph

9766 Commits

Author SHA1 Message Date
TreeHugger Robot
5fd8672d71 Merge "Couple autofill fixes." into oc-dev 2017-05-13 03:54:23 +00:00
Abodunrinwa Toki
ebd6bb561d Merge "TextClassifier: Ensure url scheme is in lowercase" into oc-dev 2017-05-12 22:50:54 +00:00
Felipe Leme
7a1deb7c5f Couple autofill fixes.
- Fixed PFLAG3_NOTIFY_AUTOFILL_ENTER_ON_LAYOUT value - it was overlapping with
PFLAG3_ASSIST_BLOCKED.
- Added missing permission on methods called by Shell command.
- Improved debugging.

Bug: 38173625

Test: android.autofillservice.cts.MultipleFragmentLoginTest#loginOnTwoFragments

Change-Id: Ie7880c97d38298e06134709c5c2e9e38fa1bacbb
2017-05-12 15:34:48 -07:00
TreeHugger Robot
4b91fe8699 Merge "Removed deprecated APIs." into oc-dev 2017-05-12 20:13:15 +00:00
TreeHugger Robot
1454afce82 Merge "Not specify return val of View#onSaveInstanceState" into oc-dev 2017-05-12 19:14:53 +00:00
Felipe Leme
73fedacfeb Removed deprecated APIs.
Test: CtsAutoFillServiceTestCases pass
Test: manual verification with existing service

Bug: 37563972

Change-Id: Ibea2810f9230f06e59d2d81e4ba853de54987956
2017-05-12 10:32:45 -07:00
Abodunrinwa Toki
86ef9827da TextClassifier: Ensure url scheme is in lowercase
packageManager.resolveActivity(intentWithUppercaseScheme, 0) returns null.
 This means we don't find an activity to handle the browser intent.
 Create a browser intent with url's scheme in lowercase instead.

Test: bit FrameworksCoreTests:android.view.textclassifier.TextClassificationManagerTest
Fixes: 36504599
Change-Id: Idb0c5b73d54cf77d5d6fb4ee0af4478ec11e8b82
2017-05-12 13:13:25 +01:00
TreeHugger Robot
6bf9b9a5f3 Merge "TRON: Count smart selection events." into oc-dev 2017-05-12 11:54:37 +00:00
Philip P. Moltmann
517bafa59d Not specify return val of View#onSaveInstanceState
.. as the comment was incorrect since a long time.

Bug: 37802299
Test: compiled
Change-Id: I10fe0b1c0f7f4ccaade38c87136a3785f2685798
2017-05-11 15:32:15 -07:00
Evan Rosky
f14aea9f8b Merge "Only save focus in keyboard navigation clusters when appropriate" into oc-dev 2017-05-11 22:26:18 +00:00
Abodunrinwa Toki
1d77557517 TRON: Count smart selection events.
Logs:
 - Smart selection occured
 - TextView menu item activated on smart selection
 - Smart selection reset
 - Smart selection modified

Test: Manually checked logging happens as per go/tron-howto and verified
nothing is broken in related classes by running:
bit FrameworksCoreTests:android.view.textclassifier.TextClassificationManagerTest
bit FrameworksCoreTests:android.widget.TextViewActivityTest

Bug: 32572232
Change-Id: Ia9081d92ae9aea50d863455be770eecd0c73be1a
2017-05-11 23:04:29 +01:00
TreeHugger Robot
a7af385208 Merge "Detect isVisibleToUser post layout" into oc-dev 2017-05-11 20:38:28 +00:00
Albert Chaulk
6c34dd58f6 Merge "Propagate UIDs for all SurfaceControl instances" into oc-dev 2017-05-11 15:19:28 +00:00
Derek Sollenberger
d70695ee34 Add an O-release targetAPI check for Canvas.setBitmap.
For apps targeting releases earlier than O setBitmap will attempt
to preserve the matrix from the previous bitmap.  It does not however
attempt to reconstruct the save/restore stack or the clip.

Test: manual test of messenger app referenced in the bug
Bug: 37589964
Change-Id: I67f0928a3f84a8be41da38ef1868e79bdeb03e46
2017-05-11 09:28:02 -04:00
Svet Ganov
68f583879f Detect isVisibleToUser post layout
Test: MiltipleFragmentsLogin test no longer fails.
      All auto fill CTS tests pass.

bug:38173625

Change-Id: I6e36229bc9517c7339c77cbc5f236e8399ef4283
2017-05-10 20:11:45 -07:00
TreeHugger Robot
ea60efa8ef Merge "Remove outdated security note from A11yEvent" into oc-dev 2017-05-11 02:27:19 +00:00
TreeHugger Robot
69a0f3f020 Merge "Clarify documentation for notification a11y events" into oc-dev 2017-05-11 01:57:08 +00:00
Albert Chaulk
e4338f843b Propagate UIDs for all SurfaceControl instances
Previously, a default value was being propagated for surfaces constructed
though paths other than WindowManagerService.createSurfaceControl. This
allows us to handle all surfaces in VR in a better way

Bug: 36589137
Test: Launch chrome (uses SurfaceView)
Change-Id: I8434c356ebe51173cae161ec1405e3d5f9a17723
2017-05-10 20:13:09 -04:00
Svet Ganov
374cae1e61 Properly position dataset picker UI
Test: all autofill CTS tests pass

bug:37958210
bug:37986800

Change-Id: Ic2cb3b8c6762a922bdb7c632e451772b7a006739
2017-05-10 23:38:51 +00:00
Svetoslav Ganov
a9379d0b44 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
2017-05-09 17:40:28 -07:00
Phil Weaver
33c7136dde Clarify documentation for notification a11y events
This javadoc was confusing the TalkBack team, so I've
clarified that these events can come from either a
notification or a toast. I also removed a note that I
found confusing and, as far as I could tell, was not
correct anyway.

Bug: 34851364
Test: Docs changes only. Relying on TreeHugger.
Change-Id: Ie5c6efd6e32ce1e33f8cc45c795cda7d7b2e6583
2017-05-09 16:17:02 -07:00
Rob Carr
3630fd4e11 Merge "SurfaceView: Release Surface with SurfaceControl." into oc-dev 2017-05-09 15:49:29 +00:00
Phil Weaver
8d25b77e4c Merge "NumberPicker a11y (and a11y-inspired) fixes" into oc-dev 2017-05-09 15:36:00 +00:00
Phil Weaver
64d6e3e11d Merge "Fix crash in a11y cache" into oc-dev 2017-05-09 15:30:30 +00:00
TreeHugger Robot
9f028643c2 Merge "Fix left/top in ViewNode for suppressed parents" into oc-dev 2017-05-09 02:15:43 +00:00
TreeHugger Robot
f512575c68 Merge changes I7c2c9411,Ibc72c84d,Ib3968644 into oc-dev
* changes:
  No need to deal with windowTokens
  Persistable accessibility ID from ContextWrappers
  Check callbacks when operting on UI
2017-05-09 01:49:58 +00:00
Philip P. Moltmann
f51b5f991c Merge "Read the autofill highlight from rootView context" into oc-dev 2017-05-08 23:06:31 +00:00
TreeHugger Robot
f0de5cdd9a Merge "Also check if view visible to user before engaging fill" into oc-dev 2017-05-08 21:10:53 +00:00
Philip P. Moltmann
134cee27b8 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
2017-05-08 14:02:58 -07:00
Philip P. Moltmann
ff6d6d9492 Persistable accessibility ID from ContextWrappers
Only IDs beyond LAST_APP_ACCESSIBILITY_ID can be reliably used for
autofilling. Other ids might change occasionally.

All Views attached to activities get usable IDs. Hence if a
ContextWrapper wraps an activity forward the goodness.

Also make sure that we don't accidentially autofill an unsafe view.

Test: Before the messaging handed out unusable Ids because it uses a
      Contextwrapper. Now it hands out good ideas (accoring to dumpsys)
      CtsAutoFillServiceTestCases
Bug: 38070352
Change-Id: Ibc72c84d77197019939abd231e8960988af7a592
2017-05-08 13:29:17 -07:00
Robert Carr
de84443489 SurfaceView: Release Surface with SurfaceControl.
Not so drastic as we were releasing the Server side resources
anyway but the close guard is producing a strict mode warning.

Bug: 35955183
Test: cts-tradefed run cts -m CtsViewTestCases -t android.view.cts.SurfaceViewTest#surfaceInvalidatedWhileDetaching
Change-Id: Id250fff8d001d5d82458af1a732c0e123f925dad
2017-05-08 12:12:30 -07:00
Svet Ganov
01e1a62997 Also check if view visible to user before engaging fill
Test: autofill CTS tests pass 

bug:37753348

Change-Id: Ia16bff13f2cfdf1d315e3f45cc114ee13b145eb5
2017-05-08 19:11:05 +00:00
Philip P. Moltmann
e926aad53d Fix left/top in ViewNode for suppressed parents
If parents of a view got suppressed in the autofill structure the left
and top value are not relative to their direct parents anymore. They
need to be relative to the next non-suppressed parent.

This does not change any values for assist structures.

Fixes: 36060132, 37444334
Test: CtsAutoFillServiceTestCases + new ones that check for the left and
      top parameters of view nodes.
Change-Id: I914ad028c7ed2f93ce44210cbe1a2a710673cbbb
2017-05-06 12:29:10 -07:00
Phil Weaver
2a86bad94c Merge "Properly translate text locations to screen coords" into oc-dev 2017-05-06 15:29:24 +00:00
Philip P. Moltmann
c368a240c9 Report less data in structure to autofill provider
Fixes: 35899963
Test: CtsAutoFillServiceTestCases, CtsAccessibilityTestCases,
      CtsAccessibilityServiceTestCases
Change-Id: Ia7dba3e252e7678c033d67bcf653e592f3134304
2017-05-05 14:20:11 -07:00
Phil Weaver
6c617f0a93 Properly translate text locations to screen coords
Using the same method as getBoundsInScreen.

Bug: 35095925
Test: Manually verified location with test app, ran a11y cts
Change-Id: I1eee2a4eb23912698be61c9030d92bbade1d743a
2017-05-05 14:19:58 -07:00
TreeHugger Robot
6dcae2b91f Merge "Reject smart selection if outside original selection." into oc-dev 2017-05-05 20:29:33 +00:00
TreeHugger Robot
dc4fc1ebc2 Merge "TextClassifier: Remove debug logs." into oc-dev 2017-05-05 17:49:43 +00:00
Abodunrinwa Toki
b416297433 Reject smart selection if outside original selection.
- The aim is to be defensive and prefer to reject a selection if
  it is likely to be wrong.

Test: bit FrameworksCoreTests:android.view.textclassifier.TextClassificationManagerTest
Bug: 38019270
Change-Id: I35ebc84fb102373949366296434a31d899edfef3
2017-05-05 18:07:17 +01:00
Phil Weaver
1bcb43fc28 Remove outdated security note from A11yEvent
The note that passwords are hidden from a11y services
has led to researchers demonstrating the many ways that
they can be scraped. Remove the security note so we aren't
making a promise that we can't keep.

Bug: 38004070
Test: Comment change only, so relying on TH
Change-Id: I257f282aba7542af7543b96eb09b4f898b1a3f06
2017-05-04 17:07:54 -07:00
Philip P. Moltmann
de97af1b6c Read the autofill highlight from rootView context
Fixes: 37792810
Test: CtsAutoFillServiceTestCases
      CtsUiRenderingTestCases:.testclasses.AutofillHighlightTests
Change-Id: Idb843d90f8abb591ba6845ab713745b0eafc4a92
2017-05-04 15:57:44 -07:00
Phil Weaver
61a1fabab6 Fix crash in a11y cache
Caused by bad data from an app where a node was its own ancestor.
When the node changed, the copy in the cache was recycled while
flushing the descendants. Now recovering more gracefully.

Bug: 37674439
Test: Adding a unit test for this case, ran a11y cts and unit tests,
verified that the app reporting bad data no longer crashes TalkBack.
Change-Id: I10bc9df2b4821529334a19aa27719c1510187690
2017-05-03 17:33:43 -07:00
Siyamed Sinir
5073b91236 Merge "Don't copy NoCopySpans for assist and autofill" into oc-dev 2017-05-04 00:27:31 +00:00
TreeHugger Robot
246cc5bf51 Merge "Removed deprecated ViewStructure.setUrl() method." into oc-dev 2017-05-03 23:16:15 +00:00
Abodunrinwa Toki
15644eff8d TextClassifier: Remove debug logs.
Test: bit FrameworksCoreTests:android.view.textclassifier.TextClassificationManagerTest
Bug: 34778895
Change-Id: I1478fe1a2849b1d4661a71ecbf9a27f38430ee28
2017-05-03 21:10:20 +01:00
TreeHugger Robot
3baad0234b Merge "TextClassifier: Append http:// to url intents that need one." into oc-dev 2017-05-03 18:49:19 +00:00
Abodunrinwa Toki
70d41cd792 TextClassifier: Append http:// to url intents that need one.
Test: bit FrameworksCoreTests:android.view.textclassifier.TextClassificationManagerTest
Bug: 36504599
Change-Id: I5008225a6a3df2d8e07e4a9ae0e340a6582f9e7b
2017-05-02 22:12:33 +01:00
Evan Rosky
3b213ed438 Merge "Don't focus search user-specified views which are invisible" into oc-dev 2017-05-02 20:54:12 +00:00
Felipe Leme
a8fce3b29e 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
2017-05-02 13:33:07 -07:00
Felipe Leme
61b7f12172 Removed deprecated ViewStructure.setUrl() method.
Fixes: 37623568
Test: CtsAutoFillServiceTestCases pass
Test: CtsAssistTestCases pass

Change-Id: I13cdf08f40ba3db31ddb3f104f99b7ab8839bd01
2017-05-02 10:58:42 -07:00