You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
967 B
35 lines
967 B
import Flutter
|
|
|
|
public class OtaPlugin: NSObject, FlutterPlugin {
|
|
let userManager = JLBleManager.sharedInstance()
|
|
|
|
public static func register(with registrar: FlutterPluginRegistrar) {
|
|
let channel = FlutterMethodChannel(name: "ota", binaryMessenger: registrar.messenger())
|
|
let instance = OtaPlugin()
|
|
registrar.addMethodCallDelegate(instance, channel: channel)
|
|
}
|
|
|
|
public func handle(_ call: FlutterMethodCall, result: @escaping FlutterResult) {
|
|
switch call.method {
|
|
case "startUpgrading":
|
|
startUpgrading()
|
|
result("")
|
|
case "onOtaClose":
|
|
onOtaClose()
|
|
result("")
|
|
default:
|
|
result(FlutterMethodNotImplemented)
|
|
}
|
|
}
|
|
|
|
private func startUpgrading() {
|
|
if userManager.mBleManagerState == CBManagerState.poweredOn {
|
|
userManager.startScanBLE()
|
|
DispatchQueue.main.asyncAfter(deadline: .now() + 2.0) {
|
|
self.userManager.stopScanBLE()
|
|
}
|
|
}
|
|
}
|
|
|
|
private func onOtaClose() {}
|
|
}
|
|
|