Both animations and drawing need to march to the beat of
the same drum, but the animation system doesn't know
abgout the view system and vice-versa so neither one
can drive the other.
We introduce the Choreographer as a drummer to keep
everyone in time and ensure a magnificent performance.
This patch enabled VSync based animations and drawing by
default. Two system properties are provided for testing
purposes to control the behavior.
"debug.choreographer.vsync": Enables vsync based animation
timing. Defaults to true. When false, animations are
timed by posting delayed messages to a message queue in
the same way they used to be before this patch.
"debug.choreographer.animdraw": Enables the use of the animation
timer to drive drawing such that drawing is synchronized with
animations (in other words, with vsync or the timing loop).
Defaults to true. When false, layout traversals and drawing
are posted to the message queue for execution without any delay or
synchronization in the same way they used to be before this patch.
Stubbed out part of the layoutlib animation code because it
depends on the old timing loop (opened bug 5712395)
Change-Id: I186d9518648e89bc3e809e393e9a9148bbbecc4d
do one at a time for devices that don't have much RAM as
defined by the call ActivityManager.isLargeRAM()
Bug: 5713224
Change-Id: Ic8c42103f4031e1d7b1db797edcbbd7f7bac1387
By default we do not speak passwords if the user has no headset. However,
many users find this too restrictive and would like a way to enable
password announcement. While we cannot speak the passwords all the time
,to avoid leaking them, we expose a preference so each user can choose
the option that best works for him/her.
bug:5712607
Change-Id: I6eb0c40834abe5297f7dc74be02d180a5bef0174
The KeyBoardView shown by the lock screen is not marked as clickable even
though it handles clicks. TalkBack uses the clickability as a clue of what
to speak.
bug:5713102
Change-Id: I0733e30619e6045ce3f78e1499db65f4dc5bc388
* Use contractions.
* Use \u2026 instead of ... for ellipsis.
* Use straight quotes (for now that's the standard).
* Made the permission descriptions consistent.
* Use sentence case everywhere except for proper nouns.
* Notification messages need ending punctuation.
* Use "touch" instead of "tap".
* Use "choose" instead of "select", except when selecting text.
* Use "sign into" instead of "sign in to".
* Use "Do you want..." instead of "Would you like..."
* Autofill has only initial cap.
Also, please check this change I made to make the string more user-friendly:
<string name="gadget_host_error_inflating">Error inflating widget</string>
+ <string name="gadget_host_error_inflating">Couldn\'t add widget.</string>
Bug: 5163232
Bug: 5162328
Bug: 5162667
Change-Id: I6667171f3e3d089319c5acd59088c20ff69a845e
A few more edits caught by self-review.
Change-Id: I6667171f3e3d089319c5acd59088c20ff69a845e
Two edits flagged by reviewer.
Change-Id: I6667171f3e3d089319c5acd59088c20ff69a845e
...Background Replacement on Stingray
This is how I should have done it in the first place. We get the
new surface from the window manager, and then just copy it in to
the constant Surface object we have for the holder.
Change-Id: I537a9e413829a18f689dfb46687014676b27156e
Uses argument escaping inside NativeDaemonConnector, using varargs
to separate boundaries. Also introduces Command object to help build
argument lists.
Bug: 5472606
Change-Id: I357979fc19bb0171a056e690064e01b5a7119501
When the emulator is run without '-gpu on', GLES20 isn't supported,
so claiming GLES20Canvas is available will lead to catastrophic
failure. This change makes GLES20Canvas available when compiled in
and either not running on the emulator, or running on the emulator
with native GL acceleration enabled.
Change-Id: I89c944f9e3c9585224f5aa0877335ea48ea4a468
This change simplifies the code associated with receiving input
events from input channels and makes it more robust. It also
does a better job of ensuring that input events are properly
recycled (sometimes we dropped them on the floor).
This change also adds a sequence number to all events, which is
handy for determining whether we are looking at the same event or a
new one, particularly when events are recycled.
Change-Id: I4ebd88f73b5f77f3e150778cd550e7f91956aac2