diff --git a/example/android/app/build.gradle b/example/android/app/build.gradle index 986ee288..6a862fe8 100644 --- a/example/android/app/build.gradle +++ b/example/android/app/build.gradle @@ -69,4 +69,5 @@ flutter { dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} \ No newline at end of file + implementation 'com.polidea.rxandroidble2:rxandroidble:1.16.0' +} diff --git a/example/android/app/src/main/kotlin/com/signify/hue/reactivebleexample/MainActivity.kt b/example/android/app/src/main/kotlin/com/signify/hue/reactivebleexample/MainActivity.kt index 6a6f0e2f..8bf76393 100644 --- a/example/android/app/src/main/kotlin/com/signify/hue/reactivebleexample/MainActivity.kt +++ b/example/android/app/src/main/kotlin/com/signify/hue/reactivebleexample/MainActivity.kt @@ -6,9 +6,25 @@ import io.flutter.embedding.android.FlutterActivity import io.flutter.embedding.engine.FlutterEngine import io.flutter.plugins.GeneratedPluginRegistrant +import android.os.Bundle +import com.polidea.rxandroidble2.exceptions.BleException +import io.reactivex.exceptions.UndeliverableException +import io.reactivex.plugins.RxJavaPlugins + class MainActivity: FlutterActivity(){ override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) { GeneratedPluginRegistrant.registerWith(flutterEngine) } + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + RxJavaPlugins.setErrorHandler { throwable -> + if (throwable is UndeliverableException && throwable.cause is BleException) { + return@setErrorHandler // ignore BleExceptions since we do not have subscriber + } else { + throw throwable + } + } + } }