正在查看: Online Loans v421.2.42 应用的 WebViewActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: Online Loans v421.2.42 应用的 WebViewActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package org.infobip.mobile.messaging.view;
import android.annotation.SuppressLint;
import android.content.ActivityNotFoundException;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.content.res.Resources;
import android.graphics.PorterDuff;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.util.TypedValue;
import android.view.Menu;
import android.view.MenuItem;
import android.webkit.WebResourceRequest;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;
import android.widget.TextView;
import androidx.appcompat.widget.Toolbar;
import h.i;
import i.c;
import java.net.URISyntaxException;
import java.util.Iterator;
import org.infobip.mobile.messaging.MobileMessagingCore;
import org.infobip.mobile.messaging.NotificationSettings;
import org.infobip.mobile.messaging.R;
import org.infobip.mobile.messaging.app.WebViewSettingsResolver;
import org.infobip.mobile.messaging.logging.MobileMessagingLogger;
import org.infobip.mobile.messaging.util.StringUtils;
public class WebViewActivity extends c {
public static final String EXTRA_URL = "ib_webview_url";
public ProgressBar a;
public WebView b;
public class a extends WebViewClient {
public final TextView a;
public a(TextView textView) {
this.a = textView;
}
@Override
public void onPageFinished(WebView webView, String str) {
try {
WebViewActivity.this.a.setVisibility(8);
this.a.setText(webView.getTitle());
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public boolean shouldOverrideUrlLoading(WebView webView, WebResourceRequest webResourceRequest) {
return WebViewActivity.this.y(webResourceRequest.getUrl().toString());
}
@Override
public boolean shouldOverrideUrlLoading(WebView webView, String str) {
return WebViewActivity.this.y(str);
}
}
public static boolean canOpenURLWithOtherApp(String str, Context context) {
Uri parse = Uri.parse(str);
if (parse == null) {
return false;
}
Intent intent = new Intent("android.intent.action.VIEW", parse);
if (Build.VERSION.SDK_INT > 29) {
intent.addFlags(337642496);
try {
context.startActivity(intent);
return true;
} catch (ActivityNotFoundException unused) {
MobileMessagingLogger.d("Browser is the default app for this intent, URL will be opened in webView");
return false;
}
}
Iterator<ResolveInfo> it = context.getPackageManager().queryIntentActivities(intent, 0).iterator();
if (!it.hasNext()) {
return false;
}
ResolveInfo next = it.next();
ActivityInfo activityInfo = next.activityInfo;
ComponentName componentName = new ComponentName(activityInfo.applicationInfo.packageName, activityInfo.name);
if (next.activityInfo.applicationInfo.packageName.equals("com.android.chrome")) {
return false;
}
intent.addFlags(337641472);
intent.setComponent(componentName);
context.startActivity(intent);
return true;
}
private void goBack() {
NotificationSettings notificationSettings;
Class<?> callbackActivity;
if (isTaskRoot() && (notificationSettings = MobileMessagingCore.getInstance((Context) this).getNotificationSettings()) != null && (callbackActivity = notificationSettings.getCallbackActivity()) != null) {
startActivity(new Intent((Context) this, callbackActivity));
}
super/*androidx.activity.h*/.onBackPressed();
}
public void onBackPressed() {
if (this.b.canGoBack()) {
this.b.goBack();
} else {
goBack();
}
}
@SuppressLint({"SetJavaScriptEnabled"})
public void onCreate(Bundle bundle) {
setTheme(new WebViewSettingsResolver(this).getWebViewTheme());
super/*androidx.fragment.app.t*/.onCreate(bundle);
setContentView(R.layout.ib_activity_webview);
Toolbar findViewById = findViewById(R.id.ib_toolbar_webview);
setSupportActionBar(findViewById);
i.a supportActionBar = getSupportActionBar();
if (supportActionBar == null) {
onBackPressed();
return;
}
supportActionBar.v(false);
supportActionBar.w(false);
TextView textView = (TextView) findViewById.findViewById(R.id.ib_tv_webview_toolbar_title);
textView.setText(findViewById.getTitle());
x(findViewById, textView);
String stringExtra = getIntent().getStringExtra(EXTRA_URL);
WebView webView = (WebView) findViewById(R.id.ib_webview);
this.b = webView;
WebSettings settings = webView.getSettings();
settings.setBuiltInZoomControls(true);
settings.setJavaScriptEnabled(true);
this.b.setWebViewClient(new a(textView));
this.b.loadUrl(stringExtra);
}
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.ib_menu_webview, menu);
menu.findItem(R.id.ib_menu_cancel).setIcon(z(menu));
return true;
}
public boolean onOptionsItemSelected(MenuItem menuItem) {
if (menuItem.getItemId() != R.id.ib_menu_cancel) {
return true;
}
goBack();
this.b.freeMemory();
this.b.removeAllViews();
this.b.destroy();
return true;
}
public final void x(Toolbar toolbar, TextView textView) {
TypedValue typedValue = new TypedValue();
Resources.Theme theme = getTheme();
theme.resolveAttribute(h.a.v, typedValue, true);
toolbar.setBackgroundColor(typedValue.data);
textView.setTextAppearance(this, i.b);
theme.resolveAttribute(h.a.K, typedValue, true);
textView.setTextColor(typedValue.data);
this.a = (ProgressBar) findViewById(R.id.ib_pb_webview);
theme.resolveAttribute(h.a.w, typedValue, true);
try {
this.a.getIndeterminateDrawable().setColorFilter(typedValue.data, PorterDuff.Mode.SRC_IN);
} catch (Exception unused) {
}
}
public final boolean y(String str) {
if (StringUtils.isBlank(str)) {
return false;
}
PackageManager packageManager = getPackageManager();
if (str.startsWith("intent://")) {
try {
Intent parseUri = Intent.parseUri(str, 1);
if (parseUri.resolveActivity(packageManager) != null) {
startActivity(parseUri);
return true;
}
String stringExtra = parseUri.getStringExtra("browser_fallback_url");
if (stringExtra != null) {
this.b.loadUrl(stringExtra);
return true;
}
Intent data = new Intent("android.intent.action.VIEW").setData(Uri.parse("market://details?id=" + parseUri.getPackage()));
if (data.resolveActivity(packageManager) != null) {
startActivity(data);
return true;
}
Intent data2 = new Intent("android.intent.action.VIEW").setData(Uri.parse("appmarket://details?id=" + parseUri.getPackage()));
if (data2.resolveActivity(packageManager) != null) {
startActivity(data2);
return true;
}
} catch (URISyntaxException e) {
MobileMessagingLogger.w("Failed to resolve intent:// for web view URL " + str, e);
}
}
return canOpenURLWithOtherApp(str, this);
}
public final Drawable z(Menu menu) {
Drawable r = P.a.r(menu.findItem(R.id.ib_menu_cancel).getIcon());
TypedValue typedValue = new TypedValue();
getTheme().resolveAttribute(h.a.u, typedValue, true);
r.setColorFilter(typedValue.data, PorterDuff.Mode.SRC_IN);
return r;
}
}