Fix minor bugs
This commit is contained in:
@@ -15,17 +15,17 @@ class EventHandler : FlutterPlugin {
|
||||
const val SERVICE_ALERTS = "com.hiddify.app/service.alerts"
|
||||
}
|
||||
|
||||
private lateinit var statusChannel: EventChannel
|
||||
private lateinit var alertsChannel: EventChannel
|
||||
private var statusChannel: EventChannel? = null
|
||||
private var alertsChannel: EventChannel? = null
|
||||
|
||||
private lateinit var statusObserver: Observer<Status>
|
||||
private lateinit var alertsObserver: Observer<ServiceEvent?>
|
||||
private var statusObserver: Observer<Status>? = null
|
||||
private var alertsObserver: Observer<ServiceEvent?>? = null
|
||||
|
||||
override fun onAttachedToEngine(flutterPluginBinding: FlutterPlugin.FlutterPluginBinding) {
|
||||
statusChannel = EventChannel(flutterPluginBinding.binaryMessenger, SERVICE_STATUS)
|
||||
alertsChannel = EventChannel(flutterPluginBinding.binaryMessenger, SERVICE_ALERTS)
|
||||
|
||||
statusChannel.setStreamHandler(object : EventChannel.StreamHandler {
|
||||
statusChannel!!.setStreamHandler(object : EventChannel.StreamHandler {
|
||||
override fun onListen(arguments: Any?, events: EventChannel.EventSink?) {
|
||||
statusObserver = Observer {
|
||||
Log.d(TAG, "new status: $it")
|
||||
@@ -35,15 +35,16 @@ class EventHandler : FlutterPlugin {
|
||||
.toMap()
|
||||
events?.success(map)
|
||||
}
|
||||
MainActivity.instance.serviceStatus.observeForever(statusObserver)
|
||||
MainActivity.instance.serviceStatus.observeForever(statusObserver!!)
|
||||
}
|
||||
|
||||
override fun onCancel(arguments: Any?) {
|
||||
MainActivity.instance.serviceStatus.removeObserver(statusObserver)
|
||||
if (statusObserver != null)
|
||||
MainActivity.instance.serviceStatus.removeObserver(statusObserver!!)
|
||||
}
|
||||
})
|
||||
|
||||
alertsChannel.setStreamHandler(object : EventChannel.StreamHandler {
|
||||
alertsChannel!!.setStreamHandler(object : EventChannel.StreamHandler {
|
||||
override fun onListen(arguments: Any?, events: EventChannel.EventSink?) {
|
||||
alertsObserver = Observer {
|
||||
if (it == null) return@Observer
|
||||
@@ -57,20 +58,23 @@ class EventHandler : FlutterPlugin {
|
||||
.toMap()
|
||||
events?.success(map)
|
||||
}
|
||||
MainActivity.instance.serviceAlerts.observeForever(alertsObserver)
|
||||
MainActivity.instance.serviceAlerts.observeForever(alertsObserver!!)
|
||||
}
|
||||
|
||||
override fun onCancel(arguments: Any?) {
|
||||
MainActivity.instance.serviceAlerts.removeObserver(alertsObserver)
|
||||
if (alertsObserver != null)
|
||||
MainActivity.instance.serviceAlerts.removeObserver(alertsObserver!!)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
override fun onDetachedFromEngine(binding: FlutterPlugin.FlutterPluginBinding) {
|
||||
MainActivity.instance.serviceStatus.removeObserver(statusObserver)
|
||||
statusChannel.setStreamHandler(null)
|
||||
MainActivity.instance.serviceAlerts.removeObserver(alertsObserver)
|
||||
alertsChannel.setStreamHandler(null)
|
||||
if (statusObserver != null)
|
||||
MainActivity.instance.serviceStatus.removeObserver(statusObserver!!)
|
||||
statusChannel?.setStreamHandler(null)
|
||||
if (alertsObserver != null)
|
||||
MainActivity.instance.serviceAlerts.removeObserver(alertsObserver!!)
|
||||
alertsChannel?.setStreamHandler(null)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ class GroupsChannel(private val scope: CoroutineScope) : FlutterPlugin, CommandC
|
||||
private val commandClient =
|
||||
CommandClient(scope, CommandClient.ConnectionType.Groups, this)
|
||||
|
||||
private lateinit var groupsChannel: EventChannel
|
||||
private var groupsChannel: EventChannel? = null
|
||||
|
||||
private var groupsEvent: EventChannel.EventSink? = null
|
||||
|
||||
@@ -37,7 +37,7 @@ class GroupsChannel(private val scope: CoroutineScope) : FlutterPlugin, CommandC
|
||||
GROUP_CHANNEL
|
||||
)
|
||||
|
||||
groupsChannel.setStreamHandler(object : EventChannel.StreamHandler {
|
||||
groupsChannel!!.setStreamHandler(object : EventChannel.StreamHandler {
|
||||
override fun onListen(arguments: Any?, events: EventChannel.EventSink?) {
|
||||
groupsEvent = events
|
||||
Log.d(TAG, "connecting groups command client")
|
||||
@@ -55,6 +55,7 @@ class GroupsChannel(private val scope: CoroutineScope) : FlutterPlugin, CommandC
|
||||
override fun onDetachedFromEngine(binding: FlutterPlugin.FlutterPluginBinding) {
|
||||
groupsEvent = null
|
||||
commandClient.disconnect()
|
||||
groupsChannel?.setStreamHandler(null)
|
||||
}
|
||||
|
||||
data class KOutboundGroup(
|
||||
|
||||
@@ -13,7 +13,7 @@ import kotlinx.coroutines.delay
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
class MethodHandler : FlutterPlugin, MethodChannel.MethodCallHandler {
|
||||
private lateinit var channel: MethodChannel
|
||||
private var channel: MethodChannel? = null
|
||||
|
||||
companion object {
|
||||
const val channelName = "com.hiddify.app/method"
|
||||
@@ -37,11 +37,11 @@ class MethodHandler : FlutterPlugin, MethodChannel.MethodCallHandler {
|
||||
StandardMethodCodec.INSTANCE,
|
||||
taskQueue
|
||||
)
|
||||
channel.setMethodCallHandler(this)
|
||||
channel!!.setMethodCallHandler(this)
|
||||
}
|
||||
|
||||
override fun onDetachedFromEngine(binding: FlutterPlugin.FlutterPluginBinding) {
|
||||
channel.setMethodCallHandler(null)
|
||||
channel?.setMethodCallHandler(null)
|
||||
}
|
||||
|
||||
override fun onMethodCall(call: MethodCall, result: MethodChannel.Result) {
|
||||
|
||||
@@ -30,7 +30,7 @@ import java.io.ByteArrayOutputStream
|
||||
|
||||
class PlatformSettingsHandler : FlutterPlugin, MethodChannel.MethodCallHandler, ActivityAware,
|
||||
PluginRegistry.ActivityResultListener {
|
||||
private lateinit var channel: MethodChannel
|
||||
private var channel: MethodChannel? = null
|
||||
private var activity: Activity? = null
|
||||
private lateinit var ignoreRequestResult: MethodChannel.Result
|
||||
|
||||
@@ -56,11 +56,11 @@ class PlatformSettingsHandler : FlutterPlugin, MethodChannel.MethodCallHandler,
|
||||
StandardMethodCodec.INSTANCE,
|
||||
taskQueue
|
||||
)
|
||||
channel.setMethodCallHandler(this)
|
||||
channel!!.setMethodCallHandler(this)
|
||||
}
|
||||
|
||||
override fun onDetachedFromEngine(binding: FlutterPlugin.FlutterPluginBinding) {
|
||||
channel.setMethodCallHandler(null)
|
||||
channel?.setMethodCallHandler(null)
|
||||
}
|
||||
|
||||
override fun onAttachedToActivity(binding: ActivityPluginBinding) {
|
||||
|
||||
Reference in New Issue
Block a user