RegisteredServicesCache is used to track account authenticators and
sync adapters, which can vary based on user. This change requires
that callers now provide a userId when making cache requests. It
continues persisting into a single file for now, which is keyed based
on UID.
It now watches for package broadcasts from all users, and scans
packages on-demand. It changes cache callers to provide a relevant
userId, and evicts cache entries when users are stopped.
Changes SyncManager to only work with accounts from running users,
only kicking off pending syncs once a user is started.
Bug: 7276595, 7316150
Change-Id: I79466a84aa69aa37e4bd9691c5d6221d3662ff29
1. An app showing an action mode with a visible item that decides to move this item
to the overflow menu cannot do so since the action menu is not updated properly.
Specifically, ActionMenuPresenter does not clear the "is action button" property
of a menu item neither requires nor requests an action button, i.e. the item's
"show as action" property changed to be never shown on the action bar.
bug:7319766
Change-Id: I5cfda6269466fafca1f039a3bab6397392ae9f17
...phase & callback API
I realized there were a few things wrong with what was there. The new
ACTION_USER_STARTING was not being sent for the first user at boot, and
there was an existing problem where ACTION_USER_STARTED was sent every
time there was a user switch.
Also improved some debug output of broadcasts to make it easier to see
what is going on in this stuff, and better reporting of why a service
couldn't be started.
Change-Id: Id8a536defbbad1f73d94a37d13762436b822fbe3
...running as the foreground user
Add UserManager.isUserRunning() which is the public version of the
existing method on ActivityManager.
Also add UserManager.isUserRunningOrStopping() since that seems like
it will be useful.
And fix the internal function that returns the array of currently
running users to not include stopped users.
Change-Id: I84672fa8748fc027fd402729586b5603f640e498
1. If a view is clickable or long clickable perfroming the corresponding
accessiblity action should return true no matter whether there is a
registered on click/long click listener. Currently true is returned
only if there is a listener but it is also possible that a sub-class
overrides performClick and does work there. For example CompoundButton.
Now if the view is clickable or long clickable we will call the
perfrom* method and return true, which is we clicked.
2. Fixed some JavaDoc indentation.
bug:7318777
Change-Id: Id603fee378b8f7d07f1128b5641ede57640bab53
The AudioService now tracks the shutter sound enforcement status, in
addition to the existing approach. Check with it when doing shutter
sound operations.
Bug: 7032634
Change-Id: Ief855d3a36ca5679832cf439f5638b10f70b8636
LocationManagerService now keeps track of the current user ID and
denies location requests made by all but the foreground user.
Additionally, location settings are now user-specific, rather than
global to the device. Location provider services now run as specific
users, and when the device's foreground user changes, we rebind to
appropriately-owned providers.
Bug: 6926385
Bug: 7247203
Change-Id: I346074959e96e52bcc77eeb188dffe322b690879
...to fix background->shutdown delivery race
Add ACTION_STOPPING and ACTION_STARTING to allow such apps to keep track of
which users are started/stopped, and be involved in the process of stopping
a user.
Also get rid of the scale part of the wallpaper transitions, since it seems
like I have still failed at getting the user switch to wait until the new
wallpaper is displayed.
Change-Id: If7e8fdae3544a9d7987a1b9274dc8b49022f6f62
There was a workaround used in a previous release where we effectively
ignored cancel events to work around another bug. This change removes
the workaround and GlowPadView correctly handles the event.
Bug 6903638
Change-Id: I9b510985c6da346a4e10cf2535267c8d5efa5871
Generate <p dir="rtl"> instead of <p dir=rtl>. The form with the quotes
is cleaner and will reduce warnings in apps that consume the output.
Change-Id: Ic9879c8c882c42079598b741e897a24415d96374
Bug: 7086881
Load resources for the correct user.
Also clean up package monitoring and locking.
Added dump method to SearchManagerService.
Sneaking in a change to make crash dialogs visible to current user.
Change-Id: Id56dd15428d66084de995e28be242db27c15fda3
The new attribute allows an Activity such as the alarm to appear
on all users screens.
Bug: 7213805 fixed.
Change-Id: If7866b13d88c04af07debc69e0e875d0adc6050a
Load user information for the current user and display in quick
settings tile. Name is pulled from the contacts DB from the "Me"
profile, which will override the raw name on the system user if
needed.
Open the user switcher on the lock screen if this tile is clicked and
there is more than one user registered on the system. If there is only
one user, show the "Me" quick contact card.
Darken the background protection behind the user's name on the QS tile
layout so that it's readable against very light profile pic
backgrounds.
Bug 7175023
Bug 7257997
Change-Id: Ia1e7dd7af72dbd49113a827f9228e0a32e20a0dc
7296314 Crashing dreams are stuck
7296510 Transition from lock screen to dreaming is really bad
The window layer for dreams is now moved down below the keyguard,
so that some of the expected stuff like crash and ANR dialogs can
be seen on top of them. While doing this, I reorganized how we
define the layers so the constants are just in the switch statement,
so it is much less crazy-making trying to read how things go
together.
We now have some special cases for when a dream is being shown
to turn off its animation if the keyguard is currently shown.
Since we know it will be hiding the keyguard we need it to be
shown immediately so that you don't see whatever is behind it.
Cleaned up some handling of when the lock screen is displayed
while a FLAG_SHOW_WHEN_LOCKED window is displayed, so that the
lockscreen doesn't transiently get shown and mess up the fullscreen
or system UI state. This also fixes problems with any normal
activity that is doing this.
Hid the methods on DreamService for setting lights out mode. It
doesn't make sense to have such methods on DreamService, because
you can just as well do that on your own View that is showing the
dream content, and when you can do that you can fully participate
in the (required) interactions about it such as being told when
the mode goes away.
The DreamService method for going fullscreen now uses the window
flag for doing this, which is what you want, because you want this
state to persistent on that window and not get knocked out if
something above the window tickles the system UI state.
Also fixed the problem where dreams that hid the status bar would
have a jerky animation when going away, since they were causing the
activity behind them to be layed out without the lock screen. This
is a kind-of ugly special case in the window manager right now to
just not layout windows that are behind a dream. Good enough for MR1.
Change-Id: Ied2ab86ae068b1db0ff5973882f6d17b515edbcd
1. If an app naither reattaches nor removes detached view that has
accessibility focus, an exception in the drawing of accessibility
focus occurs since we are trying to compute the focused rect by
offseting the bounds of the focused view in coords of the root
but the focused one is not attached.
bug:7297191
Change-Id: Ib69d52e474b8ea365754f5311f5e809bd757dd1a
1. There was a path for removing a view without clearing its accessibility focus.
Then when we try to draw the focused rectangle we get an exception since the
accessibility focused view is not attached to the view tree when computing
the location of the rectangel to draw.
bug:7297191
Change-Id: I81e3c35e830e27cf95e73accb665629d0c456afb
Created a new flag that indicates that a window should be shown
to all users. For the flag to be valid the owner of the window
must have system permissions.
Also separated system window types into those that show to all
users (e.g. StatusBar, Keyguard, ....) and those that appear only
to the owning users (e.g. Drag, ANR, TOAST, ...). Those that appear
only to their owner can override their default behavior using
the new flag (e.g. LowBattery).
Fixes bug 7211965.
Change-Id: I1fdca25d57b7b523f0c7f8bceb819af656c388d4