代码抽取聚合

1、将foudations包下mogo-utils模块下的network部分,抽取到core包下的mogo-core-network模块
2、将foudations包下mogo-commons模块下的部分network类,抽取到core包下的mogo-core-network模块
3、将AbsMogoApplication类中网络配置代码,抽取到NetConfigUtils类中
This commit is contained in:
xuxinchao
2021-12-20 15:14:13 +08:00
parent cdd9afb7da
commit ac05802f34
130 changed files with 325 additions and 1041 deletions

View File

@@ -19,24 +19,12 @@ import com.mogo.commons.analytics.AnalyticsUtils;
import com.mogo.commons.crash.FinalizeCrashFixer;
import com.mogo.commons.debug.DebugConfig;
import com.mogo.commons.device.Devices;
import com.mogo.commons.network.AllAllowedHostnameVerifier;
import com.mogo.commons.network.Constants;
import com.mogo.commons.network.ParamsUtil;
import com.mogo.commons.network.X509TrustManagerImpl;
import com.mogo.commons.storage.SpStorage;
import com.mogo.commons.network.NetConfigUtils;
import com.mogo.eagle.core.utilcode.mogo.toast.TipDrawable;
import com.mogo.eagle.core.utilcode.mogo.toast.TipToast;
import com.mogo.eagle.core.utilcode.util.Utils;
import com.mogo.utils.ThreadPoolService;
import com.mogo.utils.logger.Logger;
import com.mogo.utils.network.NetConfig;
import java.security.SecureRandom;
import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;
import okhttp3.Request;
/**
* @author congtaowang
@@ -135,25 +123,14 @@ public abstract class AbsMogoApplication extends Application {
return contentView;
}
/**
* 忽略 https 验证
*
* @return {@link SSLContext}
* @throws Exception
*/
private static SSLContext getSslContext() throws Exception {
SSLContext sc = null;
sc = SSLContext.getInstance("SSL");
sc.init(null, new TrustManager[]{new X509TrustManagerImpl()}, new SecureRandom());
return sc;
}
/**
* 异步初始化
*/
protected void asyncInit() {
ThreadPoolService.execute(() -> {
initNetConfig();
//初始化网络配置
NetConfigUtils.init(sApis);
// 初始化埋点
AnalyticsUtils.init(sApp);
if (DebugConfig.getCarMachineType() == CAR_MACHINE_TYPE_SELF_INNOVATE) {
@@ -171,39 +148,7 @@ public abstract class AbsMogoApplication extends Application {
}
/**
* 初始化网络配置
*/
private static void initNetConfig() {
try {
SSLContext sc = getSslContext();
NetConfig.instance().setSslContext(sc);
} catch (Exception e) {
e.printStackTrace();
}
NetConfig.instance().setSignaturePrefix(Constants.SIGN_PREFIX)
.setPublicParams(ParamsUtil.getStaticParams())
.setHostnameVerifier(new AllAllowedHostnameVerifier())
.addNetworkInterceptor(chain -> {
Request original = chain.request();
Request request = original.newBuilder()
.header("token", SpStorage.getTicket())
.method(original.method(), original.body())
.build();
return chain.proceed(request);
})
// 增加域名->域名的转换方式暂时去掉httpdns方式
.addInterceptor(chain -> {
Request request = chain.request();
String path = request.url().encodedPath();
String host = "http://" + sApis.syncGetHttpDns(request.url().host().replace("http://", "").replace("https://", ""), HTTP_DNS_ADDRESS_TYPE_HTTP, true);
String url = host + path;
Logger.d("DomainExchange", "oriHost: " + request.url().host() + " newHost: " + host + " \r\n newUrl: " + url);
return chain.proceed(request.newBuilder().url(url).build());
})
.setHttpDns(null)
.setLoggable(DebugConfig.isDebug());
}
// 缓存IP地址
private String cacheIp = null;