|
...
|
...
|
@@ -83,7 +83,8 @@ class FlutterError ( |
|
|
|
data class WearDeviceInfo (
|
|
|
|
val deviceId: String? = null,
|
|
|
|
val deviceName: String? = null,
|
|
|
|
val isConnected: Boolean? = null,
|
|
|
|
val isPaired: Boolean? = null,
|
|
|
|
val isReachable: Boolean? = null,
|
|
|
|
val isWatchAppInstalled: Boolean? = null
|
|
|
|
)
|
|
|
|
{
|
|
...
|
...
|
@@ -91,16 +92,18 @@ data class WearDeviceInfo ( |
|
|
|
fun fromList(pigeonVar_list: List<Any?>): WearDeviceInfo {
|
|
|
|
val deviceId = pigeonVar_list[0] as String?
|
|
|
|
val deviceName = pigeonVar_list[1] as String?
|
|
|
|
val isConnected = pigeonVar_list[2] as Boolean?
|
|
|
|
val isWatchAppInstalled = pigeonVar_list[3] as Boolean?
|
|
|
|
return WearDeviceInfo(deviceId, deviceName, isConnected, isWatchAppInstalled)
|
|
|
|
val isPaired = pigeonVar_list[2] as Boolean?
|
|
|
|
val isReachable = pigeonVar_list[3] as Boolean?
|
|
|
|
val isWatchAppInstalled = pigeonVar_list[4] as Boolean?
|
|
|
|
return WearDeviceInfo(deviceId, deviceName, isPaired, isReachable, isWatchAppInstalled)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
fun toList(): List<Any?> {
|
|
|
|
return listOf(
|
|
|
|
deviceId,
|
|
|
|
deviceName,
|
|
|
|
isConnected,
|
|
|
|
isPaired,
|
|
|
|
isReachable,
|
|
|
|
isWatchAppInstalled,
|
|
|
|
)
|
|
|
|
}
|
|
...
|
...
|
@@ -141,7 +144,7 @@ private open class WearEngineApiPigeonCodec : StandardMessageCodec() { |
|
|
|
/** Generated interface from Pigeon that represents a handler of messages from Flutter. */
|
|
|
|
interface WearEngineHostApi {
|
|
|
|
fun hasAvailableDevices(): Boolean
|
|
|
|
fun checkConnectedDevice(): WearDeviceInfo?
|
|
|
|
fun checkConnectedDevice(callback: (Result<WearDeviceInfo?>) -> Unit)
|
|
|
|
fun registerMessageReceiver(): Boolean
|
|
|
|
fun sendTextMessage(message: String): Boolean
|
|
|
|
/** 添加表盘 */
|
|
...
|
...
|
@@ -183,12 +186,15 @@ interface WearEngineHostApi { |
|
|
|
val channel = BasicMessageChannel<Any?>(binaryMessenger, "dev.flutter.pigeon.doublefeel_flutter.WearEngineHostApi.checkConnectedDevice$separatedMessageChannelSuffix", codec)
|
|
|
|
if (api != null) {
|
|
|
|
channel.setMessageHandler { _, reply ->
|
|
|
|
val wrapped: List<Any?> = try {
|
|
|
|
listOf(api.checkConnectedDevice())
|
|
|
|
} catch (exception: Throwable) {
|
|
|
|
WearEngineApiPigeonUtils.wrapError(exception)
|
|
|
|
api.checkConnectedDevice{ result: Result<WearDeviceInfo?> ->
|
|
|
|
val error = result.exceptionOrNull()
|
|
|
|
if (error != null) {
|
|
|
|
reply.reply(WearEngineApiPigeonUtils.wrapError(error))
|
|
|
|
} else {
|
|
|
|
val data = result.getOrNull()
|
|
|
|
reply.reply(WearEngineApiPigeonUtils.wrapResult(data))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
reply.reply(wrapped)
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
channel.setMessageHandler(null)
|
...
|
...
|
|