summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Treehugger Robot <treehugger-gerrit@google.com> 2021-10-29 10:27:08 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2021-10-29 10:27:08 +0000
commit2a56521b5cd5f536d727968b75011be23a10b511 (patch)
treece98605179178cae019d885c55d30ed08861c64c
parent37b94b1c973a777dd538ae71ffaaf8a78c475964 (diff)
parentcfd38b49d4daac871b52a9ec064da03b5411a9ae (diff)
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
-rw-r--r--cmds/am/src/com/android/commands/am/Am.java31
1 files changed, 18 insertions, 13 deletions
diff --git a/cmds/am/src/com/android/commands/am/Am.java b/cmds/am/src/com/android/commands/am/Am.java
index 4e46aa3f42d5..9564dde7fe06 100644
--- a/cmds/am/src/com/android/commands/am/Am.java
+++ b/cmds/am/src/com/android/commands/am/Am.java
@@ -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")) {