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 long mStartedChangedElapsedRealtime;
|
||||||
private int mFixInterval = 1000;
|
private int mFixInterval = 1000;
|
||||||
|
|
||||||
|
// True if handleInitialize() has finished;
|
||||||
|
@GuardedBy("mLock")
|
||||||
|
private boolean mInitialized;
|
||||||
|
|
||||||
private ProviderRequest mProviderRequest;
|
private ProviderRequest mProviderRequest;
|
||||||
|
|
||||||
private int mPositionMode;
|
private int mPositionMode;
|
||||||
@@ -570,6 +574,9 @@ public class GnssLocationProvider extends AbstractLocationProvider implements
|
|||||||
}
|
}
|
||||||
|
|
||||||
updateEnabled();
|
updateEnabled();
|
||||||
|
synchronized (mLock) {
|
||||||
|
mInitialized = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private BroadcastReceiver mIntentReceiver = new BroadcastReceiver() {
|
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.
|
// Re-register network callbacks to get an update of available networks right away.
|
||||||
mNetworkConnectivityHandler.unregisterNetworkCallbacks();
|
synchronized (mLock) {
|
||||||
mNetworkConnectivityHandler.registerNetworkCallbacks();
|
if (mInitialized) {
|
||||||
|
mNetworkConnectivityHandler.unregisterNetworkCallbacks();
|
||||||
|
mNetworkConnectivityHandler.registerNetworkCallbacks();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -303,6 +303,7 @@ class GnssNetworkConnectivityHandler {
|
|||||||
|
|
||||||
void unregisterNetworkCallbacks() {
|
void unregisterNetworkCallbacks() {
|
||||||
mConnMgr.unregisterNetworkCallback(mNetworkConnectivityCallback);
|
mConnMgr.unregisterNetworkCallback(mNetworkConnectivityCallback);
|
||||||
|
mNetworkConnectivityCallback = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user