History log of /frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
29cd7f19625a2a2a8528469e55f3aa495107b9e7 08-Jan-2015 Dianne Hackborn <hackbod@google.com> Fix issue #18827122: system server crashed on broadcasting...

...an intent with invalid or null package uri

Also tweak battery stats to record in the history when we shut
down, to understand when restarts are due to clean shutdowns or
crashes.

Change-Id: I6443dafc23e356be9f569906f6081152d4f92d2b
/frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java
da0b16825466b9b23c24e1bc2a567afa8e690ec7 21-Nov-2014 Amith Yamasani <yamasani@google.com> Fix parsing bug that affects reading back guest restrictions

Now it remembers guest default restrictions across reboots.

Bug: 18477780
Change-Id: I3a2c0d47825c8fcfc69edf791ddd6329e23ee04b
/frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java
6eb093909c5711f2482952e3d85dab66bad234c3 15-Nov-2014 Jeff Sharkey <jsharkey@android.com> Prevent user ID reuse until after reboot.

We're still seeing rare cases where a device struggles to create a
new user, probably because of a subtle bug in the FUSE daemon. To
work around this, only allow user IDs reuse after reboot.

Bug: 8302014
Change-Id: Id7f9fb539c6d6d1ff3d47d941af1d9e6b93eca03
/frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java
aa6634eaca707f7cbf5f5a1d75b90d8d775d254b 06-Oct-2014 Amith Yamasani <yamasani@google.com> Set the default user restrictions to disallow calling and sms

When creating a user via the UI, disallow phone calls and SMS by
default. Primary user must explicitly enable it via Settings.

Bug: 17832802
Change-Id: I18cad4be8493ddc8890b5d90da2df256cb3f1ec9
/frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java
f58e532e015ef31d879ee51aeeb251349784717c 11-Sep-2014 Amith Yamasani <yamasani@google.com> Merge "Apply cross-user restrictions to Shell" into lmp-dev
8cd28b57ed732656d002d97879e15c5695b54fff 09-Jun-2014 Amith Yamasani <yamasani@google.com> Apply cross-user restrictions to Shell

Even though Shell user is allowed to perform cross-user actions,
lock that path down if the target user has restrictions imposed by
the profile owner device admin that prevents access via adb.

If the profile owner has imposed DISALLOW_DEBUGGING_FEATURES, don't
allow the shell user to make the following types of calls:
start activities, make service calls, access content providers,
send broadcasts, block/unblock packages, clear user data, etc.

Bug: 15086577
Change-Id: I9669fc165953076f786ed51cbc17d20d6fa995c3
/frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java
732edf098fe9728238bf3b69a3b3cfcb221edf35 10-Sep-2014 Adam Lesinski <adamlesinski@google.com> Merge changes I79ba54d7,I224fb4b6 into lmp-dev

* changes:
Make UsageStats API default on only for the system
ActivityManager shouldn't return null for getCurrentUser
26af829fd70609cf073b56e54e1f78faf83a5e8b 09-Sep-2014 Amith Yamasani <yamasani@google.com> User restriction to disallow outgoing NFC beam

This can be controlled by MDMs via DPM.

Also fixes:
- javadoc for restrictions
- persisting of cross profile copy/paste restriction

Bug: 17387303
Change-Id: Ie148f56189181d2a4c6345c0823d417ab13a94a3
/frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java
eddeb49a734a524347587e7654025c489fb6331e 09-Sep-2014 Adam Lesinski <adamlesinski@google.com> ActivityManager shouldn't return null for getCurrentUser

There was a race where ActivityManager would return null
for getCurrentUser() when switching between guest accounts.
This is because the Guest account was marked for deletion
while it was still active.

Bug:17290209

Change-Id: I224fb4b6836380e5acb7dbeb8f3343d74505f88a
/frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java
1df1473008c24487701c5bc15f39ed9f9697f421 30-Aug-2014 Amith Yamasani <yamasani@google.com> Make it possible to remove current user

Due to the async nature of switching users, it's not possible to
switch and remove immediately. So mark the switch target user as
soon as the user switch is requested, so that a remove will proceed
without failing at stopUserLocked().

Also, fix a similar problem with deleting the current guest and
switching to a new guest. It was attempting to remove the current
user which will result in a failed stopping of the user.
Added a way to mark the current guest
for deletion so that a new one can be created, switched to and the
old one deleted. If runtime fails, old guest is already marked for
deletion and will be cleaned up on restart.

Bug: 17321533
Change-Id: I4be0fb956227e0bb95588b5b1f2867fb1e655c0d
/frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java
dda003ffa84f986bfaba4344124eafa533f5039d 29-Aug-2014 Amith Yamasani <yamasani@google.com> Clean up apks installed for a removed user

When a user is removed, enumerate through all installed packages
to see if any of them are not installed for any user. Delete the
package if no user has it "installed".

Added a pm option to install an apk for a specific user.

Fixed a crash in UserManagerService when executing the above
cleanup - dying users generate a null UserInfo.

Bug: 15426024
Change-Id: I571decde1ae1c257d0da6db153b896aad6d6bcb4
/frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java
e084039dd29f63f6e56c91615bc0da6d638c6ea9 27-Aug-2014 Amith Yamasani <yamasani@google.com> Fix incorrect reading of multichoice app restrictions

Clear the list of choices values before putting new ones in.

Bug: 17299310
Change-Id: I01051d1703adcbdd7d0b5fb4ee423404f98489e8
/frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java
95ab7849444125387dc88088bb5197ee463d8c17 12-Aug-2014 Amith Yamasani <yamasani@google.com> Decouple user limit from guest creation

Allow Guest to be created even if there are N users.
Allow N users to be created even if there are N-1 users
and a Guest.
Limit number of guests and managed profiles that can
be added.

Added unit tests.

Bug: 15934700
Change-Id: I1a8f0fa38a91d71ef7b2980e05c974244dfc337a
/frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java
e5bcff624fb58b6f95be8ddff7f5b6b3bf5d19c7 20-Jul-2014 Amith Yamasani <yamasani@google.com> Rename setApplicationBlocked to setApplicationHidden

This corrects the expected behavior of the app state. Hidden apps
can be installed by the store to be brought out of hidden state.

Bug: 16191518
Change-Id: Id128ce971ceee99ba1dea14ba07ce03bd8d77335
/frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java
390989da1967f9d385212cd2e22a50589ce69046 17-Jul-2014 Amith Yamasani <yamasani@google.com> Split telephony restrictions into outgoing calls and sms

DISALLOW_TELEPHONY renamed to DISALLOW_OUTGOING_CALLS and introduced
DISALLOW_SMS.

Outgoing emergency calls should always be permitted.

Change-Id: I0a38ef6e2df9dcf62d16fd93622ad61f4327614f
/frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java
d21b2181390fb96e3a0742be9b985a52d4de2d2c 17-Jul-2014 Kenny Guy <kennyguy@google.com> Allow app restrictions for uninstalled packages.

Stop cleaning up app restrictions for packages
that aren't installed.
Remove app restriction file if restrictions is
set to an empty or null bundle.
All user types may now have restrictions if a
profile or device owner is present.

Bug: 15565914
Change-Id: I55f38ca0ad7794b9fc2967113973dc035a416558
/frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java
70fcf0c75fee68873a2f1abfe26c8afd669c51ba 11-Jul-2014 Amith Yamasani <yamasani@google.com> Fix apparent delay in removing a managed profile

Bug: 15268575

When returning the list of profiles, don't include dying users.

Change-Id: Ifeaed5c7c2b93922cddea22057dd890a1b3750fc
/frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java
9a944532af0f07d8b916556d229c21d3eda91a59 08-Jul-2014 Jason Monk <jmonk@google.com> Fix UserManagerService.setUserIcon throwing expt.

setUserIcon sends a broadcast that requires INTERACT_ACROSS_USERS.
Since the function directly checks MANAGE_USERS permission, added
a clear calling identity.

Alternative solution would be to make function check for one of
INTERACT_ACROSS_USERS permissions before performing any actions.

Change-Id: Ibbf27d4e188d059671024e4bb62f92a2daea3661
/frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java
1c7c319bb89b9988bfd12afc3e8d89449fd163fc 26-Jun-2014 Jason Monk <jmonk@google.com> User restriction for disallowing window creation

Block any types of windows that could by used by apps to create
views on top of a locked app. This can be used by device admins
in conjunction with lock task mode.

Added a way for system (and priv apps) to bypass user restrictions
for specified op codes.

Bug: 15279535
Change-Id: I2381530ef6226a5bb32a99bb4030baafb39bf564
/frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java
e4afaa3a3d7c2885b82fe43f51bcf04e036f7462 30-Jun-2014 Amith Yamasani <yamasani@google.com> Store and retrieve default Guest settings

Save the default guest restrictions for use when a guest is created.

Bug: 15761405
Change-Id: I28db7d823944b0b47527a4909c10cc856c842a62
/frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java
37271629b5bcf54858d6b4c4f5dbde6e85614d79 30-Jun-2014 Julia Reynolds <juliacr@google.com> Merge "If DISALLOW_REMOVE_USER is enabled, UserManager.removeUser should not remove users."
75175025f8d727d9841308fa0afcb9a7a1a118cd 26-Jun-2014 Julia Reynolds <juliacr@google.com> If DISALLOW_ADD_USER is enabled, do not allow users to be created.

Bug: 15910634
Change-Id: I7e14bf7d71001f218402a5d90e2aadc54fcfd875
/frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java
4ac5f85482de4f1845b21567ec510d79878552cd 23-Jun-2014 Julia Reynolds <juliacr@google.com> If DISALLOW_REMOVE_USER is enabled, UserManager.removeUser should not remove users.

Bug: 15834711
Change-Id: I8048c971401fe3216a6e92aae1c961a3aee02dde
/frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java
88cc346d0602e0b173b5076cd0051120682da601 14-May-2014 Nicolas Prevot <nprevot@google.com> Show the icon of the personal space.

In an intent disambiguation dialog from a managed profile,
when the intent can be forwarded to the personal space:
show the icon of the parent next to "Personal apps".
And put it at the bottom of the dialog.

Change-Id: I523222aac5dde9653e784eb26cf23cdaf018b86c
/frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java
36fbc8d6453da438a8ab83352ff1bcfcba5f25b5 18-Jun-2014 Julia Reynolds <juliacr@google.com> Rename apps User Restriction.

Change-Id: I9f81a6b94ba06b593e7213967df51c7cb30a7b31
/frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java
17c9d69d7018c62d9d08ceecc6218df6704832dd 13-Jun-2014 Kenny Guy <kennyguy@google.com> Don't remove a user already being removed.

Check if UserManager is already removing
a user before starting to remove it.

Bug: 15583858
Change-Id: If9763e9b47355d9ae35cc621367c74725029aa90
/frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java
1e9c21871e81642669079cd290ef47818a3165bd 12-Jun-2014 Amith Yamasani <yamasani@google.com> Guest user first iteration

Setting for controlling if guest is enabled on the device.
Setting to hint to apps that they should skip showing first use clings.

User switcher handles creation and deletion of the guest user.
Some tweaks to the user switcher to show some feedback and make the icons
circular.

Change-Id: I187dc381d2ee7c372ec6d35e14aa9ea4dfbe5936
/frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java
d4b584ea7f6da5c06b7ba9b1ea75428dcc5fe7b2 09-Jun-2014 Adam Connors <adamconnors@google.com> Api review: Make ACTION_MANAGED_PROFILE_REMOVED registered only.

And update the javadoc to explain use-case.

Bug: 15025562
Change-Id: I8eb2666c8480f873e042687223b1a1f82e7919c9
/frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java
5b5aa4072fb58aea47f523c724878c579adae294 02-Jun-2014 Amith Yamasani <yamasani@google.com> Handle saving and restoring ints in application restrictions

Unit tests for restrictions types and proper escaping.

Change-Id: Iac35521faf5798398a89fecbad82fcdd256a4146
/frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java
ee58b4f44d1c2ecd94e9b39fe74b70b28c859c1a 23-May-2014 Kenny Guy <kennyguy@google.com> Fix bug with removeUser assuming it is called from system uid.

This causes adb shell pm remove-user to fail.

Bug: 15160176
Change-Id: If1ff61dbde90f930d32affd87f935b318df813df
/frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java
9f6c25f57e26f3e2f9c744547a139d14b7d3db5c 16-May-2014 Amith Yamasani <yamasani@google.com> Per-user telephony restrictions

Allow profile owners or administrators of restricted profiles
to restrict access to telephony features such as calling and
texting for a user.

Change-Id: I89f97608c07c647ad8a7b43fef9d1e6bc4a84e95
/frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java
f584f014dbb281727fccfea10bc9c2539a752f17 20-May-2014 Amith Yamasani <yamasani@google.com> Allow adding a user while still removing other users

When at the user limit, removing and adding a user causes a race
condition where the deleted user is still being removed and adding
another one fails.

This change excludes deleted users from the counting to compare
against the limit.

Also fix an ArrayIndexOutOfBounds recently introduced in AppOpsService.

Bug: 13282768
Change-Id: Ib79659e7604396583a280dbbc560b288a6d9051c
/frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java
8974f2490992b2921b636c0b65ebeb5b19dda89b 16-May-2014 Jason Monk <jmonk@google.com> Merge "Notify AppOpsService of UserRestrictions and Owners"
62062996dd256df8b575b2ba1f0bf97109c4e0ba 06-May-2014 Jason Monk <jmonk@google.com> Notify AppOpsService of UserRestrictions and Owners

This makes the DevicePolicyManagerService and UserManagerService
push the DeviceOwner/ProfileOwners and user restrictions on boot
as well as on any change.

This also adds a list of restrictions that allow any op to connected with
a user restriction such that it will return MODE_IGNORED when the user
restriction is present (except for the device/profile owner).

Change-Id: Id8a9591d8f04fe5ecebd95750d9010afc0cd786c
/frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java
f8d3a232e8df65aa75545963ee0ccf753b2d8fb9 15-May-2014 Kenny Guy <kennyguy@google.com> Send profile removed intent earlier so launchers updates.

This sends the profile removed intent when the user has
been disabled.

Bug: 14981942
Change-Id: I32ab9c68ca53ec3aac0c930c0bbf93da7ff5b479
/frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java
be81c800ae6216e30b6008b4c73172b36531c405 22-Apr-2014 Jessica Hummel <jhummel@google.com> Add api for getting the parent of a profile.

Change-Id: Ife59665cdf6531a118d74def864c8cfc92c92a42
/frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java
394a6cdd987fed79bd040f39e2d3e47d4484bab4 07-May-2014 Emily Bernier <ember@google.com> New user restrictions for EDU

New user restrictions will allow schools to prevent students from 1) using
device microphones, 2) adjusting device volume, and 3) mounting physical
external media.

Change-Id: Ib2fcb7ce8fbc489a25d2c97a122b2124012a9e3c
/frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java
d46d0f9dcd72dfaa93a57d07d896def6ce53bbae 23-Apr-2014 Julia Reynolds <juliacr@google.com> Add new EDU user restrictions.

Change-Id: I6aad10466d99cda6be378c72025df686fe665071
/frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java
7b66ed588525d2d79ef0df8b3024bae138d8681d 14-Apr-2014 Adam Connors <adamconnors@google.com> Send ACTION_MANAGED_PROFILE_REMOVED broadcast.

When the managed profile is removed, this new intent
is used to inform the rest of the system.

Change-Id: I1748bed0a7ee0122f69d5c78235a79f8e205efec
/frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java
df35d570ed25257c6782e632ab1bae5e1603855a 09-Apr-2014 Alexandra Gherghina <alexgherghina@google.com> Adds an enabled state in UserInfo instead of DevicePolicyManager

Bug: 14377459
Change-Id: Ib4ec43d87da96c3dddaf9b7ae1796f261863a182
/frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java
be46532c9fbebf3ab6498c1b78013a33f620cd31 24-Apr-2014 Amith Yamasani <yamasani@google.com> Allow profile owners to set user restrictions

Pass the setting along to UserManager.

Fixes a security exception when fetching the profile's enabled state.

Change-Id: If71698cf32c52cce1158cf2027443a339bc58488
/frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java
385124d8cee38dee00d4fac31e8fbe46fb30565b 03-Apr-2014 Alexandra Gherghina <alexgherghina@google.com> Modify getUserProfiles to return only enabled profiles:

Add a new enabled state for a managed profile.
Expose that as a new API on DevicePolicyManager.
Set the new state when enabling the profile.
Return only enabled profiles from the user manager.

Bug: 13755441
Bug: 13755091
Change-Id: I2907b182e19b3562592da688b3f68ef5f4088557
/frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java
7a2b4d11c741de8b78570c0e11f49deb165e35da 23-Apr-2014 Emily Bernier <ember@google.com> Allow device or profile owner app to modify user restrictions.

Currently this is gated on being a system or root app with the
MANAGE_USERS permission; third-party MDM apps set as device or profile
owner should have this ability as well.

Bug: 13585295

Change-Id: I61d21b13b9ec66fc0cb497ec2007ee732461d448
/frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java
66e5d96cf9e689148b202787bdc269519c4b6f8f 09-Apr-2014 Robin Lee <rgl@google.com> Allow ProfileOwner apps to manage app restrictions

Simple wrapper around the UserManager.{get|set}ApplicationRestrictions
APIs. Also added a new Intent to signal to running apps that the set
of restrictions has changed since startup.

Change-Id: Ifd108108a73f87325b499d9de2e1b2aacc59b264
/frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java
4f58263d02f296430a9653126d28501e95c7bb6c 19-Feb-2014 Amith Yamasani <yamasani@google.com> Launcher APIs and broadcasts for managed profiles

UserManager
- Corp badging
- Querying list of managed profiles

Launcher API
- LauncherApps and Service to proxy changes in managed profile
to the launcher in the primary profile
- Querying and launching launchable apps across profiles

Change-Id: Id8f7b4201afdfb5f414d04156d7b81300119289e
/frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java
2a764949c943681a4d25a17a0b203a0127a4a486 02-Apr-2014 Kenny Guy <kennyguy@google.com> Rename related users to profiles.

Rename the related user concept as profiles.
When returning profiles of a user include the
user as a profile of itself.

Change-Id: Id5d4f29017b7ca6844632ce643f10331ad733e1d
/frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java
10ad98223fd1fabb7b893de55d1384fd012aed7b 17-Mar-2014 Dianne Hackborn <hackbod@google.com> Start enforcing explicit intents for Context.bindService()

No longer prints a warning, now throws an exception.

Also fix a bug in UserManagerService that was causing an
exception while booting.

Change-Id: I3b43cfe08067da840b6850b9bed58664d36d34f1
/frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java
c6d033ed11f3b6b73f2650c56827ed0427411e9e 27-Feb-2014 Nicolas Prevot <nprevot@google.com> Correcting a deadlock in CreateRelatedUser

A deadlock sometimes happened in CreateRelatedUser of UserManagerService.
A lock was kept when it should have been released.

Change-Id: I15444c0b5d0d5d1e14e7bf29c2115aa954b7dfc0
/frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java
a52dc3eb40777b055c0ca8d7885bd2c9577bcd1a 11-Feb-2014 Kenny Guy <kennyguy@google.com> Add concepts of related users and managed profiles to user manager.

Related users are a group that will share things like notifications.
Managed profiles are a profile of another user.

Change-Id: I2d0532f1abf939810f0fa3fc7c77ad13fa567833
/frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java
9158825f9c41869689d6b1786d7c7aa8bdd524ce 22-Nov-2013 Amith Yamasani <yamasani@google.com> Move some system services to separate directories

Refactored the directory structure so that services can be optionally
excluded. This is step 1. Will be followed by another change that makes
it possible to remove services from the build.

Change-Id: Ideacedfd34b5e213217ad3ff4ebb21c4a8e73f85
/frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java