mirror of
https://github.com/m5stack/StackChan.git
synced 2026-04-30 04:14:23 +00:00
6314188835
- align Android/iOS native bridge implementations and audio handling paths - improve Bluetooth provisioning/verification flow and related error handling - refactor WebSocket, music, and device utility logic for more stable behavior - clean up noisy debug logs and normalize comments across Flutter and native code - update AR view, dance/agent/device pages, and platform integration details
70 lines
2.0 KiB
Swift
70 lines
2.0 KiB
Swift
/*
|
|
SPDX-FileCopyrightText: 2026 M5Stack Technology CO LTD
|
|
SPDX-License-Identifier: MIT
|
|
*/
|
|
|
|
//
|
|
// ViewFactory.swift
|
|
// Runner
|
|
//
|
|
// Created by on 2026/1/30.
|
|
//
|
|
|
|
import Flutter
|
|
import UIKit
|
|
|
|
class StackChanRobotViewFactory: NSObject, FlutterPlatformViewFactory {
|
|
|
|
private let messenger: FlutterBinaryMessenger
|
|
|
|
init(messenger: FlutterBinaryMessenger) {
|
|
self.messenger = messenger
|
|
super.init()
|
|
}
|
|
|
|
func create(withFrame frame: CGRect, viewIdentifier viewId: Int64, arguments args: Any?) -> any FlutterPlatformView {
|
|
return StackChanRobot(frame: frame, viewId: viewId, messenger: messenger, args: args)
|
|
}
|
|
|
|
func createArgsCodec() -> any FlutterMessageCodec & NSObjectProtocol {
|
|
return FlutterStandardMessageCodec.sharedInstance()
|
|
}
|
|
}
|
|
|
|
|
|
class StackChanRotaryRobotViewFactory: NSObject, FlutterPlatformViewFactory {
|
|
private let messenger: FlutterBinaryMessenger
|
|
|
|
init(messenger: FlutterBinaryMessenger) {
|
|
self.messenger = messenger
|
|
super.init()
|
|
}
|
|
|
|
func create(withFrame frame: CGRect, viewIdentifier viewId: Int64, arguments args: Any?) -> any FlutterPlatformView {
|
|
return StackChanRotaryRobot(frame: frame, viewId: viewId, messenger: messenger, args: args)
|
|
}
|
|
|
|
func createArgsCodec() -> any FlutterMessageCodec & NSObjectProtocol {
|
|
return FlutterStandardMessageCodec.sharedInstance()
|
|
}
|
|
}
|
|
|
|
|
|
class StackChanArViewFactory: NSObject, FlutterPlatformViewFactory {
|
|
private let messenger: FlutterBinaryMessenger
|
|
|
|
init(messenger: FlutterBinaryMessenger) {
|
|
self.messenger = messenger
|
|
super.init()
|
|
}
|
|
|
|
func create(withFrame frame: CGRect, viewIdentifier viewId: Int64, arguments args: Any?) -> any FlutterPlatformView {
|
|
return StackChanArView(frame: frame, viewId: viewId, messenger: messenger, args: args)
|
|
}
|
|
|
|
func createArgsCodec() -> any FlutterMessageCodec & NSObjectProtocol {
|
|
return FlutterStandardMessageCodec.sharedInstance()
|
|
}
|
|
|
|
}
|