Use Service dump instead of Binder dump.
Binder dumps have to talk to /dev/binder which vendor things
can't do under Treble, but Service dump is backed by the SDK
APIs.
Bug: 71707530
Test: adb shell dumpsys activity service com.android.google.gce.gceservice/.GceService
Test: 'SERVICE com.android.google.gce.gceservice/.GceService' and dump in bugreport
Change-Id: I2f7549021bea78939c4fac2d00948f1257fb5f79
(cherry picked from commit a5feaf59f6260ec55a75e94d40598a1383f0711a)
diff --git a/guest/monitoring/vsoc_service/java/com/android/google/gce/gceservice/GceService.java b/guest/monitoring/vsoc_service/java/com/android/google/gce/gceservice/GceService.java
index c6c2457..69bd830 100644
--- a/guest/monitoring/vsoc_service/java/com/android/google/gce/gceservice/GceService.java
+++ b/guest/monitoring/vsoc_service/java/com/android/google/gce/gceservice/GceService.java
@@ -52,8 +52,6 @@
private GceWifiManager mWifiManager = null;
private String mMostRecentAction = null;
- private BinderService mBinderService;
-
public GceService() {}
@@ -131,16 +129,14 @@
mExecutor.schedule(mBluetoothChecker);
}
- mBinderService = new BinderService();
- ServiceManager.addService("gce", mBinderService, false);
-
/* If anything goes wrong, make sure we receive intent again. */
return Service.START_STICKY;
}
/** Dump the virtual device state
*/
- private void dumpInternal(FileDescriptor fd, PrintWriter pw, String[] args) {
+ @Override
+ protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
pw.println("Boot reporter:");
List<String> messageList = mBootReporter.getMessageList();
for (int i = 0; i < messageList.size(); i++) {
@@ -159,10 +155,4 @@
+ !mTombstoneChecker.getTombstoneResult().isDone());
pw.println("");
}
-
- private final class BinderService extends Binder {
- @Override protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
- dumpInternal(fd, pw, args);
- }
- }
}