Merge "Clear cache shell commmand" into tm-dev am: cb1813cdaa
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18343946 Change-Id: I2fbf2dded6ec2b7ded809b21179978cb30c9e498 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -2269,10 +2269,23 @@ class PackageManagerShellCommand extends ShellCommand {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private int runClear() throws RemoteException {
|
private int runClear() throws RemoteException {
|
||||||
|
final PrintWriter pw = getOutPrintWriter();
|
||||||
int userId = UserHandle.USER_SYSTEM;
|
int userId = UserHandle.USER_SYSTEM;
|
||||||
String option = getNextOption();
|
boolean cacheOnly = false;
|
||||||
if (option != null && option.equals("--user")) {
|
|
||||||
userId = UserHandle.parseUserArg(getNextArgRequired());
|
String opt;
|
||||||
|
while ((opt = getNextOption()) != null) {
|
||||||
|
switch (opt) {
|
||||||
|
case "--user":
|
||||||
|
userId = UserHandle.parseUserArg(getNextArgRequired());
|
||||||
|
break;
|
||||||
|
case "--cache-only":
|
||||||
|
cacheOnly = true;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
pw.println("Error: Unknown option: " + opt);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
String pkg = getNextArg();
|
String pkg = getNextArg();
|
||||||
@@ -2284,7 +2297,12 @@ class PackageManagerShellCommand extends ShellCommand {
|
|||||||
final int translatedUserId =
|
final int translatedUserId =
|
||||||
translateUserId(userId, UserHandle.USER_NULL, "runClear");
|
translateUserId(userId, UserHandle.USER_NULL, "runClear");
|
||||||
final ClearDataObserver obs = new ClearDataObserver();
|
final ClearDataObserver obs = new ClearDataObserver();
|
||||||
ActivityManager.getService().clearApplicationUserData(pkg, false, obs, translatedUserId);
|
if (!cacheOnly) {
|
||||||
|
ActivityManager.getService()
|
||||||
|
.clearApplicationUserData(pkg, false, obs, translatedUserId);
|
||||||
|
} else {
|
||||||
|
mInterface.deleteApplicationCacheFilesAsUser(pkg, translatedUserId, obs);
|
||||||
|
}
|
||||||
synchronized (obs) {
|
synchronized (obs) {
|
||||||
while (!obs.finished) {
|
while (!obs.finished) {
|
||||||
try {
|
try {
|
||||||
@@ -4042,8 +4060,10 @@ class PackageManagerShellCommand extends ShellCommand {
|
|||||||
pw.println(" --user: remove the app from the given user.");
|
pw.println(" --user: remove the app from the given user.");
|
||||||
pw.println(" --versionCode: only uninstall if the app has the given version code.");
|
pw.println(" --versionCode: only uninstall if the app has the given version code.");
|
||||||
pw.println("");
|
pw.println("");
|
||||||
pw.println(" clear [--user USER_ID] PACKAGE");
|
pw.println(" clear [--user USER_ID] [--cache-only] PACKAGE");
|
||||||
pw.println(" Deletes all data associated with a package.");
|
pw.println(" Deletes data associated with a package. Options are:");
|
||||||
|
pw.println(" --user: specifies the user for which we need to clear data");
|
||||||
|
pw.println(" --cache-only: a flag which tells if we only need to clear cache data");
|
||||||
pw.println("");
|
pw.println("");
|
||||||
pw.println(" enable [--user USER_ID] PACKAGE_OR_COMPONENT");
|
pw.println(" enable [--user USER_ID] PACKAGE_OR_COMPONENT");
|
||||||
pw.println(" disable [--user USER_ID] PACKAGE_OR_COMPONENT");
|
pw.println(" disable [--user USER_ID] PACKAGE_OR_COMPONENT");
|
||||||
|
|||||||
Reference in New Issue
Block a user