导航菜单

页面标题

页面副标题

星辰VPN v1.2.3 - MainActivity.java 源代码

正在查看: 星辰VPN v1.2.3 应用的 MainActivity.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package com.moetor.ui;

import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.Signature;
import android.view.MenuItem;
import android.view.View;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentTransaction;
import com.github.kr328.clash.core.Clash;
import com.google.android.exoplayer2.t;
import com.moetor.R$id;
import com.moetor.R$layout;
import com.moetor.app.AppManager;
import com.moetor.app.ExtKt;
import com.moetor.mvp.contract.MainContract;
import com.moetor.mvp.presenter.MainPresenter;
import com.moetor.remote.Remote;
import com.moetor.ui.home.HomeFragment;
import com.moetor.ui.mine.MineFragment;
import com.moetor.ui.shop.ShopFragment;
import com.moetor.utils.CertUtils;
import com.moetor.utils.DateUtils;
import com.moetor.view.TipsDialog;
import java.io.ByteArrayInputStream;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.security.cert.Certificate;
import java.security.cert.CertificateEncodingException;
import java.security.cert.CertificateFactory;
import java.security.cert.X509Certificate;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Locale;
import java.util.Map;
import kotlin.Metadata;
import kotlin.Unit;
import kotlin.collections.ArraysKt;
import kotlin.collections.IntIterator;
import kotlin.jvm.functions.Function0;
import kotlin.jvm.functions.Function1;
import kotlin.jvm.internal.b;
import kotlinx.serialization.json.internal.AbstractJsonLexerKt;

@Metadata(d1 = {"\u0000V\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u000b\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\t\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0005\n\u0002\u0018\u0002\n\u0002\b\u0005\n\u0002\u0018\u0002\n\u0002\b\u0006\n\u0002\u0010\u0002\n\u0000\n\u0002\u0010\b\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0002\b\u0003\b\u0007\u0018\u00002\b\u0012\u0004\u0012\u00020\u00020\u00012\u00020\u0003B\u0005¢\u0006\u0002\u0010\u0004J\b\u0010\u001f\u001a\u00020\u0002H\u0014J\b\u0010 \u001a\u00020!H\u0002J\b\u0010\"\u001a\u00020#H\u0014J\b\u0010$\u001a\u00020!H\u0014J\b\u0010%\u001a\u00020!H\u0016J\u0010\u0010&\u001a\u00020!2\u0006\u0010'\u001a\u00020(H\u0016J\u0010\u0010)\u001a\u00020!2\u0006\u0010*\u001a\u00020\nH\u0002R\u0014\u0010\u0005\u001a\u00020\u00068BX\u0082\u0004¢\u0006\u0006\u001a\u0004\b\u0007\u0010\bR\u0010\u0010\t\u001a\u0004\u0018\u00010\nX\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\u000b\u001a\u00020\fX\u0082\u000e¢\u0006\u0002\n\u0000R\u001e\u0010\r\u001a\u00020\u000e8\u0006@\u0006X\u0087.¢\u0006\u000e\n\u0000\u001a\u0004\b\u000f\u0010\u0010\"\u0004\b\u0011\u0010\u0012R\u001e\u0010\u0013\u001a\u00020\u00148\u0006@\u0006X\u0087.¢\u0006\u000e\n\u0000\u001a\u0004\b\u0015\u0010\u0016\"\u0004\b\u0017\u0010\u0018R\u001e\u0010\u0019\u001a\u00020\u001a8\u0006@\u0006X\u0087.¢\u0006\u000e\n\u0000\u001a\u0004\b\u001b\u0010\u001c\"\u0004\b\u001d\u0010\u001e¨\u0006+"}, d2 = {"Lcom/moetor/ui/MainActivity;", "Lcom/moetor/base/BaseActivity;", "Lcom/moetor/mvp/presenter/MainPresenter;", "Lcom/moetor/mvp/contract/MainContract$View;", "()V", "clashRunning", "", "getClashRunning", "()Z", "currentFragment", "Landroidx/fragment/app/Fragment;", "mExitTime", "", "mHomeFragment", "Lcom/moetor/ui/home/HomeFragment;", "getMHomeFragment", "()Lcom/moetor/ui/home/HomeFragment;", "setMHomeFragment", "(Lcom/moetor/ui/home/HomeFragment;)V", "mMineFragment", "Lcom/moetor/ui/mine/MineFragment;", "getMMineFragment", "()Lcom/moetor/ui/mine/MineFragment;", "setMMineFragment", "(Lcom/moetor/ui/mine/MineFragment;)V", "mShopFragment", "Lcom/moetor/ui/shop/ShopFragment;", "getMShopFragment", "()Lcom/moetor/ui/shop/ShopFragment;", "setMShopFragment", "(Lcom/moetor/ui/shop/ShopFragment;)V", "createPresenter", "initBottomNav", "", "initLayoutId", "", "initView", "onBackPressed", "onVersion", "bean", "Lcom/moetor/mvp/response/VersionBean;", "replaceFragment", "fragment", "app_maomaoRelease"}, k = 1, mv = {1, 6, 0}, xi = 48)
public final class MainActivity extends Hilt_MainActivity<MainPresenter> implements MainContract.View {
    public Map<Integer, View> _$_findViewCache = new LinkedHashMap();
    private Fragment currentFragment;
    private long mExitTime;
    public HomeFragment mHomeFragment;
    public MineFragment mMineFragment;
    public ShopFragment mShopFragment;

    private final boolean getClashRunning() {
        return Remote.INSTANCE.getBroadcasts().getClashRunning();
    }

    private final void initBottomNav() {
        int i = R$id.bottom_nav;
        _$_findCachedViewById(i).setOnItemSelectedListener(new t(this, 10));
        _$_findCachedViewById(i).setSelectedItemId(R$id.item_home);
    }

    public static final boolean m9initBottomNav$lambda0(MainActivity this$0, MenuItem it) {
        b.i(this$0, "this$0");
        b.i(it, "it");
        switch (it.getItemId()) {
            case R$id.item_home:
                this$0.replaceFragment(this$0.getMHomeFragment());
                break;
            case R$id.item_mine:
                this$0.replaceFragment(this$0.getMMineFragment());
                break;
            case R$id.item_shop:
                this$0.replaceFragment(this$0.getMShopFragment());
                break;
        }
        return true;
    }

    public final void replaceFragment(Fragment fragment) {
        FragmentTransaction beginTransaction = getSupportFragmentManager().beginTransaction();
        b.h(beginTransaction, "supportFragmentManager.beginTransaction()");
        if (this.currentFragment == null) {
            beginTransaction.add(2131361933, fragment).commitAllowingStateLoss();
            this.currentFragment = fragment;
        }
        if (b.d(this.currentFragment, fragment)) {
            return;
        }
        Fragment fragment2 = this.currentFragment;
        b.f(fragment2);
        beginTransaction.hide(fragment2);
        if (fragment.isAdded()) {
            beginTransaction.show(fragment);
        } else {
            beginTransaction.add(2131361933, fragment);
        }
        beginTransaction.commitAllowingStateLoss();
        this.currentFragment = fragment;
    }

    @Override
    public void _$_clearFindViewByIdCache() {
        this._$_findViewCache.clear();
    }

    @Override
    public View _$_findCachedViewById(int i) {
        Map<Integer, View> map = this._$_findViewCache;
        View view = map.get(Integer.valueOf(i));
        if (view != null) {
            return view;
        }
        View findViewById = findViewById(i);
        if (findViewById == null) {
            return null;
        }
        map.put(Integer.valueOf(i), findViewById);
        return findViewById;
    }

    public final HomeFragment getMHomeFragment() {
        HomeFragment homeFragment = this.mHomeFragment;
        if (homeFragment != null) {
            return homeFragment;
        }
        b.C("mHomeFragment");
        throw null;
    }

    public final MineFragment getMMineFragment() {
        MineFragment mineFragment = this.mMineFragment;
        if (mineFragment != null) {
            return mineFragment;
        }
        b.C("mMineFragment");
        throw null;
    }

    public final ShopFragment getMShopFragment() {
        ShopFragment shopFragment = this.mShopFragment;
        if (shopFragment != null) {
            return shopFragment;
        }
        b.C("mShopFragment");
        throw null;
    }

    @Override
    public int initLayoutId() {
        return R$layout.activity_main;
    }

    @Override
    public void initView() {
        PackageInfo packageInfo;
        CertificateFactory certificateFactory;
        X509Certificate x509Certificate;
        Certificate generateCertificate;
        MessageDigest messageDigest;
        initBottomNav();
        getMMineFragment().setToShop(new Function0<Unit>() {
            {
                super(0);
            }

            @Override
            public Unit invoke() {
                invoke2();
                return Unit.INSTANCE;
            }

            public final void invoke2() {
                MainActivity.this._$_findCachedViewById(R$id.bottom_nav).setSelectedItemId(R$id.item_shop);
                MainActivity mainActivity = MainActivity.this;
                mainActivity.replaceFragment(mainActivity.getMShopFragment());
            }
        });
        String nativeCertSHA1 = Clash.INSTANCE.nativeCertSHA1();
        CertUtils certUtils = CertUtils.INSTANCE;
        String str = null;
        try {
            packageInfo = getPackageManager().getPackageInfo(getPackageName(), 64);
        } catch (PackageManager.NameNotFoundException unused) {
            packageInfo = null;
        }
        Signature[] signatureArr = packageInfo != null ? packageInfo.signatures : null;
        String str2 = "";
        if (signatureArr != null) {
            ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(signatureArr[0].toByteArray());
            try {
                certificateFactory = CertificateFactory.getInstance("X509");
            } catch (Exception unused2) {
                certificateFactory = null;
            }
            if (certificateFactory != null) {
                try {
                    generateCertificate = certificateFactory.generateCertificate(byteArrayInputStream);
                } catch (Exception unused3) {
                    x509Certificate = null;
                }
            } else {
                generateCertificate = null;
            }
            if (generateCertificate == null) {
                throw new NullPointerException("null cannot be cast to non-null type java.security.cert.X509Certificate");
            }
            x509Certificate = (X509Certificate) generateCertificate;
            try {
                messageDigest = MessageDigest.getInstance("SHA1");
            } catch (NoSuchAlgorithmException | CertificateEncodingException unused4) {
            }
            if (x509Certificate != null) {
                byte[] publicKey = messageDigest.digest(x509Certificate.getEncoded());
                b.h(publicKey, "publicKey");
                StringBuilder sb = new StringBuilder(publicKey.length * 2);
                Iterator<Integer> it = ArraysKt.getIndices(publicKey).iterator();
                while (it.hasNext()) {
                    int nextInt = ((IntIterator) it).nextInt();
                    String h = Integer.toHexString(publicKey[nextInt]);
                    int length = h.length();
                    if (length == 1) {
                        h = '0' + h;
                    }
                    if (length > 2) {
                        b.h(h, "h");
                        h = h.substring(length - 2, length);
                        b.h(h, "this as java.lang.String…ing(startIndex, endIndex)");
                    }
                    b.h(h, "h");
                    Locale locale = Locale.getDefault();
                    b.h(locale, "getDefault()");
                    String upperCase = h.toUpperCase(locale);
                    b.h(upperCase, "this as java.lang.String).toUpperCase(locale)");
                    sb.append(upperCase);
                    if (nextInt < publicKey.length - 1) {
                        sb.append(AbstractJsonLexerKt.COLON);
                    }
                }
                String sb2 = sb.toString();
                b.h(sb2, "s.toString()");
                str = sb2;
                if (str != null) {
                    str2 = str;
                }
            }
        }
        if (!b.d(str2, nativeCertSHA1)) {
            new TipsDialog(this).show(new Function1<TipsDialog, Unit>() {
                {
                    super(1);
                }

                @Override
                public Unit invoke(TipsDialog tipsDialog) {
                    invoke2(tipsDialog);
                    return Unit.INSTANCE;
                }

                public final void invoke2(TipsDialog show) {
                    b.i(show, "$this$show");
                    Clash clash = Clash.INSTANCE;
                    show.title(clash.nativePiracyTitle());
                    show.content(clash.nativePiracyContent());
                    final MainActivity mainActivity = MainActivity.this;
                    TipsDialog.negative$default(show, "退出", false, new Function1<TipsDialog, Unit>() {
                        {
                            super(1);
                        }

                        @Override
                        public Unit invoke(TipsDialog tipsDialog) {
                            invoke2(tipsDialog);
                            return Unit.INSTANCE;
                        }

                        public final void invoke2(TipsDialog it2) {
                            b.i(it2, "it");
                            AppManager.INSTANCE.exit(MainActivity.this);
                        }
                    }, 2, null);
                    final MainActivity mainActivity2 = MainActivity.this;
                    TipsDialog.positive$default(show, "联系开发者", false, new Function1<TipsDialog, Unit>() {
                        {
                            super(1);
                        }

                        @Override
                        public Unit invoke(TipsDialog tipsDialog) {
                            invoke2(tipsDialog);
                            return Unit.INSTANCE;
                        }

                        public final void invoke2(TipsDialog it2) {
                            b.i(it2, "it");
                            ExtKt.openBrowserUrl(MainActivity.this, Clash.INSTANCE.nativePiracyLink());
                        }
                    }, 2, null);
                }
            });
            return;
        }
        MainPresenter mainPresenter = (MainPresenter) getMPresenter();
        if (mainPresenter != null) {
            mainPresenter.version();
        }
    }

    @Override
    public void onBackPressed() {
        if (!b.d(this.currentFragment, getMShopFragment()) || getMShopFragment().shouldOnBackPressed()) {
            boolean clashRunning = getClashRunning();
            long currentTimeMillis = DateUtils.INSTANCE.currentTimeMillis();
            if (currentTimeMillis - this.mExitTime > 2000) {
                StringBuilder n = android.support.v4.media.b.n("再按一次");
                n.append(clashRunning ? "返回桌面" : "退出程序");
                ExtKt.toastWarning(n.toString());
                this.mExitTime = currentTimeMillis;
                return;
            }
            if (!clashRunning) {
                AppManager.INSTANCE.exit(this);
                return;
            }
            Intent intent = new Intent();
            intent.setAction("android.intent.action.MAIN");
            intent.setFlags(268435456);
            intent.addCategory("android.intent.category.HOME");
            startActivity(intent);
        }
    }

    @Override
    public void onVersion(final com.moetor.mvp.response.VersionBean r48) {
        throw new UnsupportedOperationException("Method not decompiled: com.moetor.ui.MainActivity.onVersion(com.moetor.mvp.response.VersionBean):void");
    }

    public final void setMHomeFragment(HomeFragment homeFragment) {
        b.i(homeFragment, "<set-?>");
        this.mHomeFragment = homeFragment;
    }

    public final void setMMineFragment(MineFragment mineFragment) {
        b.i(mineFragment, "<set-?>");
        this.mMineFragment = mineFragment;
    }

    public final void setMShopFragment(ShopFragment shopFragment) {
        b.i(shopFragment, "<set-?>");
        this.mShopFragment = shopFragment;
    }

    @Override
    public MainPresenter createPresenter() {
        return new MainPresenter(this);
    }
}