Don't start location providers until the system is ready.
Change-Id: Id545e95705e59ffbaaab8a679a1b7df488813101
BUG: 2461320
Signed-off-by: Mike Lockwood <lockwood@android.com>
diff --git a/services/java/com/android/server/LocationManagerService.java b/services/java/com/android/server/LocationManagerService.java
index dd351be..c0dcdf9 100644
--- a/services/java/com/android/server/LocationManagerService.java
+++ b/services/java/com/android/server/LocationManagerService.java
@@ -485,14 +485,17 @@
super();
mContext = context;
- Thread thread = new Thread(null, this, "LocationManagerService");
- thread.start();
-
if (LOCAL_LOGV) {
Log.v(TAG, "Constructed LocationManager Service");
}
}
+ void systemReady() {
+ // we defer starting up the service until the system is ready
+ Thread thread = new Thread(null, this, "LocationManagerService");
+ thread.start();
+ }
+
private void initialize() {
// Create a wake lock, needs to be done before calling loadProviders() below
PowerManager powerManager = (PowerManager) mContext.getSystemService(Context.POWER_SERVICE);