正在查看: 新暖心缘 v8.1.1 应用的 a.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: 新暖心缘 v8.1.1 应用的 a.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package t0;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.Application;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ResolveInfo;
import android.os.Build;
import android.os.Bundle;
import android.os.Process;
import cat.ereza.customactivityoncrash.activity.DefaultErrorActivity;
import java.io.PrintWriter;
import java.io.Serializable;
import java.io.StringWriter;
import java.lang.Thread;
import java.lang.ref.WeakReference;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayDeque;
import java.util.Date;
import java.util.Deque;
import java.util.List;
import java.util.Locale;
import java.util.zip.ZipFile;
public final class a {
@SuppressLint({"StaticFieldLeak"})
private static Application f17079a;
private static u0.a f17080b = new u0.a();
private static final Deque<String> f17081c = new ArrayDeque(50);
private static WeakReference<Activity> f17082d = new WeakReference<>(null);
private static boolean f17083e = true;
static class C0231a implements Thread.UncaughtExceptionHandler {
final Thread.UncaughtExceptionHandler f17084a;
C0231a(Thread.UncaughtExceptionHandler uncaughtExceptionHandler) {
this.f17084a = uncaughtExceptionHandler;
}
@Override
public void uncaughtException(Thread thread, Throwable th) {
Thread.UncaughtExceptionHandler uncaughtExceptionHandler;
if (!a.f17080b.F()) {
Thread.UncaughtExceptionHandler uncaughtExceptionHandler2 = this.f17084a;
if (uncaughtExceptionHandler2 != null) {
uncaughtExceptionHandler2.uncaughtException(thread, th);
return;
}
return;
}
if (a.D(a.f17079a)) {
Thread.UncaughtExceptionHandler uncaughtExceptionHandler3 = this.f17084a;
if (uncaughtExceptionHandler3 != null) {
uncaughtExceptionHandler3.uncaughtException(thread, th);
return;
}
} else {
a.K(a.f17079a, new Date().getTime());
Class<? extends Activity> A = a.f17080b.A();
if (A == null) {
A = a.B(a.f17079a);
}
if (a.F(th, A)) {
Thread.UncaughtExceptionHandler uncaughtExceptionHandler4 = this.f17084a;
if (uncaughtExceptionHandler4 != null) {
uncaughtExceptionHandler4.uncaughtException(thread, th);
return;
}
} else if (a.f17080b.z() == 1 || !a.f17083e) {
Intent intent = new Intent(a.f17079a, A);
StringWriter stringWriter = new StringWriter();
th.printStackTrace(new PrintWriter(stringWriter));
String stringWriter2 = stringWriter.toString();
if (stringWriter2.length() > 131071) {
stringWriter2 = stringWriter2.substring(0, 131047) + " [stack trace too large]";
}
intent.putExtra("cat.ereza.customactivityoncrash.EXTRA_STACK_TRACE", stringWriter2);
if (a.f17080b.J()) {
StringBuilder sb = new StringBuilder();
while (!a.f17081c.isEmpty()) {
sb.append((String) a.f17081c.poll());
}
intent.putExtra("cat.ereza.customactivityoncrash.EXTRA_ACTIVITY_LOG", sb.toString());
}
if (a.f17080b.I() && a.f17080b.E() == null) {
a.f17080b.K(a.C(a.f17079a));
}
intent.putExtra("cat.ereza.customactivityoncrash.EXTRA_CONFIG", a.f17080b);
intent.setFlags(268468224);
if (a.f17080b.C() != null) {
a.f17080b.C().j();
}
a.f17079a.startActivity(intent);
} else if (a.f17080b.z() == 2 && (uncaughtExceptionHandler = this.f17084a) != null) {
uncaughtExceptionHandler.uncaughtException(thread, th);
return;
}
}
Activity activity = (Activity) a.f17082d.get();
if (activity != null) {
activity.finish();
a.f17082d.clear();
}
a.G();
}
}
static class b implements Application.ActivityLifecycleCallbacks {
int f17085a = 0;
final DateFormat f17086b = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US);
b() {
}
@Override
public void onActivityCreated(Activity activity, Bundle bundle) {
if (activity.getClass() != a.f17080b.A()) {
WeakReference unused = a.f17082d = new WeakReference(activity);
}
if (a.f17080b.J()) {
a.f17081c.add(this.f17086b.format(new Date()) + ": " + activity.getClass().getSimpleName() + " created\n");
}
}
@Override
public void onActivityDestroyed(Activity activity) {
if (a.f17080b.J()) {
a.f17081c.add(this.f17086b.format(new Date()) + ": " + activity.getClass().getSimpleName() + " destroyed\n");
}
}
@Override
public void onActivityPaused(Activity activity) {
if (a.f17080b.J()) {
a.f17081c.add(this.f17086b.format(new Date()) + ": " + activity.getClass().getSimpleName() + " paused\n");
}
}
@Override
public void onActivityResumed(Activity activity) {
if (a.f17080b.J()) {
a.f17081c.add(this.f17086b.format(new Date()) + ": " + activity.getClass().getSimpleName() + " resumed\n");
}
}
@Override
public void onActivitySaveInstanceState(Activity activity, Bundle bundle) {
}
@Override
public void onActivityStarted(Activity activity) {
int i8 = this.f17085a + 1;
this.f17085a = i8;
boolean unused = a.f17083e = i8 == 0;
}
@Override
public void onActivityStopped(Activity activity) {
int i8 = this.f17085a - 1;
this.f17085a = i8;
boolean unused = a.f17083e = i8 == 0;
}
}
public interface c extends Serializable {
void j();
void k();
void l();
}
private static String A(Context context) {
try {
return context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionName;
} catch (Exception unused) {
return "Unknown";
}
}
public static Class<? extends Activity> B(Context context) {
Class<? extends Activity> v8 = v(context);
return v8 == null ? DefaultErrorActivity.class : v8;
}
public static Class<? extends Activity> C(Context context) {
Class<? extends Activity> y7 = y(context);
return y7 == null ? x(context) : y7;
}
public static boolean D(Context context) {
long w8 = w(context);
long time = new Date().getTime();
return w8 <= time && time - w8 < ((long) f17080b.D());
}
public static void E(Context context) {
if (context == null) {
return;
}
try {
Thread.UncaughtExceptionHandler defaultUncaughtExceptionHandler = Thread.getDefaultUncaughtExceptionHandler();
if (defaultUncaughtExceptionHandler == null || !defaultUncaughtExceptionHandler.getClass().getName().startsWith("cat.ereza.customactivityoncrash")) {
if (defaultUncaughtExceptionHandler != null) {
defaultUncaughtExceptionHandler.getClass().getName().startsWith("com.android.internal.os");
}
f17079a = (Application) context.getApplicationContext();
Thread.setDefaultUncaughtExceptionHandler(new C0231a(defaultUncaughtExceptionHandler));
f17079a.registerActivityLifecycleCallbacks(new b());
}
} catch (Throwable unused) {
}
}
public static boolean F(Throwable th, Class<? extends Activity> cls) {
do {
for (StackTraceElement stackTraceElement : th.getStackTrace()) {
if ((stackTraceElement.getClassName().equals("android.app.ActivityThread") && stackTraceElement.getMethodName().equals("handleBindApplication")) || stackTraceElement.getClassName().equals(cls.getName())) {
return true;
}
}
th = th.getCause();
} while (th != null);
return false;
}
public static void G() {
Process.killProcess(Process.myPid());
System.exit(10);
}
public static void H(Activity activity, u0.a aVar) {
I(activity, new Intent(activity, aVar.E()), aVar);
}
public static void I(Activity activity, Intent intent, u0.a aVar) {
intent.addFlags(270565376);
if (intent.getComponent() != null) {
intent.setAction("android.intent.action.MAIN");
intent.addCategory("android.intent.category.LAUNCHER");
}
if (aVar.C() != null) {
aVar.C().l();
}
activity.finish();
activity.startActivity(intent);
G();
}
public static void J(u0.a aVar) {
f17080b = aVar;
}
@SuppressLint({"ApplySharedPref"})
public static void K(Context context, long j8) {
context.getSharedPreferences("custom_activity_on_crash", 0).edit().putLong("last_crash_timestamp", j8).commit();
}
private static String n(String str) {
if (str == null || str.length() == 0) {
return "";
}
char charAt = str.charAt(0);
if (Character.isUpperCase(charAt)) {
return str;
}
return Character.toUpperCase(charAt) + str.substring(1);
}
public static void o(Activity activity, u0.a aVar) {
if (aVar.C() != null) {
aVar.C().k();
}
activity.finish();
G();
}
public static String p(Intent intent) {
return intent.getStringExtra("cat.ereza.customactivityoncrash.EXTRA_ACTIVITY_LOG");
}
public static String q(Context context, Intent intent) {
Date date = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US);
String r8 = r(context, simpleDateFormat);
String str = "Build version: " + A(context) + " \n";
if (r8 != null) {
str = str + "Build date: " + r8 + " \n";
}
String str2 = (((str + "Current date: " + simpleDateFormat.format(date) + " \n") + "Device: " + u() + " \n \n") + "Stack trace: \n") + z(intent);
String p8 = p(intent);
if (p8 == null) {
return str2;
}
return (str2 + "\nUser actions: \n") + p8;
}
private static String r(Context context, DateFormat dateFormat) {
long j8;
try {
ZipFile zipFile = new ZipFile(context.getPackageManager().getApplicationInfo(context.getPackageName(), 0).sourceDir);
j8 = zipFile.getEntry("classes.dex").getTime();
zipFile.close();
} catch (Exception unused) {
j8 = 0;
}
if (j8 > 312764400000L) {
return dateFormat.format(new Date(j8));
}
return null;
}
public static u0.a s() {
return f17080b;
}
public static u0.a t(Intent intent) {
u0.a aVar = (u0.a) intent.getSerializableExtra("cat.ereza.customactivityoncrash.EXTRA_CONFIG");
if (aVar.G() && z(intent) != null) {
StringBuilder sb = new StringBuilder();
sb.append("The previous app process crashed. This is the stack trace of the crash:\n");
sb.append(z(intent));
}
return aVar;
}
private static String u() {
String str = Build.MANUFACTURER;
String str2 = Build.MODEL;
if (str2.startsWith(str)) {
return n(str2);
}
return n(str) + " " + str2;
}
private static Class<? extends Activity> v(Context context) {
List<ResolveInfo> queryIntentActivities = context.getPackageManager().queryIntentActivities(new Intent().setAction("cat.ereza.customactivityoncrash.ERROR").setPackage(context.getPackageName()), 64);
if (queryIntentActivities == null || queryIntentActivities.size() <= 0) {
return null;
}
try {
return Class.forName(queryIntentActivities.get(0).activityInfo.name);
} catch (ClassNotFoundException unused) {
return null;
}
}
private static long w(Context context) {
return context.getSharedPreferences("custom_activity_on_crash", 0).getLong("last_crash_timestamp", -1L);
}
private static Class<? extends Activity> x(Context context) {
Intent launchIntentForPackage = context.getPackageManager().getLaunchIntentForPackage(context.getPackageName());
if (launchIntentForPackage == null || launchIntentForPackage.getComponent() == null) {
return null;
}
try {
return Class.forName(launchIntentForPackage.getComponent().getClassName());
} catch (ClassNotFoundException unused) {
return null;
}
}
private static Class<? extends Activity> y(Context context) {
List<ResolveInfo> queryIntentActivities = context.getPackageManager().queryIntentActivities(new Intent().setAction("cat.ereza.customactivityoncrash.RESTART").setPackage(context.getPackageName()), 64);
if (queryIntentActivities == null || queryIntentActivities.size() <= 0) {
return null;
}
try {
return Class.forName(queryIntentActivities.get(0).activityInfo.name);
} catch (ClassNotFoundException unused) {
return null;
}
}
public static String z(Intent intent) {
return intent.getStringExtra("cat.ereza.customactivityoncrash.EXTRA_STACK_TRACE");
}
}