Merge "Fix NPE when re-registerNetworkCallbacks" into udc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
feb922b0ce
@@ -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