Merge "Changes PM so apps are not installed for pre-created users." into sc-v2-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
8d497c94c2
@@ -116,6 +116,7 @@ import com.android.server.pm.permission.LegacyPermissionState.PermissionState;
|
|||||||
import com.android.server.pm.verify.domain.DomainVerificationLegacySettings;
|
import com.android.server.pm.verify.domain.DomainVerificationLegacySettings;
|
||||||
import com.android.server.pm.verify.domain.DomainVerificationManagerInternal;
|
import com.android.server.pm.verify.domain.DomainVerificationManagerInternal;
|
||||||
import com.android.server.pm.verify.domain.DomainVerificationPersistence;
|
import com.android.server.pm.verify.domain.DomainVerificationPersistence;
|
||||||
|
import com.android.server.utils.Slogf;
|
||||||
import com.android.server.utils.Snappable;
|
import com.android.server.utils.Snappable;
|
||||||
import com.android.server.utils.SnapshotCache;
|
import com.android.server.utils.SnapshotCache;
|
||||||
import com.android.server.utils.TimingsTraceAndSlog;
|
import com.android.server.utils.TimingsTraceAndSlog;
|
||||||
@@ -944,7 +945,8 @@ public final class Settings implements Watchable, Snappable {
|
|||||||
Slog.i(PackageManagerService.TAG, "Stopping package " + pkgName, e);
|
Slog.i(PackageManagerService.TAG, "Stopping package " + pkgName, e);
|
||||||
}
|
}
|
||||||
List<UserInfo> users = getAllUsers(userManager);
|
List<UserInfo> users = getAllUsers(userManager);
|
||||||
final int installUserId = installUser != null ? installUser.getIdentifier() : 0;
|
int installUserId = installUser != null ? installUser.getIdentifier()
|
||||||
|
: UserHandle.USER_SYSTEM;
|
||||||
if (users != null && allowInstall) {
|
if (users != null && allowInstall) {
|
||||||
for (UserInfo user : users) {
|
for (UserInfo user : users) {
|
||||||
// By default we consider this app to be installed
|
// By default we consider this app to be installed
|
||||||
@@ -955,8 +957,14 @@ public final class Settings implements Watchable, Snappable {
|
|||||||
// user we are installing for.
|
// user we are installing for.
|
||||||
final boolean installed = installUser == null
|
final boolean installed = installUser == null
|
||||||
|| (installUserId == UserHandle.USER_ALL
|
|| (installUserId == UserHandle.USER_ALL
|
||||||
&& !isAdbInstallDisallowed(userManager, user.id))
|
&& !isAdbInstallDisallowed(userManager, user.id)
|
||||||
|
&& !user.preCreated)
|
||||||
|| installUserId == user.id;
|
|| installUserId == user.id;
|
||||||
|
if (DEBUG_MU) {
|
||||||
|
Slogf.d(TAG, "createNewSetting(pkg=%s, installUserId=%s, user=%s, "
|
||||||
|
+ "installed=%b)",
|
||||||
|
pkgName, installUserId, user.toFullString(), installed);
|
||||||
|
}
|
||||||
pkgSetting.setUserState(user.id, 0, COMPONENT_ENABLED_STATE_DEFAULT,
|
pkgSetting.setUserState(user.id, 0, COMPONENT_ENABLED_STATE_DEFAULT,
|
||||||
installed,
|
installed,
|
||||||
true /*stopped*/,
|
true /*stopped*/,
|
||||||
@@ -1980,11 +1988,14 @@ public final class Settings implements Watchable, Snappable {
|
|||||||
|
|
||||||
serializer.startTag(null, TAG_PACKAGE_RESTRICTIONS);
|
serializer.startTag(null, TAG_PACKAGE_RESTRICTIONS);
|
||||||
|
|
||||||
if (DEBUG_MU) Log.i(TAG, "Writing " + userPackagesStateFile);
|
if (DEBUG_MU) {
|
||||||
|
Slogf.i(TAG, "Writing %s (%d packages)", userPackagesStateFile,
|
||||||
|
mPackages.values().size());
|
||||||
|
}
|
||||||
for (final PackageSetting pkg : mPackages.values()) {
|
for (final PackageSetting pkg : mPackages.values()) {
|
||||||
final PackageUserState ustate = pkg.readUserState(userId);
|
final PackageUserState ustate = pkg.readUserState(userId);
|
||||||
if (DEBUG_MU) {
|
if (DEBUG_MU) {
|
||||||
Log.i(TAG, " pkg=" + pkg.name + ", installed=" + ustate.installed
|
Log.v(TAG, " pkg=" + pkg.name + ", installed=" + ustate.installed
|
||||||
+ ", state=" + ustate.enabled);
|
+ ", state=" + ustate.enabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user