From b6af039a969bbb5a0d68fd407fc608d4e1313c5b Mon Sep 17 00:00:00 2001 From: Sebastian Roth Date: Fri, 18 Dec 2020 18:35:32 +0000 Subject: [PATCH] [connectivity] Clear networkCallback object as soon as stream is cancelled (#3303) Set networkCallback back to null when event stream is cancelled --- packages/connectivity/connectivity/CHANGELOG.md | 4 ++++ .../plugins/connectivity/ConnectivityBroadcastReceiver.java | 1 + packages/connectivity/connectivity/pubspec.yaml | 2 +- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/connectivity/connectivity/CHANGELOG.md b/packages/connectivity/connectivity/CHANGELOG.md index 60765d14c080..f215449eb72f 100644 --- a/packages/connectivity/connectivity/CHANGELOG.md +++ b/packages/connectivity/connectivity/CHANGELOG.md @@ -1,3 +1,7 @@ +## 3.0.0-nullsafety.2 + +* Android: Cleanup the NetworkCallback object when a connectivity stream is cancelled + ## 3.0.0-nullsafety.1 * Bump Dart SDK to support null safety. diff --git a/packages/connectivity/connectivity/android/src/main/java/io/flutter/plugins/connectivity/ConnectivityBroadcastReceiver.java b/packages/connectivity/connectivity/android/src/main/java/io/flutter/plugins/connectivity/ConnectivityBroadcastReceiver.java index ca3ccff82d2d..dbf96bda9fe8 100644 --- a/packages/connectivity/connectivity/android/src/main/java/io/flutter/plugins/connectivity/ConnectivityBroadcastReceiver.java +++ b/packages/connectivity/connectivity/android/src/main/java/io/flutter/plugins/connectivity/ConnectivityBroadcastReceiver.java @@ -64,6 +64,7 @@ public void onCancel(Object arguments) { if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { if (networkCallback != null) { connectivity.getConnectivityManager().unregisterNetworkCallback(networkCallback); + networkCallback = null; } } else { context.unregisterReceiver(this); diff --git a/packages/connectivity/connectivity/pubspec.yaml b/packages/connectivity/connectivity/pubspec.yaml index 2f6d78134796..916fa08908b5 100644 --- a/packages/connectivity/connectivity/pubspec.yaml +++ b/packages/connectivity/connectivity/pubspec.yaml @@ -2,7 +2,7 @@ name: connectivity description: Flutter plugin for discovering the state of the network (WiFi & mobile/cellular) connectivity on Android and iOS. homepage: https://github.com/flutter/plugins/tree/master/packages/connectivity/connectivity -version: 3.0.0-nullsafety.1 +version: 3.0.0-nullsafety.2 flutter: plugin: