From aa4ec3c808761e78ec198515175f51924965017d Mon Sep 17 00:00:00 2001 From: Yu-Han Yang Date: Mon, 22 Jun 2020 15:09:13 -0700 Subject: DO NOT MERGE: Call handleInitialize() in the end of constructor - Avoid race condition when variables are not initialized but the handler thread tries to use them. Bug: 159504970 Test: on device Change-Id: Id26e2d804e91c7dc013fb6783c8d923e6319af15 --- .../java/com/android/server/location/gnss/GnssLocationProvider.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 d8acf0e331af..85544d0a1b02 100644 --- a/services/core/java/com/android/server/location/gnss/GnssLocationProvider.java +++ b/services/core/java/com/android/server/location/gnss/GnssLocationProvider.java @@ -678,8 +678,6 @@ public class GnssLocationProvider extends AbstractLocationProvider implements mNetworkConnectivityHandler = new GnssNetworkConnectivityHandler(context, GnssLocationProvider.this::onNetworkAvailable, mLooper, mNIHandler); - sendMessage(INITIALIZE_HANDLER, 0, null); - mGnssStatusListenerHelper = new GnssStatusListenerHelper(mContext, mHandler) { @Override protected boolean isAvailableInPlatform() { @@ -746,6 +744,8 @@ public class GnssLocationProvider extends AbstractLocationProvider implements setProperties(PROPERTIES); setAllowed(true); + + sendMessage(INITIALIZE_HANDLER, 0, null); } /** -- cgit v1.2.3-59-g8ed1b