天津出行司机端 v6.9.3版本的 MD5 值为:b7a18e0f0e865860fd80aa9ed7cf4ae1
以下内容为反编译后的 DoKitReal.java 源代码,内容仅作参考
package com.didichuxing.doraemonkit;
import android.app.Activity;
import android.app.Application;
import android.content.Context;
import android.os.Build;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import androidx.exifinterface.media.ExifInterface;
import com.didichuxing.doraemonkit.aop.DokitPluginConfig;
import com.didichuxing.doraemonkit.aop.DokitThirdLibInfo;
import com.didichuxing.doraemonkit.config.GlobalConfig;
import com.didichuxing.doraemonkit.config.PerformanceSpInfoConfig;
import com.didichuxing.doraemonkit.constant.DoKitModule;
import com.didichuxing.doraemonkit.constant.SharedPrefsKey;
import com.didichuxing.doraemonkit.datapick.DataPickManager;
import com.didichuxing.doraemonkit.extension.DokitExtensionKt;
import com.didichuxing.doraemonkit.kit.AbstractKit;
import com.didichuxing.doraemonkit.kit.core.AbsDoKitView;
import com.didichuxing.doraemonkit.kit.core.BaseFragment;
import com.didichuxing.doraemonkit.kit.core.DoKitManager;
import com.didichuxing.doraemonkit.kit.core.DoKitServiceEnum;
import com.didichuxing.doraemonkit.kit.core.DoKitServiceManager;
import com.didichuxing.doraemonkit.kit.core.DoKitViewLaunchMode;
import com.didichuxing.doraemonkit.kit.core.DoKitViewManager;
import com.didichuxing.doraemonkit.kit.core.DokitAbility;
import com.didichuxing.doraemonkit.kit.core.McClientProcessor;
import com.didichuxing.doraemonkit.kit.core.SimpleDoKitLauncher;
import com.didichuxing.doraemonkit.kit.health.AppHealthInfoUtil;
import com.didichuxing.doraemonkit.kit.health.model.AppHealthInfo;
import com.didichuxing.doraemonkit.kit.network.NetworkManager;
import com.didichuxing.doraemonkit.kit.network.okhttp.interceptor.DokitExtInterceptor;
import com.didichuxing.doraemonkit.kit.timecounter.instrumentation.HandlerHooker;
import com.didichuxing.doraemonkit.kit.toolpanel.KitWrapItem;
import com.didichuxing.doraemonkit.kit.webdoor.WebDoorManager;
import com.didichuxing.doraemonkit.util.ActivityUtils;
import com.didichuxing.doraemonkit.util.AppUtils;
import com.didichuxing.doraemonkit.util.DoKitCommUtil;
import com.didichuxing.doraemonkit.util.DoKitSPUtil;
import com.didichuxing.doraemonkit.util.DoraemonStatisticsUtil;
import com.didichuxing.doraemonkit.util.FileUtils;
import com.didichuxing.doraemonkit.util.LogHelper;
import com.didichuxing.doraemonkit.util.LogUtils;
import com.didichuxing.doraemonkit.util.NetworkUtils;
import com.didichuxing.doraemonkit.util.ProcessUtils;
import com.didichuxing.doraemonkit.util.ThreadUtils;
import com.didichuxing.doraemonkit.util.ToastUtils;
import com.didichuxing.doraemonkit.util.Utils;
import com.google.android.gms.common.internal.ImagesContract;
import java.io.File;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import kotlin.Metadata;
import kotlin.TuplesKt;
import kotlin.TypeCastException;
import kotlin.Unit;
import kotlin.collections.CollectionsKt;
import kotlin.collections.MapsKt;
import kotlin.coroutines.Continuation;
import kotlin.coroutines.intrinsics.IntrinsicsKt;
import kotlin.jvm.JvmStatic;
import kotlin.jvm.internal.Intrinsics;
import kotlin.jvm.internal.TypeIntrinsics;
import kotlinx.coroutines.BuildersKt;
import kotlinx.coroutines.CoroutineName;
import kotlinx.coroutines.Dispatchers;
@Metadata(bv = {1, 0, 3}, d1 = {"\u0000¨\u0001\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\t\n\u0000\n\u0002\u0010\u000b\n\u0002\b\u0005\n\u0002\u0010\u0002\n\u0002\b\u0006\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u000e\n\u0002\b\n\n\u0002\u0018\u0002\n\u0002\u0010 \n\u0002\u0018\u0002\n\u0002\b\u0006\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\t\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010$\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0002\b\u0006\n\u0002\u0010\b\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0007\n\u0002\u0018\u0002\n\u0000\bÆ\u0002\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002J\u0019\u0010\r\u001a\u00020\u000e2\u0006\u0010\u000f\u001a\u00020\u0004H\u0082@ø\u0001\u0000¢\u0006\u0002\u0010\u0010J\b\u0010\u0011\u001a\u00020\u000eH\u0002J\u0006\u0010\u0012\u001a\u00020\u000eJ3\u0010\u0013\u001a\u0004\u0018\u0001H\u0014\"\b\b\u0000\u0010\u0014*\u00020\u00152\b\u0010\u0016\u001a\u0004\u0018\u00010\u00172\u000e\u0010\u0018\u001a\n\u0012\u0006\b\u0001\u0012\u0002H\u00140\u0019H\u0007¢\u0006\u0002\u0010\u001aJ\u0006\u0010\u001b\u001a\u00020\u001cJ\u0006\u0010\u001d\u001a\u00020\u001cJ\b\u0010\u001e\u001a\u00020\u000eH\u0002J\u0006\u0010\u001f\u001a\u00020\u000eJ\u0006\u0010 \u001a\u00020\u000eJ\u0010\u0010!\u001a\u00020\u000e2\u0006\u0010\"\u001a\u00020\u0004H\u0002J\b\u0010#\u001a\u00020\u000eH\u0002J\b\u0010$\u001a\u00020\u000eH\u0002J>\u0010%\u001a\u00020\u000e2\u0006\u0010\"\u001a\u00020\u00042\u0018\u0010&\u001a\u0014\u0012\u0004\u0012\u00020\u001c\u0012\n\u0012\b\u0012\u0004\u0012\u00020)0(0'2\f\u0010*\u001a\b\u0012\u0004\u0012\u00020)0(2\u0006\u0010+\u001a\u00020\u001cJ\u0010\u0010,\u001a\u00020\u000e2\u0006\u0010\"\u001a\u00020\u0004H\u0002J,\u0010-\u001a\u00020\u000e2\u000e\u0010.\u001a\n\u0012\u0006\b\u0001\u0012\u00020\u00150\u00192\b\b\u0002\u0010/\u001a\u0002002\n\b\u0002\u00101\u001a\u0004\u0018\u000102J8\u00103\u001a\u00020\u000e2\u000e\u0010.\u001a\n\u0012\u0006\b\u0001\u0012\u0002040\u00192\n\b\u0002\u00105\u001a\u0004\u0018\u0001062\n\b\u0002\u00101\u001a\u0004\u0018\u0001022\b\b\u0002\u00107\u001a\u00020\bJ\b\u00108\u001a\u00020\u000eH\u0002J\b\u00109\u001a\u00020\u000eH\u0002J\b\u0010:\u001a\u00020\u000eH\u0002J\u000e\u0010;\u001a\u00020\u000e2\u0006\u0010<\u001a\u00020\u0015J\u0016\u0010;\u001a\u00020\u000e2\u000e\u0010.\u001a\n\u0012\u0006\b\u0001\u0012\u00020\u00150\u0019J2\u0010=\u001a\u00020\u000e2\u0006\u0010>\u001a\u00020\u001c2\n\b\u0002\u0010?\u001a\u0004\u0018\u00010@2\u0016\b\u0002\u0010A\u001a\u0010\u0012\u0004\u0012\u00020\u001c\u0012\u0004\u0012\u00020\u001c\u0018\u00010BJ\u000e\u0010C\u001a\u00020\u000e2\u0006\u0010D\u001a\u00020\bJ\u000e\u0010E\u001a\u00020\u000e2\u0006\u0010F\u001a\u00020GJ\u001a\u0010H\u001a\u00020\u000e2\u0012\u0010I\u001a\u000e\u0012\u0004\u0012\u00020\u001c\u0012\u0004\u0012\u00020\u001c0BJ\u000e\u0010J\u001a\u00020\u000e2\u0006\u0010K\u001a\u00020\bJ\u000e\u0010L\u001a\u00020\u000e2\u0006\u0010M\u001a\u00020NJ\u000e\u0010O\u001a\u00020\u000e2\u0006\u0010P\u001a\u00020QJ\u000e\u0010R\u001a\u00020\u000e2\u0006\u0010M\u001a\u00020NJ\u000e\u0010S\u001a\u00020\u000e2\u0006\u0010T\u001a\u00020UJ\u0010\u0010V\u001a\u00020\u000e2\b\u0010F\u001a\u0004\u0018\u00010WJ\u0006\u0010X\u001a\u00020\u000eJ\b\u0010Y\u001a\u00020\u000eH\u0002J\u0006\u0010Z\u001a\u00020\u000eJ\b\u0010[\u001a\u00020\u000eH\u0002J\b\u0010\\\u001a\u00020\u000eH\u0002J\u0012\u0010]\u001a\u00020\u000e2\b\u0010^\u001a\u0004\u0018\u00010_H\u0002R\u000e\u0010\u0003\u001a\u00020\u0004X\u0082.¢\u0006\u0002\n\u0000R\u000e\u0010\u0005\u001a\u00020\u0006X\u0082T¢\u0006\u0002\n\u0000R\u001a\u0010\u0007\u001a\u00020\bX\u0086\u000e¢\u0006\u000e\n\u0000\u001a\u0004\b\u0007\u0010\t\"\u0004\b\n\u0010\u000bR\u0011\u0010\f\u001a\u00020\b8F¢\u0006\u0006\u001a\u0004\b\f\u0010\t\u0082\u0002\u0004\n\u0002\b\u0019¨\u0006`"}, d2 = {"Lcom/didichuxing/doraemonkit/DoKitReal;", "", "()V", "APPLICATION", "Landroid/app/Application;", "FILE_LENGTH_THRESHOLD", "", "isInit", "", "()Z", "setInit", "(Z)V", "isShow", "addInnerKit", "", "application", "(Landroid/app/Application;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;", "checkLargeImgIsOpen", "disableUpload", "getDoKitView", ExifInterface.GPS_DIRECTION_TRUE, "Lcom/didichuxing/doraemonkit/kit/core/AbsDoKitView;", "activity", "Landroid/app/Activity;", "clazz", "Ljava/lang/Class;", "(Landroid/app/Activity;Ljava/lang/Class;)Lcom/didichuxing/doraemonkit/kit/core/AbsDoKitView;", "getMcConnectUrl", "", "getMode", "globalRunTimeHook", "hide", "hideToolPanel", "initAndroidUtil", "app", "initGpsMock", "initThirdLibraryInfo", "install", "mapKits", "Ljava/util/LinkedHashMap;", "", "Lcom/didichuxing/doraemonkit/kit/AbstractKit;", "listKits", "productId", "installLeakCanary", "launchFloating", "targetClass", "mode", "Lcom/didichuxing/doraemonkit/kit/core/DoKitViewLaunchMode;", "bundle", "Landroid/os/Bundle;", "launchFullScreen", "Lcom/didichuxing/doraemonkit/kit/core/BaseFragment;", "context", "Landroid/content/Context;", "isSystemFragment", "pluginConfig", "registerAppStatusChangedListener", "registerNetworkStatusChangedListener", "removeFloating", "dokitView", "sendCustomEvent", "eventType", "view", "Landroid/view/View;", "param", "", "setAlwaysShowMainIcon", "alwaysShow", "setCallBack", "callback", "Lcom/didichuxing/doraemonkit/DoKitCallBack;", "setDatabasePass", "map", "setDebug", "debug", "setFileManagerHttpPort", "port", "", "setMCIntercept", "interceptor", "Lcom/didichuxing/doraemonkit/kit/core/McClientProcessor;", "setMCWSPort", "setNetExtInterceptor", "extInterceptorProxy", "Lcom/didichuxing/doraemonkit/kit/network/okhttp/interceptor/DokitExtInterceptor$DokitExtInterceptorProxy;", "setWebDoorCallback", "Lcom/didichuxing/doraemonkit/kit/webdoor/WebDoorManager$WebDoorCallback;", "show", "showMainIcon", "showToolPanel", "startAppHealth", "startBigFileInspect", "traverseFile", "rootFileDir", "Ljava/io/File;", "dokit_release"}, k = 1, mv = {1, 1, 16})
public final class DoKitReal {
private static Application APPLICATION = null;
private static final long FILE_LENGTH_THRESHOLD = 1048576;
public static final DoKitReal INSTANCE = new DoKitReal();
private static boolean isInit;
private DoKitReal() {
}
public static final Application access$getAPPLICATION$p(DoKitReal $this) {
Application application = APPLICATION;
if (application == null) {
Intrinsics.throwUninitializedPropertyAccessException("APPLICATION");
}
return application;
}
public final boolean isInit() {
return isInit;
}
public final void setInit(boolean z) {
isInit = z;
}
public final void setDebug(boolean debug) {
LogHelper.setDebug(debug);
}
public final void install(Application app, LinkedHashMap<String, List<AbstractKit>> mapKits, List<? extends AbstractKit> listKits, String productId) {
Intrinsics.checkParameterIsNotNull(app, "app");
Intrinsics.checkParameterIsNotNull(mapKits, "mapKits");
Intrinsics.checkParameterIsNotNull(listKits, "listKits");
Intrinsics.checkParameterIsNotNull(productId, "productId");
pluginConfig();
initThirdLibraryInfo();
DoKitManager.PRODUCT_ID = productId;
DoKitManager.APP_HEALTH_RUNNING = GlobalConfig.getAppHealth();
APPLICATION = app;
initAndroidUtil(app);
if (!ProcessUtils.isMainProcess()) {
return;
}
HandlerHooker.doHook(app);
String strDokitMode = DoKitSPUtil.getString(SharedPrefsKey.FLOAT_START_MODE, "normal");
DoKitManager.IS_NORMAL_FLOAT_MODE = Intrinsics.areEqual(strDokitMode, "normal");
checkLargeImgIsOpen();
registerNetworkStatusChangedListener();
startAppHealth();
initGpsMock();
if (Build.VERSION.SDK_INT <= 30) {
globalRunTimeHook();
}
app.registerActivityLifecycleCallbacks(new DoKitActivityLifecycleCallbacks());
registerAppStatusChangedListener();
DoKitManager.GLOBAL_KITS.clear();
int i = 10;
if (!mapKits.isEmpty()) {
LinkedHashMap<String, List<AbstractKit>> $this$forEach$iv = mapKits;
for (Map.Entry element$iv : $this$forEach$iv.entrySet()) {
List<AbstractKit> $this$map$iv = element$iv.getValue();
Map $this$forEach$iv2 = $this$forEach$iv;
Collection destination$iv$iv = new ArrayList(CollectionsKt.collectionSizeOrDefault($this$map$iv, i));
for (Object item$iv$iv : $this$map$iv) {
AbstractKit it = (AbstractKit) item$iv$iv;
String string = DoKitCommUtil.getString(it.getName());
Intrinsics.checkExpressionValueIsNotNull(string, "DoKitCommUtil.getString(it.name)");
destination$iv$iv.add(new KitWrapItem(KitWrapItem.TYPE_KIT, string, true, element$iv.getKey(), it));
}
List kitWraps = TypeIntrinsics.asMutableList((List) destination$iv$iv);
DoKitManager.GLOBAL_KITS.put(element$iv.getKey(), kitWraps);
$this$forEach$iv = $this$forEach$iv2;
i = 10;
}
} else if (mapKits.isEmpty() && (!listKits.isEmpty())) {
List<? extends AbstractKit> $this$map$iv2 = listKits;
boolean z = false;
Collection destination$iv$iv2 = new ArrayList(CollectionsKt.collectionSizeOrDefault($this$map$iv2, 10));
for (Object item$iv$iv2 : $this$map$iv2) {
AbstractKit it2 = (AbstractKit) item$iv$iv2;
Iterable $this$map$iv3 = $this$map$iv2;
String string2 = DoKitCommUtil.getString(it2.getName());
Intrinsics.checkExpressionValueIsNotNull(string2, "DoKitCommUtil.getString(it.name)");
boolean z2 = z;
String string3 = DoKitCommUtil.getString(R.string.dk_category_biz);
Intrinsics.checkExpressionValueIsNotNull(string3, "DoKitCommUtil.getString(R.string.dk_category_biz)");
destination$iv$iv2.add(new KitWrapItem(KitWrapItem.TYPE_KIT, string2, true, string3, it2));
$this$map$iv2 = $this$map$iv3;
z = z2;
}
List kitWraps2 = TypeIntrinsics.asMutableList((List) destination$iv$iv2);
String string4 = DoKitCommUtil.getString(R.string.dk_category_biz);
Intrinsics.checkExpressionValueIsNotNull(string4, "DoKitCommUtil.getString(R.string.dk_category_biz)");
DoKitManager.GLOBAL_KITS.put(string4, kitWraps2);
}
BuildersKt.launch$default(DokitExtensionKt.getDoKitGlobalScope(), new CoroutineName("DoKit全局异常").plus(DokitExtensionKt.getDoKitGlobalExceptionHandler()), null, new DoKitReal$install$2(app, null), 2, null);
DoKitViewManager.Companion.getINSTANCE().init();
if (DoKitManager.INSTANCE.getENABLE_UPLOAD()) {
try {
DoraemonStatisticsUtil.uploadUserInfo(app);
} catch (Exception e) {
e.printStackTrace();
}
}
DataPickManager.getInstance().postData();
isInit = true;
}
private final void registerAppStatusChangedListener() {
AppUtils.registerAppStatusChangedListener(new Utils.OnAppStatusChangedListener() {
@Override
public void onForeground(Activity activity) {
DoKitServiceManager doKitServiceManager = DoKitServiceManager.INSTANCE;
DoKitServiceEnum doKitServiceEnum = DoKitServiceEnum.onForeground;
if (activity == null) {
Intrinsics.throwNpe();
}
doKitServiceManager.dispatch(doKitServiceEnum, activity);
}
@Override
public void onBackground(Activity activity) {
DoKitServiceManager doKitServiceManager = DoKitServiceManager.INSTANCE;
DoKitServiceEnum doKitServiceEnum = DoKitServiceEnum.onBackground;
if (activity == null) {
Intrinsics.throwNpe();
}
doKitServiceManager.dispatch(doKitServiceEnum, activity);
}
});
}
public final Object addInnerKit(Application application, Continuation<? super Unit> continuation) {
Object withContext = BuildersKt.withContext(Dispatchers.getIO(), new DoKitReal$addInnerKit$2(application, null), continuation);
return withContext == IntrinsicsKt.getCOROUTINE_SUSPENDED() ? withContext : Unit.INSTANCE;
}
private final void pluginConfig() {
HashMap hashMap = new HashMap();
hashMap.put("dokitPluginSwitch", true);
hashMap.put("gpsSwitch", true);
hashMap.put("networkSwitch", true);
hashMap.put("bigImgSwitch", true);
hashMap.put("methodSwitch", false);
hashMap.put("methodStrategy", 0);
DokitPluginConfig.inject(hashMap);
}
private final void initThirdLibraryInfo() {
HashMap hashMap = new HashMap();
hashMap.put("androidx.activity:activity-ktx:1.2.1", "19771");
hashMap.put("androidx.activity:activity:1.2.3", "67451");
hashMap.put("androidx.annotation:annotation-experimental:1.1.0", "17209");
hashMap.put("androidx.annotation:annotation:1.3.0", "31705");
hashMap.put("androidx.appcompat:appcompat-resources:1.3.0", "65247");
hashMap.put("androidx.appcompat:appcompat:1.3.0", "1084065");
hashMap.put("androidx.arch.core:core-common:2.1.0", "11257");
hashMap.put("androidx.camera:camera-camera2:1.0.0", "284380");
hashMap.put("androidx.camera:camera-core:1.0.0", "470791");
hashMap.put("androidx.camera:camera-lifecycle:1.0.0", "17166");
hashMap.put("androidx.camera:camera-view:1.0.0-alpha25", "81841");
hashMap.put("androidx.cardview:cardview:1.0.0", "22527");
hashMap.put("androidx.collection:collection-ktx:1.1.0", "18629");
hashMap.put("androidx.collection:collection:1.1.0", "42953");
hashMap.put("androidx.concurrent:concurrent-futures:1.0.0", "25895");
hashMap.put("androidx.constraintlayout:constraintlayout-solver:2.0.4", "231082");
hashMap.put("androidx.constraintlayout:constraintlayout:2.0.4", "384358");
hashMap.put("androidx.coordinatorlayout:coordinatorlayout:1.1.0", "45020");
hashMap.put("androidx.core:core-ktx:1.8.0", "177796");
hashMap.put("androidx.core:core:1.8.0", "1077345");
hashMap.put("androidx.cursoradapter:cursoradapter:1.0.0", "10591");
hashMap.put("androidx.databinding:databinding-adapters:7.1.2", "82117");
hashMap.put("androidx.databinding:databinding-common:7.1.2", "16103");
hashMap.put("androidx.databinding:databinding-runtime:7.1.2", "62701");
hashMap.put("androidx.databinding:viewbinding:7.1.2", "2560");
hashMap.put("androidx.drawerlayout:drawerlayout:1.1.1", "34591");
hashMap.put("androidx.dynamicanimation:dynamicanimation:1.0.0", "32597");
hashMap.put("androidx.exifinterface:exifinterface:1.3.3", "64347");
hashMap.put("androidx.fragment:fragment-ktx:1.3.1", "14643");
hashMap.put("androidx.fragment:fragment:1.3.4", "298149");
hashMap.put("androidx.legacy:legacy-support-core-utils:1.0.0", "4104");
hashMap.put("androidx.legacy:legacy-support-v4:1.0.0", "2844");
hashMap.put("androidx.lifecycle:lifecycle-common-java8:2.5.0", "261");
hashMap.put("androidx.lifecycle:lifecycle-common:2.5.0", "24230");
hashMap.put("androidx.lifecycle:lifecycle-extensions:2.2.0", "4298");
hashMap.put("androidx.lifecycle:lifecycle-livedata-core-ktx:2.5.0", "19628");
hashMap.put("androidx.lifecycle:lifecycle-livedata-core:2.5.0", "10078");
hashMap.put("androidx.lifecycle:lifecycle-livedata-ktx:2.5.0", "40750");
hashMap.put("androidx.lifecycle:lifecycle-runtime-ktx:2.5.0", "79838");
hashMap.put("androidx.lifecycle:lifecycle-runtime:2.5.0", "12288");
hashMap.put("androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1", "6329");
hashMap.put("androidx.lifecycle:lifecycle-viewmodel-savedstate:2.3.1", "15480");
hashMap.put("androidx.lifecycle:lifecycle-viewmodel:2.3.1", "11144");
hashMap.put("androidx.loader:loader:1.0.0", "33445");
hashMap.put("androidx.multidex:multidex:2.0.1", "26747");
hashMap.put("androidx.recyclerview:recyclerview:1.1.0", "358254");
hashMap.put("androidx.room:room-common:2.4.2", "24749");
hashMap.put("androidx.room:room-runtime:2.4.2", "137132");
hashMap.put("androidx.savedstate:savedstate-ktx:1.1.0", "1972");
hashMap.put("androidx.savedstate:savedstate:1.1.0", "11201");
hashMap.put("androidx.sqlite:sqlite-framework:2.2.0", "12886");
hashMap.put("androidx.sqlite:sqlite:2.2.0", "16304");
hashMap.put("androidx.tracing:tracing:1.0.0", "4444");
hashMap.put("androidx.transition:transition:1.2.0", "170826");
hashMap.put("androidx.vectordrawable:vectordrawable-animated:1.1.0", "34496");
hashMap.put("androidx.vectordrawable:vectordrawable:1.1.0", "33236");
hashMap.put("androidx.viewpager2:viewpager2:1.0.0", "61552");
hashMap.put("androidx.viewpager:viewpager:1.0.0", "53513");
hashMap.put("androidx.webkit:webkit:1.3.0", "100173");
hashMap.put("com.alibaba:fastjson:1.2.11", "379732");
hashMap.put("com.aliyun.dpa:oss-android-sdk:2.9.18", "283046");
hashMap.put("com.amap.api:navi-3dmap:9.8.2_3dmap9.8.2", "67442557");
hashMap.put("com.amap.api:search:9.5.0", "690457");
hashMap.put("com.android.volley:volley:1.1.1", "99090");
hashMap.put("com.blankj:utilcodex:1.31.1", "498803");
hashMap.put("com.contrarywind:Android-PickerView:4.1.9", "67698");
hashMap.put("com.contrarywind:wheelview:4.1.0", "18185");
hashMap.put("com.davemorrissey.labs:subsampling-scale-image-view-androidx:3.10.0", "81296");
hashMap.put("com.github.AppDevNext.Logcat:LogcatCoreLib:2.11.2", "15711");
hashMap.put("com.github.Dearyu.NetPresenter:netpresenter-code:1.4.0", "8342");
hashMap.put("com.github.Dearyu.NetPresenter:netpresenter-compiler:1.4.0", "15120");
hashMap.put("com.github.Dearyu:NetPresenter:1.4.0", "280");
hashMap.put("com.github.HuanTanSheng:EasyPhotos:3.1.5", "383573");
hashMap.put("com.github.Jay-Goo:RangeSeekBar:v3.0.0", "56177");
hashMap.put("com.github.JessYanCoding:AndroidAutoSize:v1.2.1", "37613");
hashMap.put("com.github.bumptech.glide:annotations:4.9.0", "3707");
hashMap.put("com.github.bumptech.glide:disklrucache:4.9.0", "19344");
hashMap.put("com.github.bumptech.glide:gifdecoder:4.9.0", "18097");
hashMap.put("com.github.bumptech.glide:glide:4.9.0", "585915");
hashMap.put("com.github.chenBingX:SuperTextView:v3.2.6.99", "297037");
hashMap.put("com.github.chrisbanes:PhotoView:2.3.0", "40342");
hashMap.put("com.github.donkingliang:ConsecutiveScroller:4.6.1", "41269");
hashMap.put("com.github.donkingliang:GroupedRecyclerViewAdapter:2.4.3", "69944");
hashMap.put("com.github.florent37:viewanimator:1.1.0", "29106");
hashMap.put("com.github.getActivity:EasyWindow:10.3", "24435");
hashMap.put("com.github.getActivity:XXPermissions:13.6", "35663");
hashMap.put("com.github.hannesa2:paho.mqtt.android:3.5.0", "116191");
hashMap.put("com.github.jenly1314:zxing-lite:2.1.0", "69745");
hashMap.put("com.github.lzyzsd:jsbridge:1.0.4", "16206");
hashMap.put("com.github.mylhyl:Android-CircleDialog:5.3.8", "142285");
hashMap.put("com.github.shaoshuai904:RecordWav:1.1.0", "43987");
hashMap.put("com.github.ybq:Android-SpinKit:1.4.0", "54681");
hashMap.put("com.gjiazhe:wavesidebar:1.3", "20351");
hashMap.put("com.google.android.gms:play-services-tasks:17.2.1", "39773");
hashMap.put("com.google.android.material:material:1.3.0", "1572474");
hashMap.put("com.google.auto.service:auto-service-annotations:1.0", "3171");
hashMap.put("com.google.auto.service:auto-service:1.0", "12344");
hashMap.put("com.google.auto.value:auto-value-annotations:1.6.3", "5906");
hashMap.put("com.google.auto:auto-common:1.0", "101356");
hashMap.put("com.google.code.findbugs:jsr305:3.0.2", "19936");
hashMap.put("com.google.code.gson:gson:2.8.5", "241622");
hashMap.put("com.google.errorprone:error_prone_annotations:2.5.1", "13854");
hashMap.put("com.google.guava:failureaccess:1.0.1", "4617");
hashMap.put("com.google.guava:guava:30.1.1-jre", "2874025");
hashMap.put("com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava", "2199");
hashMap.put("com.google.j2objc:j2objc-annotations:1.3", "8781");
hashMap.put("com.google.zxing:core:3.3.3", "543115");
hashMap.put("com.jakewharton.rxbinding2:rxbinding:2.0.0", "165158");
hashMap.put("com.jakewharton.timber:timber:5.0.1", "32329");
hashMap.put("com.kyleduo.switchbutton:library:2.1.0", "20803");
hashMap.put("com.otaliastudios.opengl:egloo:0.6.1", "122130");
hashMap.put("com.otaliastudios:cameraview:2.7.2", "484797");
hashMap.put("com.squareup.okhttp3:logging-interceptor:3.11.0", "8882");
hashMap.put("com.squareup.okhttp3:okhttp:3.14.9", "430488");
hashMap.put("com.squareup.okhttp:okhttp:2.7.5", "331034");
hashMap.put("com.squareup.okio:okio:1.17.2", "91980");
hashMap.put("com.squareup.retrofit2:adapter-rxjava2:2.9.0", "14396");
hashMap.put("com.squareup.retrofit2:converter-gson:2.9.0", "4618");
hashMap.put("com.squareup.retrofit2:retrofit:2.9.0", "125435");
hashMap.put("com.squareup:javapoet:1.13.0", "106068");
hashMap.put("com.tencent.bugly:crashreport:4.1.9.3", "693000");
hashMap.put("com.tencent.mm.opensdk:wechat-sdk-android:6.8.0", "154143");
hashMap.put("com.ycjiang:ImagePreview:2.3.7", "83009");
hashMap.put("de.hdodenhof:circleimageview:3.1.0", "8755");
hashMap.put("io.github.azhon:appupdate:3.0.6", "96677");
hashMap.put("io.github.didi.dokit:dokitx-okhttp-api:3.7.0", "28356");
hashMap.put("io.github.didi.dokit:dokitx-okhttp-v3:3.7.0", "5541");
hashMap.put("io.github.didi.dokit:dokitx-okhttp-v4:3.7.0", "5424");
hashMap.put("io.github.didi.dokit:dokitx-util:3.7.0", "593482");
hashMap.put("io.github.didi.dokit:dokitx:3.7.0", "3178857");
hashMap.put("io.github.h07000223:flycoTabLayout:3.0.0", "74395");
hashMap.put("io.github.scwang90:refresh-drawable-paint:2.0.5", "3669");
hashMap.put("io.github.scwang90:refresh-footer-classics:2.0.5", "14289");
hashMap.put("io.github.scwang90:refresh-header-classics:2.0.5", "10960");
hashMap.put("io.github.scwang90:refresh-layout-kernel:2.0.5", "82884");
hashMap.put("io.reactivex.rxjava2:rxandroid:2.1.1", "9055");
hashMap.put("io.reactivex.rxjava2:rxjava:2.2.21", "2356379");
hashMap.put("org.checkerframework:checker-qual:3.8.0", "230905");
hashMap.put("org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.5", "241861");
hashMap.put("org.greenrobot:eventbus:3.1.1", "59043");
hashMap.put("org.jetbrains.kotlin:kotlin-android-extensions-runtime:1.3.72", "8809");
hashMap.put("org.jetbrains.kotlin:kotlin-stdlib-common:1.7.10", "198936");
hashMap.put("org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.10", "23868");
hashMap.put("org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10", "19787");
hashMap.put("org.jetbrains.kotlin:kotlin-stdlib:1.7.10", "1524620");
hashMap.put("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4", "19520");
hashMap.put("org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.4", "1476653");
hashMap.put("org.jetbrains:annotations:20.1.0", "26211");
hashMap.put("org.jsoup:jsoup:1.13.1", "393851");
hashMap.put("org.reactivestreams:reactive-streams:1.0.3", "11369");
hashMap.put("pl.droidsonroids.gif:android-gif-drawable:1.2.24", "144864");
hashMap.put("pl.droidsonroids.relinker:relinker:1.4.1", "26169");
hashMap.put("top.zibin:Luban:1.1.8", "16291");
DokitThirdLibInfo.inject(hashMap);
}
private final void globalRunTimeHook() {
try {
DokitAbility.DokitModuleProcessor mcProcessor = DoKitManager.INSTANCE.getModuleProcessor(DoKitModule.MODULE_MC);
if (mcProcessor != null) {
mcProcessor.proceed(MapsKt.mapOf(TuplesKt.to("action", "global_hook")));
}
} catch (Exception e) {
e.printStackTrace();
}
}
public final String getMcConnectUrl() {
try {
DokitAbility.DokitModuleProcessor mcProcessor = DoKitManager.INSTANCE.getModuleProcessor(DoKitModule.MODULE_MC);
Map map = mcProcessor != null ? mcProcessor.proceed(MapsKt.mapOf(TuplesKt.to("action", "dokit_mc_connect_url"))) : null;
Object obj = map != null ? map.get(ImagesContract.URL) : null;
if (obj == null) {
throw new TypeCastException("null cannot be cast to non-null type kotlin.String");
}
String url = (String) obj;
return url;
} catch (Exception e) {
e.printStackTrace();
return "";
}
}
private final void initGpsMock() {
Map map = MapsKt.mapOf(TuplesKt.to("action", "init_gps_mock"));
DokitAbility.DokitModuleProcessor moduleProcessor = DoKitManager.INSTANCE.getModuleProcessor(DoKitModule.MODULE_GPS_MOCK);
if (moduleProcessor != null) {
moduleProcessor.proceed(map);
}
}
public final void traverseFile(File rootFileDir) {
File[] files;
if (rootFileDir == null || (files = rootFileDir.listFiles()) == null) {
return;
}
for (File file : files) {
Intrinsics.checkExpressionValueIsNotNull(file, "file");
if (file.isDirectory()) {
INSTANCE.traverseFile(file);
}
if (file.isFile()) {
long fileLength = FileUtils.getLength(file);
if (fileLength > 1048576) {
AppHealthInfo.DataBean.BigFileBean fileBean = new AppHealthInfo.DataBean.BigFileBean();
fileBean.setFileName(FileUtils.getFileName(file));
fileBean.setFilePath(file.getAbsolutePath());
fileBean.setFileSize("" + fileLength);
AppHealthInfoUtil.getInstance().addBigFilrInfo(fileBean);
}
}
}
}
private final void startBigFileInspect() {
ThreadUtils.executeByIo(new ThreadUtils.SimpleTask<Object>() {
@Override
public Object doInBackground() throws Throwable {
File externalCacheDir = DoKitReal.access$getAPPLICATION$p(DoKitReal.INSTANCE).getExternalCacheDir();
if (externalCacheDir != null) {
File externalRootDir = externalCacheDir.getParentFile();
DoKitReal.INSTANCE.traverseFile(externalRootDir);
}
File innerCacheDir = DoKitReal.access$getAPPLICATION$p(DoKitReal.INSTANCE).getCacheDir();
if (innerCacheDir != null) {
File innerRootDir = innerCacheDir.getParentFile();
DoKitReal.INSTANCE.traverseFile(innerRootDir);
return null;
}
return null;
}
@Override
public void onSuccess(Object result) {
}
});
}
private final void startAppHealth() {
if (!DoKitManager.APP_HEALTH_RUNNING) {
return;
}
if (TextUtils.isEmpty(DoKitManager.PRODUCT_ID)) {
ToastUtils.showShort("要使用健康体检功能必须先去平台端注册", new Object[0]);
return;
}
AppHealthInfoUtil.getInstance().start();
startBigFileInspect();
}
public final void setWebDoorCallback(WebDoorManager.WebDoorCallback callback) {
WebDoorManager webDoorManager = WebDoorManager.getInstance();
Intrinsics.checkExpressionValueIsNotNull(webDoorManager, "WebDoorManager.getInstance()");
webDoorManager.setWebDoorCallback(callback);
}
private final void registerNetworkStatusChangedListener() {
NetworkUtils.registerNetworkStatusChangedListener(new NetworkUtils.OnNetworkStatusChangedListener() {
@Override
public void onDisconnected() {
Log.i("Doraemon", "当前网络已断开");
}
@Override
public void onConnected(NetworkUtils.NetworkType networkType) {
Intrinsics.checkParameterIsNotNull(networkType, "networkType");
Log.i("Doraemon", "当前网络类型" + networkType.name());
}
});
}
private final void checkLargeImgIsOpen() {
if (PerformanceSpInfoConfig.isLargeImgOpen()) {
NetworkManager.get().startMonitor();
}
}
private final void installLeakCanary(Application app) {
try {
Class leakCanaryManager = Class.forName("com.didichuxing.doraemonkit.LeakCanaryManager");
Intrinsics.checkExpressionValueIsNotNull(leakCanaryManager, "Class.forName(\"com.didic…onkit.LeakCanaryManager\")");
Method install = leakCanaryManager.getMethod("install", Application.class);
Intrinsics.checkExpressionValueIsNotNull(install, "leakCanaryManager.getMet… Application::class.java)");
install.invoke(null, app);
Method initAidlBridge = leakCanaryManager.getMethod("initAidlBridge", Application.class);
Intrinsics.checkExpressionValueIsNotNull(initAidlBridge, "leakCanaryManager.getMet… Application::class.java)");
initAidlBridge.invoke(null, app);
} catch (Exception e) {
}
}
private final void initAndroidUtil(Application app) {
Utils.init(app);
LogUtils.Config stackDeep = LogUtils.getConfig().setLogSwitch(true).setConsoleSwitch(true).setGlobalTag("Doraemon").setLogHeadSwitch(true).setLog2FileSwitch(true).setDir("").setFilePrefix("djx-table-log").setBorderSwitch(true).setSingleTagSwitch(true).setConsoleFilter(2).setFileFilter(6).setStackDeep(2);
Intrinsics.checkExpressionValueIsNotNull(stackDeep, "LogUtils.getConfig()\n … .setStackDeep(2)");
stackDeep.setStackOffset(0);
}
private final void showMainIcon() {
DoKitViewManager instance = DoKitViewManager.Companion.getINSTANCE();
Activity topActivity = ActivityUtils.getTopActivity();
Intrinsics.checkExpressionValueIsNotNull(topActivity, "ActivityUtils.getTopActivity()");
instance.attachMainIcon(topActivity);
}
public final void show() {
DoKitManager.ALWAYS_SHOW_MAIN_ICON = true;
if (!isShow()) {
showMainIcon();
}
}
public final void showToolPanel() {
DoKitViewManager instance = DoKitViewManager.Companion.getINSTANCE();
Activity topActivity = ActivityUtils.getTopActivity();
Intrinsics.checkExpressionValueIsNotNull(topActivity, "ActivityUtils.getTopActivity()");
instance.attachToolPanel(topActivity);
}
public final void hideToolPanel() {
DoKitViewManager.Companion.getINSTANCE().detachToolPanel();
}
public final void hide() {
DoKitManager.MAIN_ICON_HAS_SHOW = false;
DoKitManager.ALWAYS_SHOW_MAIN_ICON = false;
DoKitViewManager.Companion.getINSTANCE().detachMainIcon();
}
public static void sendCustomEvent$default(DoKitReal doKitReal, String str, View view, Map map, int i, Object obj) {
if ((i & 2) != 0) {
view = null;
}
if ((i & 4) != 0) {
map = null;
}
doKitReal.sendCustomEvent(str, view, map);
}
public final void sendCustomEvent(String eventType, View view, Map<String, String> map) {
Intrinsics.checkParameterIsNotNull(eventType, "eventType");
Map map2 = MapsKt.mapOf(TuplesKt.to("action", "mc_custom_event"), TuplesKt.to("eventType", eventType), TuplesKt.to("view", view), TuplesKt.to("param", map));
DokitAbility.DokitModuleProcessor moduleProcessor = DoKitManager.INSTANCE.getModuleProcessor(DoKitModule.MODULE_MC);
if (moduleProcessor != null) {
moduleProcessor.proceed(map2);
}
}
public final String getMode() {
Map map = MapsKt.mapOf(TuplesKt.to("action", "mc_mode"));
DokitAbility.DokitModuleProcessor moduleProcessor = DoKitManager.INSTANCE.getModuleProcessor(DoKitModule.MODULE_MC);
Map result = moduleProcessor != null ? moduleProcessor.proceed(map) : null;
Object obj = result != null ? result.get("mode") : null;
if (obj != null) {
return (String) obj;
}
throw new TypeCastException("null cannot be cast to non-null type kotlin.String");
}
public final void disableUpload() {
DoKitManager.INSTANCE.setENABLE_UPLOAD(false);
}
public final boolean isShow() {
return DoKitManager.MAIN_ICON_HAS_SHOW;
}
public final void setDatabasePass(Map<String, String> map) {
Intrinsics.checkParameterIsNotNull(map, "map");
DoKitManager.INSTANCE.setDATABASE_PASS(map);
}
public final void setFileManagerHttpPort(int port) {
DoKitManager.INSTANCE.setFILE_MANAGER_HTTP_PORT(port);
}
public final void setMCWSPort(int port) {
DoKitManager.INSTANCE.setMC_WS_PORT(port);
}
public final void setAlwaysShowMainIcon(boolean alwaysShow) {
DoKitManager.ALWAYS_SHOW_MAIN_ICON = alwaysShow;
}
public final void setMCIntercept(McClientProcessor interceptor) {
Intrinsics.checkParameterIsNotNull(interceptor, "interceptor");
DoKitManager.INSTANCE.setMC_CLIENT_PROCESSOR(interceptor);
}
public final void setNetExtInterceptor(DokitExtInterceptor.DokitExtInterceptorProxy extInterceptorProxy) {
Intrinsics.checkParameterIsNotNull(extInterceptorProxy, "extInterceptorProxy");
DokitExtInterceptor.Companion.setDokitExtInterceptorProxy(extInterceptorProxy);
}
public final void setCallBack(DoKitCallBack callback) {
Intrinsics.checkParameterIsNotNull(callback, "callback");
DoKitManager.INSTANCE.setCALLBACK(callback);
}
public static void launchFloating$default(DoKitReal doKitReal, Class cls, DoKitViewLaunchMode doKitViewLaunchMode, Bundle bundle, int i, Object obj) {
if ((i & 2) != 0) {
doKitViewLaunchMode = DoKitViewLaunchMode.SINGLE_INSTANCE;
}
if ((i & 4) != 0) {
bundle = null;
}
doKitReal.launchFloating(cls, doKitViewLaunchMode, bundle);
}
public final void launchFloating(Class<? extends AbsDoKitView> targetClass, DoKitViewLaunchMode mode, Bundle bundle) {
Intrinsics.checkParameterIsNotNull(targetClass, "targetClass");
Intrinsics.checkParameterIsNotNull(mode, "mode");
SimpleDoKitLauncher.INSTANCE.launchFloating(targetClass, mode, bundle);
}
public final void removeFloating(Class<? extends AbsDoKitView> targetClass) {
Intrinsics.checkParameterIsNotNull(targetClass, "targetClass");
SimpleDoKitLauncher.INSTANCE.removeFloating(targetClass);
}
public final void removeFloating(AbsDoKitView dokitView) {
Intrinsics.checkParameterIsNotNull(dokitView, "dokitView");
SimpleDoKitLauncher.INSTANCE.removeFloating(dokitView);
}
public static void launchFullScreen$default(DoKitReal doKitReal, Class cls, Context context, Bundle bundle, boolean z, int i, Object obj) {
if ((i & 2) != 0) {
context = null;
}
if ((i & 4) != 0) {
bundle = null;
}
if ((i & 8) != 0) {
z = false;
}
doKitReal.launchFullScreen(cls, context, bundle, z);
}
public final void launchFullScreen(Class<? extends BaseFragment> targetClass, Context context, Bundle bundle, boolean isSystemFragment) {
Intrinsics.checkParameterIsNotNull(targetClass, "targetClass");
SimpleDoKitLauncher.INSTANCE.launchFullScreen(targetClass, context, bundle, isSystemFragment);
}
@JvmStatic
public static final <T extends AbsDoKitView> T getDoKitView(Activity activity, Class<? extends T> clazz) {
Intrinsics.checkParameterIsNotNull(clazz, "clazz");
if (DoKitViewManager.Companion.getINSTANCE().getDoKitView(activity, clazz) == null) {
return null;
}
T t = (T) DoKitViewManager.Companion.getINSTANCE().getDoKitView(activity, clazz);
if (t != null) {
return t;
}
throw new TypeCastException("null cannot be cast to non-null type T");
}
}