Shinigami ID v1.1.3版本的 MD5 值为:c381e85feac697f048c400ae89b7b92d
以下内容为反编译后的 i0.java 源代码,内容仅作参考
package com.wonderpush.sdk;
import android.app.AlertDialog;
import android.content.Context;
import android.content.Intent;
import android.content.res.TypedArray;
import android.graphics.Bitmap;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.util.Log;
import android.util.TypedValue;
import android.view.LayoutInflater;
import android.view.ViewGroup;
import android.webkit.WebResourceError;
import android.webkit.WebResourceRequest;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.widget.FrameLayout;
import android.widget.ImageButton;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;
import com.shinigami.id.R;
import com.wonderpush.sdk.j;
import com.wonderpush.sdk.w;
import java.util.Locale;
import java.util.Objects;
import java.util.Timer;
import java.util.TimerTask;
import sa.t0;
import sa.u0;
import sa.v0;
import sa.w0;
import z.a;
public final class i0 extends FrameLayout {
public d f4705o;
public sa.j f4706p;
public ViewGroup f4707q;
public TextView f4708r;
public ProgressBar f4709s;
public final g f4710t;
public ImageButton f4711u;
public boolean v;
public e f4712w;
public String x;
public String f4713y;
public class a extends e {
public a() {
}
@Override
public final void a() {
i0.this.f4706p.setVisibility(8);
i0.this.f4711u.setVisibility(8);
i0.this.f4707q.setVisibility(0);
Objects.requireNonNull(i0.this);
Toast.makeText(i0.this.getContext(), R.string.wonderpush_android_sdk_network_error, 1).show();
d dVar = i0.this.f4705o;
}
@Override
public final void b() {
i0.this.f4707q.setVisibility(8);
}
}
public class b extends e {
public b() {
}
@Override
public final void a() {
i0.this.f4709s.setVisibility(0);
i0.this.f4706p.setVisibility(8);
i0.this.f4711u.setVisibility(8);
i0.this.f4707q.setVisibility(8);
}
@Override
public final void b() {
i0.this.f4709s.setVisibility(8);
}
}
public class c extends e {
public c() {
}
@Override
public final void a() {
i0.this.f4709s.setVisibility(0);
d dVar = i0.this.f4705o;
if (dVar != null) {
Objects.requireNonNull(dVar);
}
}
@Override
public final void b() {
i0.this.f4709s.setVisibility(8);
}
}
public interface d {
}
public abstract class e {
public abstract void a();
public void b() {
}
}
public class f extends e {
public f() {
}
@Override
public final void a() {
i0.this.f4706p.setVisibility(0);
i0 i0Var = i0.this;
if (i0Var.v) {
i0Var.f4711u.setVisibility(0);
}
i0.this.f4709s.setVisibility(8);
i0.this.f4711u.bringToFront();
d dVar = i0.this.f4705o;
}
}
public class g {
public g() {
}
}
public class h extends WebViewClient {
public boolean f4719a;
public boolean f4720b;
public Timer c;
public class a extends TimerTask {
public final WebView f4722o;
public class RunnableC0062a implements Runnable {
public RunnableC0062a() {
}
@Override
public final void run() {
a.this.f4722o.stopLoading();
i0.this.f4708r.setText(R.string.wonderpush_android_sdk_network_error);
i0 i0Var = i0.this;
i0.a(i0Var, new a());
}
}
public a(WebView webView) {
this.f4722o = webView;
}
@Override
public final void run() {
x.C(new RunnableC0062a(), 0L);
}
}
public h() {
}
public final boolean a(Context context, Uri uri) {
aa.p pVar = null;
if ("market".equals(uri.getScheme()) || "play.google.com".equals(uri.getHost())) {
androidx.appcompat.widget.m mVar = new androidx.appcompat.widget.m(context, uri.toString(), 24, pVar);
boolean z10 = x.f4860a;
String str = (String) mVar.f835q;
if (str == null) {
return true;
}
Intent intent = new Intent("android.intent.action.VIEW", Uri.parse(str.replace("https://play.google.com/store/apps", "market:/")));
intent.setFlags(268435456);
x.f().startActivity(intent);
return true;
}
g gVar = i0.this.f4710t;
Objects.requireNonNull(gVar);
if ("/web/callback".equals(h0.b(uri))) {
String queryParameter = uri.getQueryParameter("status");
String queryParameter2 = uri.getQueryParameter("code");
try {
int parseInt = Integer.parseInt(queryParameter);
int parseInt2 = Integer.parseInt(queryParameter2);
if (300 > parseInt) {
i0.this.b();
return true;
}
if (404 != parseInt) {
if (12017 != parseInt2) {
return true;
}
z.z(null);
z.A(null);
z.D(null);
com.wonderpush.sdk.g.f4688g.h(z.r(), null);
return true;
}
} catch (NumberFormatException e10) {
x.y(String.format("Invalid status or code (should be an int): %s %s", queryParameter, queryParameter2), e10);
}
}
return false;
}
@Override
public final void onPageFinished(WebView webView, String str) {
super.onPageFinished(webView, str);
i0 i0Var = i0.this;
if (i0Var.f4713y != null) {
sa.j jVar = i0Var.f4706p;
StringBuilder w10 = aa.p.w("javascript:(function(){if(!document.body.style.color&&!document.body.style.backgroundColor&&!document.body.bgColor){document.body.style.color=\"");
w10.append(i0.this.f4713y);
w10.append("\";}})()");
jVar.loadUrl(w10.toString());
}
Timer timer = this.c;
if (timer != null) {
timer.cancel();
}
this.c = null;
this.f4720b = false;
Objects.requireNonNull(i0.this);
if (str == null || !str.equals(webView.getUrl()) || this.f4719a) {
return;
}
i0 i0Var2 = i0.this;
i0.a(i0Var2, new f());
}
@Override
public final void onPageStarted(WebView webView, String str, Bitmap bitmap) {
super.onPageStarted(webView, str, bitmap);
x.u("loading url: " + str);
if (!this.f4720b) {
this.f4719a = false;
i0 i0Var = i0.this;
i0.a(i0Var, new c());
}
Timer timer = this.c;
if (timer != null) {
timer.cancel();
this.c = null;
}
Timer timer2 = new Timer("webviewTimeout", true);
this.c = timer2;
timer2.schedule(new a(webView), 10000L);
this.f4720b = true;
}
@Override
public final void onReceivedError(WebView webView, int i10, String str, String str2) {
super.onReceivedError(webView, i10, str, str2);
if (str2 == null || !str2.equals(webView.getUrl())) {
return;
}
this.f4719a = true;
TextView textView = i0.this.f4708r;
if (textView != null) {
textView.setText(str);
}
i0 i0Var = i0.this;
i0.a(i0Var, new a());
}
@Override
public final void onReceivedError(WebView webView, WebResourceRequest webResourceRequest, WebResourceError webResourceError) {
super.onReceivedError(webView, webResourceRequest, webResourceError);
Log.i("WonderPush", "API 23 onReceivedError(WebView, WebResourceRequest, WebResourceError) called");
Log.i("WonderPush", "WebResourceRequest: " + webResourceRequest);
Log.i("WonderPush", "WebResourceError: " + webResourceError);
if (webResourceRequest == null || webResourceRequest.getUrl() == null || !webResourceRequest.getUrl().equals(Uri.parse(webView.getUrl()))) {
return;
}
this.f4719a = true;
TextView textView = i0.this.f4708r;
if (textView != null) {
textView.setText(webResourceError.getDescription());
}
i0 i0Var = i0.this;
i0.a(i0Var, new a());
}
@Override
public final boolean shouldOverrideUrlLoading(WebView webView, WebResourceRequest webResourceRequest) {
return a(webView.getContext(), webResourceRequest.getUrl());
}
@Override
public final boolean shouldOverrideUrlLoading(WebView webView, String str) {
return a(webView.getContext(), Uri.parse(str));
}
}
public i0(Context context) {
super(context);
this.f4710t = new g();
ViewGroup viewGroup = (ViewGroup) ((LayoutInflater) getContext().getSystemService("layout_inflater")).inflate(R.layout.wonderpush_android_sdk_error_layout, (ViewGroup) this, false);
this.f4707q = viewGroup;
if (viewGroup != null) {
Button button = (Button) viewGroup.findViewById(R.id.wonderpush_retry_button);
if (button != null) {
button.setOnClickListener(new t0(this));
}
Button button2 = (Button) this.f4707q.findViewById(R.id.wonderpush_cancel_button);
if (button2 != null) {
button2.setOnClickListener(new u0(this));
}
this.f4708r = (TextView) this.f4707q.findViewById(R.id.wonderpush_error_message_view);
addView(this.f4707q);
}
this.f4711u = new ImageButton(getContext());
Context context2 = getContext();
Object obj = z.a.f14679a;
Drawable b10 = a.c.b(context2, R.drawable.wonderpush_close_button);
FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(-2, -2, 8388661);
layoutParams.setMargins(0, 0, 0, 0);
this.f4711u.setLayoutParams(layoutParams);
this.f4711u.setImageDrawable(b10);
this.f4711u.setBackground(null);
this.f4711u.setPadding(0, 0, 0, 0);
this.f4711u.setOnClickListener(new v0(this));
addView(this.f4711u);
this.v = true;
sa.j jVar = new sa.j(getContext());
this.f4706p = jVar;
jVar.setLayoutParams(new ViewGroup.LayoutParams(-2, -2));
this.f4706p.setWebViewClient(new h());
this.f4706p.setWebChromeClient(new w0());
this.f4706p.setBackgroundColor(0);
this.f4706p.getSettings().setSupportZoom(false);
this.f4706p.getSettings().setUseWideViewPort(false);
this.f4706p.getSettings().setJavaScriptEnabled(true);
this.f4706p.getSettings().setDomStorageEnabled(true);
this.f4706p.getSettings().setDatabaseEnabled(true);
int[] iArr = {android.R.attr.textSize, android.R.attr.textColorPrimary};
AlertDialog create = new AlertDialog.Builder(getContext()).create();
TypedArray obtainStyledAttributes = create.getContext().obtainStyledAttributes(null, iArr, android.R.attr.textAppearanceMedium, android.R.style.TextAppearance.Medium);
create.dismiss();
int color = obtainStyledAttributes.getColor(1, 0);
if (color != 0) {
this.f4713y = String.format("#%06X", Integer.valueOf(color & 16777215));
}
int dimensionPixelSize = obtainStyledAttributes.getDimensionPixelSize(0, Math.round((getContext().getResources().getDisplayMetrics().scaledDensity * 36.0f) / getContext().getResources().getDisplayMetrics().density));
obtainStyledAttributes.recycle();
this.f4706p.getSettings().setMinimumLogicalFontSize(Math.round(dimensionPixelSize / getContext().getResources().getDisplayMetrics().density));
addView(this.f4706p);
ProgressBar progressBar = new ProgressBar(getContext(), null, android.R.attr.progressBarStyleLarge);
this.f4709s = progressBar;
progressBar.setLayoutParams(new FrameLayout.LayoutParams(-2, -2, 17));
int round = Math.round(TypedValue.applyDimension(1, 15.0f, getResources().getDisplayMetrics()));
this.f4709s.setPadding(round, round, round, round);
addView(this.f4709s);
b bVar = new b();
e eVar = this.f4712w;
if (eVar != null) {
eVar.b();
}
this.f4712w = bVar;
bVar.a();
requestLayout();
}
public static void a(i0 i0Var, e eVar) {
e eVar2 = i0Var.f4712w;
if (eVar2 != null) {
eVar2.b();
}
i0Var.f4712w = eVar;
eVar.a();
i0Var.requestLayout();
}
public final void b() {
d dVar = this.f4705o;
if (dVar != null) {
((j.b) dVar).f4777a.f4616e.dismiss();
this.f4705o = null;
}
}
public final void c(String str, w.c cVar) {
if (str == null) {
x.x("null resource provided to WonderPushView");
return;
}
this.x = str;
if (cVar == null) {
cVar = new w.c();
}
e0.a(cVar);
Locale locale = Locale.getDefault();
Object[] objArr = new Object[2];
if (str.startsWith("/v1")) {
str = str.substring(3);
}
objArr[0] = x.f4870m.replaceFirst("https:", "http:") + str;
objArr[1] = cVar.g();
this.f4706p.loadUrl(String.format(locale, "%s?%s", objArr));
}
@Override
public final void onDetachedFromWindow() {
super.onDetachedFromWindow();
this.f4706p.destroy();
}
}