Merge "Fix NPE when re-registerNetworkCallbacks" into udc-dev am: feb922b0ce
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/22598874 Change-Id: Ic4fc45344e2d7e458ecb849bfaf03b1e73ee12b1 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -272,6 +272,10 @@ public class GnssLocationProvider extends AbstractLocationProvider implements
|
||||
private long mStartedChangedElapsedRealtime;
|
||||
private int mFixInterval = 1000;
|
||||
|
||||
// True if handleInitialize() has finished;
|
||||
@GuardedBy("mLock")
|
||||
private boolean mInitialized;
|
||||
|
||||
private ProviderRequest mProviderRequest;
|
||||
|
||||
private int mPositionMode;
|
||||
@@ -570,6 +574,9 @@ public class GnssLocationProvider extends AbstractLocationProvider implements
|
||||
}
|
||||
|
||||
updateEnabled();
|
||||
synchronized (mLock) {
|
||||
mInitialized = true;
|
||||
}
|
||||
}
|
||||
|
||||
private BroadcastReceiver mIntentReceiver = new BroadcastReceiver() {
|
||||
@@ -1718,8 +1725,12 @@ public class GnssLocationProvider extends AbstractLocationProvider implements
|
||||
}
|
||||
|
||||
// Re-register network callbacks to get an update of available networks right away.
|
||||
mNetworkConnectivityHandler.unregisterNetworkCallbacks();
|
||||
mNetworkConnectivityHandler.registerNetworkCallbacks();
|
||||
synchronized (mLock) {
|
||||
if (mInitialized) {
|
||||
mNetworkConnectivityHandler.unregisterNetworkCallbacks();
|
||||
mNetworkConnectivityHandler.registerNetworkCallbacks();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -303,6 +303,7 @@ class GnssNetworkConnectivityHandler {
|
||||
|
||||
void unregisterNetworkCallbacks() {
|
||||
mConnMgr.unregisterNetworkCallback(mNetworkConnectivityCallback);
|
||||
mNetworkConnectivityCallback = null;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user