diff options
| -rw-r--r-- | services/core/java/com/android/server/pm/PackageManagerService.java | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index b547105d20a4..799ce65669db 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -18562,9 +18562,10 @@ public class PackageManagerService extends IPackageManager.Stub Slog.d(TAG, "Updating package:" + ps.name + " install state for user:" + nextUserId); } - - destroyAppDataLIF(pkg, nextUserId, - FLAG_STORAGE_DE | FLAG_STORAGE_CE | FLAG_STORAGE_EXTERNAL); + if ((flags & PackageManager.DELETE_KEEP_DATA) == 0) { + destroyAppDataLIF(pkg, nextUserId, + FLAG_STORAGE_DE | FLAG_STORAGE_CE | FLAG_STORAGE_EXTERNAL); + } clearDefaultBrowserIfNeededForUser(ps.name, nextUserId); removeKeystoreDataIfNeeded(mInjector.getUserManagerInternal(), nextUserId, ps.appId); clearPackagePreferredActivities(ps.name, nextUserId); |