This commit is contained in:
unknown
2021-01-05 19:18:12 +08:00
parent 50b7f00cdf
commit 8be440d6b2
17 changed files with 57 additions and 23 deletions

View File

@@ -87,6 +87,11 @@
-keep public class androidx.**{*;}
-keep public class * extends androidx.**{*;}
-keep interface androidx.**{*;}
-keep class androidx.appcompat.app.*{*;}
-keep class androidx.appcompat.app.AppCompatActivity{*;}
-keep class androidx.appcompat.app.AppCompatCallback{*;}
-keep class androidx.appcompat.app.AppCompatDelegate{*;}
-dontwarn androidx.**
-keep public class android.support.design.R$* { *; }
@@ -245,11 +250,15 @@
}
#-----ARouter-----
-keep public class com.alibaba.android.arouter.routes.**{*;}
-keep public class com.alibaba.android.arouter.facade.**{*;}
-keep class com.alibaba.android.arouter.routes.*{*;}
-keep class com.alibaba.android.arouter.facade.annotation.*{*;}
-keep class com.alibaba.android.arouter.facade.enums.*{*;}
-keep class com.alibaba.android.arouter.facade.model.*{*;}
-keep class com.alibaba.android.arouter.facade.template.IProvider{*;}
-keep class * implements com.alibaba.android.arouter.facade.template.ISyringe{*;}
# If you use the byType method to obtain Service, add the following rules to protect the interface:
-keep interface * implements com.alibaba.android.arouter.facade.template.IProvider
-keep class * implements com.alibaba.android.arouter.facade.template.IProvider
# If single-type injection is used, that is, no interface is defined to implement IProvider, the following rules need to be added to protect the implementation
# -keep class * implements com.alibaba.android.arouter.facade.template.IProvider

View File

@@ -1,2 +0,0 @@
-keep class com.mogo.httpdns.IMogoHttpDns{*;}
-keep class com.mogo.httpdns.MogoHttpDnsHandler{*;}

View File

@@ -2,7 +2,6 @@ package com.mogo.httpdns;
import androidx.annotation.Keep;
public
/**
* @author congtaowang
* @since 2020/11/18
@@ -10,7 +9,7 @@ public
* 描述
*/
@Keep
class HttpDnsConst {
public class HttpDnsConst {
@Keep
public static final String PATH = "/httpdns/api";

View File

@@ -3,7 +3,6 @@ package com.mogo.httpdns;
import androidx.annotation.Keep;
import androidx.annotation.Nullable;
public
/**
* @author congtaowang
* @since 2020/11/19
@@ -11,7 +10,7 @@ public
* dns 解析回调
*/
@Keep
interface IHttpDnsCallback {
public interface IHttpDnsCallback {
@Keep
void onParsed( @Nullable String ip );

View File

@@ -2,7 +2,6 @@ package com.mogo.httpdns;
import androidx.annotation.Keep;
public
/**
* @author congtaowang
* @since 2020/11/19
@@ -10,7 +9,7 @@ public
* dns ttl 通知
*/
@Keep
interface IHttpDnsTtlCallback {
public interface IHttpDnsTtlCallback {
@Keep
void onTtl();

View File

@@ -9,7 +9,6 @@ import com.mogo.utils.network.HttpDns;
import java.util.Collection;
import java.util.List;
public
/**
* @author congtaowang
* @since 2020/11/18
@@ -17,13 +16,14 @@ public
* http 请求做http dns转换
*/
@Keep
interface IMogoHttpDns extends IProvider {
public interface IMogoHttpDns extends IProvider {
/**
* 获取 dns 代理实例
*
* @return
*/
@Keep
@Nullable
HttpDns dns();

View File

@@ -18,8 +18,10 @@ class MogoHttpDnsHandler {
}
private static IMogoHttpDns sHttpDns;
@Keep
private static volatile IMogoHttpDns sHttpDns;
@Keep
public static IMogoHttpDns getHttpDnsApi() {
if ( sHttpDns == null ) {
synchronized ( MogoHttpDnsHandler.class ) {

View File

@@ -4,6 +4,7 @@ import android.content.Context;
import android.text.TextUtils;
import android.util.ArrayMap;
import androidx.annotation.Keep;
import androidx.annotation.Nullable;
import com.alibaba.android.arouter.facade.annotation.Route;
@@ -30,6 +31,7 @@ import java.util.Map;
import static com.mogo.httpdns.HttpDnsConst.HTTP_DNS_ADDRESS_TYPE_HTTP;
@Keep
@Route(path = HttpDnsConst.PATH)
public class MogoHttpDns implements IMogoHttpDns, HttpDns, OnAddressChangedListener {
private HttpDnsHelper httpDnsHelper;

View File

@@ -0,0 +1 @@
-keep class com.mogo.httpdns.noop.*{*;}

View File

@@ -24,6 +24,7 @@ import com.mogo.httpdns.MogoHttpDnsHandler;
import com.mogo.utils.ThreadPoolService;
import com.mogo.utils.TipDrawable;
import com.mogo.utils.TipToast;
import com.mogo.utils.logger.Logger;
import com.mogo.utils.network.NetConfig;
import java.security.SecureRandom;
@@ -157,7 +158,9 @@ public abstract class AbsMogoApplication extends Application {
}
IMogoHttpDns dns = MogoHttpDnsHandler.getHttpDnsApi();
if(dns == null){
Logger.d(TAG,"dns is null");
}
NetConfig.instance().setSignaturePrefix( Constants.SIGN_PREFIX )
.setPublicParams( ParamsUtil.getStaticParams() )
.setHostnameVerifier( new AllAllowedHostnameVerifier() )

View File

@@ -4,4 +4,5 @@
-keep class com.mogo.utils.glide.GlideRoundedCornersTransform.CornerType
-keep class com.mogo.utils.logger.LogLevel{*;}
-keep class com.mogo.utils.sqlite.**{*;}
-keep class com.mogo.utils.network.HttpDns{*;}
-keep class com.mogo.utils.network.HttpDns{*;}
-keep class com.mogo.httpdnshelper.sdk.**{*;}

View File

@@ -139,9 +139,9 @@ HTTPDNS_NOOP_VERSION = 2.0.12
######## 外部依赖引用
# 车聊聊
CARCHATTING_VERSION=2.2.50
CARCHATTING_VERSION=2.2.51
# 车聊聊接口
CARCHATTINGPROVIDER_VERSION=1.1.8
CARCHATTINGPROVIDER_VERSION=1.1.9
# websocket
WEBSOCKET_VERSION=1.1.7
# loglib

View File

@@ -11,7 +11,6 @@ import androidx.appcompat.app.AppCompatDelegate;
import androidx.appcompat.app.SkinAppCompatDelegateImpl;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.mogo.commons.AbsMogoApplication;
import com.mogo.skin.support.IMogoSkinSupportInstaller;
import com.mogo.skin.support.SkinMode;
import com.mogo.skin.support.SkinSupportInstallerConstants;

View File

@@ -0,0 +1 @@
-keep class com.mogo.skin.support.noop.SkinSupportInstaller{*;}

View File

@@ -1 +1,6 @@
-keep class com.mogo.skin.support.**{*;}
-keep class com.mogo.skin.support.helper.*{*;}
-keep class com.mogo.skin.support.SkinMode{*;}
-keep class com.mogo.skin.support.MogoSkinManager{*;}
-keep class com.mogo.skin.support.IMogoSkinSupportInstaller{*;}
-keep class com.mogo.skin.support.IMogoSkinCompatSupportable{*;}
-keep class com.mogo.skin.support.SkinSupportInstallerConstants{*;}

View File

@@ -4,28 +4,35 @@ import android.app.Activity;
import android.app.Application;
import android.os.Bundle;
import androidx.annotation.Keep;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.app.AppCompatCallback;
import androidx.appcompat.app.AppCompatDelegate;
import com.alibaba.android.arouter.facade.template.IProvider;
public
/**
* @author congtaowang
* @since 2020/8/28
*
* 描述
*/
interface IMogoSkinSupportInstaller extends IProvider {
@Keep
public interface IMogoSkinSupportInstaller extends IProvider {
@Keep
void install( Application application );
@Keep
void loadSkin( SkinMode skinMode );
@Keep
AppCompatDelegate getSkinAppCompatDelegate( AppCompatActivity activity, AppCompatDelegate superDelegate, AppCompatCallback callback );
@Keep
void onCompensateActivityCreated( Activity activity, Bundle savedInstanceState );
@Keep
void onDestroy();
}

View File

@@ -1,24 +1,31 @@
package com.mogo.skin.support;
import androidx.annotation.Keep;
import com.alibaba.android.arouter.launcher.ARouter;
public
/**
* @author congtaowang
* @since 2020/8/28
* <p>
* 描述
*/
class MogoSkinManager {
@Keep
public class MogoSkinManager {
@Keep
private IMogoSkinSupportInstaller mInstaller;
@Keep
private static volatile MogoSkinManager sInstance;
@Keep
private MogoSkinManager() {
mInstaller = ARouter.getInstance().navigation( IMogoSkinSupportInstaller.class );
}
@Keep
public static MogoSkinManager getInstance() {
if ( sInstance == null ) {
synchronized ( MogoSkinManager.class ) {
@@ -30,6 +37,7 @@ class MogoSkinManager {
return sInstance;
}
@Keep
public synchronized void release() {
sInstance = null;
}
@@ -39,6 +47,7 @@ class MogoSkinManager {
return sInstance;
}
@Keep
public IMogoSkinSupportInstaller getInstaller() {
return mInstaller;
}