Sunbit v2.4.4版本的 MD5 值为:a5021e5e2a58eb1d6741b432fe7533c4

以下内容为反编译后的 BaseApp.java 源代码,内容仅作参考


package io.bibeex.contract.base;

import android.app.Activity;
import android.app.Application;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.os.Process;
import android.text.TextUtils;
import androidx.appcompat.app.AppCompatDelegate;
import com.netease.nim.uikit.api.NimUIKit;
import com.netease.nimlib.sdk.NIMClient;
import com.netease.nimlib.sdk.SDKOptions;
import com.netease.nimlib.sdk.StatusBarNotificationConfig;
import com.netease.nimlib.sdk.auth.LoginInfo;
import com.netease.nimlib.sdk.msg.constant.SessionTypeEnum;
import com.netease.nimlib.sdk.uinfo.UserInfoProvider;
import com.netease.nimlib.sdk.uinfo.model.UserInfo;
import com.netease.nimlib.sdk.util.NIMUtil;
import com.taobao.sophix.SophixManager;
import com.tencent.bugly.Bugly;
import com.tencent.bugly.beta.Beta;
import com.tencent.bugly.crashreport.BuglyLog;
import com.tencent.mmkv.MMKV;
import io.bibeex.contract.common.base.app.BaseApplication;
import io.bibeex.contract.common.utlis.v;
import io.bibeex.contract.manager.SocketDataParser;
import io.bibeex.contract.manager.m;
import io.bibeex.contract.manager.q;
import io.bibeex.contract.net.http.ConstantsProxy;
import io.bibeex.contract.net.http.OssManager;
import io.bibeex.contract.net.http.urls.Constants;
import io.bibeex.contract.ui.activity.main.BibeexMainActivity;
import io.bibeex.contract.util.q0;
import io.bibeex.contract.util.t0;
import io.bilian.aavys.sunbit.R;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
public class BaseApp extends BaseApplication {
    private static final String f15167d = "BaseApp";
    private static BaseApp f15168e = null;
    public static boolean f15169f = false;
    public static boolean f15170g = false;
    public static boolean f15171h = false;
    public static final String f15172i = "https://bibeexsupport.zendesk.com";
    static final String f15173j = "14d4badb80a167ac847af99694368e74612cc1db78ccdeff";
    static final String f15174k = "mobile_sdk_client_c00389f1a51ee56e249c";
    static final String f15175l = "lRcFgsXdxkBevzDsLaZzBygKc2E2yH8j";
    private int b = 0;
    private boolean c = false;

    public class a implements UserInfoProvider {
        a() {
        }

        @Override
        public Bitmap getAvatarForMessageNotifier(SessionTypeEnum sessionTypeEnum, String str) {
            return null;
        }

        @Override
        public String getDisplayNameForMessageNotifier(String str, String str2, SessionTypeEnum sessionTypeEnum) {
            return null;
        }

        @Override
        public UserInfo getUserInfo(String str) {
            return null;
        }
    }

    public class b extends Thread {
        b() {
        }

        @Override
        public void run() {
            File databasePath = BaseApp.f15168e.getDatabasePath("bugly_db_");
            try {
                if (databasePath.exists()) {
                    SQLiteDatabase openDatabase = SQLiteDatabase.openDatabase(databasePath.getPath(), null, 16);
                    Cursor query = openDatabase.query("t_cr", null, null, null, null, null, null, null);
                    if (query != null) {
                        if (query.getCount() > 50) {
                            openDatabase.delete("t_cr", null, null);
                        }
                        query.close();
                    }
                    openDatabase.close();
                }
            } catch (SQLiteException e2) {
                e2.printStackTrace();
            } catch (Exception e3) {
                e3.printStackTrace();
            }
        }
    }

    public class c implements Application.ActivityLifecycleCallbacks {
        c() {
        }

        @Override
        public void onActivityCreated(Activity activity, Bundle bundle) {
        }

        @Override
        public void onActivityDestroyed(Activity activity) {
        }

        @Override
        public void onActivityPaused(Activity activity) {
        }

        @Override
        public void onActivityResumed(Activity activity) {
        }

        @Override
        public void onActivitySaveInstanceState(Activity activity, Bundle bundle) {
        }

        @Override
        public void onActivityStarted(Activity activity) {
            BaseApp.b(BaseApp.this);
            if (BaseApp.this.b == 1 && BaseApp.this.c) {
                new OssManager().getOssUrl(BaseApp.this.getApplicationContext());
                m.f15934a.y();
            }
            BaseApp.this.c = false;
        }

        @Override
        public void onActivityStopped(Activity activity) {
            BaseApp.c(BaseApp.this);
            if (BaseApp.this.b == 0) {
                BaseApp.this.c = true;
                io.bibeex.contract.common.e.h.d.c().a();
                m.f15934a.a();
            }
        }
    }

    static int b(BaseApp baseApp) {
        int i2 = baseApp.b;
        baseApp.b = i2 + 1;
        return i2;
    }

    static int c(BaseApp baseApp) {
        int i2 = baseApp.b;
        baseApp.b = i2 - 1;
        return i2;
    }

    private void f() {
        try {
            Class.forName("android.content.pm.PackageParser$Package").getDeclaredConstructor(String.class).setAccessible(true);
        } catch (Exception e2) {
            e2.printStackTrace();
        }
        try {
            Class<?> cls = Class.forName("android.app.ActivityThread");
            Method declaredMethod = cls.getDeclaredMethod("currentActivityThread", new Class[0]);
            declaredMethod.setAccessible(true);
            Object invoke = declaredMethod.invoke(null, new Object[0]);
            Field declaredField = cls.getDeclaredField("mHiddenApiWarningShown");
            declaredField.setAccessible(true);
            declaredField.setBoolean(invoke, true);
        } catch (Exception e3) {
            e3.printStackTrace();
        }
    }

    private void g() {
        new b().start();
    }

    public static String getProcessName() {
        try {
            BufferedReader bufferedReader = new BufferedReader(new FileReader(new File("/proc/" + Process.myPid() + "/cmdline")));
            String trim = bufferedReader.readLine().trim();
            bufferedReader.close();
            return trim;
        } catch (Exception e2) {
            e2.printStackTrace();
            return null;
        }
    }

    public static BaseApp h() {
        BaseApp baseApp = f15168e;
        if (baseApp != null) {
            return baseApp;
        }
        return null;
    }

    private void i() {
        org.greenrobot.eventbus.c.c().d(false).c(false).b();
    }

    private void j() {
    }

    private void k() {
        NIMClient.init(this, n(), o());
        if (NIMUtil.isMainProcess(this)) {
            NimUIKit.init(this);
        }
    }

    private void l() {
        io.bibeex.contract.common.b.f15233a.a(new io.bibeex.contract.g.a.a(), new io.bibeex.contract.g.a.b());
        io.bibeex.login.b.f19173a.a(new io.bibeex.contract.g.b.a());
        if (io.bibeex.contract.b.I.booleanValue()) {
            io.bibeex.contract.f.b.b.f15741a.b();
        }
        if (io.bibeex.contract.b.f15162o.booleanValue()) {
            io.bibeex.contract.f.a.a.f15739a.d();
            b();
        }
    }

    private void m() {
        boolean q2 = t0.q(this);
        Constants.IS_NIGHT_MODE = q2;
        AppCompatDelegate.setDefaultNightMode(q2 ? 2 : 1);
    }

    private LoginInfo n() {
        String a2 = t0.a(this, "im_account", "");
        String a3 = t0.a(this, "im_token", "");
        if (TextUtils.isEmpty(a2) || TextUtils.isEmpty(a3)) {
            return null;
        }
        return new LoginInfo(a2, a3);
    }

    private SDKOptions o() {
        SDKOptions sDKOptions = new SDKOptions();
        StatusBarNotificationConfig statusBarNotificationConfig = new StatusBarNotificationConfig();
        statusBarNotificationConfig.notificationEntrance = BibeexMainActivity.class;
        statusBarNotificationConfig.notificationSmallIconId = R.mipmap.app_icon_1;
        statusBarNotificationConfig.ledARGB = -16711936;
        statusBarNotificationConfig.ledOnMs = 1000;
        statusBarNotificationConfig.ledOffMs = 1500;
        statusBarNotificationConfig.notificationSound = "android.resource://huolongluo.byw/raw/msg";
        statusBarNotificationConfig.hideContent = true;
        statusBarNotificationConfig.showBadge = false;
        sDKOptions.sdkStorageRootPath = getExternalCacheDir() + File.separator + "nim";
        sDKOptions.preloadAttach = true;
        sDKOptions.userInfoProvider = new a();
        return sDKOptions;
    }

    private void p() {
        registerActivityLifecycleCallbacks(new c());
    }

    @Override
    public void attachBaseContext(Context context) {
        super.attachBaseContext(context);
    }

    @Override
    public void onCreate() {
        if (q0.f18459a.d()) {
            io.bibeex.contract.common.d.f.a.c(this, getString(R.string.root_exit));
            Process.killProcess(Process.myPid());
            return;
        }
        super.onCreate();
        p();
        f15168e = this;
        l();
        g();
        Bugly.init(getApplicationContext(), io.bibeex.contract.b.f15161n, false);
        a();
        v.a.b(this);
        v.a.a(false);
        i();
        f();
        c();
        j();
        m();
        io.bibeex.contract.k.a.d();
        k();
        MMKV.initialize(this);
        SocketDataParser.f15922a.a();
        q.f15955a.d();
        SophixManager.getInstance().queryAndLoadNewPatch();
    }

    public void b() {
        io.bibeex.contract.f.a.a.f15739a.a(this, io.bibeex.contract.b.f15163p, io.bibeex.contract.util.e1.b.h(), false);
    }

    void c() {
        ConstantsProxy.initZendesk(this);
    }

    public boolean d() {
        return this.b > 0;
    }

    public void a() {
        Bugly.setIsDevelopmentDevice(getApplicationContext(), false);
        BuglyLog.setCache(30720);
        Beta.autoInit = true;
        Beta.enableNotification = true;
        Beta.autoCheckUpgrade = true;
        Beta.enableHotfix = false;
    }

    public static BaseApp a(Context context) {
        return (BaseApp) context.getApplicationContext();
    }
}