Merge "Delete only the target user" into nyc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
558e38b975
@@ -14397,7 +14397,6 @@ public class PackageManagerService extends IPackageManager.Stub {
|
|||||||
if (DEBUG_REMOVE) Slog.d(TAG, "deletePackageLI: " + packageName + " user " + user);
|
if (DEBUG_REMOVE) Slog.d(TAG, "deletePackageLI: " + packageName + " user " + user);
|
||||||
|
|
||||||
PackageSetting ps;
|
PackageSetting ps;
|
||||||
int removeUser = -1;
|
|
||||||
|
|
||||||
synchronized (mPackages) {
|
synchronized (mPackages) {
|
||||||
ps = mSettings.mPackages.get(packageName);
|
ps = mSettings.mPackages.get(packageName);
|
||||||
@@ -14412,7 +14411,9 @@ public class PackageManagerService extends IPackageManager.Stub {
|
|||||||
Slog.d(TAG, "Uninstalled child package:" + packageName + " for user:"
|
Slog.d(TAG, "Uninstalled child package:" + packageName + " for user:"
|
||||||
+ ((user == null) ? UserHandle.USER_ALL : user));
|
+ ((user == null) ? UserHandle.USER_ALL : user));
|
||||||
}
|
}
|
||||||
if (!clearPackageStateForUser(ps, removeUser, outInfo)) {
|
final int removedUserId = (user != null) ? user.getIdentifier()
|
||||||
|
: UserHandle.USER_ALL;
|
||||||
|
if (!clearPackageStateForUser(ps, removedUserId, outInfo)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
markPackageUninstalledForUserLPw(ps, user);
|
markPackageUninstalledForUserLPw(ps, user);
|
||||||
@@ -14436,9 +14437,9 @@ public class PackageManagerService extends IPackageManager.Stub {
|
|||||||
if (ps.isAnyInstalled(sUserManager.getUserIds()) || keepUninstalledPackage) {
|
if (ps.isAnyInstalled(sUserManager.getUserIds()) || keepUninstalledPackage) {
|
||||||
// Other user still have this package installed, so all
|
// Other user still have this package installed, so all
|
||||||
// we need to do is clear this user's data and save that
|
// we need to do is clear this user's data and save that
|
||||||
// it is uninstalled.
|
// it is uninstalled.
|
||||||
if (DEBUG_REMOVE) Slog.d(TAG, "Still installed by other users");
|
if (DEBUG_REMOVE) Slog.d(TAG, "Still installed by other users");
|
||||||
if (!clearPackageStateForUser(ps, removeUser, outInfo)) {
|
if (!clearPackageStateForUser(ps, user.getIdentifier(), outInfo)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
scheduleWritePackageRestrictionsLocked(user);
|
scheduleWritePackageRestrictionsLocked(user);
|
||||||
@@ -14455,7 +14456,7 @@ public class PackageManagerService extends IPackageManager.Stub {
|
|||||||
// we need to do is clear this user's data and save that
|
// we need to do is clear this user's data and save that
|
||||||
// it is uninstalled.
|
// it is uninstalled.
|
||||||
if (DEBUG_REMOVE) Slog.d(TAG, "Deleting system app");
|
if (DEBUG_REMOVE) Slog.d(TAG, "Deleting system app");
|
||||||
if (!clearPackageStateForUser(ps, removeUser, outInfo)) {
|
if (!clearPackageStateForUser(ps, user.getIdentifier(), outInfo)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
scheduleWritePackageRestrictionsLocked(user);
|
scheduleWritePackageRestrictionsLocked(user);
|
||||||
|
|||||||
Reference in New Issue
Block a user