diff --git a/android/src/main/java/com/finogeeks/mop/api/mop/AppletHandlerModule.java b/android/src/main/java/com/finogeeks/mop/api/mop/AppletHandlerModule.java index 355fea6..168373e 100644 --- a/android/src/main/java/com/finogeeks/mop/api/mop/AppletHandlerModule.java +++ b/android/src/main/java/com/finogeeks/mop/api/mop/AppletHandlerModule.java @@ -133,7 +133,7 @@ public class AppletHandlerModule extends BaseApi { @Override public void success(Object result) { List> ret = (List>) result; - FinAppTrace.d(TAG, "getRegisteredMoreMenuItems success : " + ret + " size : " + ret.size()); + FinAppTrace.d(TAG, "getCustomMenus success : " + ret + " size : " + ret.size()); if (ret != null) { for (Map map : ret) { String type = (String) map.get("type"); @@ -151,13 +151,13 @@ public class AppletHandlerModule extends BaseApi { @Override public void error(String errorCode, String errorMessage, Object errorDetails) { - FinAppTrace.e(TAG, "getRegisteredMoreMenuItems errorCode : " + errorCode + " errorMessage : " + errorMessage); + FinAppTrace.e(TAG, "getCustomMenus errorCode : " + errorCode + " errorMessage : " + errorMessage); latch.countDown(); } @Override public void notImplemented() { - FinAppTrace.d(TAG, "getRegisteredMoreMenuItems notImplemented"); + FinAppTrace.d(TAG, "getCustomMenus notImplemented"); latch.countDown(); } }); @@ -173,16 +173,32 @@ public class AppletHandlerModule extends BaseApi { @Override public void onRegisteredMoreMenuItemClicked(@NotNull String appId, @NotNull String path, @NotNull String menuItemId, @Nullable String appInfo, @Nullable Bitmap bitmap, @NotNull IAppletCallback iAppletCallback) { - Map params = new HashMap<>(); params.put("appId", appId); params.put("path", path); params.put("menuId", menuItemId); params.put("appInfo", appInfo); handler.post(() -> { - channel.invokeMethod("extensionApi:onCustomMenuClick", params); + channel.invokeMethod("extensionApi:onCustomMenuClick", params, new MethodChannel.Result() { + @Override + public void success(Object result) { + FinAppTrace.d(TAG, "onCustomMenuClick success"); + iAppletCallback.onSuccess(null); + } + + @Override + public void error(String errorCode, String errorMessage, Object errorDetails) { + FinAppTrace.e(TAG, "onCustomMenuClick errorCode : " + errorCode + " errorMessage : " + errorMessage); + iAppletCallback.onFailure(); + } + + @Override + public void notImplemented() { + FinAppTrace.d(TAG, "onCustomMenuClick notImplemented"); + iAppletCallback.onFailure(); + } + }); }); - callback.onSuccess(null); } @Override diff --git a/lib/api.dart b/lib/api.dart index 1b6b61e..f5e5f6f 100644 --- a/lib/api.dart +++ b/lib/api.dart @@ -34,6 +34,6 @@ abstract class AppletHandler { Future> getCustomMenus(String appId); ///自定义菜单点击处理 - Future onCustomMenuClick( + Future onCustomMenuClick( String appId, String path, String menuId, String appInfo); } diff --git a/lib/mop.dart b/lib/mop.dart index 82c141b..1ab0a4b 100644 --- a/lib/mop.dart +++ b/lib/mop.dart @@ -180,7 +180,7 @@ class Mop { print("registerAppletHandler getCustomMenus list $list"); return list; }; - _extensionApis["onCustomMenuClick"] = (params) { + _extensionApis["onCustomMenuClick"] = (params) async { return handler.onCustomMenuClick( params["appId"], params["path"], params["menuId"], params["appInfo"]); };