jimu-decompiled/sources/com/tencent/bugly/crashreport/CrashReport.java
2025-05-13 19:24:51 +02:00

813 lines
29 KiB
Java

package com.tencent.bugly.crashreport;
import android.annotation.SuppressLint;
import android.content.Context;
import android.os.Build;
import android.util.Log;
import android.webkit.WebSettings;
import android.webkit.WebView;
import com.tencent.bugly.BuglyStrategy;
import com.tencent.bugly.CrashModule;
import com.tencent.bugly.b;
import com.tencent.bugly.crashreport.common.strategy.StrategyBean;
import com.tencent.bugly.crashreport.crash.BuglyBroadcastReceiver;
import com.tencent.bugly.crashreport.crash.c;
import com.tencent.bugly.crashreport.crash.d;
import com.tencent.bugly.crashreport.crash.h5.H5JavaScriptInterface;
import com.tencent.bugly.crashreport.crash.jni.NativeCrashHandler;
import com.tencent.bugly.proguard.q;
import com.tencent.bugly.proguard.w;
import com.tencent.bugly.proguard.x;
import com.tencent.bugly.proguard.z;
import com.ubt.jimu.diy.model.CategoryModel;
import java.net.InetAddress;
import java.net.Proxy;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
/* compiled from: BUGLY */
/* loaded from: classes.dex */
public class CrashReport {
private static Context a;
/* compiled from: BUGLY */
public static class CrashHandleCallback extends BuglyStrategy.a {
}
/* compiled from: BUGLY */
public static class UserStrategy extends BuglyStrategy {
private CrashHandleCallback a;
public UserStrategy(Context context) {
}
public synchronized void setCrashHandleCallback(CrashHandleCallback crashHandleCallback) {
this.a = crashHandleCallback;
}
@Override // com.tencent.bugly.BuglyStrategy
public synchronized CrashHandleCallback getCrashHandleCallback() {
return this.a;
}
}
/* compiled from: BUGLY */
public interface WebViewInterface {
void addJavascriptInterface(H5JavaScriptInterface h5JavaScriptInterface, String str);
CharSequence getContentDescription();
String getUrl();
void loadUrl(String str);
void setJavaScriptEnabled(boolean z);
}
public static void closeBugly() {
if (!b.a) {
Log.w(x.a, "Can not close bugly because bugly is disable.");
return;
}
if (!CrashModule.getInstance().hasInitialized()) {
Log.w(x.a, "CrashReport has not been initialed! pls to call method 'initCrashReport' first!");
return;
}
if (a == null) {
return;
}
BuglyBroadcastReceiver buglyBroadcastReceiver = BuglyBroadcastReceiver.getInstance();
if (buglyBroadcastReceiver != null) {
buglyBroadcastReceiver.unregister(a);
}
closeCrashReport();
com.tencent.bugly.crashreport.biz.b.a(a);
w a2 = w.a();
if (a2 != null) {
a2.b();
}
}
public static void closeCrashReport() {
if (!b.a) {
Log.w(x.a, "Can not close crash report because bugly is disable.");
} else if (CrashModule.getInstance().hasInitialized()) {
c.a().d();
} else {
Log.w(x.a, "CrashReport has not been initialed! pls to call method 'initCrashReport' first!");
}
}
public static void closeNativeReport() {
if (!b.a) {
Log.w(x.a, "Can not close native report because bugly is disable.");
} else if (CrashModule.getInstance().hasInitialized()) {
c.a().f();
} else {
Log.e(x.a, "CrashReport has not been initialed! pls to call method 'initCrashReport' first!");
}
}
public static void enableBugly(boolean z) {
b.a = z;
}
public static void enableObtainId(Context context, boolean z) {
if (!b.a) {
Log.w(x.a, "Can not set DB name because bugly is disable.");
return;
}
if (context == null) {
Log.w(x.a, "enableObtainId args context should not be null");
return;
}
Log.i(x.a, "Enable identification obtaining? " + z);
com.tencent.bugly.crashreport.common.info.a.a(context).b(z);
}
public static Set<String> getAllUserDataKeys(Context context) {
if (!b.a) {
Log.w(x.a, "Can not get all keys of user data because bugly is disable.");
return new HashSet();
}
if (context != null) {
return com.tencent.bugly.crashreport.common.info.a.a(context).E();
}
Log.e(x.a, "getAllUserDataKeys args context should not be null");
return new HashSet();
}
public static String getAppChannel() {
if (!b.a) {
Log.w(x.a, "Can not get App channel because bugly is disable.");
return CategoryModel.unknown;
}
if (CrashModule.getInstance().hasInitialized()) {
return com.tencent.bugly.crashreport.common.info.a.a(a).l;
}
Log.e(x.a, "CrashReport has not been initialed! pls to call method 'initCrashReport' first!");
return CategoryModel.unknown;
}
public static String getAppID() {
if (!b.a) {
Log.w(x.a, "Can not get App ID because bugly is disable.");
return CategoryModel.unknown;
}
if (CrashModule.getInstance().hasInitialized()) {
return com.tencent.bugly.crashreport.common.info.a.a(a).f();
}
Log.e(x.a, "CrashReport has not been initialed! pls to call method 'initCrashReport' first!");
return CategoryModel.unknown;
}
public static String getAppVer() {
if (!b.a) {
Log.w(x.a, "Can not get app version because bugly is disable.");
return CategoryModel.unknown;
}
if (CrashModule.getInstance().hasInitialized()) {
return com.tencent.bugly.crashreport.common.info.a.a(a).j;
}
Log.e(x.a, "CrashReport has not been initialed! pls to call method 'initCrashReport' first!");
return CategoryModel.unknown;
}
public static String getBuglyVersion(Context context) {
if (context == null) {
x.d("Please call with context.", new Object[0]);
return CategoryModel.unknown;
}
com.tencent.bugly.crashreport.common.info.a.a(context);
return com.tencent.bugly.crashreport.common.info.a.c();
}
public static Proxy getHttpProxy() {
return com.tencent.bugly.proguard.a.b();
}
public static Map<String, String> getSdkExtraData() {
if (!b.a) {
Log.w(x.a, "Can not get SDK extra data because bugly is disable.");
return new HashMap();
}
if (CrashModule.getInstance().hasInitialized()) {
return com.tencent.bugly.crashreport.common.info.a.a(a).A;
}
Log.e(x.a, "CrashReport has not been initialed! pls to call method 'initCrashReport' first!");
return null;
}
public static String getUserData(Context context, String str) {
if (!b.a) {
Log.w(x.a, "Can not get user data because bugly is disable.");
return CategoryModel.unknown;
}
if (context == null) {
Log.e(x.a, "getUserDataValue args context should not be null");
return CategoryModel.unknown;
}
if (z.a(str)) {
return null;
}
return com.tencent.bugly.crashreport.common.info.a.a(context).g(str);
}
public static int getUserDatasSize(Context context) {
if (!b.a) {
Log.w(x.a, "Can not get size of user data because bugly is disable.");
return -1;
}
if (context != null) {
return com.tencent.bugly.crashreport.common.info.a.a(context).D();
}
Log.e(x.a, "getUserDatasSize args context should not be null");
return -1;
}
public static String getUserId() {
if (!b.a) {
Log.w(x.a, "Can not get user ID because bugly is disable.");
return CategoryModel.unknown;
}
if (CrashModule.getInstance().hasInitialized()) {
return com.tencent.bugly.crashreport.common.info.a.a(a).g();
}
Log.e(x.a, "CrashReport has not been initialed! pls to call method 'initCrashReport' first!");
return CategoryModel.unknown;
}
public static int getUserSceneTagId(Context context) {
if (!b.a) {
Log.w(x.a, "Can not get user scene tag because bugly is disable.");
return -1;
}
if (context != null) {
return com.tencent.bugly.crashreport.common.info.a.a(context).H();
}
Log.e(x.a, "getUserSceneTagId args context should not be null");
return -1;
}
public static void initCrashReport(Context context) {
a = context;
b.a(CrashModule.getInstance());
b.a(context);
}
public static boolean isLastSessionCrash() {
if (!b.a) {
Log.w(x.a, "The info 'isLastSessionCrash' is not accurate because bugly is disable.");
return false;
}
if (CrashModule.getInstance().hasInitialized()) {
return c.a().b();
}
Log.e(x.a, "CrashReport has not been initialed! pls to call method 'initCrashReport' first!");
return false;
}
public static void postCatchedException(Throwable th) {
postCatchedException(th, Thread.currentThread(), false);
}
public static void postException(Thread thread, int i, String str, String str2, String str3, Map<String, String> map) {
if (!b.a) {
Log.w(x.a, "Can not post crash caught because bugly is disable.");
} else if (CrashModule.getInstance().hasInitialized()) {
d.a(thread, i, str, str2, str3, map);
} else {
Log.e(x.a, "CrashReport has not been initialed! pls to call method 'initCrashReport' first!");
}
}
private static void putSdkData(Context context, String str, String str2) {
if (context == null || z.a(str) || z.a(str2)) {
return;
}
String replace = str.replace("[a-zA-Z[0-9]]+", "");
if (replace.length() > 100) {
Log.w(x.a, String.format("putSdkData key length over limit %d, will be cutted.", 50));
replace = replace.substring(0, 50);
}
if (str2.length() > 500) {
Log.w(x.a, String.format("putSdkData value length over limit %d, will be cutted!", 200));
str2 = str2.substring(0, 200);
}
com.tencent.bugly.crashreport.common.info.a.a(context).c(replace, str2);
x.b(String.format("[param] putSdkData data: %s - %s", replace, str2), new Object[0]);
}
public static void putUserData(Context context, String str, String str2) {
if (!b.a) {
Log.w(x.a, "Can not put user data because bugly is disable.");
return;
}
if (context == null) {
Log.w(x.a, "putUserData args context should not be null");
return;
}
if (str == null) {
String str3 = str;
x.d("putUserData args key should not be null or empty", new Object[0]);
return;
}
if (str2 == null) {
String str4 = str2;
x.d("putUserData args value should not be null", new Object[0]);
return;
}
if (!str.matches("[a-zA-Z[0-9]]+")) {
x.d("putUserData args key should match [a-zA-Z[0-9]]+ {" + str + "}", new Object[0]);
return;
}
if (str2.length() > 200) {
x.d("user data value length over limit %d, it will be cutted!", 200);
str2 = str2.substring(0, 200);
}
com.tencent.bugly.crashreport.common.info.a a2 = com.tencent.bugly.crashreport.common.info.a.a(context);
if (a2.E().contains(str)) {
NativeCrashHandler nativeCrashHandler = NativeCrashHandler.getInstance();
if (nativeCrashHandler != null) {
nativeCrashHandler.putKeyValueToNative(str, str2);
}
com.tencent.bugly.crashreport.common.info.a.a(context).b(str, str2);
x.c("replace KV %s %s", str, str2);
return;
}
if (a2.D() >= 10) {
x.d("user data size is over limit %d, it will be cutted!", 10);
return;
}
if (str.length() > 50) {
x.d("user data key length over limit %d , will drop this new key %s", 50, str);
str = str.substring(0, 50);
}
NativeCrashHandler nativeCrashHandler2 = NativeCrashHandler.getInstance();
if (nativeCrashHandler2 != null) {
nativeCrashHandler2.putKeyValueToNative(str, str2);
}
com.tencent.bugly.crashreport.common.info.a.a(context).b(str, str2);
x.b("[param] set user data: %s - %s", str, str2);
}
public static String removeUserData(Context context, String str) {
if (!b.a) {
Log.w(x.a, "Can not remove user data because bugly is disable.");
return CategoryModel.unknown;
}
if (context == null) {
Log.e(x.a, "removeUserData args context should not be null");
return CategoryModel.unknown;
}
if (z.a(str)) {
return null;
}
x.b("[param] remove user data: %s", str);
return com.tencent.bugly.crashreport.common.info.a.a(context).f(str);
}
public static void setAppChannel(Context context, String str) {
if (!b.a) {
Log.w(x.a, "Can not set App channel because Bugly is disable.");
return;
}
if (context == null) {
Log.w(x.a, "setAppChannel args context should not be null");
return;
}
if (str == null) {
Log.w(x.a, "App channel is null, will not set");
return;
}
com.tencent.bugly.crashreport.common.info.a.a(context).l = str;
NativeCrashHandler nativeCrashHandler = NativeCrashHandler.getInstance();
if (nativeCrashHandler != null) {
nativeCrashHandler.setNativeAppChannel(str);
}
}
public static void setAppPackage(Context context, String str) {
if (!b.a) {
Log.w(x.a, "Can not set App package because bugly is disable.");
return;
}
if (context == null) {
Log.w(x.a, "setAppPackage args context should not be null");
return;
}
if (str == null) {
Log.w(x.a, "App package is null, will not set");
return;
}
com.tencent.bugly.crashreport.common.info.a.a(context).c = str;
NativeCrashHandler nativeCrashHandler = NativeCrashHandler.getInstance();
if (nativeCrashHandler != null) {
nativeCrashHandler.setNativeAppPackage(str);
}
}
public static void setAppVersion(Context context, String str) {
if (!b.a) {
Log.w(x.a, "Can not set App version because bugly is disable.");
return;
}
if (context == null) {
Log.w(x.a, "setAppVersion args context should not be null");
return;
}
if (str == null) {
Log.w(x.a, "App version is null, will not set");
return;
}
com.tencent.bugly.crashreport.common.info.a.a(context).j = str;
NativeCrashHandler nativeCrashHandler = NativeCrashHandler.getInstance();
if (nativeCrashHandler != null) {
nativeCrashHandler.setNativeAppVersion(str);
}
}
public static void setAuditEnable(Context context, boolean z) {
if (!b.a) {
Log.w(x.a, "Can not set App package because bugly is disable.");
return;
}
if (context == null) {
Log.w(x.a, "setAppPackage args context should not be null");
return;
}
Log.i(x.a, "Set audit enable: " + z);
com.tencent.bugly.crashreport.common.info.a.a(context).B = z;
}
public static void setBuglyDbName(String str) {
if (!b.a) {
Log.w(x.a, "Can not set DB name because bugly is disable.");
return;
}
Log.i(x.a, "Set Bugly DB name: " + str);
q.a = str;
}
public static void setContext(Context context) {
a = context;
}
public static void setCrashFilter(String str) {
if (!b.a) {
Log.w(x.a, "Can not set App package because bugly is disable.");
return;
}
Log.i(x.a, "Set crash stack filter: " + str);
c.n = str;
}
public static void setCrashRegularFilter(String str) {
if (!b.a) {
Log.w(x.a, "Can not set App package because bugly is disable.");
return;
}
Log.i(x.a, "Set crash stack filter: " + str);
c.o = str;
}
public static void setHandleNativeCrashInJava(boolean z) {
if (!b.a) {
Log.w(x.a, "Can not set App package because bugly is disable.");
return;
}
Log.i(x.a, "Should handle native crash in Java profile after handled in native profile: " + z);
NativeCrashHandler.setShouldHandleInJava(z);
}
public static void setHttpProxy(String str, int i) {
com.tencent.bugly.proguard.a.a(str, i);
}
public static void setIsAppForeground(Context context, boolean z) {
if (!b.a) {
Log.w(x.a, "Can not set 'isAppForeground' because bugly is disable.");
return;
}
if (context == null) {
x.d("Context should not be null.", new Object[0]);
return;
}
if (z) {
x.c("App is in foreground.", new Object[0]);
} else {
x.c("App is in background.", new Object[0]);
}
com.tencent.bugly.crashreport.common.info.a.a(context).a(z);
}
public static void setIsDevelopmentDevice(Context context, boolean z) {
if (!b.a) {
Log.w(x.a, "Can not set 'isDevelopmentDevice' because bugly is disable.");
return;
}
if (context == null) {
x.d("Context should not be null.", new Object[0]);
return;
}
if (z) {
x.c("This is a development device.", new Object[0]);
} else {
x.c("This is not a development device.", new Object[0]);
}
com.tencent.bugly.crashreport.common.info.a.a(context).y = z;
}
public static boolean setJavascriptMonitor(WebView webView, boolean z) {
return setJavascriptMonitor(webView, z, false);
}
public static void setSdkExtraData(Context context, String str, String str2) {
if (!b.a) {
Log.w(x.a, "Can not put SDK extra data because bugly is disable.");
} else {
if (context == null || z.a(str) || z.a(str2)) {
return;
}
com.tencent.bugly.crashreport.common.info.a.a(context).a(str, str2);
}
}
public static void setServerUrl(String str) {
if (z.a(str) || !z.c(str)) {
Log.i(x.a, "URL is invalid.");
return;
}
com.tencent.bugly.crashreport.common.strategy.a.a(str);
StrategyBean.b = str;
StrategyBean.c = str;
}
public static void setSessionIntervalMills(long j) {
if (b.a) {
com.tencent.bugly.crashreport.biz.b.a(j);
} else {
Log.w(x.a, "Can not set 'SessionIntervalMills' because bugly is disable.");
}
}
public static void setUserId(String str) {
if (!b.a) {
Log.w(x.a, "Can not set user ID because bugly is disable.");
} else if (CrashModule.getInstance().hasInitialized()) {
setUserId(a, str);
} else {
Log.e(x.a, "CrashReport has not been initialed! pls to call method 'initCrashReport' first!");
}
}
public static void setUserSceneTag(Context context, int i) {
if (!b.a) {
Log.w(x.a, "Can not set tag caught because bugly is disable.");
return;
}
if (context == null) {
Log.e(x.a, "setTag args context should not be null");
return;
}
if (i <= 0) {
x.d("setTag args tagId should > 0", new Object[0]);
}
com.tencent.bugly.crashreport.common.info.a.a(context).a(i);
x.b("[param] set user scene tag: %d", Integer.valueOf(i));
}
public static void startCrashReport() {
if (!b.a) {
Log.w(x.a, "Can not start crash report because bugly is disable.");
} else if (CrashModule.getInstance().hasInitialized()) {
c.a().c();
} else {
Log.w(x.a, "CrashReport has not been initialed! pls to call method 'initCrashReport' first!");
}
}
public static void testANRCrash() {
if (!b.a) {
Log.w(x.a, "Can not test ANR crash because bugly is disable.");
} else if (!CrashModule.getInstance().hasInitialized()) {
Log.e(x.a, "CrashReport has not been initialed! pls to call method 'initCrashReport' first!");
} else {
x.a("start to create a anr crash for test!", new Object[0]);
c.a().j();
}
}
public static void testJavaCrash() {
if (!b.a) {
Log.w(x.a, "Can not test Java crash because bugly is disable.");
} else {
if (!CrashModule.getInstance().hasInitialized()) {
Log.e(x.a, "CrashReport has not been initialed! pls to call method 'initCrashReport' first!");
return;
}
com.tencent.bugly.crashreport.common.info.a b = com.tencent.bugly.crashreport.common.info.a.b();
if (b != null) {
b.b(24096);
}
throw new RuntimeException("This Crash create for Test! You can go to Bugly see more detail!");
}
}
public static void testNativeCrash() {
testNativeCrash(false, false, false);
}
public static void postCatchedException(Throwable th, Thread thread) {
postCatchedException(th, thread, false);
}
public static void setHttpProxy(InetAddress inetAddress, int i) {
com.tencent.bugly.proguard.a.a(inetAddress, i);
}
@SuppressLint({"SetJavaScriptEnabled"})
public static boolean setJavascriptMonitor(final WebView webView, boolean z, boolean z2) {
if (webView != null) {
return setJavascriptMonitor(new WebViewInterface() { // from class: com.tencent.bugly.crashreport.CrashReport.1
@Override // com.tencent.bugly.crashreport.CrashReport.WebViewInterface
public final void addJavascriptInterface(H5JavaScriptInterface h5JavaScriptInterface, String str) {
webView.addJavascriptInterface(h5JavaScriptInterface, str);
}
@Override // com.tencent.bugly.crashreport.CrashReport.WebViewInterface
public final CharSequence getContentDescription() {
return webView.getContentDescription();
}
@Override // com.tencent.bugly.crashreport.CrashReport.WebViewInterface
public final String getUrl() {
return webView.getUrl();
}
@Override // com.tencent.bugly.crashreport.CrashReport.WebViewInterface
public final void loadUrl(String str) {
webView.loadUrl(str);
}
@Override // com.tencent.bugly.crashreport.CrashReport.WebViewInterface
public final void setJavaScriptEnabled(boolean z3) {
WebSettings settings = webView.getSettings();
if (settings.getJavaScriptEnabled()) {
return;
}
settings.setJavaScriptEnabled(true);
}
}, z, z2);
}
Log.w(x.a, "WebView is null.");
return false;
}
public static void testNativeCrash(boolean z, boolean z2, boolean z3) {
if (!b.a) {
Log.w(x.a, "Can not test native crash because bugly is disable.");
} else if (!CrashModule.getInstance().hasInitialized()) {
Log.e(x.a, "CrashReport has not been initialed! pls to call method 'initCrashReport' first!");
} else {
x.a("start to create a native crash for test!", new Object[0]);
c.a().a(z, z2, z3);
}
}
public static void postCatchedException(Throwable th, Thread thread, boolean z) {
if (!b.a) {
Log.w(x.a, "Can not post crash caught because bugly is disable.");
return;
}
if (!CrashModule.getInstance().hasInitialized()) {
Log.e(x.a, "CrashReport has not been initialed! pls to call method 'initCrashReport' first!");
return;
}
if (th == null) {
x.d("throwable is null, just return", new Object[0]);
return;
}
if (thread == null) {
thread = Thread.currentThread();
}
c.a().a(thread, th, false, (String) null, (byte[]) null, z);
}
public static void initCrashReport(Context context, UserStrategy userStrategy) {
a = context;
b.a(CrashModule.getInstance());
b.a(context, userStrategy);
}
public static boolean setJavascriptMonitor(WebViewInterface webViewInterface, boolean z) {
return setJavascriptMonitor(webViewInterface, z, false);
}
public static void postException(int i, String str, String str2, String str3, Map<String, String> map) {
postException(Thread.currentThread(), i, str, str2, str3, map);
}
@SuppressLint({"SetJavaScriptEnabled"})
public static boolean setJavascriptMonitor(WebViewInterface webViewInterface, boolean z, boolean z2) {
if (webViewInterface == null) {
Log.w(x.a, "WebViewInterface is null.");
return false;
}
if (!CrashModule.getInstance().hasInitialized()) {
x.e("CrashReport has not been initialed! please to call method 'initCrashReport' first!", new Object[0]);
return false;
}
x.a("Set Javascript exception monitor of webview.", new Object[0]);
if (!b.a) {
Log.w(x.a, "Can not set JavaScript monitor because bugly is disable.");
return false;
}
x.c("URL of webview is %s", webViewInterface.getUrl());
if (!z2 && Build.VERSION.SDK_INT < 19) {
x.e("This interface is only available for Android 4.4 or later.", new Object[0]);
return false;
}
x.a("Enable the javascript needed by webview monitor.", new Object[0]);
webViewInterface.setJavaScriptEnabled(true);
H5JavaScriptInterface h5JavaScriptInterface = H5JavaScriptInterface.getInstance(webViewInterface);
if (h5JavaScriptInterface != null) {
x.a("Add a secure javascript interface to the webview.", new Object[0]);
webViewInterface.addJavascriptInterface(h5JavaScriptInterface, "exceptionUploader");
}
if (z) {
x.a("Inject bugly.js(v%s) to the webview.", com.tencent.bugly.crashreport.crash.h5.b.b());
String a2 = com.tencent.bugly.crashreport.crash.h5.b.a();
if (a2 == null) {
x.e("Failed to inject Bugly.js.", com.tencent.bugly.crashreport.crash.h5.b.b());
return false;
}
webViewInterface.loadUrl("javascript:" + a2);
}
return true;
}
public static void setUserId(Context context, String str) {
if (!b.a) {
Log.w(x.a, "Can not set user ID because bugly is disable.");
return;
}
if (context == null) {
Log.e(x.a, "Context should not be null when bugly has not been initialed!");
return;
}
if (str == null) {
x.d("userId should not be null", new Object[0]);
return;
}
if (str.length() > 100) {
String substring = str.substring(0, 100);
x.d("userId %s length is over limit %d substring to %s", str, 100, substring);
str = substring;
}
if (str.equals(com.tencent.bugly.crashreport.common.info.a.a(context).g())) {
return;
}
com.tencent.bugly.crashreport.common.info.a.a(context).b(str);
x.b("[user] set userId : %s", str);
NativeCrashHandler nativeCrashHandler = NativeCrashHandler.getInstance();
if (nativeCrashHandler != null) {
nativeCrashHandler.setNativeUserId(str);
}
if (CrashModule.getInstance().hasInitialized()) {
com.tencent.bugly.crashreport.biz.b.a();
}
}
public static Map<String, String> getSdkExtraData(Context context) {
if (!b.a) {
Log.w(x.a, "Can not get SDK extra data because bugly is disable.");
return new HashMap();
}
if (context == null) {
x.d("Context should not be null.", new Object[0]);
return null;
}
return com.tencent.bugly.crashreport.common.info.a.a(context).A;
}
public static void initCrashReport(Context context, String str, boolean z) {
if (context != null) {
a = context;
b.a(CrashModule.getInstance());
b.a(context, str, z, null);
}
}
public static void initCrashReport(Context context, String str, boolean z, UserStrategy userStrategy) {
if (context == null) {
return;
}
a = context;
b.a(CrashModule.getInstance());
b.a(context, str, z, userStrategy);
}
}