正在查看: CallApp v2.226 应用的 AuthWebViewDialog.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: CallApp v2.226 应用的 AuthWebViewDialog.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.callapp.contacts.util.webview;
import a1.d0;
import android.app.Activity;
import android.content.DialogInterface;
import android.net.Uri;
import android.os.Message;
import android.util.Pair;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.RenderProcessGoneDetail;
import android.webkit.ValueCallback;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;
import androidx.fragment.app.n;
import com.callapp.contacts.R;
import com.callapp.contacts.api.helper.common.LoginListener;
import com.callapp.contacts.api.helper.gmail.GmailManager;
import com.callapp.contacts.api.helper.twitter.TwitterHelper;
import com.callapp.contacts.manager.task.Task;
import com.callapp.contacts.util.CLog;
import com.callapp.contacts.util.webview.BaseWebViewDialog;
import com.callapp.framework.util.StringUtils;
public class AuthWebViewDialog extends BaseWebViewDialog {
public static final int h = 0;
public final Activity g;
public class MultiWindowWebChromeClient extends BaseWebViewDialog.SingleWindowWebChromeClient {
public MultiWindowWebChromeClient(ProgressBar progressBar) {
super(progressBar);
}
@Override
public final void onCloseWindow(WebView webView) {
((ViewGroup) webView.getParent()).removeView(webView);
}
@Override
public final boolean onCreateWindow(WebView webView, boolean z, boolean z2, Message message) {
AuthWebViewDialog authWebViewDialog = AuthWebViewDialog.this;
WebView webView2 = new WebView(authWebViewDialog.g);
webView2.getSettings().setJavaScriptEnabled(true);
webView2.setWebChromeClient(this);
webView2.setWebViewClient(authWebViewDialog.getWebViewClient());
((ViewGroup) webView.getParent()).addView(webView2);
((WebView.WebViewTransport) message.obj).setWebView(webView2);
message.sendToTarget();
return true;
}
}
public class OAuthWebViewClient extends WebViewClient {
public OAuthWebViewClient(AuthWebViewDialog authWebViewDialog, int i) {
this();
}
@Override
public final void onPageFinished(WebView webView, String str) {
super.onPageFinished(webView, str);
int i = AuthWebViewDialog.h;
char c = str.contains("https://api.twitter.com/oauth/authorize?") ? (char) 4 : (char) 65535;
String str2 = c != 6 ? c != '\t' ? "" : "id" : "username";
String gmailAccount = StringUtils.t("") ? GmailManager.get().getGmailAccount() : "";
if (StringUtils.x(gmailAccount) && StringUtils.x(str2) && StringUtils.x(gmailAccount)) {
try {
webView.evaluateJavascript(d0.s(n.t("try { var elem=document.getElementById('", str2, "'); if (!elem){elem=document.getElementsByName('", str2, "')[0];} if (elem){elem.value = '"), gmailAccount, "';} } catch(err) { }"), new ValueCallback<String>() {
@Override
public final void onReceiveValue(String str3) {
}
});
} catch (Exception e) {
CLog.k(WebViewUtils.class, e);
}
}
}
@Override
public final boolean onRenderProcessGone(WebView webView, RenderProcessGoneDetail renderProcessGoneDetail) {
super.onRenderProcessGone(webView, renderProcessGoneDetail);
if (webView == null) {
return true;
}
((ViewGroup) webView.getParent()).removeView(webView);
webView.destroy();
return true;
}
@Override
public final boolean shouldOverrideUrlLoading(WebView webView, String str) {
String str2;
TwitterHelper twitterHelper;
int i = AuthWebViewDialog.h;
if (str.contains("twitterauth.callapp.com")) {
str2 = Uri.parse(str).getQueryParameter("oauth_verifier");
twitterHelper = TwitterHelper.get();
} else {
str2 = null;
twitterHelper = null;
}
Pair pair = new Pair(twitterHelper, str2);
final LoginListener loginListener = (LoginListener) pair.first;
final String str3 = (String) pair.second;
boolean t = StringUtils.t(str3);
AuthWebViewDialog authWebViewDialog = AuthWebViewDialog.this;
if (t || loginListener == null) {
if (loginListener != null) {
new Task(this) {
@Override
public final void doTask() {
loginListener.a(str3);
}
}.execute();
authWebViewDialog.f = true;
authWebViewDialog.dismiss();
}
return false;
}
if (!StringUtils.x(str3)) {
webView.loadUrl(str);
return true;
}
new Task(this) {
@Override
public final void doTask() {
loginListener.a(str3);
}
}.execute();
authWebViewDialog.f = true;
authWebViewDialog.dismiss();
return false;
}
private OAuthWebViewClient() {
}
}
public AuthWebViewDialog(Activity activity, String str, DialogInterface.OnCancelListener onCancelListener, LoginListener loginListener) {
super(str, null, onCancelListener);
this.g = activity;
}
@Override
public WebViewClient getWebViewClient() {
return new OAuthWebViewClient(this, 0);
}
@Override
public final View onViewCreated(LayoutInflater layoutInflater, ViewGroup viewGroup) {
View onViewCreated = super.onViewCreated(layoutInflater, viewGroup);
this.a.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
this.a.getSettings().setSupportMultipleWindows(true);
this.a.setWebChromeClient(new MultiWindowWebChromeClient((ProgressBar) onViewCreated.findViewById(R.id.center_vertical_progressbar)));
return onViewCreated;
}
}