Merge "Fix memory leak of ConnectivityManager"
diff --git a/framework/src/android/net/ConnectivityManager.java b/framework/src/android/net/ConnectivityManager.java
index 547b4ba..b5c3c64 100644
--- a/framework/src/android/net/ConnectivityManager.java
+++ b/framework/src/android/net/ConnectivityManager.java
@@ -4080,7 +4080,7 @@
}
}
- private class CallbackHandler extends Handler {
+ private static class CallbackHandler extends Handler {
private static final String TAG = "ConnectivityManager.CallbackHandler";
private static final boolean DBG = false;
@@ -4095,7 +4095,10 @@
@Override
public void handleMessage(Message message) {
if (message.what == EXPIRE_LEGACY_REQUEST) {
- expireRequest((NetworkCapabilities) message.obj, message.arg1);
+ // the sInstance can't be null because to send this message a ConnectivityManager
+ // instance must have been created prior to creating the thread on which this
+ // Handler is running.
+ sInstance.expireRequest((NetworkCapabilities) message.obj, message.arg1);
return;
}