From 7d608733dfcb771477222c25161c4fba8b4a992f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Domk=C3=A1=C5=99?= Date: Sat, 22 Apr 2023 17:35:07 +0200 Subject: [PATCH 1/2] Make new plugin controller for each flutter engine --- .../flutterreactiveble/ReactiveBlePlugin.kt | 34 +++++-------------- 1 file changed, 8 insertions(+), 26 deletions(-) diff --git a/packages/reactive_ble_mobile/android/src/main/kotlin/com/signify/hue/flutterreactiveble/ReactiveBlePlugin.kt b/packages/reactive_ble_mobile/android/src/main/kotlin/com/signify/hue/flutterreactiveble/ReactiveBlePlugin.kt index 9c55357b..979c5be3 100644 --- a/packages/reactive_ble_mobile/android/src/main/kotlin/com/signify/hue/flutterreactiveble/ReactiveBlePlugin.kt +++ b/packages/reactive_ble_mobile/android/src/main/kotlin/com/signify/hue/flutterreactiveble/ReactiveBlePlugin.kt @@ -1,43 +1,25 @@ package com.signify.hue.flutterreactiveble -import android.content.Context import io.flutter.embedding.engine.plugins.FlutterPlugin -import io.flutter.plugin.common.BinaryMessenger import io.flutter.plugin.common.MethodCall import io.flutter.plugin.common.MethodChannel import io.flutter.plugin.common.MethodChannel.Result class ReactiveBlePlugin : FlutterPlugin, MethodChannel.MethodCallHandler { + private val pluginController = PluginController() + override fun onAttachedToEngine(binding: FlutterPlugin.FlutterPluginBinding) { - initializePlugin(binding.binaryMessenger, binding.applicationContext, this) - } + val channel = MethodChannel(binding.binaryMessenger, "flutter_reactive_ble_method") + channel.setMethodCallHandler(this) - override fun onDetachedFromEngine(binding: FlutterPlugin.FlutterPluginBinding) { - deinitializePlugin() + pluginController.initialize(binding.binaryMessenger, binding.applicationContext) } - companion object { - lateinit var pluginController: PluginController - - @JvmStatic - private fun initializePlugin( - messenger: BinaryMessenger, - context: Context, - plugin: ReactiveBlePlugin - ) { - val channel = MethodChannel(messenger, "flutter_reactive_ble_method") - channel.setMethodCallHandler(plugin) - pluginController = PluginController() - pluginController.initialize(messenger, context) - } - - @JvmStatic - private fun deinitializePlugin() { - pluginController.deinitialize() - } + override fun onDetachedFromEngine(binding: FlutterPlugin.FlutterPluginBinding) { + pluginController.deinitialize() } override fun onMethodCall(call: MethodCall, result: Result) { pluginController.execute(call, result) } -} +} \ No newline at end of file From 39540c4fbd619916871f3664318610a6f2bcb778 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Domk=C3=A1=C5=99?= Date: Wed, 31 May 2023 21:11:14 +0200 Subject: [PATCH 2/2] Update kotlin and gradle --- example/android/build.gradle | 4 ++-- packages/reactive_ble_mobile/android/build.gradle | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/example/android/build.gradle b/example/android/build.gradle index d1fc4db5..42c6e75c 100644 --- a/example/android/build.gradle +++ b/example/android/build.gradle @@ -1,12 +1,12 @@ buildscript { - ext.kotlin_version = '1.5.31' + ext.kotlin_version = '1.8.21' repositories { mavenCentral() google() } dependencies { - classpath 'com.android.tools.build:gradle:7.0.2' + classpath 'com.android.tools.build:gradle:7.2.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } diff --git a/packages/reactive_ble_mobile/android/build.gradle b/packages/reactive_ble_mobile/android/build.gradle index ada934a7..bd214f83 100644 --- a/packages/reactive_ble_mobile/android/build.gradle +++ b/packages/reactive_ble_mobile/android/build.gradle @@ -3,7 +3,7 @@ version '1.0-SNAPSHOT' buildscript { ext.detekt_version = '1.17.1' - ext.kotlin_version = '1.5.31' + ext.kotlin_version = '1.8.21' repositories { google() mavenCentral() @@ -13,7 +13,7 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:7.0.3' + classpath 'com.android.tools.build:gradle:7.2.0' classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.17' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "io.gitlab.arturbosch.detekt:detekt-gradle-plugin:$detekt_version"