Check isolated_storage is enabled before cleaning up sandboxes.

Also, clear packages state stored for the user being stopped.

Bug: 117329171
Bug: 111890351
Test: manual
Change-Id: Ida48fcec851830dbb756e329c20c322c631ad264
gugelfrei
Sudheer Shanka 6 years ago
parent cba5a411d1
commit 9acc6d4398

@ -805,16 +805,19 @@ int VolumeManager::onUserStopped(userid_t userId) {
LOG(VERBOSE) << "onUserStopped: " << userId;
mStartedUsers.erase(userId);
std::string mntTargetDir = StringPrintf("/mnt/user/%d", userId);
if (android::vold::UnmountTree(mntTargetDir) != 0) {
PLOG(ERROR) << "unmountTree on " << mntTargetDir << " failed";
return -errno;
}
if (android::vold::DeleteDirContentsAndDir(mntTargetDir) < 0) {
PLOG(ERROR) << "DeleteDirContentsAndDir failed on " << mntTargetDir;
return -errno;
if (GetBoolProperty(kIsolatedStorage, false)) {
mUserPackages.erase(userId);
std::string mntTargetDir = StringPrintf("/mnt/user/%d", userId);
if (android::vold::UnmountTree(mntTargetDir) != 0) {
PLOG(ERROR) << "unmountTree on " << mntTargetDir << " failed";
return -errno;
}
if (android::vold::DeleteDirContentsAndDir(mntTargetDir) < 0) {
PLOG(ERROR) << "DeleteDirContentsAndDir failed on " << mntTargetDir;
return -errno;
}
LOG(VERBOSE) << "Success: DeleteDirContentsAndDir on " << mntTargetDir;
}
LOG(VERBOSE) << "Success: DeleteDirContentsAndDir on " << mntTargetDir;
return 0;
}

Loading…
Cancel
Save