Picsart v24.6版本的 MD5 值为:21a61631d94e54da68d2ad9268b8b9d9

以下内容为反编译后的 WebViewActivity.java 源代码,内容仅作参考


package com.picsart.studio.picsart.profile.activity;

import android.annotation.SuppressLint;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.content.res.Resources;
import android.graphics.Point;
import android.graphics.Rect;
import android.net.Uri;
import android.net.http.SslError;
import android.os.Build;
import android.os.Bundle;
import android.provider.MediaStore;
import android.text.TextUtils;
import android.util.DisplayMetrics;
import android.view.Display;
import android.view.KeyEvent;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.webkit.SslErrorHandler;
import android.webkit.ValueCallback;
import android.webkit.WebResourceError;
import android.webkit.WebResourceRequest;
import android.webkit.WebResourceResponse;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Toast;
import androidx.browser.customtabs.CustomTabsService;
import com.amazon.device.ads.DtbConstants;
import com.appsflyer.internal.h;
import com.facebook.datasource.f;
import com.picsart.logger.PALog;
import com.picsart.studio.R;
import com.picsart.studio.common.crash.CrashWrapper;
import com.picsart.studio.profile.view.ProfileActivity;
import com.picsart.user.userstate.UserStateSingleton;
import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import kotlin.jvm.internal.Intrinsics;
import myobfuscated.c42.q;
import myobfuscated.jl1.d;
import myobfuscated.l02.e0;
import myobfuscated.w.f;
public class WebViewActivity extends d {
    public static final int e = 0;
    public WebView a;
    public ValueCallback<Uri[]> b;
    public String[] c;
    public boolean d = false;

    public class a extends WebViewClient {
        public final String a;

        public a(String str) {
            this.a = str;
        }

        public final void a(String str) {
            Intent intent = new Intent("android.intent.action.VIEW", Uri.parse(str));
            WebViewActivity webViewActivity = WebViewActivity.this;
            if (intent.resolveActivity(webViewActivity.getPackageManager()) != null) {
                webViewActivity.startActivity(intent);
            } else {
                f.t(new IllegalArgumentException(h.p("no Activity associated with: ", str)));
            }
        }

        @Override
        public final void onPageFinished(WebView webView, String str) {
            super.onPageFinished(webView, str);
            if (str.equals(this.a)) {
                webView.setVisibility(0);
            }
            int i = WebViewActivity.e;
            WebViewActivity.this.getClass();
            throw null;
        }

        @Override
        public final void onReceivedError(WebView webView, WebResourceRequest webResourceRequest, WebResourceError webResourceError) {
            super.onReceivedError(webView, webResourceRequest, webResourceError);
            int i = WebViewActivity.e;
            WebViewActivity.this.getClass();
            throw null;
        }

        @Override
        public final void onReceivedHttpError(WebView webView, WebResourceRequest webResourceRequest, WebResourceResponse webResourceResponse) {
            super.onReceivedHttpError(webView, webResourceRequest, webResourceResponse);
            int i = WebViewActivity.e;
            WebViewActivity.this.getClass();
            throw null;
        }

        @Override
        public final void onReceivedSslError(WebView webView, SslErrorHandler sslErrorHandler, SslError sslError) {
            super.onReceivedSslError(webView, sslErrorHandler, sslError);
            int i = WebViewActivity.e;
            WebViewActivity.this.getClass();
            throw null;
        }

        @Override
        @SuppressLint({"DefaultLocale"})
        public final boolean shouldOverrideUrlLoading(WebView webView, String str) {
            String stringExtra;
            PALog.a("WebViewActivity", "shouldOverrideUrlLoading: url= " + str);
            HashMap hashMap = new HashMap();
            hashMap.put("Url", str);
            StringBuilder sb = new StringBuilder("");
            WebViewActivity webViewActivity = WebViewActivity.this;
            sb.append(webViewActivity.d);
            hashMap.put("isFromHook", sb.toString());
            CrashWrapper.c("WebViewActivity: shouldOverrideUrlLoading()", hashMap);
            String lowerCase = str.toLowerCase();
            if (lowerCase.contains("picsart.com/i/".toLowerCase())) {
                String substring = str.substring(lowerCase.lastIndexOf("picsart.com/i/".toLowerCase()) + 14, lowerCase.length());
                if (!TextUtils.isEmpty(substring) && TextUtils.isDigitsOnly(substring)) {
                    long parseLong = Long.parseLong(substring);
                    Intent intent = new Intent(webViewActivity, GalleryItemShowActivity.class);
                    intent.putExtra("item_id", parseLong);
                    webViewActivity.startActivity(intent);
                    return true;
                }
            } else if (lowerCase.contains("picsart.com/#".toLowerCase())) {
                String substring2 = str.substring(lowerCase.lastIndexOf("picsart.com/#".toLowerCase()) + 13, lowerCase.length());
                if (!TextUtils.isEmpty(substring2) && TextUtils.isDigitsOnly(substring2)) {
                    long parseLong2 = Long.parseLong(substring2);
                    Intent intent2 = new Intent(webViewActivity, ProfileActivity.class);
                    intent2.putExtra("profileUserId", parseLong2);
                    webViewActivity.startActivity(intent2);
                    return true;
                }
            } else {
                String str2 = this.a;
                if (!str2.startsWith("https://picsart.com/challenges/create?app=1")) {
                    if (lowerCase.contains("popsockets")) {
                        return false;
                    }
                    if (!lowerCase.startsWith("picsart://")) {
                        if (!lowerCase.contains("picsart") && !webViewActivity.d) {
                            List<String> list = myobfuscated.d42.h.a;
                            if (!lowerCase.contains("research.net")) {
                                if (!lowerCase.contains("surveymonkey.com")) {
                                }
                            }
                        }
                        if (lowerCase.equals("https://picsart.com/sign-in")) {
                            a(str);
                            webViewActivity.finish();
                            return true;
                        } else if (lowerCase.startsWith("intent://")) {
                            try {
                                Intent parseUri = Intent.parseUri(str, 1);
                                if (parseUri == null || (stringExtra = parseUri.getStringExtra("browser_fallback_url")) == null) {
                                    return false;
                                }
                                if (stringExtra.startsWith("market://")) {
                                    stringExtra = stringExtra.replace("market://", "https://play.google.com/store/apps/");
                                }
                                webViewActivity.a.loadUrl(stringExtra);
                                return true;
                            } catch (URISyntaxException e) {
                                e.printStackTrace();
                            }
                        }
                    }
                    a(str);
                    webViewActivity.finish();
                    return true;
                } else if (!str2.substring(str2.indexOf("//") + 2, str2.length()).equals(lowerCase.substring(lowerCase.indexOf("//") + 2, lowerCase.length()))) {
                    webViewActivity.setResult(-1);
                    webViewActivity.finish();
                    return true;
                }
            }
            return false;
        }
    }

    public static void L(WebViewActivity webViewActivity) {
        webViewActivity.getClass();
        Intent intent = new Intent("android.intent.action.PICK");
        String[] strArr = webViewActivity.c;
        if (strArr != null) {
            intent.putExtra("android.intent.extra.MIME_TYPES", strArr);
        } else {
            intent.setType("image/*");
        }
        intent.setData(MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
        webViewActivity.startActivityForResult(intent, 123);
    }

    @Override
    public final void onActivityResult(int i, int i2, Intent intent) {
        super.onActivityResult(i, i2, intent);
        if (i != 123 || this.b == null) {
            return;
        }
        this.b.onReceiveValue((i2 != -1 || intent == null) ? null : new Uri[]{Uri.parse(intent.getDataString())});
        this.b = null;
    }

    @Override
    public final void onCreate(Bundle bundle) {
        super.onCreate(bundle);
        myobfuscated.xl1.c cVar = myobfuscated.xl1.c.a;
        WebView.setWebContentsDebuggingEnabled(myobfuscated.xl1.c.b);
        boolean z = true;
        try {
            setContentView(R.layout.web_view_layout);
            androidx.appcompat.app.a supportActionBar = getSupportActionBar();
            if (supportActionBar != null) {
                supportActionBar.o(true);
            }
            setTitle(R.string.app_name);
            String str = null;
            String stringExtra = (getIntent() == null || !getIntent().hasExtra("url")) ? null : getIntent().getStringExtra("url");
            if (TextUtils.isEmpty(stringExtra)) {
                Toast.makeText(this, f.b ? "URL is empty" : getString(R.string.something_went_wrong), 0).show();
                finish();
                return;
            }
            if (!TextUtils.isEmpty(stringExtra)) {
                UserStateSingleton userStateSingleton = UserStateSingleton.a;
                if (userStateSingleton.a().b() && stringExtra.startsWith("https://picsart.com") && !stringExtra.contains("key=")) {
                    stringExtra = Uri.parse(stringExtra).buildUpon().appendQueryParameter("key", userStateSingleton.a().getUser().getKey()).build().toString();
                }
            }
            if (!TextUtils.isEmpty(stringExtra) && stringExtra.contains("bumble.com")) {
                myobfuscated.d42.h.d(this, stringExtra);
                finish();
                return;
            }
            boolean z2 = getIntent() != null && getIntent().hasExtra("is_from_hook") && getIntent().getBooleanExtra("is_from_hook", false);
            this.d = z2;
            if ((z2 && !TextUtils.isEmpty(stringExtra)) || stringExtra.contains("picsart.com")) {
                stringExtra = Uri.parse(stringExtra).buildUpon().appendQueryParameter("app", "1").build().toString();
            }
            PackageManager packageManager = getPackageManager();
            Intent intent = new Intent("android.intent.action.VIEW", Uri.parse("https://picsart.com"));
            ResolveInfo resolveActivity = packageManager.resolveActivity(intent, 0);
            String str2 = resolveActivity != null ? resolveActivity.activityInfo.packageName : null;
            List<ResolveInfo> queryIntentActivities = packageManager.queryIntentActivities(intent, 0);
            ArrayList arrayList = new ArrayList();
            for (ResolveInfo resolveInfo : queryIntentActivities) {
                Intent intent2 = new Intent();
                intent2.setAction(CustomTabsService.ACTION_CUSTOM_TABS_CONNECTION);
                intent2.setPackage(resolveInfo.activityInfo.packageName);
                if (packageManager.resolveService(intent2, 0) != null) {
                    arrayList.add(resolveInfo.activityInfo.packageName);
                }
            }
            if (!arrayList.isEmpty()) {
                if (!TextUtils.isEmpty(str2)) {
                    try {
                        List<ResolveInfo> queryIntentActivities2 = getPackageManager().queryIntentActivities(intent, 64);
                        if (queryIntentActivities2.size() != 0) {
                            for (ResolveInfo resolveInfo2 : queryIntentActivities2) {
                                IntentFilter intentFilter = resolveInfo2.filter;
                                if (intentFilter != null && intentFilter.countDataAuthorities() != 0 && intentFilter.countDataPaths() != 0 && resolveInfo2.activityInfo != null) {
                                    break;
                                }
                            }
                        }
                    } catch (RuntimeException unused) {
                        PALog.a("WebViewActivity", "Runtime exception while getting specialized handlers");
                    }
                    if (arrayList.contains(str2)) {
                        str = str2;
                    }
                }
                str = (String) arrayList.get(0);
            }
            if (str != null) {
                myobfuscated.w.f a2 = new f.b().a();
                Intent intent3 = a2.a;
                intent3.setFlags(268435456);
                intent3.setPackage(str);
                a2.a(getApplicationContext(), Uri.parse(stringExtra));
                finish();
                return;
            }
            WebView webView = (WebView) findViewById(R.id.web_view_id);
            this.a = webView;
            webView.getSettings().setJavaScriptEnabled(true);
            this.a.getSettings().setAllowFileAccess(true);
            this.a.getSettings().setDomStorageEnabled(true);
            this.a.setFocusable(true);
            this.a.requestFocus();
            this.a.setWebViewClient(new a(stringExtra));
            this.a.setWebChromeClient(new c(this));
        } catch (Exception e2) {
            StringBuilder sb = new StringBuilder("WebViewActivity  isEmulator: ");
            String str3 = Build.FINGERPRINT;
            String str4 = Build.MANUFACTURER;
            if ((str3 == null || !str3.contains("generic")) && (str4 == null || !str4.contains("Genymotion"))) {
                z = false;
            }
            sb.append(z);
            sb.append(", WebViewInfo: ");
            Intrinsics.checkNotNullParameter(this, "activity");
            sb.append(com.appsflyer.internal.c.n(q.a(this, "com.google.android.webview"), ", ") + q.a(this, "com.android.webview"));
            PALog.h(new IllegalStateException(sb.toString(), e2));
            finish();
        }
    }

    @Override
    public final boolean onKeyDown(int i, KeyEvent keyEvent) {
        if (keyEvent.getAction() == 0) {
            if (i != 4) {
                if (i == 24 || i == 25) {
                    throw null;
                }
                return true;
            }
            WebView webView = this.a;
            if (webView == null || !webView.canGoBack()) {
                finish();
                return true;
            }
            this.a.goBack();
            return true;
        }
        return super.onKeyDown(i, keyEvent);
    }

    @Override
    public final boolean onOptionsItemSelected(MenuItem menuItem) {
        Resources resources;
        int identifier;
        if (menuItem.getItemId() == 16908332) {
            if (!isFinishing()) {
                int i = 0;
                View childAt = ((ViewGroup) findViewById(16908290)).getChildAt(0);
                Rect rect = new Rect();
                childAt.getWindowVisibleDisplayFrame(rect);
                int i2 = getResources().getDisplayMetrics().heightPixels - rect.bottom;
                Rect rect2 = new Rect();
                getWindow().getDecorView().getWindowVisibleDisplayFrame(rect2);
                if (rect2.top != 0 && (identifier = (resources = getResources()).getIdentifier("status_bar_height", "dimen", DtbConstants.NATIVE_OS_NAME)) > 0) {
                    i = resources.getDimensionPixelSize(identifier);
                }
                Display defaultDisplay = ((WindowManager) getApplicationContext().getSystemService("window")).getDefaultDisplay();
                DisplayMetrics displayMetrics = new DisplayMetrics();
                defaultDisplay.getRealMetrics(displayMetrics);
                if (i2 + i > new Point(displayMetrics.widthPixels, displayMetrics.heightPixels).y * 0.15f) {
                    e0.a(this);
                }
            }
            finish();
            return true;
        }
        return true;
    }

    @Override
    public final void onPause() {
        super.onPause();
        WebView webView = this.a;
        if (webView != null) {
            webView.onPause();
        }
    }

    @Override
    public final void onRestoreInstanceState(Bundle bundle) {
        super.onRestoreInstanceState(bundle);
        WebView webView = this.a;
        if (webView != null) {
            webView.restoreState(bundle);
        }
    }

    @Override
    public final void onResume() {
        super.onResume();
        WebView webView = this.a;
        if (webView != null) {
            webView.onResume();
        }
    }

    @Override
    public final void onSaveInstanceState(Bundle bundle) {
        super.onSaveInstanceState(bundle);
        WebView webView = this.a;
        if (webView != null) {
            webView.saveState(bundle);
        }
    }
}