update ios

This commit is contained in:
hiddify
2023-12-26 22:26:06 +03:30
parent 887b561c92
commit 38348feb25
13 changed files with 96 additions and 43 deletions

View File

@@ -13,23 +13,32 @@ public class MethodHandler: NSObject, FlutterPlugin {
private var cancelBag: Set<AnyCancellable> = []
public static let name = "\(FilePath.packageName)/method"
public static let name = "\(Bundle.main.serviceIdentifier)/method"
public static func register(with registrar: FlutterPluginRegistrar) {
let channel = FlutterMethodChannel(name: Self.name, binaryMessenger: registrar.messenger())
let instance = MethodHandler()
registrar.addMethodCallDelegate(instance, channel: channel)
instance.channel = channel
instance.channel = channel
}
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))
case "change_config_options":
result(changeConfigOptions(args: call.arguments))
case "setup":
Task { [unowned self] in
let res = await setup(args: call.arguments)
await MainActor.run {
result(res)
}
}
case "start":
Task { [unowned self] in
let res = await start(args: call.arguments)
@@ -80,6 +89,15 @@ public class MethodHandler: NSObject, FlutterPlugin {
return true
}
public func setup(args: Any?) async -> Bool {
do {
try await VPNManager.shared.setup()
} catch {
return false
}
return true
}
public func start(args: Any?) async -> Bool {
guard
let args = args as? [String:Any?],