Merge "Fix: crash when running am.jar without parameters" am: 3bec47724f am: 23f93b8cf3 am: cfd38b49d4

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1850984

Change-Id: Idb9495274e7e1cedae8f24db8335c8cbfdc3b97c
This commit is contained in:
Treehugger Robot
2021-10-29 10:27:08 +00:00
committed by Automerger Merge Worker

View File

@@ -41,6 +41,10 @@ public class Am extends BaseCommand {
private IActivityManager mAm; private IActivityManager mAm;
private IPackageManager mPm; private IPackageManager mPm;
Am() {
svcInit();
}
/** /**
* Command-line entry point. * Command-line entry point.
* *
@@ -50,6 +54,20 @@ public class Am extends BaseCommand {
(new Am()).run(args); (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 @Override
public void onShowUsage(PrintStream out) { public void onShowUsage(PrintStream out) {
try { try {
@@ -61,19 +79,6 @@ public class Am extends BaseCommand {
@Override @Override
public void onRun() throws Exception { 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(); String op = nextArgRequired();
if (op.equals("instrument")) { if (op.equals("instrument")) {