From fff3a9d7914263a65bd7a72ad8dae313eb0ae1ac Mon Sep 17 00:00:00 2001 From: Siddharth Ray Date: Wed, 21 Jun 2017 15:14:44 -0700 Subject: [PATCH] Emergency SUPL when location is disabled A cycle of native_init() and native_cleanup() is needed so that callbacks are registered after bootup even when location is disabled. This will allow Emergency SUPL to work even when location is disabled before device restart. BUG:38362097 Change-Id: I423d5a7142709fc0579be009bb8b14d3778aa090 --- .../server/location/GnssLocationProvider.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/services/core/java/com/android/server/location/GnssLocationProvider.java b/services/core/java/com/android/server/location/GnssLocationProvider.java index 4a45c074f4d18..2afed3cbe39cf 100644 --- a/services/core/java/com/android/server/location/GnssLocationProvider.java +++ b/services/core/java/com/android/server/location/GnssLocationProvider.java @@ -784,6 +784,18 @@ public class GnssLocationProvider implements LocationProviderInterface { } }; mGnssMetrics = new GnssMetrics(); + + /* + * A cycle of native_init() and native_cleanup() is needed so that callbacks are registered + * after bootup even when location is disabled. This will allow Emergency SUPL to work even + * when location is disabled before device restart. + * */ + boolean isInitialized = native_init(); + if(!isInitialized) { + Log.d(TAG, "Failed to initialize at bootup"); + } else { + native_cleanup(); + } } /**