移除flutter

This commit is contained in:
huangjian
2022-08-29 17:43:56 +08:00
parent 6768e8b1f8
commit 32d321b41f
20 changed files with 53 additions and 639 deletions

View File

@@ -172,7 +172,6 @@ android {
}
def Lombok = "1.18.10"
def useFlutterAar = Boolean.parseBoolean(with_flutter_aar)
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar','*.aar'])
@@ -246,35 +245,17 @@ dependencies {
//oppo推送需要
implementation 'commons-codec:commons-codec:1.6'
// xplan flutter module
if (useFlutterAar) {
implementation 'com.mango.flutter.xplan:flutter_release:1.0'
} else {
implementation project(path: ':flutter')
implementation project(path: ':flutter_boost')
}
api 'com.tencent.vasdolly:helper:3.0.3'
implementation "io.github.tencent:vap:2.0.24"
implementation 'com.github.mmin18:realtimeblurview:1.2.1'
}
String storageUrl = System.env.FLUTTER_STORAGE_BASE_URL ?: "https://storage.googleapis.com"
repositories {
flatDir {
dirs 'aliyun-libs','com.huawei.agconnect'
}
mavenCentral()
maven {
url '../xplan-flutter/build/host/outputs/repo'
}
maven {
url "$storageUrl/download.flutter.io"
}
}
channel {

View File

@@ -37,7 +37,6 @@
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- 多媒体相关 -->
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
@@ -144,7 +143,6 @@
android:process=":core" /> <!-- 声明云信后台辅助服务 -->
<service
android:name="com.netease.nimlib.job.NIMJobService"
android:exported="true"
android:permission="android.permission.BIND_JOB_SERVICE"
android:process=":core" />
<!--
@@ -160,10 +158,14 @@
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver> <!-- 云信进程间通信 Receiver -->
<receiver android:name="com.netease.nimlib.service.ResponseReceiver" /> <!-- 云信进程间通信service -->
<service android:name="com.netease.nimlib.service.ResponseService" /> <!-- 申明本地电话状态通话状态的广播接收器第三方APP集成时音视频模块时如果需要在App中处理网络通话与本地电话的交互请加上此接收器 -->
<receiver android:name="com.netease.nimlib.service.ResponseReceiver" />
<!-- 云信进程间通信service -->
<service android:name="com.netease.nimlib.service.ResponseService" />
<!-- 申明本地电话状态通话状态的广播接收器第三方APP集成时音视频模块时如果需要在App中处理网络通话与本地电话的交互请加上此接收器 -->
<!-- 在Demo的示例代码中是在Application进行了网络通话与本地电话的互斥处理 -->
<receiver android:name=".reciever.IncomingCallReceiver">
<receiver
android:name=".reciever.IncomingCallReceiver"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>
@@ -173,6 +175,7 @@
<!-- 云信集成oppo推送 start -->
<service
android:name="com.netease.nimlib.mixpush.oppo.OppoPushService"
android:exported="true"
android:permission="com.coloros.mcs.permission.SEND_MCS_MESSAGE">
<intent-filter>
<action android:name="com.coloros.mcs.action.RECEIVE_MCS_MESSAGE" />
@@ -180,6 +183,7 @@
</service>
<service
android:name="com.netease.nimlib.mixpush.oppo.OppoAppPushService"
android:exported="true"
android:permission="com.heytap.mcs.permission.SEND_MCS_MESSAGE">
<intent-filter>
<action android:name="com.heytap.mcs.action.RECEIVE_MCS_MESSAGE" />
@@ -188,6 +192,7 @@
<service
android:name=".push.OppoPushService"
android:exported="true"
android:permission="com.coloros.mcs.permission.SEND_MCS_MESSAGE">
<intent-filter>
<action android:name="com.coloros.mcs.action.RECEIVE_MCS_MESSAGE" />
@@ -205,15 +210,11 @@
</service>
<!-- 云信集成华为推送 end -->
<service android:name="com.netease.nimlib.service.ResponseService" />
<!-- 云信集成小米推送 start -->
<!-- 配置的service和receiver -->
<provider
android:name="com.netease.nimlib.ipc.NIMContentProvider"
android:authorities="${applicationId}.ipc.provider"
android:exported="false"
android:process=":core" /> <!-- 配置的service和receiver -->
<service
android:name="com.xiaomi.push.service.XMPushService"
@@ -222,13 +223,9 @@
<service
android:name="com.xiaomi.push.service.XMJobService"
android:enabled="true"
android:exported="false"
android:permission="android.permission.BIND_JOB_SERVICE"
android:process=":mixpush" /> <!--此service必须在3.0.1版本以后包括3.0.1版本)加入 -->
<service
android:name="com.xiaomi.mipush.sdk.PushMessageHandler"
android:enabled="true"
android:exported="true" />
<service android:name="com.xiaomi.mipush.sdk.PushMessageHandler" />
<service
android:name="com.xiaomi.mipush.sdk.MessageHandleService"
android:enabled="true" /> <!--此service必须在2.2.5版本以后包括2.2.5版本)加入 -->
@@ -251,14 +248,16 @@
</receiver>
<receiver
android:name="com.netease.nimlib.mixpush.mi.MiPushReceiver"
android:exported="true">
android:exported="false">
<intent-filter android:priority="0x7fffffff">
<action android:name="com.xiaomi.mipush.RECEIVE_MESSAGE" />
<action android:name="com.xiaomi.mipush.MESSAGE_ARRIVED" />
<action android:name="com.xiaomi.mipush.ERROR" />
</intent-filter>
</receiver>
<receiver android:name=".push.MiPushReceiver">
<receiver
android:name=".push.MiPushReceiver"
android:exported="false">
<intent-filter>
<action android:name="com.xiaomi.mipush.RECEIVE_MESSAGE" />
<action android:name="com.xiaomi.mipush.MESSAGE_ARRIVED" />
@@ -268,15 +267,13 @@
<!-- 云信继承vivo推送 start-->
<service
android:name="com.vivo.push.sdk.service.CommandClientService"
android:exported="true" />
<activity
android:name="com.vivo.push.sdk.LinkProxyClientActivity"
android:exported="false"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
<receiver android:name="com.netease.nimlib.mixpush.vivo.VivoPushReceiver">
<receiver
android:name="com.netease.nimlib.mixpush.vivo.VivoPushReceiver"
android:exported="false">
<intent-filter>
<!-- 接收 push 消息 -->
<action android:name="com.vivo.pushclient.action.RECEIVE" />
@@ -294,7 +291,9 @@
<!-- 云信集成魅族推送 start -->
<!-- 配置的service和receiver -->
<receiver android:name="com.netease.nimlib.mixpush.mz.MZPushReceiver">
<receiver
android:name="com.netease.nimlib.mixpush.mz.MZPushReceiver"
android:exported="false">
<intent-filter android:priority="0x7fffffff">
<!-- 接收push消息 -->
@@ -310,7 +309,9 @@
<category android:name="${applicationId}" />
</intent-filter>
</receiver>
<receiver android:name=".push.MeizuPushReceiver">
<receiver
android:name=".push.MeizuPushReceiver"
android:exported="false">
<intent-filter>
<action android:name="com.meizu.flyme.push.intent.MESSAGE" />
<action android:name="com.meizu.flyme.push.intent.REGISTER.FEEDBACK" />
@@ -358,7 +359,6 @@
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
@@ -368,11 +368,12 @@
<activity
android:name="com.alipay.sdk.app.H5PayActivity"
android:configChanges="orientation|keyboardHidden|navigation|screenSize"
android:exported="false"
android:screenOrientation="behind"
android:windowSoftInputMode="adjustResize|stateHidden" />
<activity android:name=".push.HWPushMiddleActivity">
<activity
android:name=".push.HWPushMiddleActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
@@ -394,7 +395,6 @@
<activity
android:name="com.alipay.sdk.auth.AuthActivity"
android:configChanges="orientation|keyboardHidden|navigation"
android:exported="false"
android:screenOrientation="behind"
android:windowSoftInputMode="adjustResize|stateHidden" />
<activity
@@ -406,24 +406,42 @@
<!-- 微信支付需要注册 -->
<activity-alias
android:name="${applicationId}.wxapi.WXPayEntryActivity"
android:exported="true"
android:targetActivity="com.yizhuan.xchat_android_core.pay.PaymentActivity" />
<!-- 支付相关配置 -->
<!-- 为了兼容小程序返回的问题声明WXEntryActivity并把之前的 WechatHandlerActivity注释 -->
<activity
android:name="com.mango.yinyou.wxapi.WXEntryActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:exported="true" />
android:configChanges="keyboardHidden|orientation|screenSize" />
<!-- shareSDK配置 end ####################################################### -->
<activity
android:name="com.darsh.multipleimageselect.activities.AlbumSelectActivity"
android:configChanges="orientation|screenSize"
android:exported="true"
android:theme="@style/MultipleImageSelectTheme">
<intent-filter>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name="com.darsh.multipleimageselect.activities.ImageSelectActivity"
android:configChanges="orientation|screenSize"
android:exported="true"
android:theme="@style/MultipleImageSelectTheme">
<intent-filter>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<service
android:name=".service.DaemonService"
android:enabled="true" />
<activity
android:name=".other.activity.SplashActivity"
android:label="@string/app_name"
android:exported="true"
android:screenOrientation="portrait"
android:theme="@style/SplashTheme">
<intent-filter>
@@ -1091,7 +1109,6 @@
<activity
android:name=".home.activity.CommunityNoticeAct"
android:exported="true"
android:screenOrientation="portrait" />
<!-- 社区 -->
@@ -1172,19 +1189,6 @@
android:name=".ui.setting.ResetPasswordActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.idlefish.flutterboost.containers.FlutterBoostActivity"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density"
android:hardwareAccelerated="true"
android:screenOrientation="portrait"
android:theme="@style/Theme.AppCompat"
android:windowSoftInputMode="adjustResize">
<meta-data
android:name="io.flutter.embedding.android.SplashScreenDrawable"
android:resource="@drawable/bg_flutter_splash" />
</activity>
<meta-data
android:name="flutterEmbedding"
android:value="2" />
@@ -1248,9 +1252,6 @@
<activity
android:name=".skill.activity.EditSkillActivity"
android:screenOrientation="portrait" />
<activity
android:name=".ui.setting.ScheduleManageActivity"
android:screenOrientation="portrait" />
<activity
android:name=".home.activity.VisitorListActivity"

View File

@@ -132,7 +132,6 @@ import java.lang.ref.WeakReference;
import java.util.List;
import java.util.concurrent.TimeUnit;
import io.flutter.embedding.android.FlutterFragment;
import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
@@ -387,9 +386,6 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
}
onParseIntent();
handleNimIntent();
if (tempFragment instanceof FlutterFragment) {
((FlutterFragment) tempFragment).onNewIntent(intent);
}
}
private void onParseIntent() {
@@ -464,9 +460,6 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
} catch (Exception e) {
e.printStackTrace();
}
if (tempFragment instanceof FlutterFragment) {
((FlutterFragment) tempFragment).onBackPressed();
}
}
@Subscribe(threadMode = ThreadMode.MAIN)
@@ -966,41 +959,4 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
StatusBarUtil.StatusBarLightMode(this);
}
@Override
public void onPostResume() {
super.onPostResume();
if (tempFragment instanceof FlutterFragment) {
((FlutterFragment) tempFragment).onPostResume();
}
}
@Override
public void onRequestPermissionsResult(
int requestCode,
@NonNull String[] permissions,
@NonNull int[] grantResults
) {
if (tempFragment instanceof FlutterFragment) {
tempFragment.onRequestPermissionsResult(
requestCode,
permissions,
grantResults
);
}
}
@Override
public void onUserLeaveHint() {
if (tempFragment instanceof FlutterFragment) {
((FlutterFragment) tempFragment).onUserLeaveHint();
}
}
@Override
public void onTrimMemory(int level) {
super.onTrimMemory(level);
if (tempFragment instanceof FlutterFragment) {
((FlutterFragment) tempFragment).onTrimMemory(level);
}
}
}

View File

@@ -1,11 +0,0 @@
package com.yizhuan.erban.flutter;
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";
public static final String METHOD_NAME_GETENCODEPWD = "getEncodePwd";
public static final String METHOD_NAME_NOTIFYSHOWINVITE = "notifyShowInvite";
}

View File

@@ -1,29 +0,0 @@
package com.yizhuan.erban.flutter;
public class RouterConstants {
public static final String NATIVE_PAGE_CHARGE = "charge";
public static final String NATIVE_PAGE_BIND = "bindGameAccount";
public static final String NATIVE_PAGE_INVITE = "invite";
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 NATIVE_PAGE_ARG_FROM_TYPE = "chatRoomFromType";
public static final String NATIVE_PAGE_ARG_FROM_UID = "chatRoomFromUid";
public static final String NATIVE_PAGE_ARG_FROM_NICK = "chatRoomFromNick";
public static final String FLUTTER_PAGE_MAIN = "/";
public static final String FLUTTER_PAGE_MAIN_DEBUG = "debug";
public static final String FLUTTER_PAGE_SPLASH = "splash";
public static final String FLUTTER_PAGE_MALL = "mall";
public static final String FLUTTER_PAGE_RECORD = "quotaRecord";
public static final String FLUTTER_PAGE_BAG = "bag";
public static final String FLUTTER_PAGE_PERFORMANCE = "performance";
public static final String FLUTTER_PAGE_MATCH_DETAIL = "matchDetail";
public static final String FLUTTER_PAGE_PRIZE = "prize";
public static final String FLUTTER_PAGE_ARG_MATCH_ID = "matchId";
}

View File

@@ -1,77 +0,0 @@
package com.yizhuan.erban.flutter;
import android.content.Context;
import android.os.Build;
import com.idlefish.flutterboost.FlutterBoost;
import com.yizhuan.erban.application.XChatApplication;
import com.yizhuan.erban.flutter.event.ShowInviteEvent;
import com.yizhuan.xchat_android_constants.XChatConstants;
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 com.yizhuan.xchat_android_library.utils.codec.DESUtils;
import org.greenrobot.eventbus.EventBus;
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<String, String> httpParams = new HashMap<>();
httpParams.put("os", "android");
httpParams.put("osVersion", Build.VERSION.RELEASE);
httpParams.put("app", XChatConstants.APP_MARK);
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<String, String> headerParams = new HashMap<>();
headerParams.put("pub_uid", String.valueOf(AuthModel.get().getCurrentUid()));
headerParams.put("pub_ticket", AuthModel.get().getTicket());
result.success(headerParams);
} else if (call.method.equals(ChannelConstants.METHOD_NAME_GETENCODEPWD)) {
try {
result.success(DESUtils.DESAndBase64Encrypt(String.valueOf(call.arguments)));
} catch (Exception e) {
result.error("", "", null);
}
} else if (call.method.equals(ChannelConstants.METHOD_NAME_NOTIFYSHOWINVITE)) {
EventBus.getDefault().post(new ShowInviteEvent(Boolean.valueOf(call.arguments.toString())));
} else {
result.notImplemented();
}
}));
}
}

View File

@@ -1,102 +0,0 @@
package com.yizhuan.erban.flutter;
import android.content.Context;
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.BindPhoneActivity;
import com.yizhuan.erban.ui.pay.ChargeActivity;
import com.yizhuan.erban.ui.setting.ModifyPwdActivity;
import com.yizhuan.erban.ui.webview.CommonWebViewActivity;
import com.yizhuan.erban.ui.withdraw.BinderAlipayActivity;
import com.yizhuan.xchat_android_core.UriProvider;
import com.yizhuan.xchat_android_core.statistic.StatisticManager;
import com.yizhuan.xchat_android_core.statistic.StatisticModel;
import com.yizhuan.xchat_android_core.statistic.protocol.StatisticsProtocol;
import com.yizhuan.xchat_android_core.user.UserModel;
import java.util.HashMap;
import java.util.Map;
import io.flutter.embedding.android.FlutterActivityLaunchConfigs;
public class XplanFlutterBoostDelegate implements FlutterBoostDelegate {
@Override
public void pushNativeRoute(String pageName, Map<String, Object> arguments) {
if (pageName == null) {
return;
}
if (pageName.equals(RouterConstants.NATIVE_PAGE_CHARGE)) {
ChargeActivity.start(FlutterBoost.instance().currentActivity());
return;
}
if (pageName.equals(RouterConstants.NATIVE_PAGE_BIND)) {
CommonWebViewActivity.start(FlutterBoost.instance().currentActivity(), UriProvider.getLinkAccountUrl());
return;
}
if (pageName.equals(RouterConstants.NATIVE_PAGE_BIND_PAYMENT_PWD)) {
Context context = FlutterBoost.instance().currentActivity();
if (UserModel.get().getCacheLoginUserInfo().isBindPhone()) {
ModifyPwdActivity.start(context, ModifyPwdActivity.PAY_PWD);
} else {
BindPhoneActivity.start(context);
}
return;
}
if (pageName.equals(RouterConstants.NATIVE_PAGE_BIND_ALIPAY)) {
Context context = FlutterBoost.instance().currentActivity();
if (UserModel.get().getCacheLoginUserInfo().isBindPhone()) {
Intent intent = new Intent(context, BinderAlipayActivity.class);
context.startActivity(intent);
} else {
BindPhoneActivity.start(context);
}
return;
}
if (pageName.equals(RouterConstants.NATIVE_PAGE_WEBVIEW)) {
String url = (String) arguments.get(RouterConstants.NATIVE_PAGE_ARG_WEBVIEW_URL);
if (url == null || url.isEmpty()) {
return;
}
Context context = FlutterBoost.instance().currentActivity();
Intent intent = new Intent(context, CommonWebViewActivity.class);
intent.putExtra("url", url);
intent.putExtra("from", "xplan_flutter");
context.startActivity(intent);
return;
}
if (pageName.equals(RouterConstants.NATIVE_PAGE_INVITE)) {
CommonWebViewActivity.start(FlutterBoost.instance().currentActivity(), UriProvider.getGameShareUrl());
return;
}
if (pageName.equals(RouterConstants.NATIVE_PAGE_CHATROOM)) {
StatisticManager.Instance().onEvent(StatisticsProtocol.EVENT_OPERATIONAL_ROOM_SUCCESS, "赛事详情成功进入聊天室 ");
long uid = Long.valueOf((Integer) arguments.get(RouterConstants.NATIVE_PAGE_ARG_CHATROOM_ID));
int fromType = arguments.containsKey(RouterConstants.NATIVE_PAGE_ARG_FROM_TYPE) ?
(Integer) arguments.get(RouterConstants.NATIVE_PAGE_ARG_FROM_TYPE) : 0;
String fromUid = arguments.containsKey(RouterConstants.NATIVE_PAGE_ARG_FROM_UID) ?
(String) arguments.get(RouterConstants.NATIVE_PAGE_ARG_FROM_UID) : "";
String fromNick = arguments.containsKey(RouterConstants.NATIVE_PAGE_ARG_FROM_UID) ?
(String) arguments.get(RouterConstants.NATIVE_PAGE_ARG_FROM_NICK) : "";
AVRoomActivity.startForFromType(FlutterBoost.instance().currentActivity(), uid, fromType, fromNick, fromUid);
return;
}
}
@Override
public void pushFlutterRoute(String pageName, String uniqueId, Map<String, Object> arguments) {
if (arguments == null) {
arguments = new HashMap<>();
}
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);
}
}

View File

@@ -1,9 +0,0 @@
package com.yizhuan.erban.flutter.event;
public class ShowInviteEvent {
public boolean mShowInvite;
public ShowInviteEvent(boolean show) {
mShowInvite = show;
}
}

View File

@@ -1,27 +0,0 @@
package com.yizhuan.erban.home.fragment;
import androidx.annotation.Nullable;
import com.idlefish.flutterboost.containers.FlutterBoostFragment;
import com.yizhuan.erban.R;
import io.flutter.embedding.android.DrawableSplashScreen;
import io.flutter.embedding.android.SplashScreen;
public class GameFragment extends FlutterBoostFragment {
@Nullable
@Override
public SplashScreen provideSplashScreen() {
return new DrawableSplashScreen(getResources().getDrawable(R.drawable.bg_flutter_splash));
}
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
try {
super.setUserVisibleHint(isVisibleToUser);
} catch (Exception e) {
e.printStackTrace();
}
}
}

View File

@@ -25,7 +25,6 @@ import com.yizhuan.erban.ui.im.chat.MsgViewHolderGift;
import com.yizhuan.erban.ui.im.chat.MsgViewHolderHello;
import com.yizhuan.erban.ui.im.chat.MsgViewHolderLevel;
import com.yizhuan.erban.ui.im.chat.MsgViewHolderLottery;
import com.yizhuan.erban.ui.im.chat.MsgViewHolderMatch;
import com.yizhuan.erban.ui.im.chat.MsgViewHolderOnline;
import com.yizhuan.erban.ui.im.chat.MsgViewHolderRedPackage;
import com.yizhuan.erban.ui.im.chat.MsgViewHolderRedPacket;
@@ -51,7 +50,6 @@ import com.yizhuan.xchat_android_core.im.custom.bean.LevelUpAttachment;
import com.yizhuan.xchat_android_core.im.custom.bean.LotteryAttachment;
import com.yizhuan.xchat_android_core.im.custom.bean.LuckyMoneyAttachment;
import com.yizhuan.xchat_android_core.im.custom.bean.LuckyMoneyTipsAttachment;
import com.yizhuan.xchat_android_core.im.custom.bean.MatchAttachment;
import com.yizhuan.xchat_android_core.im.custom.bean.NewbieHelloAttachment;
import com.yizhuan.xchat_android_core.im.custom.bean.NobleAttachment;
import com.yizhuan.xchat_android_core.im.custom.bean.NoticeAttachment;
@@ -160,8 +158,6 @@ public class ImInitHelper {
NimUIKit.registerMsgItemViewHolder(ChatHintAttachment.class, MsgViewHolderChatHint.class);
NimUIKit.registerMsgItemViewHolder(MatchAttachment.class, MsgViewHolderMatch.class);
//技能卡
NimUIKit.registerMsgItemViewHolder(SkillMsgAttachment.class, MsgViewHolderSkill.class);
//CP

View File

@@ -38,7 +38,6 @@ import com.yizhuan.erban.ui.patriarch.PatriarchModeActivity;
import com.yizhuan.erban.ui.pay.ChargeActivity;
import com.yizhuan.erban.ui.setting.FeedbackActivity;
import com.yizhuan.erban.ui.setting.ModifyPwdActivity;
import com.yizhuan.erban.ui.setting.ScheduleManageActivity;
import com.yizhuan.erban.ui.user.UserInfoActivity;
import com.yizhuan.erban.ui.webview.CommonWebViewActivity;
import com.yizhuan.erban.ui.withdraw.BinderAlipayActivity;
@@ -305,10 +304,6 @@ public class RouterHandler {
//青少年模式
PatriarchModeActivity.start(context);
break;
case RouterType.SCHEDULE_MANAGE:
//赛程管理
ScheduleManageActivity.Companion.start(context);
break;
case RouterType.VISITOR_LIST:
//访客记录
VisitorListActivity.start(context);

View File

@@ -1,68 +0,0 @@
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;
/**
* <p> 文字消息holder </p>
*
* @author jiahui
* @date 2018/1/10
*/
public class MsgViewHolderMatch extends MsgViewHolderBase {
private TextView mTvMsg;
private MatchAttachment matchAttachment;
public MsgViewHolderMatch(BaseMultiItemFetchLoadAdapter adapter) {
super(adapter);
}
@Override
protected int getContentResId() {
return R.layout.layout_msg_view_holder_match;
}
@Override
protected void inflateContentView() {
mTvMsg = findViewById(R.id.tv_msg);
}
@Override
protected void bindContentView() {
CharSequence text = "";
MsgAttachment attachment = message.getAttachment();
if (attachment instanceof MatchAttachment) {
matchAttachment = (MatchAttachment) attachment;
text = matchAttachment.getContent();
}
mTvMsg.setText(text);
}
@Override
protected void onItemClick() {
if (matchAttachment != null && matchAttachment.isNeedForwardToMatchDetail()) {
HashMap<String, Object> 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;
}
}
}

View File

@@ -5,15 +5,12 @@ import android.view.View;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import com.idlefish.flutterboost.FlutterBoost;
import com.yizhuan.erban.R;
import com.yizhuan.erban.base.BaseActivity;
import com.yizhuan.erban.ui.utils.ImageLoadKt;
import com.yizhuan.xchat_android_core.DemoCache;
import com.yizhuan.xchat_android_core.Env;
import com.yizhuan.xchat_android_core.auth.AuthModel;
import java.util.ArrayList;
/**
@@ -25,7 +22,6 @@ public class LabActivity extends BaseActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_lab);
findViewById(R.id.rb_flutter_test).setOnClickListener(v -> FlutterBoost.instance().open("/", null));
findViewById(R.id.rb_vap_test).setOnClickListener(v ->
ImageLoadKt.loadAnim(
findViewById(R.id.anim_vap_test),

View File

@@ -1,46 +0,0 @@
package com.yizhuan.erban.ui.setting
import android.content.Context
import android.content.Intent
import android.view.View
import com.idlefish.flutterboost.FlutterBoost
import com.yizhuan.erban.R
import com.yizhuan.erban.base.BaseBindingActivity
import com.yizhuan.erban.databinding.ActivityScheduleManageBinding
import com.yizhuan.erban.flutter.RouterConstants
import com.yizhuan.erban.ui.webview.CommonWebViewActivity
import com.yizhuan.xchat_android_core.UriProvider
import com.yizhuan.xchat_android_library.annatation.ActLayoutRes
@ActLayoutRes(R.layout.activity_schedule_manage)
class ScheduleManageActivity : BaseBindingActivity<ActivityScheduleManageBinding>() {
override fun init() {
initTitleBar("赛程管理")
mBinding.click = this
}
override fun onClick(v: View) {
super.onClick(v)
when (v.id) {
R.id.match_quota_record -> FlutterBoost.instance()
.open(RouterConstants.FLUTTER_PAGE_RECORD, null)
R.id.match_prize -> FlutterBoost.instance()
.open(RouterConstants.FLUTTER_PAGE_PRIZE, null)
R.id.match_performance -> FlutterBoost.instance()
.open(RouterConstants.FLUTTER_PAGE_PERFORMANCE, null)
R.id.match_bag -> FlutterBoost.instance().open(RouterConstants.FLUTTER_PAGE_BAG, null)
R.id.match_mall -> FlutterBoost.instance().open(RouterConstants.FLUTTER_PAGE_MALL, null)
R.id.tv_link_account -> CommonWebViewActivity.start(
this,
UriProvider.getLinkAccountUrl()
)
}
}
companion object {
fun start(context: Context) {
val intent = Intent(context, ScheduleManageActivity::class.java)
context.startActivity(intent)
}
}
}

View File

@@ -42,18 +42,6 @@
</RadioGroup>
<TextView
android:id="@+id/rb_flutter_test"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginTop="10dp"
android:background="@color/color_f5f5f5"
android:gravity="center_vertical"
android:paddingStart="10dp"
android:text="flutter测试入口"
android:textColor="@color/color_333333"
android:textSize="15sp" />
<TextView
android:id="@+id/rb_vap_test"
android:layout_width="match_parent"

View File

@@ -1,124 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<layout>
<data>
<variable
name="click"
type="android.view.View.OnClickListener" />
</data>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.yizhuan.erban.base.TitleBar
android:id="@+id/title_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/match_quota_record"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_15"
android:layout_marginTop="@dimen/dp_24"
android:layout_marginRight="@dimen/dp_15"
android:drawableLeft="@drawable/ic_me_apply_record"
android:drawableRight="@mipmap/arrow_right_2"
android:drawablePadding="9dp"
android:gravity="center_vertical"
android:text="报名记录"
android:onClick="@{click}"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp_14"
app:layout_constraintTop_toBottomOf="@id/title_bar" />
<TextView
android:id="@+id/match_prize"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_15"
android:layout_marginTop="34dp"
android:layout_marginRight="@dimen/dp_15"
android:drawableLeft="@drawable/ic_me_bonus"
android:drawableRight="@mipmap/arrow_right_2"
android:drawablePadding="9dp"
android:gravity="center_vertical"
android:text="赛事奖金"
android:onClick="@{click}"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp_14"
app:layout_constraintTop_toBottomOf="@id/match_quota_record" />
<TextView
android:id="@+id/match_performance"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_15"
android:layout_marginTop="34dp"
android:layout_marginRight="@dimen/dp_15"
android:drawableLeft="@drawable/ic_me_join_record"
android:drawableRight="@mipmap/arrow_right_2"
android:drawablePadding="9dp"
android:gravity="center_vertical"
android:text="我的战绩"
android:onClick="@{click}"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp_14"
app:layout_constraintTop_toBottomOf="@id/match_prize" />
<TextView
android:id="@+id/match_bag"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_15"
android:layout_marginTop="34dp"
android:layout_marginRight="@dimen/dp_15"
android:onClick="@{click}"
android:drawableLeft="@drawable/ic_me_card_bag"
android:drawableRight="@mipmap/arrow_right_2"
android:drawablePadding="9dp"
android:gravity="center_vertical"
android:text="我的卡包"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp_14"
app:layout_constraintTop_toBottomOf="@id/match_performance" />
<TextView
android:id="@+id/match_mall"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_15"
android:layout_marginTop="34dp"
android:layout_marginRight="@dimen/dp_15"
android:onClick="@{click}"
android:drawableLeft="@drawable/ic_me_store"
android:drawableRight="@mipmap/arrow_right_2"
android:drawablePadding="9dp"
android:gravity="center_vertical"
android:text="赛事商城"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp_14"
app:layout_constraintTop_toBottomOf="@id/match_bag" />
<TextView
android:id="@+id/tv_link_account"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_15"
android:layout_marginTop="34dp"
android:layout_marginRight="@dimen/dp_15"
android:onClick="@{click}"
android:drawableLeft="@drawable/ic_me_link_account"
android:drawableRight="@mipmap/arrow_right_2"
android:drawablePadding="9dp"
android:gravity="center_vertical"
android:text="关联账号"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp_14"
app:layout_constraintTop_toBottomOf="@id/match_mall" />
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>

View File

@@ -19,7 +19,6 @@ android.enableResourceOptimizations=false
# mob
MobSDK.spEdition=FP
with_flutter_aar=true
with_jenkins=false
only_arm64=false

View File

@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-all.zip

View File

@@ -1,11 +1,7 @@
include ':app', ':agora-ktv-kit-release', ':android_crop_lib'
include ':app'
include ':agora-ktv-kit-release'
include ':android_crop_lib'
include ':trtc_release'
include ':core'
include ':library'
include ':nim_uikit'
// 添加 flutter module 依赖
if (!Boolean.parseBoolean(with_flutter_aar)){
setBinding(new Binding([gradle: this]))
evaluate(new File(settingsDir,
'/xplan-flutter/.android/include_flutter.groovy'))
}

Submodule xplan-flutter deleted from a46a357c58