SwiftFlowyInfraUiPlugin.swift 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. import Flutter
  2. import UIKit
  3. public class SwiftFlowyInfraUiPlugin: NSObject, FlutterPlugin {
  4. enum Constant {
  5. static let infraUIMethodChannelName = "flowy_infra_ui_method"
  6. static let infraUIKeyboardEventChannelName = "flowy_infra_ui_event/keyboard"
  7. static let infraUIMethodGetPlatformVersion = "getPlatformVersion"
  8. }
  9. public static func register(with registrar: FlutterPluginRegistrar) {
  10. let instance = SwiftFlowyInfraUiPlugin()
  11. let methodChannel = FlutterMethodChannel(
  12. name: Constant.infraUIMethodChannelName,
  13. binaryMessenger: registrar.messenger())
  14. registrar.addMethodCallDelegate(instance, channel: methodChannel)
  15. let keyboardEventChannel = FlutterEventChannel(
  16. name: Constant.infraUIKeyboardEventChannelName,
  17. binaryMessenger: registrar.messenger())
  18. keyboardEventChannel.setStreamHandler(KeyboardEventHandler())
  19. }
  20. // MARK: - Method Channel
  21. public func handle(_ call: FlutterMethodCall, result: @escaping FlutterResult) {
  22. switch call.method {
  23. case Constant.infraUIMethodGetPlatformVersion:
  24. result("iOS " + UIDevice.current.systemVersion)
  25. default:
  26. result(FlutterMethodNotImplemented)
  27. }
  28. }
  29. }