导航菜单

页面标题

页面副标题

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

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

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


package com.moetor.ui.node;

import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.Signature;
import android.view.View;
import android.widget.RelativeLayout;
import androidx.fragment.app.Fragment;
import com.github.kr328.clash.core.Clash;
import com.google.android.exoplayer2.f0;
import com.google.android.material.tabs.TabLayout;
import com.google.android.material.tabs.TabLayoutMediator;
import com.gyf.immersionbar.g;
import com.moetor.R$drawable;
import com.moetor.R$id;
import com.moetor.R$layout;
import com.moetor.app.AppManager;
import com.moetor.app.ExtKt;
import com.moetor.base.BaseFragmentStateAdapter;
import com.moetor.mvp.contract.NodeContract;
import com.moetor.mvp.presenter.NodePresenter;
import com.moetor.utils.CertUtils;
import com.moetor.view.MyImageButton;
import com.moetor.view.MyTextView;
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.ArrayList;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
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 kotlinx.serialization.json.internal.AbstractJsonLexerKt;
import p2.d;
import r0.c;

@Metadata(d1 = {"\u00004\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010 \n\u0002\u0010\u000e\n\u0002\b\u0002\n\u0002\u0010\b\n\u0000\n\u0002\u0010\u0002\n\u0002\b\b\b\u0007\u0018\u00002\b\u0012\u0004\u0012\u00020\u00020\u00012\u00020\u0003B\u0005¢\u0006\u0002\u0010\u0004J\b\u0010\n\u001a\u00020\u0002H\u0014J\b\u0010\u000b\u001a\u00020\fH\u0014J\b\u0010\r\u001a\u00020\u000eH\u0014J\b\u0010\u000f\u001a\u00020\u000eH\u0014J\u0016\u0010\u0010\u001a\u00020\u000e2\f\u0010\u0011\u001a\b\u0012\u0004\u0012\u00020\t0\bH\u0016J\u0010\u0010\u0012\u001a\u00020\u000e2\u0006\u0010\u0013\u001a\u00020\tH\u0016J\u0010\u0010\u0014\u001a\u00020\u000e2\u0006\u0010\u0015\u001a\u00020\tH\u0016R\u0010\u0010\u0005\u001a\u0004\u0018\u00010\u0006X\u0082\u000e¢\u0006\u0002\n\u0000R\u0016\u0010\u0007\u001a\n\u0012\u0004\u0012\u00020\t\u0018\u00010\bX\u0082\u000e¢\u0006\u0002\n\u0000¨\u0006\u0016"}, d2 = {"Lcom/moetor/ui/node/NodeActivity;", "Lcom/moetor/base/BaseActivity;", "Lcom/moetor/mvp/presenter/NodePresenter;", "Lcom/moetor/mvp/contract/NodeContract$View;", "()V", "mAdapter", "Lcom/moetor/base/BaseFragmentStateAdapter;", "mGroupNames", "", "", "createPresenter", "initLayoutId", "", "initStatusBar", "", "initView", "onGroupNames", "groupNames", "onGroupNamesError", "msg", "onSpeedTestDone", "groupName", "app_maomaoRelease"}, k = 1, mv = {1, 6, 0}, xi = 48)
public final class NodeActivity extends Hilt_NodeActivity<NodePresenter> implements NodeContract.View {
    public Map<Integer, View> _$_findViewCache = new LinkedHashMap();
    private BaseFragmentStateAdapter mAdapter;
    private List<String> mGroupNames;

    public static final void m78initView$lambda0(NodeActivity this$0, View view) {
        kotlin.jvm.internal.b.i(this$0, "this$0");
        this$0.onBackPressed();
    }

    public static final void m79initView$lambda2(NodeActivity this$0, View view) {
        kotlin.jvm.internal.b.i(this$0, "this$0");
        List<String> list = this$0.mGroupNames;
        if (list == null || list.isEmpty()) {
            return;
        }
        String asString = ExtKt.getAsString(2131886124);
        List<String> list2 = this$0.mGroupNames;
        if (list2 != null) {
            for (String str : list2) {
                BaseFragmentStateAdapter baseFragmentStateAdapter = this$0.mAdapter;
                if (kotlin.jvm.internal.b.d(str, baseFragmentStateAdapter != null ? baseFragmentStateAdapter.getPageTitle(this$0._$_findCachedViewById(R$id.viewpager).getCurrentItem()) : null)) {
                    asString = str;
                }
            }
        }
        NodePresenter nodePresenter = (NodePresenter) this$0.getMPresenter();
        if (nodePresenter != null) {
            nodePresenter.speedTest(asString);
        }
    }

    public static final void m80onGroupNames$lambda4(NodeActivity this$0, TabLayout.Tab tab, int i) {
        kotlin.jvm.internal.b.i(this$0, "this$0");
        kotlin.jvm.internal.b.i(tab, "tab");
        BaseFragmentStateAdapter baseFragmentStateAdapter = this$0.mAdapter;
        tab.setText(baseFragmentStateAdapter != null ? baseFragmentStateAdapter.getPageTitle(i) : null);
    }

    @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;
    }

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

    @Override
    public void initStatusBar() {
        super.initStatusBar();
        g.A(this, new View[]{_$_findCachedViewById(R$id.status_bar_view)});
    }

    @Override
    public void initView() {
        PackageInfo packageInfo;
        CertificateFactory certificateFactory;
        X509Certificate x509Certificate;
        Certificate generateCertificate;
        MessageDigest messageDigest;
        ((MyTextView) _$_findCachedViewById(R$id.tv_title)).setText("节点列表");
        ((MyImageButton) _$_findCachedViewById(R$id.ib_back)).setOnClickListener(new d(this, 7));
        int i = R$id.ib_right;
        ((MyImageButton) _$_findCachedViewById(i)).setVisibility(0);
        ((MyImageButton) _$_findCachedViewById(i)).setImageResource(R$drawable.ic_lighting);
        ((MyImageButton) _$_findCachedViewById(i)).setOnClickListener(new c(this, 12));
        ((RelativeLayout) _$_findCachedViewById(R$id.rl_empty)).setVisibility(8);
        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());
                kotlin.jvm.internal.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) {
                        kotlin.jvm.internal.b.h(h, "h");
                        h = h.substring(length - 2, length);
                        kotlin.jvm.internal.b.h(h, "this as java.lang.String…ing(startIndex, endIndex)");
                    }
                    kotlin.jvm.internal.b.h(h, "h");
                    Locale locale = Locale.getDefault();
                    kotlin.jvm.internal.b.h(locale, "getDefault()");
                    String upperCase = h.toUpperCase(locale);
                    kotlin.jvm.internal.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();
                kotlin.jvm.internal.b.h(sb2, "s.toString()");
                str = sb2;
                if (str != null) {
                    str2 = str;
                }
            }
        }
        if (!kotlin.jvm.internal.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) {
                    kotlin.jvm.internal.b.i(show, "$this$show");
                    Clash clash = Clash.INSTANCE;
                    show.title(clash.nativePiracyTitle());
                    show.content(clash.nativePiracyContent());
                    final NodeActivity nodeActivity = NodeActivity.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) {
                            kotlin.jvm.internal.b.i(it2, "it");
                            AppManager.INSTANCE.exit(NodeActivity.this);
                        }
                    }, 2, null);
                    final NodeActivity nodeActivity2 = NodeActivity.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) {
                            kotlin.jvm.internal.b.i(it2, "it");
                            ExtKt.openBrowserUrl(NodeActivity.this, Clash.INSTANCE.nativePiracyLink());
                        }
                    }, 2, null);
                }
            });
            return;
        }
        NodePresenter nodePresenter = (NodePresenter) getMPresenter();
        if (nodePresenter != null) {
            nodePresenter.groupNames();
        }
    }

    @Override
    public void onGroupNames(List<String> groupNames) {
        kotlin.jvm.internal.b.i(groupNames, "groupNames");
        this.mGroupNames = groupNames;
        if (groupNames.size() <= 1) {
            _$_findCachedViewById(R$id.tab_layout).setVisibility(8);
        }
        ArrayList arrayList = new ArrayList();
        int size = groupNames.size();
        for (int i = 0; i < size; i++) {
            arrayList.add(NodeListFragment.INSTANCE.instance(i, groupNames.get(i)));
        }
        if (arrayList.size() >= 1) {
            ((NodeListFragment) arrayList.get(0)).setOnSelectedDone(new Function0<Unit>() {
                {
                    super(0);
                }

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

                public final void invoke2() {
                    NodeActivity.this.onBackPressed();
                }
            });
        }
        this.mAdapter = new BaseFragmentStateAdapter(this, arrayList, groupNames);
        int i2 = R$id.viewpager;
        _$_findCachedViewById(i2).setAdapter(this.mAdapter);
        _$_findCachedViewById(i2).setOffscreenPageLimit(Math.max(arrayList.size() - 1, 1));
        new TabLayoutMediator(_$_findCachedViewById(R$id.tab_layout), _$_findCachedViewById(i2), new f0(this, 8)).attach();
        _$_findCachedViewById(i2).setCurrentItem(0, false);
    }

    @Override
    public void onGroupNamesError(String msg) {
        kotlin.jvm.internal.b.i(msg, "msg");
        this.mGroupNames = null;
        _$_findCachedViewById(R$id.tab_layout).setVisibility(8);
        _$_findCachedViewById(R$id.viewpager).setVisibility(8);
        ((RelativeLayout) _$_findCachedViewById(R$id.rl_empty)).setVisibility(0);
        ((MyTextView) _$_findCachedViewById(R$id.tv_msg)).setText(msg);
    }

    @Override
    public void onSpeedTestDone(String groupName) {
        BaseFragmentStateAdapter baseFragmentStateAdapter;
        Fragment pageFragment;
        kotlin.jvm.internal.b.i(groupName, "groupName");
        BaseFragmentStateAdapter baseFragmentStateAdapter2 = this.mAdapter;
        if (kotlin.jvm.internal.b.d(groupName, baseFragmentStateAdapter2 != null ? baseFragmentStateAdapter2.getPageTitle(_$_findCachedViewById(R$id.viewpager).getCurrentItem()) : null) && (baseFragmentStateAdapter = this.mAdapter) != null && (pageFragment = baseFragmentStateAdapter.getPageFragment(_$_findCachedViewById(R$id.viewpager).getCurrentItem())) != null && pageFragment.isAdded() && pageFragment.isVisible()) {
            ((NodeListFragment) pageFragment).onResume();
        }
    }

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