From 85005a9ca0f85e3805f33c809c5f9b85e9b6d8dd Mon Sep 17 00:00:00 2001 From: zu Date: Sat, 10 Jul 2021 23:17:34 +0800 Subject: [PATCH] =?UTF-8?q?[Flutter]=E6=96=B0=E5=A2=9E=E5=BF=AB=E9=80=9F?= =?UTF-8?q?=E8=B5=9B=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/java/com/yizhuan/erban/MainActivity.java | 5 +++-- .../com/yizhuan/erban/flutter/RouterConstants.java | 2 ++ .../erban/flutter/XplanFlutterBoostDelegate.java | 5 +++++ .../yizhuan/erban/ui/im/chat/MsgViewHolderMatch.java | 10 ++++++++++ .../im/custom/bean/CustomAttachment.java | 2 ++ xplan-flutter | 2 +- 6 files changed, 23 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/yizhuan/erban/MainActivity.java b/app/src/main/java/com/yizhuan/erban/MainActivity.java index a808e56f0..8d9864bb2 100644 --- a/app/src/main/java/com/yizhuan/erban/MainActivity.java +++ b/app/src/main/java/com/yizhuan/erban/MainActivity.java @@ -212,6 +212,7 @@ public class MainActivity extends BaseMvpActivity private static final String EXTRA_APP_QUIT = "APP_QUIT"; public static final String MSG_TAB = "msgTab"; + public static final String GAME_TAB = "gameTab"; private DragLayout avatarLayout; private TextView tvName;//最小化窗口名称 @@ -532,9 +533,9 @@ public class MainActivity extends BaseMvpActivity if (!TextUtils.isEmpty(account)) { NimP2PMessageActivity.start(this, account); } - } else if (intent.hasExtra("gameTab") && intent.getBooleanExtra("gameTab", false)) { + } else if (intent.hasExtra(GAME_TAB) && intent.getBooleanExtra(GAME_TAB, false)) { if (mMainTabLayout != null) { - mMainTabLayout.select(MainTabLayout.MAIN_TAB_POS_HOME); + mMainTabLayout.select(MainTabLayout.MAIN_TAB_POS_GAME); } } else if (intent.hasExtra(MSG_TAB) && intent.getBooleanExtra(MSG_TAB, false)) { if (mMainTabLayout != null) { diff --git a/app/src/main/java/com/yizhuan/erban/flutter/RouterConstants.java b/app/src/main/java/com/yizhuan/erban/flutter/RouterConstants.java index e5a0815ac..a71918436 100644 --- a/app/src/main/java/com/yizhuan/erban/flutter/RouterConstants.java +++ b/app/src/main/java/com/yizhuan/erban/flutter/RouterConstants.java @@ -7,8 +7,10 @@ public class RouterConstants { public static final String NATIVE_PAGE_BIND_PAYMENT_PWD = "bindPaymentPwd"; public static final String NATIVE_PAGE_BIND_ALIPAY = "bindAlipay"; public static final String NATIVE_PAGE_WEBVIEW = "openWebview"; + public static final String NATIVE_PAGE_CHATROOM = "chatRoom"; public static final String NATIVE_PAGE_ARG_WEBVIEW_URL = "webviewUrl"; + public static final String NATIVE_PAGE_ARG_CHATROOM_ID = "chatRoomID"; public static final String FLUTTER_PAGE_MAIN = "/"; public static final String FLUTTER_PAGE_MAIN_DEBUG = "debug"; diff --git a/app/src/main/java/com/yizhuan/erban/flutter/XplanFlutterBoostDelegate.java b/app/src/main/java/com/yizhuan/erban/flutter/XplanFlutterBoostDelegate.java index b54d54fa4..a21c56c6a 100644 --- a/app/src/main/java/com/yizhuan/erban/flutter/XplanFlutterBoostDelegate.java +++ b/app/src/main/java/com/yizhuan/erban/flutter/XplanFlutterBoostDelegate.java @@ -6,6 +6,7 @@ import android.content.Intent; import com.idlefish.flutterboost.FlutterBoost; import com.idlefish.flutterboost.FlutterBoostDelegate; import com.idlefish.flutterboost.containers.FlutterBoostActivity; +import com.yizhuan.erban.avroom.activity.AVRoomActivity; import com.yizhuan.erban.ui.login.BinderPhoneActivity; import com.yizhuan.erban.ui.pay.ChargeActivity; import com.yizhuan.erban.ui.setting.ModifyPwdActivity; @@ -68,6 +69,10 @@ public class XplanFlutterBoostDelegate implements FlutterBoostDelegate { CommonWebViewActivity.start(FlutterBoost.instance().currentActivity(), UriProvider.getGameShareUrl()); return; } + if (pageName.equals(RouterConstants.NATIVE_PAGE_CHATROOM)) { + AVRoomActivity.start(FlutterBoost.instance().currentActivity(), Long.valueOf((Integer) arguments.get(RouterConstants.NATIVE_PAGE_ARG_CHATROOM_ID))); + return; + } } @Override diff --git a/app/src/main/java/com/yizhuan/erban/ui/im/chat/MsgViewHolderMatch.java b/app/src/main/java/com/yizhuan/erban/ui/im/chat/MsgViewHolderMatch.java index 0e08fb844..6083aa581 100644 --- a/app/src/main/java/com/yizhuan/erban/ui/im/chat/MsgViewHolderMatch.java +++ b/app/src/main/java/com/yizhuan/erban/ui/im/chat/MsgViewHolderMatch.java @@ -1,13 +1,16 @@ package com.yizhuan.erban.ui.im.chat; +import android.content.Intent; import android.widget.TextView; import com.idlefish.flutterboost.FlutterBoost; import com.netease.nim.uikit.business.session.viewholder.MsgViewHolderBase; import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseMultiItemFetchLoadAdapter; import com.netease.nimlib.sdk.msg.attachment.MsgAttachment; +import com.yizhuan.erban.MainActivity; import com.yizhuan.erban.R; import com.yizhuan.erban.flutter.RouterConstants; +import com.yizhuan.xchat_android_core.im.custom.bean.CustomAttachment; import com.yizhuan.xchat_android_core.im.custom.bean.MatchAttachment; import java.util.HashMap; @@ -53,6 +56,13 @@ public class MsgViewHolderMatch extends MsgViewHolderBase { HashMap args = new HashMap<>(); args.put(RouterConstants.FLUTTER_PAGE_ARG_MATCH_ID, matchAttachment.getMatchId()); FlutterBoost.instance().open(RouterConstants.FLUTTER_PAGE_MATCH_DETAIL, args); + return; + } + if (matchAttachment != null && matchAttachment.getSecond() == CustomAttachment.CUSTOM_MSG_QUICK_DISMISS) { + Intent intent = new Intent(); + intent.putExtra(MainActivity.GAME_TAB, true); + MainActivity.start(context, intent); + return; } } } diff --git a/core/src/main/java/com/yizhuan/xchat_android_core/im/custom/bean/CustomAttachment.java b/core/src/main/java/com/yizhuan/xchat_android_core/im/custom/bean/CustomAttachment.java index fc6b46ed9..c667690ab 100644 --- a/core/src/main/java/com/yizhuan/xchat_android_core/im/custom/bean/CustomAttachment.java +++ b/core/src/main/java/com/yizhuan/xchat_android_core/im/custom/bean/CustomAttachment.java @@ -386,6 +386,8 @@ public class CustomAttachment implements MsgAttachment { public static final int CUSTOM_MSG_MATCH = 74; public static final int CUSTOM_MSG_MATCH_TICKET = 77; //public static final int CUSTOM_MSG_SUB_MATCH = 741; + public static final int CUSTOM_MSG_QUICK_DISMISS = 745; + public static final int CUSTOM_MSG_QUICK_ENOUGH_QUOTA = 746; public CustomAttachment() { diff --git a/xplan-flutter b/xplan-flutter index 883d089fc..5a7a0d828 160000 --- a/xplan-flutter +++ b/xplan-flutter @@ -1 +1 @@ -Subproject commit 883d089fc8a7757e9b8be27c86a95af554b3ad60 +Subproject commit 5a7a0d82873b28d3f906127728238dc36fef3c75