Commit Graph

829 Commits

Author SHA1 Message Date
Dianne Hackborn
3c30494d44 am 572286b4: am 31af905a: am 36db9d08: Merge "Further work on issue #7307399: Framework needs a new pre-user-shutdown..." into jb-mr1-dev
* commit '572286b4152245a73ac00ebc69b4bd8fc4bc586d':
  Further work on issue #7307399: Framework needs a new pre-user-shutdown...
2012-10-09 19:17:09 -07:00
Dianne Hackborn
c0bd747b06 Further work on issue #7307399: Framework needs a new pre-user-shutdown...
...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
2012-10-09 17:57:14 -07:00
Dianne Hackborn
96a739737f am 7beb70a9: am e5456645: am 840590dd: Merge "Fix issue #7311376: Add API to allow apps to know if they are..." into jb-mr1-dev
* commit '7beb70a94af2ce29b4184fd7927bba93d90cf878':
  Fix issue #7311376: Add API to allow apps to know if they are...
2012-10-09 17:53:13 -07:00
Dianne Hackborn
a8a9bd65bf Fix issue #7311376: Add API to allow apps to know if they are...
...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
2012-10-09 17:00:31 -07:00
Dianne Hackborn
94feaa3b3b am a4c88ee9: am 1b94df8a: am 4efbab48: Merge "Framework side of issue #7302511: GCM client needs to use new framework API..." into jb-mr1-dev
* commit 'a4c88ee991e452d0adbc3a5f1bcdc00a68afcc77':
  Framework side of issue #7302511: GCM client needs to use new framework API...
2012-10-08 16:22:17 -07:00
Dianne Hackborn
36d337adff Framework side of issue #7302511: GCM client needs to use new framework API...
...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
2012-10-08 14:33:47 -07:00
Craig Mautner
8565363126 am 337aa27a: am 8ee7ac22: am 33877e15: Merge "Adds showWhenLocked attribute to Activities." into jb-mr1-dev
* commit '337aa27a6307e0f40705ee676551dda4bf6cb894':
  Adds showWhenLocked attribute to Activities.
2012-10-07 11:55:58 -07:00
Craig Mautner
33877e15b8 Merge "Adds showWhenLocked attribute to Activities." into jb-mr1-dev 2012-10-07 11:48:50 -07:00
Craig Mautner
5962b12bed Adds showWhenLocked attribute to Activities.
The new attribute allows an Activity such as the alarm to appear
on all users screens.

Bug: 7213805 fixed.
Change-Id: If7866b13d88c04af07debc69e0e875d0adc6050a
2012-10-06 13:09:58 -07:00
Adam Cohen
c5bbd1c6a5 am 451d49b3: am a39c5c36: am 327424d6: Merge "Plumbing to allow keyguard to be shown with user switcher (issue 7175023)" into jb-mr1-dev
* commit '451d49b34c8399a3479ca96addcc11857b6afb3e':
  Plumbing to allow keyguard to be shown with user switcher (issue 7175023)
2012-10-04 18:08:36 -07:00
Adam Cohen
f752202bee Plumbing to allow keyguard to be shown with user switcher (issue 7175023)
-> Also reduced calls to lockNow, and moved this call in ActivityManagerService

Change-Id: I9ba34ca902f7c0f71fa4ec302104688ca8d11f55
2012-10-04 17:53:01 -07:00
Dianne Hackborn
8f5a94d938 am a718bc86: am 7df202e2: am 8a229195: Merge "Fix issue #6968859: home not exiting an ANR\'d dream" into jb-mr1-dev
* commit 'a718bc863aafd21a2bc7240974ca2a51d6af92cf':
  Fix issue #6968859: home not exiting an ANR'd dream
2012-10-04 12:48:13 -07:00
Dianne Hackborn
5fe7e2a304 Fix issue #6968859: home not exiting an ANR'd dream
Add a new call to the activity manager for the input dispatcher
to report about any pid having an ANR.  This has a new feature
where it can also tell the activity manager that it is above the
system alert layer, so the activity manager can pop its ANR dialog
on top of everything if it needs to.  (Normally we don't want
these dialogs appearing on top of the lock screen.)

Also fixed some debugging stuff here and there that was useful
as I was working on this -- windows now very clearly include
their uid, various system dialogs now have titles so you know
what they are in the window manager, etc.

Change-Id: Ib8f5d29a5572542cc506e6d338599ab64088ce4e
2012-10-04 12:04:58 -07:00
Dianne Hackborn
2e0b54f61f am ebe28f51: am 30b07b50: am 6f354ed9: Merge "Fix issue #7226101: Secure image capture takes 5 seconds to start" into jb-mr1-dev
* commit 'ebe28f519cfa637c8bca78e08428977a8390c1fd':
  Fix issue #7226101: Secure image capture takes 5 seconds to start
2012-10-01 18:24:59 -07:00
Dianne Hackborn
6f354ed999 Merge "Fix issue #7226101: Secure image capture takes 5 seconds to start" into jb-mr1-dev 2012-10-01 17:46:27 -07:00
Dianne Hackborn
cc5a055613 Fix issue #7226101: Secure image capture takes 5 seconds to start
Mostly (turned off) debug output.  Main fix is to resume the next
activity if we are pausing while sleeping and the top activity is
not the now pausing activity.  Also helped things by fixing a problem
where removing a task would leave around dead destroy timeout
messages.

Change-Id: I9d550c216b4d7e2afe3d93553bb680cec41e2ed1
2012-10-01 16:32:39 -07:00
Amith Yamasani
e0fb0ba7c5 am b45ab722: am 30655e03: am b525c3cf: Merge "Fix broadcast to a specific user" into jb-mr1-dev
* commit 'b45ab722b7f42b47fd89c005610cc55399cd681e':
  Fix broadcast to a specific user
2012-10-01 13:48:38 -07:00
Amith Yamasani
e98bde011c Fix broadcast to a specific user
Bug: 7255777
Bug: 7263657

When userId is neither CURRENT nor ALL, the correct list of receivers
was not being built, due to a typo in ActivityManagerService;

Change-Id: Ib1dc627f0dbd1c91d02c718d2e4d2384ad687d1f
2012-10-01 11:30:47 -07:00
Dianne Hackborn
fe0d0f1d76 am fbbd0072: am 3ff8e1a8: Merge "Fix issue #7211769 and #7244492, thrash around on #7226656." into jb-mr1-dev
* commit 'fbbd0072ebb2cef61cf3b51712181c00b4f5ea54':
  Fix issue #7211769 and #7244492, thrash around on #7226656.
2012-09-28 16:19:44 -07:00
Dianne Hackborn
3ff8e1a800 Merge "Fix issue #7211769 and #7244492, thrash around on #7226656." into jb-mr1-dev 2012-09-28 15:54:44 -07:00
Dianne Hackborn
d4ac8d7b3d Fix issue #7211769 and #7244492, thrash around on #7226656.
Issue #7211769: Crash dialog from background user has non-working "report"

The report button now launches the issue reporter for the correct user.
Also for crashes on background users, either disable the report button,
or simply don't show the dialog depending on the build config.

Issue #7244492: Bugreport button in Quick Settings doesn't actually do anything

Now they do.

Issue #7226656: second user seeing primary user's apps

I haven't had any success at reproducing this.  I have tried to tighten up
the path where we create the user to ensure nothing could cause the
user's applications to be accessed before the user it fully created and thus
make them installed...  but I can't convince myself that is the actual problem.

Also tightened up the user switch code to use forground broadcasts for all
of the updates about the switch (since this is really a foreground operation),
added a facility to have BOOT_COMPELTED broadcasts not get launched for
secondary users and use that on a few key system receivers, fixed some debug
output.

Change-Id: Iadf8f8e4878a86def2e495e9d0dc40c4fb347021
2012-09-28 15:37:22 -07:00
Amith Yamasani
60a030e781 am ed7989e4: am 01996793: Merge "Remove user switcher from long-press power menu" into jb-mr1-dev
* commit 'ed7989e49fd2c668865b156cae5f5faa1603825a':
  Remove user switcher from long-press power menu
2012-09-28 11:13:17 -07:00
Amith Yamasani
bc4ba82335 Remove user switcher from long-press power menu
Bug: 7252218

Also lock the screen before doing the user switch. This prevents the
janky behavior of showing the target user's homescreen after the switch
and then the lock screen. This is also a privacy issue.

Change-Id: I9f8db047335d06fc93505d7b5cca71e27ca3ac39
2012-09-28 10:21:32 -07:00
Jeff Sharkey
b81c7bb932 am 65f4de10: am 3a8af8ef: Merge "Migrate more Secure settings to Global." into jb-mr1-dev
* commit '65f4de101fa8d5752603c6e79536c3a17f585490':
  Migrate more Secure settings to Global.
2012-09-28 00:36:41 -07:00
Jeff Sharkey
625239a054 Migrate more Secure settings to Global.
Migrate networking, storage, battery, DropBox, and PackageManager
related Secure settings to Global table.

Bug: 7232014, 7231331, 7231198
Change-Id: I772c2a9586a2f708c9db95622477f235064b8f4d
2012-09-27 16:22:53 -07:00
Dianne Hackborn
7e31a58e55 am ce56b399: am 2480bc12: Merge "Fix issue #7232952: Settings crash on tapping on Downloaded apps on a secondary user" into jb-mr1-dev
* commit 'ce56b399e1e71f97ec9830ad0973f44555c0fd4f':
  Fix issue #7232952: Settings crash on tapping on Downloaded apps on a secondary user
2012-09-27 00:57:09 -07:00
Dianne Hackborn
c7ba771a45 Fix issue #7232952: Settings crash on tapping on Downloaded apps on a secondary user
Also tweak bind flags for new location services so they
aren't put so aggressively up in the oom adj list.

Change-Id: I9da25a3fea7681013b4d95b7db7e9a808f2d733b
2012-09-26 23:22:59 -07:00
Dianne Hackborn
c14a9113c5 am e440f47d: am e5215730: Merge "Maybe fix issue #7211766: bindService() to User u0 While u10 is..." into jb-mr1-dev
* commit 'e440f47d95cefe02bc76d6b57d6e2b248b052f93':
  Maybe fix issue #7211766: bindService() to User u0 While u10 is...
2012-09-26 15:00:23 -07:00
Dianne Hackborn
b12e1354f2 Maybe fix issue #7211766: bindService() to User u0 While u10 is...
...Forground Sometimes Doesn't Take

The main change here is a one-liner in ActiveServices to check the
uid when deciding whether to remove an item from mPendingServices.
This could cause the problem being seen -- if the same service for
two users is starting at the same time, the second one would blow
away the pending start of the first one.  Unfortunately I have had
trouble reproducing the bug, so I don't know if this is actually
fixing it.  It's a bug, anyway.

The reason so much has changed here is because I spread around
logging and printing of the user ID associated with operations and
objects to make it easier to debug these kind of multi-user things.

Also includes some tweaks to the oom manager to allow more background
processes (I have seen many times in logs where we thrash through
processes because the LRU list is too short), plus to compensate an
additional time-based metric for when to get rid of background processes,
plus some new logic to try to help things like Chrome keep around
their service processes.

Change-Id: Icda77fb2a1dd349969e3ff2c8fff0f19b40b31d3
2012-09-26 14:50:12 -07:00
Jeff Brown
9da4d74477 am 876f95ed: am b32e2216: Merge changes I332f020f,I632648ac into jb-mr1-dev
* commit '876f95ed7f914b4d86634db552277f835d288805':
  Update references to migrated global settings.
  Handle user switched for settings changes.
2012-09-25 17:11:25 -07:00
Jeff Brown
bf6f6f9de7 Update references to migrated global settings.
Fixed one setting that was migrated but not marked deprecated.

Removed a hidden setting that is no longer used by the new
power manager service.

Bug: 7231172
Change-Id: I332f020f876a18d519a1a20598a172f1c98036f7
2012-09-25 15:27:51 -07:00
Amith Yamasani
95293865bd Fix build
Merge error...

Change-Id: I0e674ee25a080fa6abfaa9da893084d6b4fa69a6
2012-09-25 09:39:36 -07:00
Jean-Baptiste Queru
7951c459ae Merge into jb-mr1-dev
Change-Id: Ifc2328e30a52c2baebc1322c9b161104dcf21618
2012-09-25 09:36:32 -07:00
Amith Yamasani
16979eab19 Fix build
Merge error...

Change-Id: I0e674ee25a080fa6abfaa9da893084d6b4fa69a6
2012-09-24 18:14:47 -07:00
Amith Yamasani
8d8766bc78 Merge "AppInfo from Notifications for secondary users" into jb-mr1-dev 2012-09-24 17:43:18 -07:00
Amith Yamasani
ea7e91514e AppInfo from Notifications for secondary users
Required wiring up startActivitiesAsUser()

Bug: 7224950

Also fix a bug in navigateUp in secondary user

Change-Id: I114ae2de0457362d62e899fdb94b12239a3eb778
2012-09-24 17:19:03 -07:00
Dianne Hackborn
4c0f678284 Merge "Fix issue #7215984: java.lang.RuntimeException: Unable to create..." into jb-mr1-dev 2012-09-24 15:08:31 -07:00
Martijn Coenen
ed50c00653 Merge "Add NfcBarcode technology API." into jb-mr1-dev 2012-09-24 15:01:20 -07:00
Dianne Hackborn
139748fd72 Fix issue #7215984: java.lang.RuntimeException: Unable to create...
...service com.android.systemui.SystemUIService: java.lang.NullPointerException

- Don't acquire the activity manager lock in handleIncomingUser(),
  there is really no need to do so.
- Rework the settings provider client side cache code to not hold
  locks while calling into the provider.

I also changed the way the settings provider uses system properties
so that there is one property for all users.  We can't do one per
user, since the system property name space is limited with a fixed
size.  And we don't really need to do that; the worse that happens
by combining all users is that if one running user changes one of its
settings, all other running users will think they need to reload
settings when they go to fetch them next.

Change-Id: I13b90b832310d117eb6d721aacd122cfba7d749a
2012-09-24 14:15:14 -07:00
Dianne Hackborn
50cdf7c306 Fix issue #7214090: Need to be able to post notifications to all users
Also fix a bunch of system services that should be doing this.  And
while doing that, found I needed to fix PendingIntent to evaluate
USER_CURRENT at the point of sending, not creation.

Note that this may end up with us having some notification shown to
non-primary users that lead to settings UI that should only be for
the primary user (such as the vpn notification).  I'm not sure what
to do about this, maybe we need a different UI to come up there or
something, but showing the actual notification for those users at
least seems less broken than not telling them at all.

Change-Id: Iffc51e2d7c847e3d05064d292ab93937646a1ab7
2012-09-24 10:55:46 -07:00
Jeff Sharkey
5c7527ba15 am 8bc3cfa3: am 11820f73: Merge "Allow acquiring ContentProviders across users." into jb-mr1-dev
* commit '8bc3cfa3674217e967b64340bae6f6003f332e66':
  Allow acquiring ContentProviders across users.
2012-09-24 09:38:27 -07:00
Jeff Sharkey
6d51571835 Allow acquiring ContentProviders across users.
Otherwise services like SystemUI will always open content://-style
Uris as USER_OWNER.  Surfaces through createPackageContextAsUser()
which points all ContentResolver operations towards a given user.

Start using in RemoteViews, so that Notifications correctly resolve
image Uris to the sending user.  Also add user support for "content"
shell tool.

Bug: 7202982
Change-Id: I8cb7fb8a812e825bb0b5833799dba87055ff8699
2012-09-21 19:49:43 -07:00
Amith Yamasani
f16c559cff am e6a5c571: am 74defbf2: Merge "Query users excluding any being removed" into jb-mr1-dev
* commit 'e6a5c571c3bb174fe66d2f418070c549bc195c98':
  Query users excluding any being removed
2012-09-20 23:13:21 -07:00
Amith Yamasani
920ace0bbc Query users excluding any being removed
Keep track of user creation and last logged-in time.
adb shell dumpsys users
User switcher shouldn't show users about to be removed.
No need to check for singleton for activities.

Bug: 7194894
Change-Id: Ic9a59ea5bd544920479e191d1a1e8a77f8b6ddcf
2012-09-20 22:33:43 -07:00
Dianne Hackborn
febd9cb1af am b79d01ed: am 6de76d21: Merge "Implement multi-user PackageMonitor." into jb-mr1-dev
* commit 'b79d01edb29f1d047ce9adb3e1b90c308ddcb47c':
  Implement multi-user PackageMonitor.
2012-09-20 15:46:29 -07:00
Dianne Hackborn
c72fc674a3 Implement multi-user PackageMonitor.
New APIs let you indicate what user(s) to monitor, and tell you
what user is changing when receiving a callback.

Fix package manager to only deliver package brpadcasts to the
running users.  (This isn't really a change in behavior, since
the activity manager would not deliver to stopped users anyway).
Make sure all broadcasts that package monitor receives also include
user information for it to use.

Update wallpaper service to (hopefully) now Really Correctly
monitor package changes per user.

Change-Id: Idd952dd274abcaeab452277d9160d1ae62919aa0
2012-09-20 14:53:18 -07:00
Dianne Hackborn
4786223a08 am 7788b759: am 52716deb: Merge "Fix deadlock in LockPatternUtils by using local id." into jb-mr1-dev
* commit '7788b759726f4c3c004075ac5c5977f6e4c82fe0':
  Fix deadlock in LockPatternUtils by using local id.
2012-09-19 15:21:35 -07:00
Dianne Hackborn
79c8c7a4ff am 9b4d528d: am 09ad0832: Merge "Switch to showing top-most thumbnail of recent apps." into jb-mr1-dev
* commit '9b4d528d7edf3d55a925b79ab7ba7664a9cb7a5e':
  Switch to showing top-most thumbnail of recent apps.
2012-09-19 15:20:41 -07:00
Dianne Hackborn
52716deb40 Merge "Fix deadlock in LockPatternUtils by using local id." into jb-mr1-dev 2012-09-19 13:28:11 -07:00
Craig Mautner
f1b6741975 Fix deadlock in LockPatternUtils by using local id.
Activity manager now updates window manager's current user id
directly and immediately rather than waiting for a broadcast
update. Window manager passes this through policy to the
KeyguardViewMediator and into LockPatternUtils. LockPatternUtils
no longer goes to Activity to get the current user id if it finds
that its local id is non-default.

Fixes bug 7193726.

Change-Id: Id5613e7a9fe9e5b49e83c26b74504f587c3998c2
2012-09-19 13:18:29 -07:00