diff options
| -rw-r--r-- | services/core/java/com/android/server/location/LocationManagerService.java | 1 | ||||
| -rw-r--r-- | services/core/java/com/android/server/location/settings/LocationSettings.java | 31 |
2 files changed, 32 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/location/LocationManagerService.java b/services/core/java/com/android/server/location/LocationManagerService.java index 0c3f9f0e26c6..45d9822205ec 100644 --- a/services/core/java/com/android/server/location/LocationManagerService.java +++ b/services/core/java/com/android/server/location/LocationManagerService.java @@ -1428,6 +1428,7 @@ public class LocationManagerService extends ILocationManager.Stub implements ipw.println("Location Settings:"); ipw.increaseIndent(); mInjector.getSettingsHelper().dump(fd, ipw, args); + mInjector.getLocationSettings().dump(fd, ipw, args); ipw.decreaseIndent(); synchronized (mLock) { diff --git a/services/core/java/com/android/server/location/settings/LocationSettings.java b/services/core/java/com/android/server/location/settings/LocationSettings.java index d52153893970..be0e7acd2401 100644 --- a/services/core/java/com/android/server/location/settings/LocationSettings.java +++ b/services/core/java/com/android/server/location/settings/LocationSettings.java @@ -18,8 +18,11 @@ package com.android.server.location.settings; import static android.content.pm.PackageManager.FEATURE_AUTOMOTIVE; +import android.app.ActivityManager; import android.content.Context; import android.os.Environment; +import android.os.RemoteException; +import android.util.IndentingPrintWriter; import android.util.SparseArray; import com.android.internal.annotations.GuardedBy; @@ -29,6 +32,7 @@ import com.android.server.FgThread; import java.io.DataInput; import java.io.DataOutput; import java.io.File; +import java.io.FileDescriptor; import java.io.IOException; import java.util.concurrent.CopyOnWriteArrayList; import java.util.function.Function; @@ -104,6 +108,33 @@ public class LocationSettings { getUserSettingsStore(userId).update(updater); } + /** Dumps info for debugging. */ + public final void dump(FileDescriptor fd, IndentingPrintWriter ipw, String[] args) { + int[] userIds; + try { + userIds = ActivityManager.getService().getRunningUserIds(); + } catch (RemoteException e) { + throw e.rethrowFromSystemServer(); + } + + if (mContext.getPackageManager().hasSystemFeature(FEATURE_AUTOMOTIVE)) { + ipw.print("ADAS Location Setting: "); + ipw.increaseIndent(); + if (userIds.length > 1) { + ipw.println(); + for (int userId : userIds) { + ipw.print("[u"); + ipw.print(userId); + ipw.print("] "); + ipw.println(getUserSettings(userId).isAdasGnssLocationEnabled()); + } + } else { + ipw.println(getUserSettings(userIds[0]).isAdasGnssLocationEnabled()); + } + ipw.decreaseIndent(); + } + } + @VisibleForTesting final void flushFiles() throws InterruptedException { synchronized (mUserSettings) { |