diff options
| author | 2017-02-21 09:54:04 +0000 | |
|---|---|---|
| committer | 2017-02-21 09:54:05 +0000 | |
| commit | 14e3db3de567dc1fb93b11e2d41d4c5f36d92edd (patch) | |
| tree | 0bb50ba6c9706751e74cfb9987f2cdf4cda45bf8 | |
| parent | d95aa50b18685c88122b7a3b5bc661cced64f718 (diff) | |
| parent | 32858e14caa09fbb3eb4081f114f2a99181c9643 (diff) | |
Merge "Don't request information on unregistered callbacks"
| -rw-r--r-- | services/core/java/com/android/server/connectivity/tethering/UpstreamNetworkMonitor.java | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/connectivity/tethering/UpstreamNetworkMonitor.java b/services/core/java/com/android/server/connectivity/tethering/UpstreamNetworkMonitor.java index 017c5fb4d4ec..63024db232b6 100644 --- a/services/core/java/com/android/server/connectivity/tethering/UpstreamNetworkMonitor.java +++ b/services/core/java/com/android/server/connectivity/tethering/UpstreamNetworkMonitor.java @@ -183,11 +183,31 @@ public class UpstreamNetworkMonitor { case CALLBACK_LISTEN_ALL: break; case CALLBACK_TRACK_DEFAULT: + if (mDefaultNetworkCallback == null) { + // The callback was unregistered in the interval between + // ConnectivityService calling onAvailable() and our + // handling of it here on the mTarget.getHandler() thread. + // Clean-up of this network entry is deferred to the + // handling of onLost() by other callbacks. + // TODO: change to Log.wtf() after oag/331764 is merged. + return; + } + cm().requestNetworkCapabilities(mDefaultNetworkCallback); cm().requestLinkProperties(mDefaultNetworkCallback); mCurrentDefault = network; break; case CALLBACK_MOBILE_REQUEST: + if (mMobileNetworkCallback == null) { + // The callback was unregistered in the interval between + // ConnectivityService calling onAvailable() and our + // handling of it here on the mTarget.getHandler() thread. + // Clean-up of this network entry is deferred to the + // handling of onLost() by other callbacks. + // TODO: change to Log.wtf() after oag/331764 is merged. + return; + } + cm().requestNetworkCapabilities(mMobileNetworkCallback); cm().requestLinkProperties(mMobileNetworkCallback); break; |