I'm still attempting to root cause, but this is a potential fix. I
suspect the callback is getting registerd on a looper that isn't the
main looper which is then getting killed at some point. This change
will make all legacy callbacks happen on the main looper, which should
prevent the state.
bug:17420281
Change-Id: Ia78e694b32b24398d3c09f49d12632755ef45597
Add a hidden version of playSoundEffect that takes a userId to
get the correct setting as to whether sound effects should play
or not.
Bug: 15106706
Change-Id: I5c0b74081fd00732a43fe42a76d33d05197333d0
+ Rename from Handle to Address.
+ Rename from SubscriptionNumber to SubscriptionAddress.
+ Store the subscription address as a Uri.
Bug: 17390175
Bug: 17329632
Change-Id: I67514d89f0e7c81f74bef352df7a55cc422d1c71
Cache in ActivityThread means this still doesn't make sure we will
get an ApplicationInfo for the user being requested. So reverting.
This reverts commit 4a3b8aa08d743b28d53b327597abf03a925641f2.
Bug:17002733
Change-Id: Ie40eb31c4074cea09de3d6a41fe38b14e00eb059
For restore use-case, session creation needs to complete quickly, so
delay ASEC allocation until session is opened. When preflighting
size checks, only consider external when we have a known size for the
container. Also relax size checks when using MODE_INHERIT_EXISTING
on external, since we don't know how much of existing app will be
copied over.
Consider session as "active" while commit is ongoing, until we're
either finished or pending user interaction.
Always publish first client needle movement away from 0. Use 25% of
internal progress to reflect ASEC allocation.
Avoid CloseGuard messages about leaking PFDs.
Bug: 17405741, 17402982
Change-Id: I6247a1d335d26621549c701c4c4575a8d16ef8c2
- New TextToSpeechService methods are no longer protected.
- s/getRequiresNetworkConnection/isNetworkConnectionRequired
- New TextToSpeec#play.. methods use a Bundle instead of a HashMap
- New synthesizeToFile(), addSpeech(), addEarcon() methods
take a File instead of a String with filepath.
- TextToSpeechService#s/isValidVoiceName/onIsValidVoiceName
Bug:17389935,17253934
Change-Id: Iec76f59015c34104683c050fe1ff1ceccd604134
This is a follow up CL for Ia8cbb9f6b41cd9509fc0147fd68763dfde
and Ic8c6fab58c01206872a34e7ee604cdda1581364d.
BUG: 17365414
BUG: 17200900
Change-Id: Ib2371849d32bb44da9ef59f05e648a476e03699a
In touch exploration mode an accessibility service can move
accessibility focus in response to user gestures. In this case
when the user double-taps the system is sending down and up
events at the center of the acessibility focused view. This
works fine until the clicked view's center is covered by another
clickable view. In such a scenario the user thinks he is clicking
on one view but the click is handled by another. Terrible.
This change solves the problem of clicking on the wrong view
and also solves the problem of clicking on the wrong window.
The key idea is that when the system detects a double tap or
a double tap and hold it asks the accessibility focused node
(if such) to compute a point at which a click can be performed.
In respinse to that the node is asking the source view to
compute this.
If a view is partially covered by siblings or siblings of
predecessors that are clickable, the click point will be
properly computed to ensure the click occurs on the desired
view. The click point is also bounded in the interactive
part of the host window.
The current approach has rare edge cases that may produce false
positives or false negatives. For example, a portion of the
view may be covered by an interactive descendant of a
predecessor, which we do not compute (we check only siblings of
predecessors). Also a view may be handling raw touch events
instead of registering click listeners, which we cannot compute.
Despite these limitations this approach will work most of the
time and it is a huge improvement over just blindly sending
the down and up events in the center of the view.
Note that the additional computational complexity is incurred
only when the user wants to click on the accessibility focused
view which is very a rare event and this is a good tradeoff.
bug:15696993
Change-Id: I85927a77d6c24f7550b0d5f9f762722a8230830f
- add the noInternetAccess field
- add stats about user triggered wifi state disabling requests
- Wifi SSID can change even though we don't loose connection, hence it must be looked at with each Network State Change
Bug:17348200
Change-Id: Ic956e11e7d61faf472a7332f84a46a746922455a
This CL introduces CursorAnchorInfo.FLAG_IS_RTL for better
RTL support. This CL also renames *CharacterRect() with
*CharacterBounds() so that they can look more consistent
with other existing APIs.
Rationale:
CursorAnchorInfo.FLAG_IS_RTL addresses following issues.
1. There is no way to associate the RTL information with
the insertion marker.
2. Returning mirrored (right < left) RectF for RTL in
CursorAnchorInfo#getCharacterRect() is turned out
to be bug-prone. Such usage of RectF is not fully
supported. For example, RectF#isEmpty() always returns
false when right < left.
3. There is no reliable to provide the RTL information
when CursorAnchorInfo#getCharacterRect() returns an
empty (right == left) RectF. Perhaps we could use +0.0
and -0.0, but I'm afraid that it is also bug-prone.
BUG: 17365414
BUG: 17335734
Change-Id: Ic8c6fab58c01206872a34e7ee604cdda1581364d