Loading services/core/java/com/android/server/pm/RemovePackageHelper.java +30 −24 Original line number Diff line number Diff line Loading @@ -292,9 +292,11 @@ final class RemovePackageHelper { // Step 2: destroy app data. mAppDataHelper.destroyAppDataLIF(resolvedPkg, userId, appDataDeletionFlags); if (userId != UserHandle.USER_ALL) { synchronized (mPm.mLock) { ps.setCeDataInode(-1, userId); ps.setDeDataInode(-1, userId); } } final PreferredActivityHelper preferredActivityHelper = new PreferredActivityHelper(mPm, mBroadcastHelper); Loading Loading @@ -425,6 +427,7 @@ final class RemovePackageHelper { } final boolean isArchive = (flags & PackageManager.DELETE_ARCHIVE) != 0; final long currentTimeMillis = System.currentTimeMillis(); synchronized (mPm.mLock) { for (int userId : outInfo.mRemovedUsers) { if (DEBUG_REMOVE) { final boolean wasInstalled = deletedPs.getInstalled(userId); Loading @@ -433,13 +436,14 @@ final class RemovePackageHelper { deletedPs.setInstalled(/* installed= */ false, userId); } // Preserve split apk information for downgrade check with DELETE_KEEP_DATA and archived // app cases // Preserve split apk information for downgrade check with DELETE_KEEP_DATA and // archived app cases if (deletedPkg != null && deletedPkg.getSplitNames() != null) { deletedPs.setSplitNames(deletedPkg.getSplitNames()); deletedPs.setSplitRevisionCodes(deletedPkg.getSplitRevisionCodes()); } } } // make sure to preserve per-user installed state if this removal was just // a downgrade of a system app to the factory package Loading @@ -448,6 +452,7 @@ final class RemovePackageHelper { if (DEBUG_REMOVE) { Slog.d(TAG, "Propagating install state across downgrade"); } synchronized (mPm.mLock) { for (int userId : allUserHandles) { final boolean installed = ArrayUtils.contains(outInfo.mOrigUsers, userId); if (DEBUG_REMOVE) { Loading @@ -462,6 +467,7 @@ final class RemovePackageHelper { } } } } synchronized (mPm.mLock) { // can downgrade to reader if (writeSettings) { Loading Loading
services/core/java/com/android/server/pm/RemovePackageHelper.java +30 −24 Original line number Diff line number Diff line Loading @@ -292,9 +292,11 @@ final class RemovePackageHelper { // Step 2: destroy app data. mAppDataHelper.destroyAppDataLIF(resolvedPkg, userId, appDataDeletionFlags); if (userId != UserHandle.USER_ALL) { synchronized (mPm.mLock) { ps.setCeDataInode(-1, userId); ps.setDeDataInode(-1, userId); } } final PreferredActivityHelper preferredActivityHelper = new PreferredActivityHelper(mPm, mBroadcastHelper); Loading Loading @@ -425,6 +427,7 @@ final class RemovePackageHelper { } final boolean isArchive = (flags & PackageManager.DELETE_ARCHIVE) != 0; final long currentTimeMillis = System.currentTimeMillis(); synchronized (mPm.mLock) { for (int userId : outInfo.mRemovedUsers) { if (DEBUG_REMOVE) { final boolean wasInstalled = deletedPs.getInstalled(userId); Loading @@ -433,13 +436,14 @@ final class RemovePackageHelper { deletedPs.setInstalled(/* installed= */ false, userId); } // Preserve split apk information for downgrade check with DELETE_KEEP_DATA and archived // app cases // Preserve split apk information for downgrade check with DELETE_KEEP_DATA and // archived app cases if (deletedPkg != null && deletedPkg.getSplitNames() != null) { deletedPs.setSplitNames(deletedPkg.getSplitNames()); deletedPs.setSplitRevisionCodes(deletedPkg.getSplitRevisionCodes()); } } } // make sure to preserve per-user installed state if this removal was just // a downgrade of a system app to the factory package Loading @@ -448,6 +452,7 @@ final class RemovePackageHelper { if (DEBUG_REMOVE) { Slog.d(TAG, "Propagating install state across downgrade"); } synchronized (mPm.mLock) { for (int userId : allUserHandles) { final boolean installed = ArrayUtils.contains(outInfo.mOrigUsers, userId); if (DEBUG_REMOVE) { Loading @@ -462,6 +467,7 @@ final class RemovePackageHelper { } } } } synchronized (mPm.mLock) { // can downgrade to reader if (writeSettings) { Loading