fix: set codec for stream handlers
This commit is contained in:
@@ -14,22 +14,15 @@ public class AlertsEventHandler: NSObject, FlutterPlugin, FlutterStreamHandler {
|
||||
private var channel: FlutterEventChannel?
|
||||
|
||||
private var cancellable: AnyCancellable?
|
||||
private var cancelBag: Set<AnyCancellable> = []
|
||||
|
||||
public static func register(with registrar: FlutterPluginRegistrar) {
|
||||
let instance = AlertsEventHandler()
|
||||
instance.channel = FlutterEventChannel(name: Self.name, binaryMessenger: registrar.messenger())
|
||||
instance.channel = FlutterEventChannel(name: Self.name, binaryMessenger: registrar.messenger(), codec: FlutterJSONMethodCodec())
|
||||
instance.channel?.setStreamHandler(instance)
|
||||
}
|
||||
|
||||
public func onListen(withArguments arguments: Any?, eventSink events: @escaping FlutterEventSink) -> FlutterError? {
|
||||
print("[TLOG] handle start method \(AlertsEventHandler.name)")
|
||||
NSLog("[TLOG] handle start method \(AlertsEventHandler.name)")
|
||||
defer {
|
||||
print("[TLOG] handler end method \(AlertsEventHandler.name)")
|
||||
NSLog("[TLOG] handler end method \(AlertsEventHandler.name)")
|
||||
}
|
||||
VPNManager.shared.$alert.sink { [events] alert in
|
||||
cancellable = VPNManager.shared.$alert.sink { [events] alert in
|
||||
var data = [
|
||||
"status": "Stopped",
|
||||
"alert": alert.alert?.rawValue,
|
||||
@@ -41,12 +34,12 @@ public class AlertsEventHandler: NSObject, FlutterPlugin, FlutterStreamHandler {
|
||||
}
|
||||
}
|
||||
events(data)
|
||||
}.store(in: &cancelBag)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
public func onCancel(withArguments arguments: Any?) -> FlutterError? {
|
||||
// cancellable?.cancel()
|
||||
cancellable?.cancel()
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,8 +21,6 @@ public class FileMethodHandler: NSObject, FlutterPlugin {
|
||||
private var channel: FlutterMethodChannel?
|
||||
|
||||
public func handle(_ call: FlutterMethodCall, result: @escaping FlutterResult) {
|
||||
NSLog("[TLOG] handle start method \(call.method)")
|
||||
defer { NSLog("[TLOG] handler end method \(call.method)") }
|
||||
switch call.method {
|
||||
case "get_paths":
|
||||
result([
|
||||
|
||||
@@ -25,8 +25,6 @@ public class MethodHandler: NSObject, FlutterPlugin {
|
||||
private var channel: FlutterMethodChannel?
|
||||
|
||||
public func handle(_ call: FlutterMethodCall, result: @escaping FlutterResult) {
|
||||
NSLog("[TLOG] handle start method \(call.method)")
|
||||
defer { NSLog("[TLOG] handler end method \(call.method)") }
|
||||
switch call.method {
|
||||
case "parse_config":
|
||||
result(parseConfig(args: call.arguments))
|
||||
|
||||
@@ -14,22 +14,15 @@ public class StatusEventHandler: NSObject, FlutterPlugin, FlutterStreamHandler {
|
||||
private var channel: FlutterEventChannel?
|
||||
|
||||
private var cancellable: AnyCancellable?
|
||||
private var cancelBag: Set<AnyCancellable> = []
|
||||
|
||||
public static func register(with registrar: FlutterPluginRegistrar) {
|
||||
let instance = StatusEventHandler()
|
||||
instance.channel = FlutterEventChannel(name: Self.name, binaryMessenger: registrar.messenger())
|
||||
instance.channel = FlutterEventChannel(name: Self.name, binaryMessenger: registrar.messenger(), codec: FlutterJSONMethodCodec())
|
||||
instance.channel?.setStreamHandler(instance)
|
||||
}
|
||||
|
||||
public func onListen(withArguments arguments: Any?, eventSink events: @escaping FlutterEventSink) -> FlutterError? {
|
||||
print("[TLOG] handle start method \(StatusEventHandler.name)")
|
||||
NSLog("[TLOG] handle start method \(StatusEventHandler.name)")
|
||||
defer {
|
||||
print("[TLOG] handler end method \(StatusEventHandler.name)")
|
||||
NSLog("[TLOG] handler end method \(StatusEventHandler.name)")
|
||||
}
|
||||
VPNManager.shared.$state.sink { [events] status in
|
||||
cancellable = VPNManager.shared.$state.sink { [events] status in
|
||||
switch status {
|
||||
case .reasserting, .connecting:
|
||||
events(["status": "Starting"])
|
||||
@@ -42,12 +35,12 @@ public class StatusEventHandler: NSObject, FlutterPlugin, FlutterStreamHandler {
|
||||
@unknown default:
|
||||
events(["status": "Stopped"])
|
||||
}
|
||||
}.store(in: &cancelBag)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
public func onCancel(withArguments arguments: Any?) -> FlutterError? {
|
||||
// cancellable?.cancel()
|
||||
cancellable?.cancel()
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user