Only create UserState objects when a user has been unlocked, meaning
we can connect to the spooler. Ignore package events that occur
while a user is locked, since we'll kick off updateIfNeededLocked()
when that user is eventually unlocked.
In all other cases, throw if someone tries obtaining UserState for
a still-locked user. This should help catch any edge cases in the
system, and communicate clearly through public APIs that printing
isn't available until the user is unlocked.
Bug: 26246836
Change-Id: If15744621890baee206d355484fe20933afc65d8
Only parse and load AppWidget configuration details after a user has
been unlocked. Yell loudly if someone accidentally tries loading
data for a locked user.
Tidy up protected broadcast logic a bit more to handle persistent
processes. Add backwards compatible behavior for APPWIDGET_UPDATE
broadcast simliar to APPWIDGET_CONFIGURE, since some apps are sending
it to themselves.
Add hidden USER_HANDLE extra to a handful of broadcasts to make
logic more consistent.
Bug: 26247049, 26219971
Change-Id: I54e4f2e343488571f9baa1a316962f41186c1a2c
The current code works with a single display, because that display will
have id 0, so the old code will work (get(0) will return that display).
Bug: 26089885
Change-Id: If685c0ff006f353e6d56fd144acbce4d7f1e835b
Previously, the fixed size of 56dp would bump the landscape action bar
measured height up to 56dp but leave the minHeight at 48dp, which would
cause the buttons to be aligned incorrectly. Now the buttons are scaled
to fit the action bar.
Change-Id: I47801d1fb072d8801b7bbae5c42be3bdfb819404
If the file doesn't exist, database can be kept in memory. It's safe because
the database will be migrated and disposed of immediately after onCreate
finishes.
Bug: 26237300
Change-Id: Ib37c520f28960c8d6b9ce8dd719ffbcc11a97a58
The accessor methods have protection against the stack been
in a detached state. Reading the field directly can lead to
an NPE when the stack is detached.
Bug: 26209403
Change-Id: I66fc1871ea96504cf1bcbc72cae9b564d6527bce
- Implement a "VR mode" that may be enabled by a focused Activity.
- Add a system service that tracks the current VR mode state and notifies
other core framework services of mode changes.
- Extend NotificationListenerService to allow the bind/unbind lifecycle
of specified listeners to be triggered by system events.
Bug: 22855417
Bug: 25479708
Change-Id: I1ac8692bbb5521bb6c7cfb9d2b56b98b720f8568
We started adding noDisplay activities to source tasks to make the
resolver activity show up within the same task bounds as what caused it
to appear. However, in other cases it might cause to add a noDisplay
activity to a task in which we don't expect anything to appear, e.g.
home task when launching from home.
Bug: 26128908
Bug: 26023670
Change-Id: I2f64e82b3c3754cdbcb4cac3f907674344e67e04
Also adds final where the method was being called, adds Nullable
annotation to method, and updates docs.
Bug: 25985497
Change-Id: I847a8507f2e3970f1340cddf4abf8650dda22b35
If one of the signatures match the package signature the package is
considered valid. This makes it possible to match signatures in user
builds for both signed and unsigned builds.
Bug: 26220882
Change-Id: Ie2e7567bf518d4859d68b5fdf5b9833fcdaa7670
This CL moves layer calculation into a separate class, so the whole
logic can be encapsulated. It also extracts special cases from the
general loop and instead applies them at the end. This simplifies the
logic in the main algorithm and makes it clearer what needs to happen
for special cases.
Bug: 26144888
Change-Id: I87347bf0198bd0d3cd09e4231b4652ab979f2456