From e80c5a134a52a4c0904a6243d78434cf604071c4 Mon Sep 17 00:00:00 2001 From: Yu-Han Yang Date: Fri, 8 Apr 2022 12:03:35 -0700 Subject: [PATCH] Log PsdsServerConfigured in dumpsys Test: adb shell dumpsys location -a Bug: 220386318 Change-Id: Ib2bf17e6763acf075bd8277f5930170bd9fa7c79 --- .../location/gnss/GnssConfiguration.java | 18 ++++++++++++++++-- .../location/gnss/GnssLocationProvider.java | 2 ++ .../location/gnss/GnssPsdsDownloader.java | 15 ++++++++++----- 3 files changed, 28 insertions(+), 7 deletions(-) diff --git a/services/core/java/com/android/server/location/gnss/GnssConfiguration.java b/services/core/java/com/android/server/location/gnss/GnssConfiguration.java index 5fe77109eea35..12f8776a8e18d 100644 --- a/services/core/java/com/android/server/location/gnss/GnssConfiguration.java +++ b/services/core/java/com/android/server/location/gnss/GnssConfiguration.java @@ -70,9 +70,14 @@ public class GnssConfiguration { "USE_EMERGENCY_PDN_FOR_EMERGENCY_SUPL"; private static final String CONFIG_GPS_LOCK = "GPS_LOCK"; private static final String CONFIG_ES_EXTENSION_SEC = "ES_EXTENSION_SEC"; - public static final String CONFIG_NFW_PROXY_APPS = "NFW_PROXY_APPS"; - public static final String CONFIG_ENABLE_PSDS_PERIODIC_DOWNLOAD = + static final String CONFIG_NFW_PROXY_APPS = "NFW_PROXY_APPS"; + private static final String CONFIG_ENABLE_PSDS_PERIODIC_DOWNLOAD = "ENABLE_PSDS_PERIODIC_DOWNLOAD"; + static final String CONFIG_LONGTERM_PSDS_SERVER_1 = "LONGTERM_PSDS_SERVER_1"; + static final String CONFIG_LONGTERM_PSDS_SERVER_2 = "LONGTERM_PSDS_SERVER_2"; + static final String CONFIG_LONGTERM_PSDS_SERVER_3 = "LONGTERM_PSDS_SERVER_3"; + static final String CONFIG_NORMAL_PSDS_SERVER = "NORMAL_PSDS_SERVER"; + static final String CONFIG_REALTIME_PSDS_SERVER = "REALTIME_PSDS_SERVER"; // Limit on NI emergency mode time extension after emergency sessions ends private static final int MAX_EMERGENCY_MODE_EXTENSION_SECONDS = 300; // 5 minute maximum @@ -201,6 +206,15 @@ public class GnssConfiguration { return getBooleanConfig(CONFIG_ENABLE_PSDS_PERIODIC_DOWNLOAD, false); } + /** + * Returns true if a long-term PSDS server is configured. + */ + boolean isLongTermPsdsServerConfigured() { + return (mProperties.getProperty(CONFIG_LONGTERM_PSDS_SERVER_1) != null + || mProperties.getProperty(CONFIG_LONGTERM_PSDS_SERVER_2) != null + || mProperties.getProperty(CONFIG_LONGTERM_PSDS_SERVER_3) != null); + } + /** * Updates the GNSS HAL satellite denylist. */ diff --git a/services/core/java/com/android/server/location/gnss/GnssLocationProvider.java b/services/core/java/com/android/server/location/gnss/GnssLocationProvider.java index dae2fbbc8f4c5..ea99e7972887b 100644 --- a/services/core/java/com/android/server/location/gnss/GnssLocationProvider.java +++ b/services/core/java/com/android/server/location/gnss/GnssLocationProvider.java @@ -1574,6 +1574,8 @@ public class GnssLocationProvider extends AbstractLocationProvider implements pw.print(mGnssMetrics.dumpGnssMetricsAsText()); if (dumpAll) { pw.println("mSupportsPsds=" + mSupportsPsds); + pw.println( + "PsdsServerConfigured=" + mGnssConfiguration.isLongTermPsdsServerConfigured()); pw.println("native internal state: "); pw.println(" " + mGnssNative.getInternalState()); } diff --git a/services/core/java/com/android/server/location/gnss/GnssPsdsDownloader.java b/services/core/java/com/android/server/location/gnss/GnssPsdsDownloader.java index dce9a12ff7983..243910dd95418 100644 --- a/services/core/java/com/android/server/location/gnss/GnssPsdsDownloader.java +++ b/services/core/java/com/android/server/location/gnss/GnssPsdsDownloader.java @@ -61,9 +61,12 @@ class GnssPsdsDownloader { GnssPsdsDownloader(Properties properties) { // read PSDS servers from the Properties object int count = 0; - String longTermPsdsServer1 = properties.getProperty("LONGTERM_PSDS_SERVER_1"); - String longTermPsdsServer2 = properties.getProperty("LONGTERM_PSDS_SERVER_2"); - String longTermPsdsServer3 = properties.getProperty("LONGTERM_PSDS_SERVER_3"); + String longTermPsdsServer1 = properties.getProperty( + GnssConfiguration.CONFIG_LONGTERM_PSDS_SERVER_1); + String longTermPsdsServer2 = properties.getProperty( + GnssConfiguration.CONFIG_LONGTERM_PSDS_SERVER_2); + String longTermPsdsServer3 = properties.getProperty( + GnssConfiguration.CONFIG_LONGTERM_PSDS_SERVER_3); if (longTermPsdsServer1 != null) count++; if (longTermPsdsServer2 != null) count++; if (longTermPsdsServer3 != null) count++; @@ -83,8 +86,10 @@ class GnssPsdsDownloader { mNextServerIndex = random.nextInt(count); } - String normalPsdsServer = properties.getProperty("NORMAL_PSDS_SERVER"); - String realtimePsdsServer = properties.getProperty("REALTIME_PSDS_SERVER"); + String normalPsdsServer = properties.getProperty( + GnssConfiguration.CONFIG_NORMAL_PSDS_SERVER); + String realtimePsdsServer = properties.getProperty( + GnssConfiguration.CONFIG_REALTIME_PSDS_SERVER); mPsdsServers = new String[MAX_PSDS_TYPE_INDEX + 1]; mPsdsServers[NORMAL_PSDS_SERVER_INDEX] = normalPsdsServer; mPsdsServers[REALTIME_PSDS_SERVER_INDEX] = realtimePsdsServer;