summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/location/LocationManagerService.java1
-rw-r--r--services/core/java/com/android/server/location/settings/LocationSettings.java31
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) {