When the display state is DOZE or DOZE_SUSPEND, assume this means
that the AP may go to sleep at any time so hold a wake lock for
a little while starting when traversals are scheduled to ensure
that the AP remains awake long enough to draw and post the frame
to the display hardware.
This patch is somewhat approximate but should be good enough for
most devices today.
Note that the implementation uses the window manager to ensure that
the window which wants to draw is actually visible before acquiring
the wake lock. There is a cost to this test (a round-trip) which
should not be significant today since we do not expect apps to draw
more than one frame or two while dozing. However, if we wanted to
support animations in general, we might want to optimize it or
eliminate the check altogether (since we can already account for
the app's use of the wake lock).
Another way to implement this functionality might be for the view
hierarchy to listen for the power manager to report that it has entered
a non-interactive power state before deciding to poke draw locks.
This would be somewhat more accurate than watching the display state.
Also, the draw lock timeout logic could be implemented more directly
instead of using an ordinary timed wake lock.
Bug: 18284212
Change-Id: I84b341c678303e8b7481bd1620e634fe82cc4350
1. Some dynamic ids weren't created and resulted in ResourceNotFound
exceptions.
2. Prevent NPE if a style attribute (eg. style="?attr/foo"), which
cannot be resolved, is resolved. This effectively, also results in
making it harder to catch misconfigured themes. However, support
library does it, and we don't want to throw errors when the library is
working as intended.
Change-Id: I731d8fb9209eb72b464d235d1072d416e132970b
The tests search for a built sdk using some heuristics. The default path
of the built sdk has changed now, and this updates the search
accordingly.
Change-Id: I36d465d8c5f6cfd971bbdf95878fb144de233c6c
When the tests are run on the build server, they are run from the jar,
as opposed to the extracted build, which is default when run from an
IDE. Thus, when class.getResourceAsStream() is called with ".." in the
path, it is not resolved properly. This change explicitly resolves the
relative path, so that the test is run properly on the server.
Change-Id: Ib5fabd617dca4052220e5173a8bf4fb4234254ff
The LayoutLib rendering tests now compares the rendered image with a
golden file from a previous execution. This will help catch any
unexpected changes in the final rendering.
Change-Id: I80251a778e89df7d7ec13863a8f299967f3d747d
The original change wasn't properly merged into lmp-mr1-dev because of
merge conflicts. This change manually resolves the conflicts. The main
reason for the conflict was that TimePickerSpinnerDelegate was swapped
with TimePickerClockDelegate.
This change also fixes the typo in the original change which was fixed
in a subsequent change.
Original commit: 12b6d29b7b5592dcfb6e6fd6f0c21a40f37d014a
fix for typo: cb09bc45c58740af953874f9915306d351fc3d9d
Change-Id: I50bf8c2d86318f632465a38adfad16d1382a9319
1. Return AccessibilityManager service from context.
2. Don't throw an exception if no style specifited in
obtainStyledAttributes. Specifying no style is valid and it's supposed
to use the default theme in that case.
Bug: http://b.android.com/82712 and http://b.android.com/79218
Change-Id: Iba7097f36996e4d6f1e9db778dc73294f2854c79