正在查看: 星辰VPN v1.2.3 应用的 TrafficLogActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: 星辰VPN v1.2.3 应用的 TrafficLogActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.moetor.ui.mine;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.Signature;
import android.view.View;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import com.chad.library.adapter.base.module.BaseLoadMoreModule;
import com.github.kr328.clash.core.Clash;
import com.google.android.exoplayer2.o;
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.TrafficLogContract;
import com.moetor.mvp.presenter.TrafficLogPresenter;
import com.moetor.mvp.response.TrafficLogBean;
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.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.Function1;
import kotlinx.serialization.json.internal.AbstractJsonLexerKt;
@Metadata(d1 = {"\u0000<\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\u0002\b\u0006\n\u0002\u0010\b\n\u0000\n\u0002\u0010\u0002\n\u0002\b\u0004\n\u0002\u0010 \n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\b\u0007\u0018\u00002\b\u0012\u0004\u0012\u00020\u00020\u00012\u00020\u0003B\u0005¢\u0006\u0002\u0010\u0004J\b\u0010\u000b\u001a\u00020\u0002H\u0014J\b\u0010\f\u001a\u00020\rH\u0014J\b\u0010\u000e\u001a\u00020\u000fH\u0002J\b\u0010\u0010\u001a\u00020\u000fH\u0014J\b\u0010\u0011\u001a\u00020\u000fH\u0014J\u0016\u0010\u0012\u001a\u00020\u000f2\f\u0010\u0013\u001a\b\u0012\u0004\u0012\u00020\u00150\u0014H\u0016J\u0010\u0010\u0016\u001a\u00020\u000f2\u0006\u0010\u0017\u001a\u00020\u0018H\u0016R\u001e\u0010\u0005\u001a\u00020\u00068\u0006@\u0006X\u0087.¢\u0006\u000e\n\u0000\u001a\u0004\b\u0007\u0010\b\"\u0004\b\t\u0010\n¨\u0006\u0019"}, d2 = {"Lcom/moetor/ui/mine/TrafficLogActivity;", "Lcom/moetor/base/BaseActivity;", "Lcom/moetor/mvp/presenter/TrafficLogPresenter;", "Lcom/moetor/mvp/contract/TrafficLogContract$View;", "()V", "rvAdapter", "Lcom/moetor/ui/mine/TrafficLogAdapter;", "getRvAdapter", "()Lcom/moetor/ui/mine/TrafficLogAdapter;", "setRvAdapter", "(Lcom/moetor/ui/mine/TrafficLogAdapter;)V", "createPresenter", "initLayoutId", "", "initRecyclerView", "", "initStatusBar", "initView", "onTrafficLogList", "list", "", "Lcom/moetor/mvp/response/TrafficLogBean;", "onTrafficLogListError", "e", "Lcom/moetor/net/ApiException$RespException;", "app_maomaoRelease"}, k = 1, mv = {1, 6, 0}, xi = 48)
public final class TrafficLogActivity extends Hilt_TrafficLogActivity<TrafficLogPresenter> implements TrafficLogContract.View {
public Map<Integer, View> _$_findViewCache = new LinkedHashMap();
public TrafficLogAdapter rvAdapter;
private final void initRecyclerView() {
int i = R$id.recycler_view;
_$_findCachedViewById(i).setLayoutManager(new LinearLayoutManager(this));
_$_findCachedViewById(i).setAdapter(getRvAdapter());
getRvAdapter().getLoadMoreModule().setOnLoadMoreListener(o.u);
}
public static final void m68initRecyclerView$lambda2() {
}
public static final void m69initView$lambda0(TrafficLogActivity this$0, View view) {
kotlin.jvm.internal.b.i(this$0, "this$0");
this$0.onBackPressed();
}
@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 TrafficLogAdapter getRvAdapter() {
TrafficLogAdapter trafficLogAdapter = this.rvAdapter;
if (trafficLogAdapter != null) {
return trafficLogAdapter;
}
kotlin.jvm.internal.b.C("rvAdapter");
throw null;
}
@Override
public int initLayoutId() {
return R$layout.activity_traffic_log;
}
@Override
public void initStatusBar() {
super.initStatusBar();
com.gyf.immersionbar.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 p2.d(this, 4));
((MyImageButton) _$_findCachedViewById(R$id.ib_right)).setVisibility(8);
int i = R$id.refresh_layout;
SwipeRefreshLayout refresh_layout = _$_findCachedViewById(i);
kotlin.jvm.internal.b.h(refresh_layout, "refresh_layout");
initRefreshLayout(refresh_layout);
initRecyclerView();
_$_findCachedViewById(i).setRefreshing(true);
Unit unit = Unit.INSTANCE;
TrafficLogPresenter trafficLogPresenter = (TrafficLogPresenter) getMPresenter();
if (trafficLogPresenter != null) {
trafficLogPresenter.trafficLogList();
}
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)) {
return;
}
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 TrafficLogActivity trafficLogActivity = TrafficLogActivity.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(TrafficLogActivity.this);
}
}, 2, null);
final TrafficLogActivity trafficLogActivity2 = TrafficLogActivity.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(TrafficLogActivity.this, Clash.INSTANCE.nativePiracyLink());
}
}, 2, null);
}
});
}
@Override
public void onTrafficLogList(List<TrafficLogBean> list) {
kotlin.jvm.internal.b.i(list, "list");
getRvAdapter().setList(list);
BaseLoadMoreModule.loadMoreEnd$default(getRvAdapter().getLoadMoreModule(), false, 1, (Object) null);
if (list.isEmpty()) {
ExtKt.setErrorView$default(getRvAdapter(), "暂无记录", 0, 2, null);
}
}
@Override
public void onTrafficLogListError(com.moetor.net.ApiException.RespException r5) {
throw new UnsupportedOperationException("Method not decompiled: com.moetor.ui.mine.TrafficLogActivity.onTrafficLogListError(com.moetor.net.ApiException$RespException):void");
}
public final void setRvAdapter(TrafficLogAdapter trafficLogAdapter) {
kotlin.jvm.internal.b.i(trafficLogAdapter, "<set-?>");
this.rvAdapter = trafficLogAdapter;
}
@Override
public TrafficLogPresenter createPresenter() {
return new TrafficLogPresenter(this);
}
}