Commit Graph

9666 Commits

Author SHA1 Message Date
Felipe Leme
4711ed9f9f Replaced getUrl() by getWebDomain().
Bug: 37566507
Test: CtsAssistTestCases pass

Change-Id: I1b4dfa7259040b3b8bf1014ebb806eb7a3b36c58
2017-04-24 09:43:08 -07:00
Abodunrinwa Toki
85ae12aee1 Hide TextClassifier.getLinks API.
Test: none
Bug: 37565246
Change-Id: I275a9d055ef0ab68f3ca339c37ee939257c4bd54
2017-04-21 17:39:23 +01:00
Abodunrinwa Toki
8557802248 Hide TextClassificationManager.detectLanguages API
Test: bit FrameworksCoreTests:android.view.textclassifier.TextClassificationManagerTest
Bug: 37562190
Change-Id: Ibc1b7f61a8c5c8109de70e9026434c91a3ea655c
2017-04-21 16:25:13 +01:00
TreeHugger Robot
5cb3d6bea3 Merge "Correctly compute visible views" into oc-dev 2017-04-21 05:15:40 +00:00
TreeHugger Robot
56879000d9 Merge "fix KeyEvent can't correctly finish when inputmethod time out happend" into oc-dev 2017-04-21 02:36:10 +00:00
TreeHugger Robot
dbc020983d Merge "Fixed NPE on dump() and other minor fixes..." into oc-dev 2017-04-21 01:20:23 +00:00
Phil Weaver
4a5ea54710 Merge "Hide API to listen to a11y service state" into oc-dev 2017-04-21 00:11:08 +00:00
Philip P. Moltmann
e0e287170e Correctly compute visible views
addToSet needs the same set as parameters as it returns. Otherwise the
returned set it overrridden.

In this case only the last visible view was added as the set was
overriden with the invisible views.

Test: CtsAutoFillTestCases
Fixes: 37550229
Change-Id: I80e16cbd8a1af83373d7ea7b0f84a7c4d157119f
2017-04-20 16:57:36 -07:00
TreeHugger Robot
b8305e9186 Merge "Added missing important-for-autofill mappings." into oc-dev 2017-04-20 23:43:38 +00:00
Felipe Leme
49e96960d4 Fixed NPE on dump() and other minor fixes...
Bug: 36871500
Test: manual verification
Change-Id: I1c3a8406344280da37b728eae56f26447c48e0b2
2017-04-20 15:53:06 -07:00
TreeHugger Robot
f4af35a5fe Merge "Moved getAutofillOptions() logic from SpinnerAbs to AdapterView and Adapter." into oc-dev 2017-04-20 17:25:19 +00:00
Felipe Leme
5a791c8584 Added missing important-for-autofill mappings.
Bug: 36171235
Test: m update-api
Change-Id: I7bbbe7a323110c89976cab3e4f5c8f4acba407d7
2017-04-20 08:26:14 -07:00
Phil Weaver
5d25f429bf Merge "Make a11y clickable span work after node recycle" into oc-dev 2017-04-20 14:51:43 +00:00
gaoshang
863ad2f89d fix KeyEvent can't correctly finish when inputmethod time out happend
Symptom: If inputmethod handle an KeyEvent time out ,
Did not finish this event correctly , eventually lead to app ANR
Root Cause: without seq number when obtainMessage MSG_TIMEOUT_INPUT_EVENT
Solution: add seq parameter

Test: Input
Test: InputMethod
Bug: 28635475

Change-Id: I3a2b964b34aa57267bd777305200a2bfdc66f65c
Signed-off-by: gaoshang <gaoshang@xiaomi.com>
2017-04-20 15:22:13 +01:00
Abodunrinwa Toki
fa9d889d3e Merge "TRON: Log "textAssist" actions." into oc-dev 2017-04-20 13:08:52 +00:00
Phil Weaver
4cab9308fc Hide API to listen to a11y service state
Hiding and adding the requested return value, so if we
later decide to unhide it we'll be up to snuff for API
review.

Bug: 35764675
Test: Verified that the two features that listen, a11y
volume and the accessibility button on the nav bar, work
properly. Also ran accessibility CTS.
Merged-In: I47b62f2b4fd1ea4a7e697d20a3bb2c3201f6bcce
Change-Id: I4df6164772eb01b4f988c201f46c788eb7124511
2017-04-19 16:19:53 -07:00
Jiaquan He
85cee7ab38 Opt out default focus highlight for TV.
Test: Checked that the default focus highlight doesn't show on TV.
Bug: 37160940
Change-Id: Id3719ce1aa602ba6792cc94c9fa034670509cda0
2017-04-19 21:14:05 +00:00
Abodunrinwa Toki
54486c16ba TRON: Log "textAssist" actions.
- Logs when the assist menu item appears in the text selection menu.
- Logs when the assist menu item is selected.
- Logs the the type of the assist menu item that was presented.

Test: Manually tested by looking at the logs. See: go/tron-howto
Bug: 32572232
Change-Id: Ibbbf59423b3f510ab6f2f072962a556c3d6e2f65
2017-04-19 22:10:51 +01:00
Phil Weaver
23161e7170 Make a11y clickable span work after node recycle
Services recycle nodes when gathering possible actions
for users to take. It's very confusing for them if they
can't recycle the node without breaking their ability
to activate a clickable span inside it.

Making ClickableSpans used for accessibility independent
of their parent nodes.

Also adjusting the value used for invalid window ids to
come from AccessibilityWindowInfo. I must have missed this
in an earlier cleanup. I needed the value for the spans,
so I figured I might as well use the correct one.

Bug: 37004527
Test: Now recycling the node in the a11y cts test.
Change-Id: I6de4e98a182dd43c4fcd0430a3c082fcc8e458c7
2017-04-19 14:08:34 -07:00
Evan Rosky
4ab21012a7 Merge "Improve ViewDebug reporting for focus properties" into oc-dev 2017-04-19 19:50:30 +00:00
TreeHugger Robot
ef0512a87a Merge "TextClassifierImpl: Fix empty locale list issue." into oc-dev 2017-04-19 19:20:43 +00:00
Evan Rosky
f4c31bf67b Merge "Handle edge-case where no focusables exist" into oc-dev 2017-04-19 18:08:29 +00:00
Abodunrinwa Toki
a2df6e5415 TextClassifierImpl: Fix empty locale list issue.
Test: bit FrameworksCoreTests:android.view.textclassifier.TextClassificationManagerTest
Bug: 37289966
Change-Id: Ib822f2cc2fbaeb67dcc06e1f9fea306ee1c8c9ef
2017-04-19 13:52:12 +01:00
Felipe Leme
fe1bddfbb5 Merge "Some Autofill API changes." into oc-dev 2017-04-19 05:05:48 +00:00
TreeHugger Robot
9cd92959e6 Merge "Fix for SurfaceView out of a view hierarchy" into oc-dev 2017-04-19 03:17:50 +00:00
TreeHugger Robot
42775f2a89 Merge "Add a way to read the last AutofillSelection." into oc-dev 2017-04-19 02:43:08 +00:00
Felipe Leme
e5f9c30688 Some Autofill API changes.
- Added View.IMPORTANT_FOR_AUTOFILL_YES_INCLUDE_DESCENDANTS
- Added View.IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS
- Added FillResponse.Builder.setIgnoredIds()
- Fixed javadoc links.

These changes are not implemented yet....

Bug: 37424141
Bug: 36171235
Test: m update-api

Change-Id: I604960443ab08cd3f2a84a70b0a2cece7cb0a00c
2017-04-18 19:27:58 -07:00
Philip P. Moltmann
cc684ed41f 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
2017-04-18 16:59:40 -07:00
Evan Rosky
7906d47f69 Merge "Ignore nested keyboard navigation clusters" into oc-dev 2017-04-18 22:54:08 +00:00
Evan Rosky
5b860719a3 Handle edge-case where no focusables exist
cluster navigation was previously crashing if there was
nothing focusable..

Bug: 37438383
Test: Added CTS: ContentPaneFocusTest#testNoFocusablesInContent
      Ran against support-v7-demos Toolbar demos to verify
      crash didn't occur

Change-Id: Ia1382cec138a948d080aeded4d38735983df2152
2017-04-18 15:49:43 -07:00
Felipe Leme
7e4c205d8f 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
2017-04-18 15:36:04 -07:00
Lucas Dupin
0c207340b9 Fix for SurfaceView out of a view hierarchy
At most of the time, developers rely on GLSurfaceView to manage
the OpenGL lifecycle. This means that a SurfaceView might not
always have a ViewRootImpl.

Test: select timelapse wallpaper and set it.
Bug: 37363390
Change-Id: I3cdb1ec2a6e91cfad65fd823a7436f0010c0859c
2017-04-18 10:01:34 -07:00
TreeHugger Robot
eef5d285f9 Merge "Account for content insets in source rect hint for transition into PiP" into oc-dev 2017-04-18 01:33:28 +00:00
TreeHugger Robot
eb9fb8e0d0 Merge "A new power button mode to hide the IME when shown" into oc-dev 2017-04-18 01:13:04 +00:00
TreeHugger Robot
c2627353c4 Merge "Tightening up rotation behavior for PIP (3/3)" into oc-dev 2017-04-17 23:50:27 +00:00
Yohei Yukawa
d6475a682d A new power button mode to hide the IME when shown
As discussed in Bug 33038203 on certain platforms there is a demand
that the power button can change the behavior depending on whether an
IME window is shown on the screen or not.  The behavior requested here
can be summarized into two parts:

  * Hide the IME window if it is shown [1]
  * Go to the home screen if no IME window is shown

This CL implements the above request by introducing a new config mode
for config_shortPressOnPowerBehavior.  Note the definition of when an
IME is shown is often tricky than people would expect.  The way this
CL is implemented is to propagate IME window state from
InputMethodManagerService (IMMS) to PhoneWindowManager via
WindowManagerService regarding when the back button on the NavBar for
phones/tablets should be shown as an IME dismiss key [2].

 [1]: Even with this CL the IME still is allowed to ignore the request
      to hide the software keyboard. Currently there is no official
      protocol to forcefully hide the software keyboard.  How to deal
      with such a situation is a long standing TODO task.
 [2]: Internally this is controlled by the following IMMS fields:
       - InputMethodManagerService#mImeWindowVis
       - InputMethodManagerService#mBackDisposition
      Note that those fields rely on self-report from the IME.  To be
      precise, the base implementation of InputMethodService is
      responsible for report back its internal state to IMMS when
      necessary.  The important point is that, although this could
      allow a malicious IME to confuse the system UI to some extent,
      supporting malicious IMEs is not clearly a goal of Android.
      Anyway, the definition of when an IME is shown is a kind of
      hot topic in several system services recently.  Hopefully we
      can come up with better definition and reliable mechanism in
      a future release.

Fixes: 33824860
Test: Manually verified as follows
       1. Change config_shortPressOnPowerBehavior to "5"
       2. Rebuilt the OS image and flash it to the device
       3. Make sure that the power button works like a home button
          if software keyboard is not shown.
       4. Open dialer and focus in to the text field shown on top
       5. Make sure that the AOSP keyboard is shown.
       6. Run 'adb shell dumpsys input_method' to observe the
          following line:
            mImeWindowVis=Active|Visible
       7. Tap the power button to make sure that the AOSP keyboard
          gets dismissed.
       8. Tap the power button again to make sure that it works
          as if a home button.
Test: Manually tested as follows
       1. Open dialer and focus in to the text field to show an IME
       2. Run 'adb shell dumpsys window policy' to make sure
            mDismissImeOnBackKeyPressed=true
       3. Tap the back button to dismiss the IME
       4. Run 'adb shell dumpsys window policy' to make sure
            mDismissImeOnBackKeyPressed=false
Change-Id: I20721547c73360a70b5fc5cbe06824d577d1768a
2017-04-17 23:22:56 +00:00
Winson Chung
8802eac3d8 Account for content insets in source rect hint for transition into PiP
- As a part of transitioning into PiP, we remove the content insets, and
  as a result, we also need to adjust the source hint rect for the change
  in insets as well.

Bug: 37418994
Test: Enter PiP from YT, ensure no jump at the end

Change-Id: I74219b05c91d3c8b8466dd8fff4d6dd692f08725
2017-04-17 16:11:28 -07:00
Winson Chung
ef4dc81d50 Tightening up rotation behavior for PIP (3/3)
- Fixing up edge case when SysUI resizing conflicts with updating the
  display rotation bounds.  When an interaction causes both a display
  rotation and a resize from SystemUI, we should defer the resize animation
  until the rotation has been propagated to SystemUI, otherwise the bounds
  used will be incorrect.

Bug: 36879891
Test: android.server.cts.ActivityManagerPinnedStackTests
Change-Id: Ife1b7ab0c2f1f11f33cbc9614778ff49a28c79f6
2017-04-17 14:49:31 -07:00
Philip P. Moltmann
494c3f5da2 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
2017-04-16 21:36:25 -07:00
Svetoslav Ganov
41200eac71 Merge "Add support for multiple fill contexts" into oc-dev 2017-04-15 03:29:13 +00:00
TreeHugger Robot
e61d56fb70 Merge "Support flagNoPersonalizedLearning in layout XML" into oc-dev 2017-04-15 01:44:37 +00:00
TreeHugger Robot
a05f1fdd93 Merge "Remove autofillMode attribute" into oc-dev 2017-04-15 00:50:51 +00:00
Svet Ganov
013efe173e Add support for multiple fill contexts
When saving data filled by the user the platform provides to
an autofill provider the state of the UI allowing the provider
to interpret this state and store relevant information.

A limitation of the current design is that the fill provider
needs to interpret the screen content twice, once handling a
fill request and once handling a save request. To address this
we are introducing a id for each fill request allowing the
autofill provider to associate arbitrary state with each fill
request and store it in the client data bundle later passed
to save.

Another limitation of the current design is that if the screen
changes dynamically while the user interacts with the app the
UI state passed on save represents a static snapshot, therefore
it is not possible to the autofill provider to determine the
context in which the data in the UI was filled. We could
keep the views and have deltas for views being removed/added
/moved/changed but this is not enough as the fill provider
needs to know not only what changed but what changed for every
fill request and in one session there could be multiple fill
requests. To address this we provide a list of fill contexts
on save each of which has the id of the corresponding fill
request. This allows the fill provider to know the exact context
in which the data was popuplated and also use its custom client
state for this fill request if desired.

This change deprecates the old APIs and the new ones delegate
to the old ones. Once the clients migrate to the new APIs we
will remove the old ones.

Test: all autofill CTS tests pass

Change-Id: Idcebcc671aa3c078a305d8c358e225274fccc588
2017-04-14 17:37:31 -07:00
Philip P. Moltmann
44a4336027 Remove autofillMode attribute
Bug: 36171235
Test: CtsAutoFillServiceTestCases
Change-Id: I69f0e1c4fa3c68f73049726e7ae8f10d9d81bf5e
2017-04-14 14:35:14 -07:00
Yohei Yukawa
d91860d9ce Support flagNoPersonalizedLearning in layout XML
In my previous CL [1] a new flag IME_FLAG_NO_PERSONALIZED_LEARNING
was added for EditorInfo.imeOptions.  What was missed in the
previous CL is that new flag definition for layout XML and as a
result currently IME_FLAG_NO_PERSONALIZED_LEARNING is the only
IME option flag that cannot be specified in layout XML.

For instance, EditorInfo.IME_FLAG_FORCE_ASCII can be specified as
follows.

 <EditText
     android:id="@+id/edittext_force_ascii"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:imeOptions="actionSend|flagForceAscii" />

With this CL, application developers can specify
IME_FLAG_NO_PERSONALIZED_LEARNING as follows.

 <EditText
     android:id="@+id/edittext_no_personalized_learning"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:imeOptions="actionSend|flagNoPersonalizedLearning" />

 [1]: Ibf5ac3d2b8f39542baf2635c0cadbe242b059f81
      5959af13d0

Bug: 28157942
Fixes: 37305520
Test: bit CtsWidgetTestCases:android.widget.cts.TextViewTest
Change-Id: Ifca0b13bf336cdc609af820aadcdb1b45ca1d5ba
2017-04-14 13:46:37 -07:00
Philip P. Moltmann
e048a65639 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
2017-04-14 12:50:03 -07:00
TreeHugger Robot
7c8ab2651b Merge "Remove unnecessary casts on calls to findViewById" into oc-dev 2017-04-14 16:56:28 +00:00
Alan Viverette
51efddbd3b Remove unnecessary casts on calls to findViewById
Just frameworks/ this time. More paths to come.

Bug: 24137209
Test: make -j32
Change-Id: Iff27abd26fa43296ac2fff8f534fc6742d2ae80c
2017-04-14 11:15:50 -04:00
Andrii Kulian
c66b6ff997 Merge "Hide flag SHOW_WITH_INSECURE_KEYGUARD" into oc-dev 2017-04-14 05:05:25 +00:00
TreeHugger Robot
249c4d709a Merge "Allow custom buttons in autofill UI" into oc-dev 2017-04-14 04:22:10 +00:00