From 91f0d2d205a3348eb3ee1412f28e97eb307a2c1c Mon Sep 17 00:00:00 2001 From: Soonil Nagarkar Date: Fri, 22 Feb 2019 11:55:36 -0800 Subject: [PATCH] Remove cross process dump() call This call has never worked in testing, and adds a significant penalty to dumping LocationManagerService. Bug: 125313528 Test: manually Change-Id: Ia455578e2b941c5a0888abb79a13adc0bb55729a --- location/lib/api/current.txt | 2 +- .../location/provider/LocationProviderBase.java | 9 +++------ .../android/server/location/LocationProviderProxy.java | 10 ---------- 3 files changed, 4 insertions(+), 17 deletions(-) diff --git a/location/lib/api/current.txt b/location/lib/api/current.txt index dbb581fe54b28..d1b39b350d73c 100644 --- a/location/lib/api/current.txt +++ b/location/lib/api/current.txt @@ -11,7 +11,7 @@ package com.android.location.provider { method public android.os.IBinder getBinder(); method public boolean isEnabled(); method @Deprecated protected void onDisable(); - method protected void onDump(java.io.FileDescriptor, java.io.PrintWriter, String[]); + method @Deprecated protected void onDump(java.io.FileDescriptor, java.io.PrintWriter, String[]); method @Deprecated protected void onEnable(); method @Deprecated protected int onGetStatus(android.os.Bundle); method @Deprecated protected long onGetStatusUpdateTime(); diff --git a/location/lib/java/com/android/location/provider/LocationProviderBase.java b/location/lib/java/com/android/location/provider/LocationProviderBase.java index 7cd7207c26a01..fa113a8aa3efd 100644 --- a/location/lib/java/com/android/location/provider/LocationProviderBase.java +++ b/location/lib/java/com/android/location/provider/LocationProviderBase.java @@ -240,8 +240,10 @@ public abstract class LocationProviderBase { protected abstract void onSetRequest(ProviderRequestUnbundled request, WorkSource source); /** - * Dump debug information. + * @deprecated This callback will never be invoked on Android Q and above. This method may be + * removed in the future. Prefer to dump provider state via the containing service instead. */ + @Deprecated protected void onDump(FileDescriptor fd, PrintWriter pw, String[] args) {} /** @@ -336,10 +338,5 @@ public abstract class LocationProviderBase { public void sendExtraCommand(String command, Bundle extras) { onSendExtraCommand(command, extras); } - - @Override - public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { - onDump(fd, pw, args); - } } } diff --git a/services/core/java/com/android/server/location/LocationProviderProxy.java b/services/core/java/com/android/server/location/LocationProviderProxy.java index afe34737fdee3..00e1ffa7450db 100644 --- a/services/core/java/com/android/server/location/LocationProviderProxy.java +++ b/services/core/java/com/android/server/location/LocationProviderProxy.java @@ -34,13 +34,11 @@ import com.android.internal.location.ILocationProvider; import com.android.internal.location.ILocationProviderManager; import com.android.internal.location.ProviderProperties; import com.android.internal.location.ProviderRequest; -import com.android.internal.os.TransferPipe; import com.android.server.FgThread; import com.android.server.LocationManagerService; import com.android.server.ServiceWatcher; import java.io.FileDescriptor; -import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; import java.util.Collections; @@ -189,14 +187,6 @@ public class LocationProviderProxy extends AbstractLocationProvider { pw.println(" additional packages=" + mProviderPackages); } } - mServiceWatcher.runOnBinderBlocking(binder -> { - try { - TransferPipe.dumpAsync(binder, fd, args); - } catch (IOException | RemoteException e) { - pw.println(" "); - } - return null; - }, null); } @Override