Loading services/core/java/com/android/server/pm/DeletePackageHelper.java +14 −2 Original line number Diff line number Diff line Loading @@ -53,6 +53,7 @@ import android.os.RemoteException; import android.os.UserHandle; import android.os.UserManager; import android.text.TextUtils; import android.util.ArraySet; import android.util.EventLog; import android.util.Log; import android.util.Slog; Loading Loading @@ -561,6 +562,17 @@ final class DeletePackageHelper { Slog.d(TAG, "Marking package:" + ps.getPackageName() + " uninstalled for user:" + nextUserId); } // Keep enabled and disabled components in case of DELETE_KEEP_DATA ArraySet<String> enabledComponents = null; ArraySet<String> disabledComponents = null; if ((flags & PackageManager.DELETE_KEEP_DATA) != 0) { enabledComponents = new ArraySet<String>( ps.readUserState(nextUserId).getEnabledComponents()); disabledComponents = new ArraySet<String>( ps.readUserState(nextUserId).getDisabledComponents()); } // Preserve ArchiveState if this is not a full uninstall ArchiveState archiveState = (flags & DELETE_KEEP_DATA) == 0 Loading @@ -580,8 +592,8 @@ final class DeletePackageHelper { false /*instantApp*/, false /*virtualPreload*/, null /*lastDisableAppCaller*/, null /*enabledComponents*/, null /*disabledComponents*/, enabledComponents, disabledComponents, PackageManager.INSTALL_REASON_UNKNOWN, PackageManager.UNINSTALL_REASON_UNKNOWN, null /*harmfulAppWarning*/, Loading services/core/java/com/android/server/pm/pkg/PackageUserStateImpl.java +6 −8 Original line number Diff line number Diff line Loading @@ -393,29 +393,27 @@ public class PackageUserStateImpl extends WatchableImpl implements PackageUserSt } public @NonNull PackageUserStateImpl setDisabledComponents(@Nullable ArraySet<String> value) { if (value == null) { return this; } if (mDisabledComponentsWatched == null) { mDisabledComponentsWatched = new WatchedArraySet<>(); mDisabledComponentsWatched.registerObserver(mSnapshot); } mDisabledComponentsWatched.clear(); if (value != null) { mDisabledComponentsWatched.addAll(value); } onChanged(); return this; } public @NonNull PackageUserStateImpl setEnabledComponents(@Nullable ArraySet<String> value) { if (value == null) { return this; } if (mEnabledComponentsWatched == null) { mEnabledComponentsWatched = new WatchedArraySet<>(); mEnabledComponentsWatched.registerObserver(mSnapshot); } mEnabledComponentsWatched.clear(); if (value != null) { mEnabledComponentsWatched.addAll(value); } onChanged(); return this; } Loading Loading
services/core/java/com/android/server/pm/DeletePackageHelper.java +14 −2 Original line number Diff line number Diff line Loading @@ -53,6 +53,7 @@ import android.os.RemoteException; import android.os.UserHandle; import android.os.UserManager; import android.text.TextUtils; import android.util.ArraySet; import android.util.EventLog; import android.util.Log; import android.util.Slog; Loading Loading @@ -561,6 +562,17 @@ final class DeletePackageHelper { Slog.d(TAG, "Marking package:" + ps.getPackageName() + " uninstalled for user:" + nextUserId); } // Keep enabled and disabled components in case of DELETE_KEEP_DATA ArraySet<String> enabledComponents = null; ArraySet<String> disabledComponents = null; if ((flags & PackageManager.DELETE_KEEP_DATA) != 0) { enabledComponents = new ArraySet<String>( ps.readUserState(nextUserId).getEnabledComponents()); disabledComponents = new ArraySet<String>( ps.readUserState(nextUserId).getDisabledComponents()); } // Preserve ArchiveState if this is not a full uninstall ArchiveState archiveState = (flags & DELETE_KEEP_DATA) == 0 Loading @@ -580,8 +592,8 @@ final class DeletePackageHelper { false /*instantApp*/, false /*virtualPreload*/, null /*lastDisableAppCaller*/, null /*enabledComponents*/, null /*disabledComponents*/, enabledComponents, disabledComponents, PackageManager.INSTALL_REASON_UNKNOWN, PackageManager.UNINSTALL_REASON_UNKNOWN, null /*harmfulAppWarning*/, Loading
services/core/java/com/android/server/pm/pkg/PackageUserStateImpl.java +6 −8 Original line number Diff line number Diff line Loading @@ -393,29 +393,27 @@ public class PackageUserStateImpl extends WatchableImpl implements PackageUserSt } public @NonNull PackageUserStateImpl setDisabledComponents(@Nullable ArraySet<String> value) { if (value == null) { return this; } if (mDisabledComponentsWatched == null) { mDisabledComponentsWatched = new WatchedArraySet<>(); mDisabledComponentsWatched.registerObserver(mSnapshot); } mDisabledComponentsWatched.clear(); if (value != null) { mDisabledComponentsWatched.addAll(value); } onChanged(); return this; } public @NonNull PackageUserStateImpl setEnabledComponents(@Nullable ArraySet<String> value) { if (value == null) { return this; } if (mEnabledComponentsWatched == null) { mEnabledComponentsWatched = new WatchedArraySet<>(); mEnabledComponentsWatched.registerObserver(mSnapshot); } mEnabledComponentsWatched.clear(); if (value != null) { mEnabledComponentsWatched.addAll(value); } onChanged(); return this; } Loading