MyWebViewClient.smali
.class public Lcom/sandboxol/center/view/activity/webview/config/MyWebViewClient;
.super Landroid/webkit/WebViewClient;
.source "MyWebViewClient.java"
# instance fields
.field private mActivity:Lcom/sandboxol/center/view/activity/webview/WebViewActivity;
.field private mIWebPageView:Lcom/sandboxol/center/view/activity/webview/config/IWebPageView;
# direct methods
.method public constructor <init>(Lcom/sandboxol/center/view/activity/webview/config/IWebPageView;)V
.registers 2
.line 1
invoke-direct {p0}, Landroid/webkit/WebViewClient;-><init>()V
.line 2
iput-object p1, p0, Lcom/sandboxol/center/view/activity/webview/config/MyWebViewClient;->mIWebPageView:Lcom/sandboxol/center/view/activity/webview/config/IWebPageView;
.line 3
check-cast p1, Lcom/sandboxol/center/view/activity/webview/WebViewActivity;
iput-object p1, p0, Lcom/sandboxol/center/view/activity/webview/config/MyWebViewClient;->mActivity:Lcom/sandboxol/center/view/activity/webview/WebViewActivity;
return-void
.end method
.method private handleOtherwise(Landroid/app/Activity;Ljava/lang/String;)V
.registers 4
const-string v0, "alipays"
.line 1
invoke-virtual {p2, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_b
const-string v0, "com.eg.android.AlipayGphone"
goto :goto_26
:cond_b
const-string v0, "weixin://wap/pay"
.line 2
invoke-virtual {p2, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_16
const-string v0, "com.tencent.mm"
goto :goto_26
:cond_16
const-string v0, "openapp.jdmobile"
.line 3
invoke-virtual {p2, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_21
const-string v0, "com.jingdong.app.mall"
goto :goto_26
.line 4
:cond_21
invoke-direct {p0, p2}, Lcom/sandboxol/center/view/activity/webview/config/MyWebViewClient;->startActivity(Ljava/lang/String;)V
const-string v0, ""
.line 5
:goto_26
invoke-static {p1, v0}, Lcom/sandboxol/center/view/activity/webview/utils/Tools;->isApplicationAvilible(Landroid/content/Context;Ljava/lang/String;)Z
move-result p1
if-eqz p1, :cond_2f
.line 6
invoke-direct {p0, p2}, Lcom/sandboxol/center/view/activity/webview/config/MyWebViewClient;->startActivity(Ljava/lang/String;)V
:cond_2f
return-void
.end method
.method private startActivity(Ljava/lang/String;)V
.registers 6
:try_start_0
const-string v0, "will://"
.line 1
invoke-virtual {p1, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_40
.line 2
invoke-static {p1}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri;
move-result-object v0
const-string v1, "---------scheme"
.line 3
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v0}, Landroid/net/Uri;->getScheme()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v3, "\uff1bhost: "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Landroid/net/Uri;->getHost()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v3, "\uff1bId: "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Landroid/net/Uri;->getPathSegments()Ljava/util/List;
move-result-object v0
const/4 v3, 0x0
invoke-interface {v0, v3}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 4
:cond_40
new-instance v0, Landroid/content/Intent;
invoke-direct {v0}, Landroid/content/Intent;-><init>()V
const-string v1, "android.intent.action.VIEW"
.line 5
invoke-virtual {v0, v1}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent;
.line 6
invoke-static {p1}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri;
move-result-object p1
.line 7
invoke-virtual {v0, p1}, Landroid/content/Intent;->setData(Landroid/net/Uri;)Landroid/content/Intent;
const/high16 p1, 0x10000000
.line 8
invoke-virtual {v0, p1}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent;
.line 9
iget-object p1, p0, Lcom/sandboxol/center/view/activity/webview/config/MyWebViewClient;->mActivity:Lcom/sandboxol/center/view/activity/webview/WebViewActivity;
invoke-virtual {p1, v0}, Landroid/app/Activity;->startActivity(Landroid/content/Intent;)V
:try_end_5b
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_5b} :catch_5c
goto :goto_60
:catch_5c
move-exception p1
.line 10
invoke-virtual {p1}, Ljava/lang/Exception;->printStackTrace()V
:goto_60
return-void
.end method
# virtual methods
.method public onPageFinished(Landroid/webkit/WebView;Ljava/lang/String;)V
.registers 4
.line 1
iget-object v0, p0, Lcom/sandboxol/center/view/activity/webview/config/MyWebViewClient;->mActivity:Lcom/sandboxol/center/view/activity/webview/WebViewActivity;
invoke-static {v0}, Lcom/sandboxol/center/view/activity/webview/utils/CheckNetwork;->isNetworkConnected(Landroid/content/Context;)Z
move-result v0
if-nez v0, :cond_d
.line 2
iget-object v0, p0, Lcom/sandboxol/center/view/activity/webview/config/MyWebViewClient;->mIWebPageView:Lcom/sandboxol/center/view/activity/webview/config/IWebPageView;
invoke-interface {v0}, Lcom/sandboxol/center/view/activity/webview/config/IWebPageView;->hindProgressBar()V
.line 3
:cond_d
iget-object v0, p0, Lcom/sandboxol/center/view/activity/webview/config/MyWebViewClient;->mIWebPageView:Lcom/sandboxol/center/view/activity/webview/config/IWebPageView;
invoke-interface {v0}, Lcom/sandboxol/center/view/activity/webview/config/IWebPageView;->addImageClickListener()V
.line 4
invoke-super {p0, p1, p2}, Landroid/webkit/WebViewClient;->onPageFinished(Landroid/webkit/WebView;Ljava/lang/String;)V
return-void
.end method
.method public onReceivedError(Landroid/webkit/WebView;ILjava/lang/String;Ljava/lang/String;)V
.registers 5
.line 1
invoke-super {p0, p1, p2, p3, p4}, Landroid/webkit/WebViewClient;->onReceivedError(Landroid/webkit/WebView;ILjava/lang/String;Ljava/lang/String;)V
const/16 p3, 0x194
if-ne p2, p3, :cond_22
.line 2
new-instance p2, Ljava/lang/StringBuilder;
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
const-string p3, "javascript:document.body.innerHTML=\""
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p3, "Page NO FOUND\uff01"
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p3, "\""
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-virtual {p1, p2}, Landroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
:cond_22
return-void
.end method
.method public onScaleChanged(Landroid/webkit/WebView;FF)V
.registers 6
.line 1
invoke-super {p0, p1, p2, p3}, Landroid/webkit/WebViewClient;->onScaleChanged(Landroid/webkit/WebView;FF)V
sub-float v0, p3, p2
const/high16 v1, 0x40e00000 # 7.0f
cmpl-float v0, v0, v1
if-lez v0, :cond_14
div-float/2addr p2, p3
const/high16 p3, 0x42c80000 # 100.0f
mul-float p2, p2, p3
float-to-int p2, p2
.line 2
invoke-virtual {p1, p2}, Landroid/webkit/WebView;->setInitialScale(I)V
:cond_14
return-void
.end method
.method public shouldOverrideUrlLoading(Landroid/webkit/WebView;Ljava/lang/String;)Z
.registers 5
.line 1
invoke-static {p2}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result p1
const/4 v0, 0x0
if-eqz p1, :cond_8
return v0
:cond_8
const-string p1, "http:"
.line 2
invoke-virtual {p2, p1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result p1
const/4 v1, 0x1
if-nez p1, :cond_20
const-string p1, "https:"
invoke-virtual {p2, p1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result p1
if-eqz p1, :cond_1a
goto :goto_20
.line 3
:cond_1a
iget-object p1, p0, Lcom/sandboxol/center/view/activity/webview/config/MyWebViewClient;->mActivity:Lcom/sandboxol/center/view/activity/webview/WebViewActivity;
invoke-direct {p0, p1, p2}, Lcom/sandboxol/center/view/activity/webview/config/MyWebViewClient;->handleOtherwise(Landroid/app/Activity;Ljava/lang/String;)V
return v1
:cond_20
:goto_20
const-string p1, ".apk"
.line 4
invoke-virtual {p2, p1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result p1
if-eqz p1, :cond_2e
.line 5
iget-object p1, p0, Lcom/sandboxol/center/view/activity/webview/config/MyWebViewClient;->mActivity:Lcom/sandboxol/center/view/activity/webview/WebViewActivity;
invoke-direct {p0, p1, p2}, Lcom/sandboxol/center/view/activity/webview/config/MyWebViewClient;->handleOtherwise(Landroid/app/Activity;Ljava/lang/String;)V
return v1
:cond_2e
return v0
.end method