From c49cf54f266e0971919a68285fb34f4a41c4457d Mon Sep 17 00:00:00 2001 From: yihuiyang Date: Fri, 10 Nov 2023 09:45:31 +0800 Subject: [PATCH 1/2] =?UTF-8?q?invokeHandler=E6=94=B9=E6=88=90=E5=BC=82?= =?UTF-8?q?=E6=AD=A5=EF=BC=8C=E8=80=97=E6=97=B6=E4=BB=BB=E5=8A=A1=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E5=BC=82=E6=AD=A5=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yihuiyang --- .../embedding/engine/dart/DartMessenger.ets | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/shell/platform/ohos/flutter_embedding/flutter/src/main/ets/embedding/engine/dart/DartMessenger.ets b/shell/platform/ohos/flutter_embedding/flutter/src/main/ets/embedding/engine/dart/DartMessenger.ets index 862ca785b6..f6b143297d 100644 --- a/shell/platform/ohos/flutter_embedding/flutter/src/main/ets/embedding/engine/dart/DartMessenger.ets +++ b/shell/platform/ohos/flutter_embedding/flutter/src/main/ets/embedding/engine/dart/DartMessenger.ets @@ -58,6 +58,7 @@ export class DartMessenger implements BinaryMessenger, PlatformMessageHandler { this.flutterNapi = flutterNapi; } makeBackgroundTaskQueue(options?: TaskQueueOptions): TaskQueue { + Log.w(TAG, "ArkTS use aync function to perform time-consuming tasks"); throw new Error('Method not implemented.'); } @@ -103,16 +104,16 @@ export class DartMessenger implements BinaryMessenger, PlatformMessageHandler { } } - invokeHandler(handlerInfo: HandlerInfo | null, message: ArrayBuffer, replyId: number): void { - // Called from any thread. - if (handlerInfo != null) { - try { - Log.d(TAG, "Deferring to registered handler to process message."); - handlerInfo.handler.onMessage(message, new Reply(this.flutterNapi, replyId)); - } catch (ex) { - Log.e(TAG, "Uncaught exception in binary message listener", ex); - this.flutterNapi.invokePlatformMessageEmptyResponseCallback(replyId); - } + async invokeHandler(handlerInfo: HandlerInfo | null, message: ArrayBuffer, replyId: number): Promise { + // Called from any thread. + if (handlerInfo != null) { + try { + Log.d(TAG, "Deferring to registered handler to process message."); + await handlerInfo.handler.onMessage(message, new Reply(this.flutterNapi, replyId)); + } catch (ex) { + Log.e(TAG, "Uncaught exception in binary message listener", ex); + this.flutterNapi.invokePlatformMessageEmptyResponseCallback(replyId); + } } else { Log.d(TAG, "No registered handler for message. Responding to Dart with empty reply message."); this.flutterNapi.invokePlatformMessageEmptyResponseCallback(replyId); -- Gitee From 5a482e113704ce36714c78e8bd60f6fe65707af6 Mon Sep 17 00:00:00 2001 From: yihuiyang Date: Fri, 10 Nov 2023 09:45:31 +0800 Subject: [PATCH 2/2] =?UTF-8?q?invokeHandler=E6=94=B9=E6=88=90=E5=BC=82?= =?UTF-8?q?=E6=AD=A5=EF=BC=8C=E8=80=97=E6=97=B6=E4=BB=BB=E5=8A=A1=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E5=BC=82=E6=AD=A5=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yihuiyang --- .../embedding/engine/dart/DartMessenger.ets | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/shell/platform/ohos/flutter_embedding/flutter/src/main/ets/embedding/engine/dart/DartMessenger.ets b/shell/platform/ohos/flutter_embedding/flutter/src/main/ets/embedding/engine/dart/DartMessenger.ets index 862ca785b6..d0ac2be189 100644 --- a/shell/platform/ohos/flutter_embedding/flutter/src/main/ets/embedding/engine/dart/DartMessenger.ets +++ b/shell/platform/ohos/flutter_embedding/flutter/src/main/ets/embedding/engine/dart/DartMessenger.ets @@ -58,6 +58,7 @@ export class DartMessenger implements BinaryMessenger, PlatformMessageHandler { this.flutterNapi = flutterNapi; } makeBackgroundTaskQueue(options?: TaskQueueOptions): TaskQueue { + Log.w(TAG, "ArkTS use aync function to perform time-consuming tasks"); throw new Error('Method not implemented.'); } @@ -103,16 +104,16 @@ export class DartMessenger implements BinaryMessenger, PlatformMessageHandler { } } - invokeHandler(handlerInfo: HandlerInfo | null, message: ArrayBuffer, replyId: number): void { - // Called from any thread. - if (handlerInfo != null) { - try { - Log.d(TAG, "Deferring to registered handler to process message."); - handlerInfo.handler.onMessage(message, new Reply(this.flutterNapi, replyId)); - } catch (ex) { - Log.e(TAG, "Uncaught exception in binary message listener", ex); - this.flutterNapi.invokePlatformMessageEmptyResponseCallback(replyId); - } + async invokeHandler(handlerInfo: HandlerInfo | null, message: ArrayBuffer, replyId: number): Promise { + // Called from any thread. + if (handlerInfo != null) { + try { + Log.d(TAG, "Deferring to registered handler to process message."); + handlerInfo.handler.onMessage(message, new Reply(this.flutterNapi, replyId)); + } catch (ex) { + Log.e(TAG, "Uncaught exception in binary message listener", ex); + this.flutterNapi.invokePlatformMessageEmptyResponseCallback(replyId); + } } else { Log.d(TAG, "No registered handler for message. Responding to Dart with empty reply message."); this.flutterNapi.invokePlatformMessageEmptyResponseCallback(replyId); -- Gitee