From f966a19d7ae2bdd6a1bb5c82b941196df695b339 Mon Sep 17 00:00:00 2001 From: zu Date: Wed, 24 Mar 2021 22:32:21 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=86=E8=A3=82flutter=5Fboost=EF=BC=9Bflutt?= =?UTF-8?q?er=20channel=E5=A2=9E=E5=8A=A0=E7=BD=91=E7=BB=9C=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E8=8E=B7=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../erban/application/XChatApplication.java | 298 ++++++++---------- .../erban/flutter/ChannelConstants.java | 2 + .../flutter/XplanFlutterBoostCallback.java | 65 ++++ .../flutter/XplanFlutterBoostDelegate.java | 35 ++ xplan-flutter | 2 +- 5 files changed, 230 insertions(+), 172 deletions(-) create mode 100644 app/src/main/java/com/yizhuan/erban/flutter/XplanFlutterBoostCallback.java create mode 100644 app/src/main/java/com/yizhuan/erban/flutter/XplanFlutterBoostDelegate.java diff --git a/app/src/main/java/com/yizhuan/erban/application/XChatApplication.java b/app/src/main/java/com/yizhuan/erban/application/XChatApplication.java index 412fd6fbe..e298ad04a 100644 --- a/app/src/main/java/com/yizhuan/erban/application/XChatApplication.java +++ b/app/src/main/java/com/yizhuan/erban/application/XChatApplication.java @@ -1,141 +1,136 @@ package com.yizhuan.erban.application; -import android.annotation.SuppressLint; -import android.annotation.TargetApi; -import android.app.ActivityManager; -import android.app.Application; -import android.content.Context; -import android.content.Intent; -import android.content.pm.ApplicationInfo; -import android.content.pm.PackageManager; -import android.graphics.Color; -import android.net.http.HttpResponseCache; -import android.os.Build; -import android.os.Environment; -import android.os.StrictMode; -import android.text.TextUtils; -import android.util.ArrayMap; -import android.util.Log; + import android.annotation.SuppressLint; + import android.annotation.TargetApi; + import android.app.ActivityManager; + import android.app.Application; + import android.content.Context; + import android.content.pm.ApplicationInfo; + import android.content.pm.PackageManager; + import android.graphics.Color; + import android.net.http.HttpResponseCache; + import android.os.Build; + import android.os.Environment; + import android.os.StrictMode; + import android.text.TextUtils; + import android.util.ArrayMap; + import android.util.Log; -import androidx.multidex.MultiDex; + import androidx.multidex.MultiDex; -import com.alibaba.security.realidentity.RPVerify; -import com.baidu.mobstat.StatService; -import com.bumptech.glide.request.target.ViewTarget; -import com.coorchice.library.utils.LogUtils; -import com.huawei.hms.support.common.ActivityMgr; -import com.idlefish.flutterboost.FlutterBoost; -import com.idlefish.flutterboost.FlutterBoostDelegate; -import com.idlefish.flutterboost.containers.FlutterBoostActivity; -import com.ishumei.smantifraud.SmAntiFraud; -import com.llew.huawei.verifier.LoadedApkHuaWei; -import com.microquation.linkedme.android.LinkedME; -import com.mob.MobSDK; -import com.netease.mobsec.rjsb.watchman; -import com.netease.nim.uikit.api.NimUIKit; -import com.netease.nim.uikit.common.util.log.LogUtil; -import com.netease.nimlib.sdk.NIMClient; -import com.netease.nimlib.sdk.NotificationFoldStyle; -import com.netease.nimlib.sdk.SDKOptions; -import com.netease.nimlib.sdk.StatusBarNotificationConfig; -import com.netease.nimlib.sdk.mixpush.MixPushConfig; -import com.netease.nimlib.sdk.mixpush.NIMPushClient; -import com.netease.nimlib.sdk.msg.MessageNotifierCustomization; -import com.netease.nimlib.sdk.msg.constant.MsgTypeEnum; -import com.netease.nimlib.sdk.msg.model.IMMessage; -import com.opensource.svgaplayer.SVGAParser; -import com.orhanobut.logger.AndroidLogAdapter; -import com.orhanobut.logger.Logger; -import com.scwang.smartrefresh.header.MaterialHeader; -import com.scwang.smartrefresh.layout.SmartRefreshLayout; -import com.scwang.smartrefresh.layout.footer.ClassicsFooter; -import com.squareup.leakcanary.LeakCanary; -import com.squareup.leakcanary.RefWatcher; -import com.tencent.bugly.Bugly; -import com.tencent.bugly.beta.Beta; -import com.tencent.bugly.crashreport.CrashReport; -import com.umeng.analytics.MobclickAgent; -import com.umeng.commonsdk.UMConfigure; -import com.yizhuan.erban.BuildConfig; -import com.yizhuan.erban.MainActivity; -import com.yizhuan.erban.MiddleActivity; -import com.yizhuan.erban.NimMiddleActivity; -import com.yizhuan.erban.R; -import com.yizhuan.erban.flutter.ChannelConstants; -import com.yizhuan.erban.flutter.RouterConstants; -import com.yizhuan.erban.module_hall.HallDataManager; -import com.yizhuan.erban.radish.wallet.RadishWalletManager; -import com.yizhuan.erban.reciever.ConnectiveChangedReceiver; -import com.yizhuan.erban.ui.pay.ChargeActivity; -import com.yizhuan.erban.utils.PushMessageHandler; -import com.yizhuan.xchat_android_constants.XChatConstants; -import com.yizhuan.xchat_android_core.Constants; -import com.yizhuan.xchat_android_core.DemoCache; -import com.yizhuan.xchat_android_core.Env; -import com.yizhuan.xchat_android_core.UriProvider; -import com.yizhuan.xchat_android_core.auth.AuthModel; -import com.yizhuan.xchat_android_core.channel.ChannelModel; -import com.yizhuan.xchat_android_core.customer_server.CustomerServerModel; -import com.yizhuan.xchat_android_core.family.model.FamilyModel; -import com.yizhuan.xchat_android_core.gift.GiftModel; -import com.yizhuan.xchat_android_core.im.custom.bean.CustomAttachment; -import com.yizhuan.xchat_android_core.im.custom.bean.OpenSignInAttachment; -import com.yizhuan.xchat_android_core.im.custom.bean.RoomInviteFansAttachment; -import com.yizhuan.xchat_android_core.im.custom.bean.RoomInviteFansInfo; -import com.yizhuan.xchat_android_core.initial.InitialModel; -import com.yizhuan.xchat_android_core.interceptor.NoParamsInterceptor; -import com.yizhuan.xchat_android_core.interceptor.ParamsInterceptor; -import com.yizhuan.xchat_android_core.manager.IMMessageManager; -import com.yizhuan.xchat_android_core.manager.IMSystemMsgManager; -import com.yizhuan.xchat_android_core.market_verify.MarketVerifyModel; -import com.yizhuan.xchat_android_core.mentoring_relationship.model.MentoringRelationshipModel; -import com.yizhuan.xchat_android_core.pay.PayModel; -import com.yizhuan.xchat_android_core.public_chat_hall.model.PublicChatHallModel; -import com.yizhuan.xchat_android_core.radish.RadishModel; -import com.yizhuan.xchat_android_core.radish.signin.bean.ImNotice; -import com.yizhuan.xchat_android_core.room.face.DynamicFaceModel; -import com.yizhuan.xchat_android_core.statistic.StatisticManager; -import com.yizhuan.xchat_android_core.statistic.protocol.StatisticsProtocol; -import com.yizhuan.xchat_android_core.user.UserModel; -import com.yizhuan.xchat_android_core.utils.SharedPreferenceUtils; -import com.yizhuan.xchat_android_library.net.ErBanAllHostnameVerifier; -import com.yizhuan.xchat_android_library.net.rxnet.RxNet; -import com.yizhuan.xchat_android_library.utils.AppMetaDataUtil; -import com.yizhuan.xchat_android_library.utils.AppUtils; -import com.yizhuan.xchat_android_library.utils.DeviceUuidFactory; -import com.yizhuan.xchat_android_library.utils.ProcessUtil; -import com.yizhuan.xchat_android_library.utils.SystemUtils; -import com.yizhuan.xchat_android_library.utils.VersionUtil; -import com.yizhuan.xchat_android_library.utils.config.BasicConfig; + import com.alibaba.security.realidentity.RPVerify; + import com.baidu.mobstat.StatService; + import com.bumptech.glide.request.target.ViewTarget; + import com.coorchice.library.utils.LogUtils; + import com.huawei.hms.support.common.ActivityMgr; + import com.idlefish.flutterboost.FlutterBoost; + import com.ishumei.smantifraud.SmAntiFraud; + import com.llew.huawei.verifier.LoadedApkHuaWei; + import com.microquation.linkedme.android.LinkedME; + import com.mob.MobSDK; + import com.netease.mobsec.rjsb.watchman; + import com.netease.nim.uikit.api.NimUIKit; + import com.netease.nim.uikit.common.util.log.LogUtil; + import com.netease.nimlib.sdk.NIMClient; + import com.netease.nimlib.sdk.NotificationFoldStyle; + import com.netease.nimlib.sdk.SDKOptions; + import com.netease.nimlib.sdk.StatusBarNotificationConfig; + import com.netease.nimlib.sdk.mixpush.MixPushConfig; + import com.netease.nimlib.sdk.mixpush.NIMPushClient; + import com.netease.nimlib.sdk.msg.MessageNotifierCustomization; + import com.netease.nimlib.sdk.msg.constant.MsgTypeEnum; + import com.netease.nimlib.sdk.msg.model.IMMessage; + import com.opensource.svgaplayer.SVGAParser; + import com.orhanobut.logger.AndroidLogAdapter; + import com.orhanobut.logger.Logger; + import com.scwang.smartrefresh.header.MaterialHeader; + import com.scwang.smartrefresh.layout.SmartRefreshLayout; + import com.scwang.smartrefresh.layout.footer.ClassicsFooter; + import com.squareup.leakcanary.LeakCanary; + import com.squareup.leakcanary.RefWatcher; + import com.tencent.bugly.Bugly; + import com.tencent.bugly.beta.Beta; + import com.tencent.bugly.crashreport.CrashReport; + import com.umeng.analytics.MobclickAgent; + import com.umeng.commonsdk.UMConfigure; + import com.yizhuan.erban.BuildConfig; + import com.yizhuan.erban.MainActivity; + import com.yizhuan.erban.MiddleActivity; + import com.yizhuan.erban.NimMiddleActivity; + import com.yizhuan.erban.R; + import com.yizhuan.erban.flutter.ChannelConstants; + import com.yizhuan.erban.flutter.XplanFlutterBoostCallback; + import com.yizhuan.erban.flutter.XplanFlutterBoostDelegate; + import com.yizhuan.erban.module_hall.HallDataManager; + import com.yizhuan.erban.radish.wallet.RadishWalletManager; + import com.yizhuan.erban.reciever.ConnectiveChangedReceiver; + import com.yizhuan.erban.utils.PushMessageHandler; + import com.yizhuan.xchat_android_constants.XChatConstants; + import com.yizhuan.xchat_android_core.Constants; + import com.yizhuan.xchat_android_core.DemoCache; + import com.yizhuan.xchat_android_core.Env; + import com.yizhuan.xchat_android_core.UriProvider; + import com.yizhuan.xchat_android_core.auth.AuthModel; + import com.yizhuan.xchat_android_core.channel.ChannelModel; + import com.yizhuan.xchat_android_core.customer_server.CustomerServerModel; + import com.yizhuan.xchat_android_core.family.model.FamilyModel; + import com.yizhuan.xchat_android_core.gift.GiftModel; + import com.yizhuan.xchat_android_core.im.custom.bean.CustomAttachment; + import com.yizhuan.xchat_android_core.im.custom.bean.OpenSignInAttachment; + import com.yizhuan.xchat_android_core.im.custom.bean.RoomInviteFansAttachment; + import com.yizhuan.xchat_android_core.im.custom.bean.RoomInviteFansInfo; + import com.yizhuan.xchat_android_core.initial.InitialModel; + import com.yizhuan.xchat_android_core.interceptor.NoParamsInterceptor; + import com.yizhuan.xchat_android_core.interceptor.ParamsInterceptor; + import com.yizhuan.xchat_android_core.manager.IMMessageManager; + import com.yizhuan.xchat_android_core.manager.IMSystemMsgManager; + import com.yizhuan.xchat_android_core.market_verify.MarketVerifyModel; + import com.yizhuan.xchat_android_core.mentoring_relationship.model.MentoringRelationshipModel; + import com.yizhuan.xchat_android_core.pay.PayModel; + import com.yizhuan.xchat_android_core.public_chat_hall.model.PublicChatHallModel; + import com.yizhuan.xchat_android_core.radish.RadishModel; + import com.yizhuan.xchat_android_core.radish.signin.bean.ImNotice; + import com.yizhuan.xchat_android_core.room.face.DynamicFaceModel; + import com.yizhuan.xchat_android_core.statistic.StatisticManager; + import com.yizhuan.xchat_android_core.statistic.protocol.StatisticsProtocol; + import com.yizhuan.xchat_android_core.user.UserModel; + import com.yizhuan.xchat_android_core.utils.SharedPreferenceUtils; + import com.yizhuan.xchat_android_library.net.ErBanAllHostnameVerifier; + import com.yizhuan.xchat_android_library.net.rxnet.RxNet; + import com.yizhuan.xchat_android_library.utils.AppMetaDataUtil; + import com.yizhuan.xchat_android_library.utils.AppUtils; + import com.yizhuan.xchat_android_library.utils.DeviceUuidFactory; + import com.yizhuan.xchat_android_library.utils.ProcessUtil; + import com.yizhuan.xchat_android_library.utils.SystemUtils; + import com.yizhuan.xchat_android_library.utils.VersionUtil; + import com.yizhuan.xchat_android_library.utils.config.BasicConfig; -import java.io.File; -import java.io.IOException; -import java.util.HashMap; -import java.util.Map; -import java.util.Objects; + import java.io.File; + import java.io.IOException; + import java.util.Map; + import java.util.Objects; -import io.flutter.embedding.android.FlutterActivityLaunchConfigs; -import io.flutter.plugin.common.MethodChannel; -import io.reactivex.android.schedulers.AndroidSchedulers; -import io.reactivex.plugins.RxJavaPlugins; -import io.reactivex.schedulers.Schedulers; -import io.realm.Realm; -import io.realm.RealmConfiguration; + import io.flutter.plugin.common.MethodChannel; + import io.reactivex.android.schedulers.AndroidSchedulers; + import io.reactivex.plugins.RxJavaPlugins; + import io.reactivex.schedulers.Schedulers; + import io.realm.Realm; + import io.realm.RealmConfiguration; -import static com.yizhuan.xchat_android_constants.XChatConstants.HW_APP_ID; -import static com.yizhuan.xchat_android_constants.XChatConstants.HW_CERTIFICATE_NAME; -import static com.yizhuan.xchat_android_constants.XChatConstants.MZ_APP_ID; -import static com.yizhuan.xchat_android_constants.XChatConstants.MZ_APP_KEY; -import static com.yizhuan.xchat_android_constants.XChatConstants.MZ_CERTIFICATE_NAME; -import static com.yizhuan.xchat_android_constants.XChatConstants.OPPO_APP_ID; -import static com.yizhuan.xchat_android_constants.XChatConstants.OPPO_APP_KEY; -import static com.yizhuan.xchat_android_constants.XChatConstants.OPPO_CERTIFICATE_NAME; -import static com.yizhuan.xchat_android_constants.XChatConstants.OPPO_SECRET; -import static com.yizhuan.xchat_android_constants.XChatConstants.VIVO_CERTIFICATE_NAME; -import static com.yizhuan.xchat_android_constants.XChatConstants.XM_APP_ID; -import static com.yizhuan.xchat_android_constants.XChatConstants.XM_APP_KEY; -import static com.yizhuan.xchat_android_constants.XChatConstants.XM_CERTIFICATE_NAME; -import static com.yizhuan.xchat_android_core.im.custom.bean.CustomAttachment.CUSTOM_MSG_HEADER_TYPE_OPEN_ROOM_NOTI; + import static com.yizhuan.xchat_android_constants.XChatConstants.HW_APP_ID; + import static com.yizhuan.xchat_android_constants.XChatConstants.HW_CERTIFICATE_NAME; + import static com.yizhuan.xchat_android_constants.XChatConstants.MZ_APP_ID; + import static com.yizhuan.xchat_android_constants.XChatConstants.MZ_APP_KEY; + import static com.yizhuan.xchat_android_constants.XChatConstants.MZ_CERTIFICATE_NAME; + import static com.yizhuan.xchat_android_constants.XChatConstants.OPPO_APP_ID; + import static com.yizhuan.xchat_android_constants.XChatConstants.OPPO_APP_KEY; + import static com.yizhuan.xchat_android_constants.XChatConstants.OPPO_CERTIFICATE_NAME; + import static com.yizhuan.xchat_android_constants.XChatConstants.OPPO_SECRET; + import static com.yizhuan.xchat_android_constants.XChatConstants.VIVO_CERTIFICATE_NAME; + import static com.yizhuan.xchat_android_constants.XChatConstants.XM_APP_ID; + import static com.yizhuan.xchat_android_constants.XChatConstants.XM_APP_KEY; + import static com.yizhuan.xchat_android_constants.XChatConstants.XM_CERTIFICATE_NAME; + import static com.yizhuan.xchat_android_core.im.custom.bean.CustomAttachment.CUSTOM_MSG_HEADER_TYPE_OPEN_ROOM_NOTI; /** * @author chenran @@ -147,9 +142,6 @@ public class XChatApplication extends Application { private static XChatApplication instance; private RefWatcher mRefWatcher; - private MethodChannel mMethodChannel; - - private static String oaid; private static boolean isSupportOaid=false; private static int errorCode; @@ -262,43 +254,7 @@ public class XChatApplication extends Application { } dealHuaWeiCrash(); - FlutterBoost.instance().setup(this, new FlutterBoostDelegate() { - - @Override - public void pushNativeRoute(String pageName, HashMap arguments) { - if (pageName == null) { - return; - } - if (pageName.equals(RouterConstants.NATIVE_PAGE_CHARGE)) { - ChargeActivity.start(FlutterBoost.instance().currentActivity()); - } - } - - @Override - public void pushFlutterRoute(String pageName, String uniqueId, HashMap arguments) { - Intent intent = new FlutterBoostActivity.CachedEngineIntentBuilder(FlutterBoostActivity.class, FlutterBoost.ENGINE_ID) - .backgroundMode(FlutterActivityLaunchConfigs.BackgroundMode.opaque) - .destroyEngineWithActivity(false) - .url(pageName) - .urlParams(arguments) - .build(FlutterBoost.instance().currentActivity()); - FlutterBoost.instance().currentActivity().startActivity(intent); - } - }, engine -> { - mMethodChannel = new MethodChannel(engine.getDartExecutor(), ChannelConstants.CHANNEL_NAME); - mMethodChannel.setMethodCallHandler(((call, result) -> { - if (call.method.equals(ChannelConstants.METHOD_NAME_GETDIAMOND)) { - PayModel.get().getWalletInfo() - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .subscribe(walletInfo -> { - result.success(walletInfo.diamonds); - }); - } else { - result.notImplemented(); - } - })); - }); + FlutterBoost.instance().setup(this, new XplanFlutterBoostDelegate(), new XplanFlutterBoostCallback()); LogUtils.d("init time = " +(System.currentTimeMillis() - startTime) +"ms"); } diff --git a/app/src/main/java/com/yizhuan/erban/flutter/ChannelConstants.java b/app/src/main/java/com/yizhuan/erban/flutter/ChannelConstants.java index 348dc2129..2e882f2a3 100644 --- a/app/src/main/java/com/yizhuan/erban/flutter/ChannelConstants.java +++ b/app/src/main/java/com/yizhuan/erban/flutter/ChannelConstants.java @@ -4,4 +4,6 @@ public class ChannelConstants { public static final String CHANNEL_NAME = "com.mango.flutter.xplan"; public static final String METHOD_NAME_GETDIAMOND = "getDiamond"; + public static final String METHOD_NAME_GETDEVICEINFO = "getDeviceInfo"; + public static final String METHOD_NAME_GETAUTH = "getAuth"; } diff --git a/app/src/main/java/com/yizhuan/erban/flutter/XplanFlutterBoostCallback.java b/app/src/main/java/com/yizhuan/erban/flutter/XplanFlutterBoostCallback.java new file mode 100644 index 000000000..475ba1524 --- /dev/null +++ b/app/src/main/java/com/yizhuan/erban/flutter/XplanFlutterBoostCallback.java @@ -0,0 +1,65 @@ +package com.yizhuan.erban.flutter; + +import android.content.Context; +import android.os.Build; +import android.util.ArrayMap; + +import com.idlefish.flutterboost.FlutterBoost; +import com.yizhuan.erban.application.XChatApplication; +import com.yizhuan.xchat_android_core.auth.AuthModel; +import com.yizhuan.xchat_android_core.pay.PayModel; +import com.yizhuan.xchat_android_library.utils.AppMetaDataUtil; +import com.yizhuan.xchat_android_library.utils.AppUtils; +import com.yizhuan.xchat_android_library.utils.DeviceUuidFactory; +import com.yizhuan.xchat_android_library.utils.SystemUtils; +import com.yizhuan.xchat_android_library.utils.VersionUtil; + +import java.util.HashMap; +import java.util.Map; + +import io.flutter.embedding.engine.FlutterEngine; +import io.flutter.plugin.common.MethodChannel; +import io.reactivex.android.schedulers.AndroidSchedulers; +import io.reactivex.schedulers.Schedulers; + +public class XplanFlutterBoostCallback implements FlutterBoost.Callback { + + private MethodChannel mMethodChannel; + + @Override + public void onStart(FlutterEngine engine) { + Context context = XChatApplication.instance(); + + mMethodChannel = new MethodChannel(engine.getDartExecutor(), ChannelConstants.CHANNEL_NAME); + mMethodChannel.setMethodCallHandler(((call, result) -> { + if (call.method.equals(ChannelConstants.METHOD_NAME_GETDIAMOND)) { + PayModel.get().getWalletInfo() + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(walletInfo -> { + result.success(walletInfo.diamonds); + }); + } else if (call.method.equals(ChannelConstants.METHOD_NAME_GETDEVICEINFO)) { + Map httpParams = new HashMap<>(); + httpParams.put("os", "android"); + httpParams.put("osVersion", Build.VERSION.RELEASE); + httpParams.put("app", "yinyou"); + httpParams.put("ispType", String.valueOf(SystemUtils.getIspType(context))); + httpParams.put("netType", String.valueOf(SystemUtils.getNetworkType(context))); + httpParams.put("model", SystemUtils.getPhoneModel()); + httpParams.put("appVersion", VersionUtil.getLocalName(context)); + httpParams.put("appVersionCode", String.valueOf(AppUtils.getVersionCode(context))); + httpParams.put("deviceId", DeviceUuidFactory.getDeviceId(context)); + httpParams.put("channel", AppMetaDataUtil.getChannelID()); + result.success(httpParams); + } else if (call.method.equals(ChannelConstants.METHOD_NAME_GETAUTH)) { + Map headerParams = new HashMap<>(); + headerParams.put("pub_uid", String.valueOf(AuthModel.get().getCurrentUid())); + headerParams.put("pub_ticket", AuthModel.get().getTicket()); + result.success(headerParams); + } else { + result.notImplemented(); + } + })); + } +} diff --git a/app/src/main/java/com/yizhuan/erban/flutter/XplanFlutterBoostDelegate.java b/app/src/main/java/com/yizhuan/erban/flutter/XplanFlutterBoostDelegate.java new file mode 100644 index 000000000..964372a8d --- /dev/null +++ b/app/src/main/java/com/yizhuan/erban/flutter/XplanFlutterBoostDelegate.java @@ -0,0 +1,35 @@ +package com.yizhuan.erban.flutter; + +import android.content.Intent; + +import com.idlefish.flutterboost.FlutterBoost; +import com.idlefish.flutterboost.FlutterBoostDelegate; +import com.idlefish.flutterboost.containers.FlutterBoostActivity; +import com.yizhuan.erban.ui.pay.ChargeActivity; + +import java.util.HashMap; + +import io.flutter.embedding.android.FlutterActivityLaunchConfigs; + +public class XplanFlutterBoostDelegate implements FlutterBoostDelegate { + @Override + public void pushNativeRoute(String pageName, HashMap arguments) { + if (pageName == null) { + return; + } + if (pageName.equals(RouterConstants.NATIVE_PAGE_CHARGE)) { + ChargeActivity.start(FlutterBoost.instance().currentActivity()); + } + } + + @Override + public void pushFlutterRoute(String pageName, String uniqueId, HashMap arguments) { + Intent intent = new FlutterBoostActivity.CachedEngineIntentBuilder(FlutterBoostActivity.class, FlutterBoost.ENGINE_ID) + .backgroundMode(FlutterActivityLaunchConfigs.BackgroundMode.opaque) + .destroyEngineWithActivity(false) + .url(pageName) + .urlParams(arguments) + .build(FlutterBoost.instance().currentActivity()); + FlutterBoost.instance().currentActivity().startActivity(intent); + } +} diff --git a/xplan-flutter b/xplan-flutter index dfb698e83..f5f080b23 160000 --- a/xplan-flutter +++ b/xplan-flutter @@ -1 +1 @@ -Subproject commit dfb698e835287595bb94d13a361b34428bf5e695 +Subproject commit f5f080b236819a432ad2fe1f343cacdd2fe0000b