Merge "Fix: crash when running am.jar without parameters"

This commit is contained in:
Treehugger Robot
2021-10-29 09:37:37 +00:00
committed by Gerrit Code Review

View File

@@ -41,6 +41,10 @@ public class Am extends BaseCommand {
private IActivityManager mAm;
private IPackageManager mPm;
Am() {
svcInit();
}
/**
* Command-line entry point.
*
@@ -50,6 +54,20 @@ public class Am extends BaseCommand {
(new Am()).run(args);
}
private void svcInit() {
mAm = ActivityManager.getService();
if (mAm == null) {
System.err.println(NO_SYSTEM_ERROR_CODE);
return;
}
mPm = IPackageManager.Stub.asInterface(ServiceManager.getService("package"));
if (mPm == null) {
System.err.println(NO_SYSTEM_ERROR_CODE);
return;
}
}
@Override
public void onShowUsage(PrintStream out) {
try {
@@ -61,19 +79,6 @@ public class Am extends BaseCommand {
@Override
public void onRun() throws Exception {
mAm = ActivityManager.getService();
if (mAm == null) {
System.err.println(NO_SYSTEM_ERROR_CODE);
throw new AndroidException("Can't connect to activity manager; is the system running?");
}
mPm = IPackageManager.Stub.asInterface(ServiceManager.getService("package"));
if (mPm == null) {
System.err.println(NO_SYSTEM_ERROR_CODE);
throw new AndroidException("Can't connect to package manager; is the system running?");
}
String op = nextArgRequired();
if (op.equals("instrument")) {