From 58ed11759e46f0475b5ddfa043f6ffdd062ca619 Mon Sep 17 00:00:00 2001 From: Nimrod Dayan Date: Mon, 7 Aug 2023 00:50:57 +0300 Subject: [PATCH] Attempt to fix #40 --- .../com/nimroddayan/flutternsd/FlutterNsdPlugin.kt | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/android/src/main/kotlin/com/nimroddayan/flutternsd/FlutterNsdPlugin.kt b/android/src/main/kotlin/com/nimroddayan/flutternsd/FlutterNsdPlugin.kt index 8a7c889..b019344 100644 --- a/android/src/main/kotlin/com/nimroddayan/flutternsd/FlutterNsdPlugin.kt +++ b/android/src/main/kotlin/com/nimroddayan/flutternsd/FlutterNsdPlugin.kt @@ -192,7 +192,11 @@ class FlutterNsdPlugin : FlutterPlugin, MethodCallHandler { override fun onStartDiscoveryFailed(serviceType: String, errorCode: Int) { Timber.w("Failed to start NSD. Error code $errorCode") - nsdManager?.stopServiceDiscovery(this) + try { + nsdManager?.stopServiceDiscovery(this) + } catch (ex: IllegalArgumentException) { + Timber.d("Cannot stop service, listener not registered") + } mainHandler.post { channel.invokeMethod("onStartDiscoveryFailed", errorCode) } @@ -200,7 +204,11 @@ class FlutterNsdPlugin : FlutterPlugin, MethodCallHandler { override fun onStopDiscoveryFailed(serviceType: String, errorCode: Int) { Timber.w("Failed to stop NSD. Error code $errorCode") - nsdManager?.stopServiceDiscovery(this) + try { + nsdManager?.stopServiceDiscovery(this) + } catch (ex: IllegalArgumentException) { + Timber.d("Cannot stop service, listener not registered") + } mainHandler.post { channel.invokeMethod("onStopDiscoveryFailed", errorCode) }