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();
    }
}