Loading services/core/java/com/android/server/pm/Installer.java +24 −0 Original line number Diff line number Diff line Loading @@ -723,6 +723,30 @@ public class Installer extends SystemService { } } /** * Deletes all snapshots of credential encrypted user data, where the snapshot id is not * included in {@code retainSnapshotIds}. * * @param userId id of the user whose user data snapshots to delete. * @param retainSnapshotIds ids of the snapshots that should not be deleted. * * @return {@code true} if the operation was successful, or {@code false} if a remote call * shouldn't be continued. See {@link #checkBeforeRemote}. * * @throws InstallerException if failed to delete user data snapshot. */ public boolean destroyCeSnapshotsNotSpecified(@UserIdInt int userId, int[] retainSnapshotIds) throws InstallerException { if (!checkBeforeRemote()) return false; try { mInstalld.destroyCeSnapshotsNotSpecified(null, userId, retainSnapshotIds); return true; } catch (Exception e) { throw InstallerException.from(e); } } /** * Migrates obb data from its legacy location {@code /data/media/obb} to * {@code /data/media/0/Android/obb}. This call is idempotent and a fast no-op if data has Loading services/core/java/com/android/server/rollback/RollbackManagerServiceImpl.java +5 −0 Original line number Diff line number Diff line Loading @@ -505,6 +505,11 @@ class RollbackManagerServiceImpl extends IRollbackManager.Stub { rollbackIds[i] = mRollbacks.get(i).info.getRollbackId(); } ApexManager.getInstance().destroyCeSnapshotsNotSpecified(userId, rollbackIds); try { mInstaller.destroyCeSnapshotsNotSpecified(userId, rollbackIds); } catch (Installer.InstallerException ie) { Slog.e(TAG, "Failed to delete snapshots for user: " + userId, ie); } } @WorkerThread Loading Loading
services/core/java/com/android/server/pm/Installer.java +24 −0 Original line number Diff line number Diff line Loading @@ -723,6 +723,30 @@ public class Installer extends SystemService { } } /** * Deletes all snapshots of credential encrypted user data, where the snapshot id is not * included in {@code retainSnapshotIds}. * * @param userId id of the user whose user data snapshots to delete. * @param retainSnapshotIds ids of the snapshots that should not be deleted. * * @return {@code true} if the operation was successful, or {@code false} if a remote call * shouldn't be continued. See {@link #checkBeforeRemote}. * * @throws InstallerException if failed to delete user data snapshot. */ public boolean destroyCeSnapshotsNotSpecified(@UserIdInt int userId, int[] retainSnapshotIds) throws InstallerException { if (!checkBeforeRemote()) return false; try { mInstalld.destroyCeSnapshotsNotSpecified(null, userId, retainSnapshotIds); return true; } catch (Exception e) { throw InstallerException.from(e); } } /** * Migrates obb data from its legacy location {@code /data/media/obb} to * {@code /data/media/0/Android/obb}. This call is idempotent and a fast no-op if data has Loading
services/core/java/com/android/server/rollback/RollbackManagerServiceImpl.java +5 −0 Original line number Diff line number Diff line Loading @@ -505,6 +505,11 @@ class RollbackManagerServiceImpl extends IRollbackManager.Stub { rollbackIds[i] = mRollbacks.get(i).info.getRollbackId(); } ApexManager.getInstance().destroyCeSnapshotsNotSpecified(userId, rollbackIds); try { mInstaller.destroyCeSnapshotsNotSpecified(userId, rollbackIds); } catch (Installer.InstallerException ie) { Slog.e(TAG, "Failed to delete snapshots for user: " + userId, ie); } } @WorkerThread Loading