导航菜单

页面标题

页面副标题

新暖心缘 v8.1.1 - a.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");
    }
}