UnityWebViewProxy.smali
.class public Lcom/garena/unity/webview/UnityWebViewProxy;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/garena/unity/webview/IUnityWebViewProxy;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/garena/unity/webview/UnityWebViewProxy$_UnityWebViewClient;,
Lcom/garena/unity/webview/UnityWebViewProxy$_UnityWebChromeClient;,
Lcom/garena/unity/webview/UnityWebViewProxy$_WebViewJavaScriptHandler;
}
.end annotation
# static fields
.field public static volatile WebContentDebugging:Z
.field private static volatile _I:Lcom/garena/unity/webview/UnityWebViewProxy;
# instance fields
.field private _FrameLayout:Landroid/widget/FrameLayout;
.field private volatile _NextWebViewId:I
.field private _UnityMessenger:Lcom/garena/unity/webview/IUnityMessenger;
.field private _UnityPlayerActivity:Landroid/app/Activity;
.field private volatile _WebViewStatuses:Ljava/util/HashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/HashMap<",
"Ljava/lang/Integer;",
"Lcom/garena/unity/webview/WebViewStatus;",
">;"
}
.end annotation
.end field
.field private volatile _WebViews:Ljava/util/HashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/HashMap<",
"Ljava/lang/Integer;",
"Landroid/webkit/WebView;",
">;"
}
.end annotation
.end field
.field private _focus:Landroid/view/View;
.field private final gson:Lcom/google/gson/Gson;
# direct methods
.method static constructor <clinit>()V
.registers 0
return-void
.end method
.method private constructor <init>()V
.registers 2
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
new-instance v0, Lcom/google/gson/Gson;
invoke-direct {v0}, Lcom/google/gson/Gson;-><init>()V
iput-object v0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->gson:Lcom/google/gson/Gson;
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
iput-object v0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_WebViews:Ljava/util/HashMap;
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
iput-object v0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_WebViewStatuses:Ljava/util/HashMap;
const/4 v0, 0x0
iput v0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_NextWebViewId:I
return-void
.end method
.method public static declared-synchronized I()Lcom/garena/unity/webview/UnityWebViewProxy;
.registers 2
const-class v0, Lcom/garena/unity/webview/UnityWebViewProxy;
monitor-enter v0
:try_start_3
sget-object v1, Lcom/garena/unity/webview/UnityWebViewProxy;->_I:Lcom/garena/unity/webview/UnityWebViewProxy;
if-nez v1, :cond_e
new-instance v1, Lcom/garena/unity/webview/UnityWebViewProxy;
invoke-direct {v1}, Lcom/garena/unity/webview/UnityWebViewProxy;-><init>()V
sput-object v1, Lcom/garena/unity/webview/UnityWebViewProxy;->_I:Lcom/garena/unity/webview/UnityWebViewProxy;
:cond_e
sget-object v1, Lcom/garena/unity/webview/UnityWebViewProxy;->_I:Lcom/garena/unity/webview/UnityWebViewProxy;
:try_end_10
.catchall {:try_start_3 .. :try_end_10} :catchall_12
monitor-exit v0
return-object v1
:catchall_12
move-exception v1
monitor-exit v0
throw v1
.end method
.method private declared-synchronized NewWebViewId()I
.registers 2
monitor-enter p0
:try_start_1
iget v0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_NextWebViewId:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_NextWebViewId:I
iget v0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_NextWebViewId:I
:try_end_9
.catchall {:try_start_1 .. :try_end_9} :catchall_b
monitor-exit p0
return v0
:catchall_b
move-exception v0
monitor-exit p0
throw v0
.end method
.method private _clearCache()Ljava/lang/String;
.registers 3
:try_start_0
new-instance v0, Landroid/webkit/WebView;
iget-object v1, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_UnityPlayerActivity:Landroid/app/Activity;
invoke-direct {v0, v1}, Landroid/webkit/WebView;-><init>(Landroid/content/Context;)V
invoke-virtual {v0}, Landroid/webkit/WebView;->clearFormData()V
invoke-virtual {v0}, Landroid/webkit/WebView;->clearHistory()V
invoke-virtual {v0}, Landroid/webkit/WebView;->clearMatches()V
const/4 v1, 0x1
invoke-virtual {v0, v1}, Landroid/webkit/WebView;->clearCache(Z)V
invoke-virtual {v0}, Landroid/webkit/WebView;->destroy()V
const-string v0, ""
:try_end_19
.catchall {:try_start_0 .. :try_end_19} :catchall_1a
return-object v0
:catchall_1a
move-exception v0
const-string v1, "@clearCache()"
invoke-static {v1, v0}, Lcom/garena/unity/webview/WebViewManager;->Log(Ljava/lang/String;Ljava/lang/Throwable;)V
invoke-virtual {v0}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method private _clearCookies()V
.registers 4
invoke-static {}, Landroid/webkit/CookieManager;->getInstance()Landroid/webkit/CookieManager;
move-result-object v0
:try_start_4
sget v1, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v2, 0x15
if-lt v1, v2, :cond_15
const/4 v1, 0x0
invoke-static {v0, v1}, Lcom/garena/unity/webview/i;->a(Landroid/webkit/CookieManager;Landroid/webkit/ValueCallback;)V
invoke-static {v0, v1}, Lcom/garena/unity/webview/j;->a(Landroid/webkit/CookieManager;Landroid/webkit/ValueCallback;)V
invoke-static {v0}, Lcom/garena/unity/webview/k;->a(Landroid/webkit/CookieManager;)V
goto :goto_27
:cond_15
iget-object v1, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_UnityPlayerActivity:Landroid/app/Activity;
invoke-static {v1}, Landroid/webkit/CookieSyncManager;->createInstance(Landroid/content/Context;)Landroid/webkit/CookieSyncManager;
invoke-virtual {v0}, Landroid/webkit/CookieManager;->removeAllCookie()V
invoke-virtual {v0}, Landroid/webkit/CookieManager;->removeSessionCookie()V
invoke-static {}, Landroid/webkit/CookieSyncManager;->getInstance()Landroid/webkit/CookieSyncManager;
move-result-object v0
invoke-virtual {v0}, Landroid/webkit/CookieSyncManager;->sync()V
:try_end_27
.catchall {:try_start_4 .. :try_end_27} :catchall_27
:catchall_27
:goto_27
return-void
.end method
.method private _runJavaScript(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
.registers 8
invoke-virtual {p0, p1}, Lcom/garena/unity/webview/UnityWebViewProxy;->getWebView(I)Landroid/webkit/WebView;
move-result-object v0
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "@runJavaScript(): execute "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, ": "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {p0, p1, v1}, Lcom/garena/unity/webview/UnityWebViewProxy;->LogExtra(ILjava/lang/String;)V
if-nez v0, :cond_37
new-instance p2, Ljava/lang/StringBuilder;
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
const-string v0, "WebView is null: "
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p0, p1, p2, p3, p4}, Lcom/garena/unity/webview/UnityWebViewProxy;->sendJavaScriptErrorToUnity(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
return-void
:cond_37
:try_start_37
const-string v1, "?evaluateJavascript()"
invoke-virtual {p0, p1, v1}, Lcom/garena/unity/webview/UnityWebViewProxy;->LogExtra(ILjava/lang/String;)V
new-instance v1, Lcom/garena/unity/webview/UnityWebViewProxy$17;
invoke-direct {v1, p0, p3, p1, p4}, Lcom/garena/unity/webview/UnityWebViewProxy$17;-><init>(Lcom/garena/unity/webview/UnityWebViewProxy;Ljava/lang/String;ILjava/lang/String;)V
invoke-virtual {v0, p2, v1}, Landroid/webkit/WebView;->evaluateJavascript(Ljava/lang/String;Landroid/webkit/ValueCallback;)V
const-string p2, "!evaluateJavascript()"
invoke-virtual {p0, p1, p2}, Lcom/garena/unity/webview/UnityWebViewProxy;->LogExtra(ILjava/lang/String;)V
:try_end_49
.catchall {:try_start_37 .. :try_end_49} :catchall_4a
goto :goto_57
:catchall_4a
move-exception p2
const-string v0, "@evaluateJavascript()"
invoke-virtual {p0, p1, v0, p2}, Lcom/garena/unity/webview/UnityWebViewProxy;->LogExtra(ILjava/lang/String;Ljava/lang/Throwable;)V
invoke-virtual {p2}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;
move-result-object p2
invoke-direct {p0, p1, p2, p3, p4}, Lcom/garena/unity/webview/UnityWebViewProxy;->sendJavaScriptErrorToUnity(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
:goto_57
return-void
.end method
.method private _webStorage_DeleteAllData()V
.registers 2
:try_start_0
invoke-static {}, Landroid/webkit/WebStorage;->getInstance()Landroid/webkit/WebStorage;
move-result-object v0
invoke-virtual {v0}, Landroid/webkit/WebStorage;->deleteAllData()V
:try_end_7
.catchall {:try_start_0 .. :try_end_7} :catchall_7
:catchall_7
return-void
.end method
.method static synthetic access$000(Lcom/garena/unity/webview/UnityWebViewProxy;)Landroid/widget/FrameLayout;
.registers 1
iget-object p0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_FrameLayout:Landroid/widget/FrameLayout;
return-object p0
.end method
.method static synthetic access$002(Lcom/garena/unity/webview/UnityWebViewProxy;Landroid/widget/FrameLayout;)Landroid/widget/FrameLayout;
.registers 2
iput-object p1, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_FrameLayout:Landroid/widget/FrameLayout;
return-object p1
.end method
.method static synthetic access$100(Lcom/garena/unity/webview/UnityWebViewProxy;)Landroid/app/Activity;
.registers 1
iget-object p0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_UnityPlayerActivity:Landroid/app/Activity;
return-object p0
.end method
.method static synthetic access$1000(Lcom/garena/unity/webview/UnityWebViewProxy;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
.registers 5
invoke-direct {p0, p1, p2, p3, p4}, Lcom/garena/unity/webview/UnityWebViewProxy;->sendJavaScriptResultToUnity(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method static synthetic access$102(Lcom/garena/unity/webview/UnityWebViewProxy;Landroid/app/Activity;)Landroid/app/Activity;
.registers 2
iput-object p1, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_UnityPlayerActivity:Landroid/app/Activity;
return-object p1
.end method
.method static synthetic access$1100(Lcom/garena/unity/webview/UnityWebViewProxy;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
.registers 5
invoke-direct {p0, p1, p2, p3, p4}, Lcom/garena/unity/webview/UnityWebViewProxy;->sendJavaScriptErrorToUnity(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method static synthetic access$1200(Lcom/garena/unity/webview/UnityWebViewProxy;)V
.registers 1
invoke-direct {p0}, Lcom/garena/unity/webview/UnityWebViewProxy;->_clearCookies()V
return-void
.end method
.method static synthetic access$1300(Lcom/garena/unity/webview/UnityWebViewProxy;)Ljava/lang/String;
.registers 1
invoke-direct {p0}, Lcom/garena/unity/webview/UnityWebViewProxy;->_clearCache()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method static synthetic access$1400(Lcom/garena/unity/webview/UnityWebViewProxy;)V
.registers 1
invoke-direct {p0}, Lcom/garena/unity/webview/UnityWebViewProxy;->_webStorage_DeleteAllData()V
return-void
.end method
.method static synthetic access$200(Lcom/garena/unity/webview/UnityWebViewProxy;)Ljava/util/HashMap;
.registers 1
iget-object p0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_WebViews:Ljava/util/HashMap;
return-object p0
.end method
.method static synthetic access$300(Lcom/garena/unity/webview/UnityWebViewProxy;)Ljava/util/HashMap;
.registers 1
iget-object p0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_WebViewStatuses:Ljava/util/HashMap;
return-object p0
.end method
.method static synthetic access$402(Lcom/garena/unity/webview/UnityWebViewProxy;Lcom/garena/unity/webview/IUnityMessenger;)Lcom/garena/unity/webview/IUnityMessenger;
.registers 2
iput-object p1, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_UnityMessenger:Lcom/garena/unity/webview/IUnityMessenger;
return-object p1
.end method
.method static synthetic access$600(Lcom/garena/unity/webview/UnityWebViewProxy;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
.registers 5
invoke-direct {p0, p1, p2, p3, p4}, Lcom/garena/unity/webview/UnityWebViewProxy;->_runJavaScript(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method static synthetic access$702(Lcom/garena/unity/webview/UnityWebViewProxy;Landroid/view/View;)Landroid/view/View;
.registers 2
iput-object p1, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_focus:Landroid/view/View;
return-object p1
.end method
.method static synthetic access$800(Lcom/garena/unity/webview/UnityWebViewProxy;)Lcom/google/gson/Gson;
.registers 1
iget-object p0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->gson:Lcom/google/gson/Gson;
return-object p0
.end method
.method static synthetic access$900(Lcom/garena/unity/webview/UnityWebViewProxy;)V
.registers 1
invoke-direct {p0}, Lcom/garena/unity/webview/UnityWebViewProxy;->checkShouldRestoreFocus()V
return-void
.end method
.method private checkShouldRestoreFocus()V
.registers 8
iget-object v0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_WebViews:Ljava/util/HashMap;
invoke-virtual {v0}, Ljava/util/HashMap;->entrySet()Ljava/util/Set;
move-result-object v0
invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v0
const/4 v1, 0x1
const/4 v2, 0x1
const/4 v3, 0x1
:goto_d
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v4
if-eqz v4, :cond_39
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v4
check-cast v4, Ljava/util/Map$Entry;
invoke-interface {v4}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v5
const/4 v6, 0x0
if-nez v5, :cond_22
const/4 v5, 0x1
goto :goto_23
:cond_22
const/4 v5, 0x0
:goto_23
and-int/2addr v2, v5
invoke-interface {v4}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v5
if-eqz v5, :cond_36
invoke-interface {v4}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v4
check-cast v4, Landroid/webkit/WebView;
invoke-virtual {v4}, Landroid/view/View;->getVisibility()I
move-result v4
if-eqz v4, :cond_37
:cond_36
const/4 v6, 0x1
:cond_37
and-int/2addr v3, v6
goto :goto_d
:cond_39
if-eqz v2, :cond_43
iget-object v0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_FrameLayout:Landroid/widget/FrameLayout;
if-eqz v0, :cond_43
const/4 v1, 0x4
invoke-virtual {v0, v1}, Landroid/view/View;->setVisibility(I)V
:cond_43
if-eqz v3, :cond_4c
iget-object v0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_focus:Landroid/view/View;
if-eqz v0, :cond_4c
invoke-virtual {v0}, Landroid/view/View;->requestFocus()Z
:cond_4c
return-void
.end method
.method private sendJavaScriptErrorToUnity(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
.registers 7
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "@sendJavaScriptErrorToUnity: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-virtual {p0, p1, v0}, Lcom/garena/unity/webview/UnityWebViewProxy;->LogExtra(ILjava/lang/String;)V
iget-object v0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->gson:Lcom/google/gson/Gson;
invoke-static {p2, p3, p4}, Lcom/garena/unity/webview/JavaScriptResult;->Error(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/garena/unity/webview/JavaScriptResult;
move-result-object p2
invoke-virtual {v0, p2}, Lcom/google/gson/Gson;->t(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p2
const-string p3, "OnJavaScriptResult"
invoke-virtual {p0, p1, p3, p2}, Lcom/garena/unity/webview/UnityWebViewProxy;->sendToUnity(ILjava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method private sendJavaScriptResultToUnity(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
.registers 7
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "@sendJavaScriptResultToUnity: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-virtual {p0, p1, v0}, Lcom/garena/unity/webview/UnityWebViewProxy;->LogExtra(ILjava/lang/String;)V
iget-object v0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->gson:Lcom/google/gson/Gson;
invoke-static {p2, p3, p4}, Lcom/garena/unity/webview/JavaScriptResult;->Result(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/garena/unity/webview/JavaScriptResult;
move-result-object p2
invoke-virtual {v0, p2}, Lcom/google/gson/Gson;->t(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p2
const-string p3, "OnJavaScriptResult"
invoke-virtual {p0, p1, p3, p2}, Lcom/garena/unity/webview/UnityWebViewProxy;->sendToUnity(ILjava/lang/String;Ljava/lang/String;)V
return-void
.end method
# virtual methods
.method public Log(ILjava/lang/String;)V
.registers 4
const-string v0, "OnWebViewMessage_Android"
invoke-virtual {p0, p1, v0, p2}, Lcom/garena/unity/webview/UnityWebViewProxy;->sendToUnity(ILjava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method public Log(ILjava/lang/String;Ljava/lang/Throwable;)V
.registers 6
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p2, ": "
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p3}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p3}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;
move-result-object p2
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
const-string p3, "OnWebViewMessage_Android"
invoke-virtual {p0, p1, p3, p2}, Lcom/garena/unity/webview/UnityWebViewProxy;->sendToUnity(ILjava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method public LogExtra(ILjava/lang/String;)V
.registers 4
invoke-virtual {p0, p1}, Lcom/garena/unity/webview/UnityWebViewProxy;->getStatus(I)Lcom/garena/unity/webview/WebViewStatus;
move-result-object v0
if-nez v0, :cond_7
return-void
:cond_7
iget-boolean v0, v0, Lcom/garena/unity/webview/WebViewStatus;->ExtraLog:Z
if-nez v0, :cond_c
return-void
:cond_c
invoke-virtual {p0, p1, p2}, Lcom/garena/unity/webview/UnityWebViewProxy;->Log(ILjava/lang/String;)V
return-void
.end method
.method public LogExtra(ILjava/lang/String;Ljava/lang/Throwable;)V
.registers 5
invoke-virtual {p0, p1}, Lcom/garena/unity/webview/UnityWebViewProxy;->getStatus(I)Lcom/garena/unity/webview/WebViewStatus;
move-result-object v0
if-nez v0, :cond_7
return-void
:cond_7
iget-boolean v0, v0, Lcom/garena/unity/webview/WebViewStatus;->ExtraLog:Z
if-nez v0, :cond_c
return-void
:cond_c
invoke-virtual {p0, p1, p2, p3}, Lcom/garena/unity/webview/UnityWebViewProxy;->Log(ILjava/lang/String;Ljava/lang/Throwable;)V
return-void
.end method
.method public canClearCache()Z
.registers 2
iget-object v0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_UnityPlayerActivity:Landroid/app/Activity;
if-nez v0, :cond_6
const/4 v0, 0x0
return v0
:cond_6
const/4 v0, 0x1
return v0
.end method
.method public canClearCookies()Z
.registers 2
iget-object v0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_UnityPlayerActivity:Landroid/app/Activity;
if-nez v0, :cond_6
const/4 v0, 0x0
return v0
:cond_6
const/4 v0, 0x1
return v0
.end method
.method public canGoBackward(I)V
.registers 4
iget-object v0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_UnityPlayerActivity:Landroid/app/Activity;
if-nez v0, :cond_5
return-void
:cond_5
new-instance v1, Lcom/garena/unity/webview/UnityWebViewProxy$9;
invoke-direct {v1, p0, p1}, Lcom/garena/unity/webview/UnityWebViewProxy$9;-><init>(Lcom/garena/unity/webview/UnityWebViewProxy;I)V
invoke-virtual {v0, v1}, Landroid/app/Activity;->runOnUiThread(Ljava/lang/Runnable;)V
return-void
.end method
.method public canGoForward(I)V
.registers 4
iget-object v0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_UnityPlayerActivity:Landroid/app/Activity;
if-nez v0, :cond_5
return-void
:cond_5
new-instance v1, Lcom/garena/unity/webview/UnityWebViewProxy$10;
invoke-direct {v1, p0, p1}, Lcom/garena/unity/webview/UnityWebViewProxy$10;-><init>(Lcom/garena/unity/webview/UnityWebViewProxy;I)V
invoke-virtual {v0, v1}, Landroid/app/Activity;->runOnUiThread(Ljava/lang/Runnable;)V
return-void
.end method
.method public captureScreenshot(ILjava/lang/String;)Z
.registers 5
iget-object v0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_UnityPlayerActivity:Landroid/app/Activity;
const/4 v1, 0x0
if-nez v0, :cond_6
return v1
:cond_6
iget-object v0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_FrameLayout:Landroid/widget/FrameLayout;
if-nez v0, :cond_b
return v1
:cond_b
if-eqz p2, :cond_20
invoke-virtual {p2}, Ljava/lang/String;->length()I
move-result v0
if-gtz v0, :cond_14
goto :goto_20
:cond_14
iget-object v0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_UnityPlayerActivity:Landroid/app/Activity;
new-instance v1, Lcom/garena/unity/webview/UnityWebViewProxy$19;
invoke-direct {v1, p0, p1, p2}, Lcom/garena/unity/webview/UnityWebViewProxy$19;-><init>(Lcom/garena/unity/webview/UnityWebViewProxy;ILjava/lang/String;)V
invoke-virtual {v0, v1}, Landroid/app/Activity;->runOnUiThread(Ljava/lang/Runnable;)V
const/4 p1, 0x1
return p1
:cond_20
:goto_20
return v1
.end method
.method public clearCache()V
.registers 3
invoke-virtual {p0}, Lcom/garena/unity/webview/UnityWebViewProxy;->canClearCache()Z
move-result v0
if-nez v0, :cond_7
return-void
:cond_7
iget-object v0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_UnityPlayerActivity:Landroid/app/Activity;
if-nez v0, :cond_c
return-void
:cond_c
new-instance v1, Lcom/garena/unity/webview/UnityWebViewProxy$22;
invoke-direct {v1, p0}, Lcom/garena/unity/webview/UnityWebViewProxy$22;-><init>(Lcom/garena/unity/webview/UnityWebViewProxy;)V
invoke-virtual {v0, v1}, Landroid/app/Activity;->runOnUiThread(Ljava/lang/Runnable;)V
return-void
.end method
.method public clearCookies()V
.registers 3
invoke-virtual {p0}, Lcom/garena/unity/webview/UnityWebViewProxy;->canClearCookies()Z
move-result v0
if-nez v0, :cond_7
return-void
:cond_7
iget-object v0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_UnityPlayerActivity:Landroid/app/Activity;
if-nez v0, :cond_c
return-void
:cond_c
new-instance v1, Lcom/garena/unity/webview/UnityWebViewProxy$21;
invoke-direct {v1, p0}, Lcom/garena/unity/webview/UnityWebViewProxy$21;-><init>(Lcom/garena/unity/webview/UnityWebViewProxy;)V
invoke-virtual {v0, v1}, Landroid/app/Activity;->runOnUiThread(Ljava/lang/Runnable;)V
return-void
.end method
.method public clearData()V
.registers 3
iget-object v0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_UnityPlayerActivity:Landroid/app/Activity;
if-nez v0, :cond_5
return-void
:cond_5
new-instance v1, Lcom/garena/unity/webview/UnityWebViewProxy$20;
invoke-direct {v1, p0}, Lcom/garena/unity/webview/UnityWebViewProxy$20;-><init>(Lcom/garena/unity/webview/UnityWebViewProxy;)V
invoke-virtual {v0, v1}, Landroid/app/Activity;->runOnUiThread(Ljava/lang/Runnable;)V
return-void
.end method
.method public close(I)V
.registers 4
iget-object v0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_UnityPlayerActivity:Landroid/app/Activity;
if-nez v0, :cond_5
return-void
:cond_5
new-instance v1, Lcom/garena/unity/webview/UnityWebViewProxy$6;
invoke-direct {v1, p0, p1}, Lcom/garena/unity/webview/UnityWebViewProxy$6;-><init>(Lcom/garena/unity/webview/UnityWebViewProxy;I)V
invoke-virtual {v0, v1}, Landroid/app/Activity;->runOnUiThread(Ljava/lang/Runnable;)V
return-void
.end method
.method public closeAll()V
.registers 3
iget-object v0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_UnityPlayerActivity:Landroid/app/Activity;
if-nez v0, :cond_5
return-void
:cond_5
new-instance v1, Lcom/garena/unity/webview/UnityWebViewProxy$7;
invoke-direct {v1, p0}, Lcom/garena/unity/webview/UnityWebViewProxy$7;-><init>(Lcom/garena/unity/webview/UnityWebViewProxy;)V
invoke-virtual {v0, v1}, Landroid/app/Activity;->runOnUiThread(Ljava/lang/Runnable;)V
return-void
.end method
.method public destroy()V
.registers 3
iget-object v0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_UnityPlayerActivity:Landroid/app/Activity;
if-eqz v0, :cond_c
new-instance v1, Lcom/garena/unity/webview/UnityWebViewProxy$2;
invoke-direct {v1, p0}, Lcom/garena/unity/webview/UnityWebViewProxy$2;-><init>(Lcom/garena/unity/webview/UnityWebViewProxy;)V
invoke-virtual {v0, v1}, Landroid/app/Activity;->runOnUiThread(Ljava/lang/Runnable;)V
:cond_c
return-void
.end method
.method public getLoadingProgress(I)D
.registers 4
invoke-virtual {p0, p1}, Lcom/garena/unity/webview/UnityWebViewProxy;->getStatus(I)Lcom/garena/unity/webview/WebViewStatus;
move-result-object p1
if-eqz p1, :cond_9
iget-wide v0, p1, Lcom/garena/unity/webview/WebViewStatus;->LoadingProgress:D
return-wide v0
:cond_9
const-wide/high16 v0, -0x4010000000000000L # -1.0
return-wide v0
.end method
.method public declared-synchronized getStatus(I)Lcom/garena/unity/webview/WebViewStatus;
.registers 3
monitor-enter p0
:try_start_1
iget-object v0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_WebViewStatuses:Ljava/util/HashMap;
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p1
invoke-virtual {v0, p1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/garena/unity/webview/WebViewStatus;
:try_end_d
.catchall {:try_start_1 .. :try_end_d} :catchall_f
monitor-exit p0
return-object p1
:catchall_f
move-exception p1
monitor-exit p0
throw p1
.end method
.method public getUrl(I)Ljava/lang/String;
.registers 2
invoke-virtual {p0, p1}, Lcom/garena/unity/webview/UnityWebViewProxy;->getStatus(I)Lcom/garena/unity/webview/WebViewStatus;
move-result-object p1
if-eqz p1, :cond_9
iget-object p1, p1, Lcom/garena/unity/webview/WebViewStatus;->Url:Ljava/lang/String;
return-object p1
:cond_9
const-string p1, ""
return-object p1
.end method
.method public getUserAgentString(I)V
.registers 4
iget-object v0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_UnityPlayerActivity:Landroid/app/Activity;
if-nez v0, :cond_5
return-void
:cond_5
new-instance v1, Lcom/garena/unity/webview/UnityWebViewProxy$15;
invoke-direct {v1, p0, p1}, Lcom/garena/unity/webview/UnityWebViewProxy$15;-><init>(Lcom/garena/unity/webview/UnityWebViewProxy;I)V
invoke-virtual {v0, v1}, Landroid/app/Activity;->runOnUiThread(Ljava/lang/Runnable;)V
return-void
.end method
.method public declared-synchronized getWebView(I)Landroid/webkit/WebView;
.registers 3
monitor-enter p0
:try_start_1
iget-object v0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_WebViews:Ljava/util/HashMap;
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p1
invoke-virtual {v0, p1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Landroid/webkit/WebView;
:try_end_d
.catchall {:try_start_1 .. :try_end_d} :catchall_f
monitor-exit p0
return-object p1
:catchall_f
move-exception p1
monitor-exit p0
throw p1
.end method
.method public goBackward(I)V
.registers 4
iget-object v0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_UnityPlayerActivity:Landroid/app/Activity;
if-nez v0, :cond_5
return-void
:cond_5
new-instance v1, Lcom/garena/unity/webview/UnityWebViewProxy$11;
invoke-direct {v1, p0, p1}, Lcom/garena/unity/webview/UnityWebViewProxy$11;-><init>(Lcom/garena/unity/webview/UnityWebViewProxy;I)V
invoke-virtual {v0, v1}, Landroid/app/Activity;->runOnUiThread(Ljava/lang/Runnable;)V
return-void
.end method
.method public goForward(I)V
.registers 4
iget-object v0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_UnityPlayerActivity:Landroid/app/Activity;
if-nez v0, :cond_5
return-void
:cond_5
new-instance v1, Lcom/garena/unity/webview/UnityWebViewProxy$12;
invoke-direct {v1, p0, p1}, Lcom/garena/unity/webview/UnityWebViewProxy$12;-><init>(Lcom/garena/unity/webview/UnityWebViewProxy;I)V
invoke-virtual {v0, v1}, Landroid/app/Activity;->runOnUiThread(Ljava/lang/Runnable;)V
return-void
.end method
.method public hide(I)V
.registers 4
iget-object v0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_UnityPlayerActivity:Landroid/app/Activity;
if-nez v0, :cond_5
return-void
:cond_5
new-instance v1, Lcom/garena/unity/webview/UnityWebViewProxy$14;
invoke-direct {v1, p0, p1}, Lcom/garena/unity/webview/UnityWebViewProxy$14;-><init>(Lcom/garena/unity/webview/UnityWebViewProxy;I)V
invoke-virtual {v0, v1}, Landroid/app/Activity;->runOnUiThread(Ljava/lang/Runnable;)V
return-void
.end method
.method public ignoreUnityPlayerActivityWindowFocusChanged()Z
.registers 2
const/4 v0, 0x0
return v0
.end method
.method public init(Landroid/app/Activity;)V
.registers 3
iput-object p1, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_UnityPlayerActivity:Landroid/app/Activity;
if-eqz p1, :cond_c
new-instance v0, Lcom/garena/unity/webview/UnityWebViewProxy$1;
invoke-direct {v0, p0}, Lcom/garena/unity/webview/UnityWebViewProxy$1;-><init>(Lcom/garena/unity/webview/UnityWebViewProxy;)V
invoke-virtual {p1, v0}, Landroid/app/Activity;->runOnUiThread(Ljava/lang/Runnable;)V
:cond_c
return-void
.end method
.method public isLoading(I)Z
.registers 2
invoke-virtual {p0, p1}, Lcom/garena/unity/webview/UnityWebViewProxy;->getStatus(I)Lcom/garena/unity/webview/WebViewStatus;
move-result-object p1
if-eqz p1, :cond_9
iget-boolean p1, p1, Lcom/garena/unity/webview/WebViewStatus;->IsLoading:Z
return p1
:cond_9
const/4 p1, 0x0
return p1
.end method
.method public isShowing(I)Z
.registers 4
iget-object v0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_UnityPlayerActivity:Landroid/app/Activity;
const/4 v1, 0x0
if-nez v0, :cond_6
return v1
:cond_6
invoke-virtual {p0, p1}, Lcom/garena/unity/webview/UnityWebViewProxy;->getStatus(I)Lcom/garena/unity/webview/WebViewStatus;
move-result-object p1
if-eqz p1, :cond_11
iget-boolean p1, p1, Lcom/garena/unity/webview/WebViewStatus;->Hiding:Z
xor-int/lit8 p1, p1, 0x1
return p1
:cond_11
return v1
.end method
.method public isShowingCustomView()Z
.registers 4
iget-object v0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_WebViewStatuses:Ljava/util/HashMap;
const/4 v1, 0x0
if-eqz v0, :cond_32
iget-object v0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_WebViewStatuses:Ljava/util/HashMap;
invoke-virtual {v0}, Ljava/util/HashMap;->size()I
move-result v0
if-gtz v0, :cond_e
goto :goto_32
:cond_e
iget-object v0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_WebViewStatuses:Ljava/util/HashMap;
invoke-virtual {v0}, Ljava/util/HashMap;->values()Ljava/util/Collection;
move-result-object v0
invoke-interface {v0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_18
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_32
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/garena/unity/webview/WebViewStatus;
if-nez v2, :cond_27
goto :goto_18
:cond_27
iget-object v2, v2, Lcom/garena/unity/webview/WebViewStatus;->WebChromeClient:Lcom/garena/unity/webview/UnityWebChromeClient;
if-nez v2, :cond_2c
goto :goto_18
:cond_2c
invoke-virtual {v2}, Lcom/garena/unity/webview/UnityWebChromeClient;->showingCustomView()Z
move-result v2
or-int/2addr v1, v2
goto :goto_18
:cond_32
:goto_32
return v1
.end method
.method public move(IFFFF)V
.registers 6
return-void
.end method
.method public onUnityPlayerActivityBackPressed()Z
.registers 4
iget-object v0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_WebViewStatuses:Ljava/util/HashMap;
const/4 v1, 0x0
if-eqz v0, :cond_32
iget-object v0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_WebViewStatuses:Ljava/util/HashMap;
invoke-virtual {v0}, Ljava/util/HashMap;->size()I
move-result v0
if-gtz v0, :cond_e
goto :goto_32
:cond_e
iget-object v0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_WebViewStatuses:Ljava/util/HashMap;
invoke-virtual {v0}, Ljava/util/HashMap;->values()Ljava/util/Collection;
move-result-object v0
invoke-interface {v0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_18
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_32
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/garena/unity/webview/WebViewStatus;
if-nez v2, :cond_27
goto :goto_18
:cond_27
iget-object v2, v2, Lcom/garena/unity/webview/WebViewStatus;->WebChromeClient:Lcom/garena/unity/webview/UnityWebChromeClient;
if-nez v2, :cond_2c
goto :goto_18
:cond_2c
invoke-virtual {v2}, Lcom/garena/unity/webview/UnityWebChromeClient;->onBackPressed()Z
move-result v2
or-int/2addr v1, v2
goto :goto_18
:cond_32
:goto_32
return v1
.end method
.method public onUnityPlayerActivityDestroy(Landroid/app/Activity;)V
.registers 2
invoke-virtual {p0}, Lcom/garena/unity/webview/UnityWebViewProxy;->destroy()V
return-void
.end method
.method public onUnityPlayerActivityPause(Landroid/app/Activity;)V
.registers 2
return-void
.end method
.method public onUnityPlayerActivityResume(Landroid/app/Activity;)V
.registers 2
return-void
.end method
.method public onUnityPlayerActivityStart(Landroid/app/Activity;)V
.registers 3
iget-object p1, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_UnityPlayerActivity:Landroid/app/Activity;
if-eqz p1, :cond_c
new-instance v0, Lcom/garena/unity/webview/UnityWebViewProxy$3;
invoke-direct {v0, p0}, Lcom/garena/unity/webview/UnityWebViewProxy$3;-><init>(Lcom/garena/unity/webview/UnityWebViewProxy;)V
invoke-virtual {p1, v0}, Landroid/app/Activity;->runOnUiThread(Ljava/lang/Runnable;)V
:cond_c
return-void
.end method
.method public onUnityPlayerActivityStop(Landroid/app/Activity;)V
.registers 3
iget-object p1, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_UnityPlayerActivity:Landroid/app/Activity;
if-eqz p1, :cond_c
new-instance v0, Lcom/garena/unity/webview/UnityWebViewProxy$4;
invoke-direct {v0, p0}, Lcom/garena/unity/webview/UnityWebViewProxy$4;-><init>(Lcom/garena/unity/webview/UnityWebViewProxy;)V
invoke-virtual {p1, v0}, Landroid/app/Activity;->runOnUiThread(Ljava/lang/Runnable;)V
:cond_c
return-void
.end method
.method public open(Ljava/lang/String;FFFFLjava/lang/String;)I
.registers 20
move-object v9, p0
iget-object v0, v9, Lcom/garena/unity/webview/UnityWebViewProxy;->_UnityPlayerActivity:Landroid/app/Activity;
if-nez v0, :cond_7
const/4 v0, -0x1
return v0
:cond_7
invoke-direct {p0}, Lcom/garena/unity/webview/UnityWebViewProxy;->NewWebViewId()I
move-result v10
new-instance v0, Lcom/garena/unity/webview/WebViewStatus;
invoke-direct {v0}, Lcom/garena/unity/webview/WebViewStatus;-><init>()V
move-object v8, p1
iput-object v8, v0, Lcom/garena/unity/webview/WebViewStatus;->Url:Ljava/lang/String;
const/4 v1, 0x1
iput-boolean v1, v0, Lcom/garena/unity/webview/WebViewStatus;->Opening:Z
iget-object v1, v9, Lcom/garena/unity/webview/UnityWebViewProxy;->_WebViewStatuses:Ljava/util/HashMap;
invoke-static {v10}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
invoke-virtual {v1, v2, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
iget-object v11, v9, Lcom/garena/unity/webview/UnityWebViewProxy;->_UnityPlayerActivity:Landroid/app/Activity;
new-instance v12, Lcom/garena/unity/webview/UnityWebViewProxy$5;
move-object v0, v12
move-object v1, p0
move v2, v10
move-object/from16 v3, p6
move v4, p2
move/from16 v5, p3
move/from16 v6, p4
move/from16 v7, p5
invoke-direct/range {v0 .. v8}, Lcom/garena/unity/webview/UnityWebViewProxy$5;-><init>(Lcom/garena/unity/webview/UnityWebViewProxy;ILjava/lang/String;FFFFLjava/lang/String;)V
invoke-virtual {v11, v12}, Landroid/app/Activity;->runOnUiThread(Ljava/lang/Runnable;)V
return v10
.end method
.method public reload(I)V
.registers 4
iget-object v0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_UnityPlayerActivity:Landroid/app/Activity;
if-nez v0, :cond_5
return-void
:cond_5
new-instance v1, Lcom/garena/unity/webview/UnityWebViewProxy$8;
invoke-direct {v1, p0, p1}, Lcom/garena/unity/webview/UnityWebViewProxy$8;-><init>(Lcom/garena/unity/webview/UnityWebViewProxy;I)V
invoke-virtual {v0, v1}, Landroid/app/Activity;->runOnUiThread(Ljava/lang/Runnable;)V
return-void
.end method
.method public runJavaScript(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
.registers 13
iget-object v0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_UnityPlayerActivity:Landroid/app/Activity;
if-nez v0, :cond_5
return-void
:cond_5
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "@runJavaScript(): "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, ": "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, "\n"
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-virtual {p0, p1, v0}, Lcom/garena/unity/webview/UnityWebViewProxy;->LogExtra(ILjava/lang/String;)V
invoke-virtual {p0, p1}, Lcom/garena/unity/webview/UnityWebViewProxy;->getWebView(I)Landroid/webkit/WebView;
move-result-object v0
invoke-virtual {p0, p1}, Lcom/garena/unity/webview/UnityWebViewProxy;->getStatus(I)Lcom/garena/unity/webview/WebViewStatus;
move-result-object v2
if-nez v0, :cond_7a
if-eqz v2, :cond_66
iget-boolean v0, v2, Lcom/garena/unity/webview/WebViewStatus;->Opening:Z
if-eqz v0, :cond_66
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "@runJavaScript(): queued "
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-virtual {p0, p1, v0}, Lcom/garena/unity/webview/UnityWebViewProxy;->LogExtra(ILjava/lang/String;)V
new-instance v0, Lcom/garena/unity/webview/JavaScriptInvoke;
invoke-direct {v0}, Lcom/garena/unity/webview/JavaScriptInvoke;-><init>()V
iput p1, v0, Lcom/garena/unity/webview/JavaScriptInvoke;->webViewId:I
iput-object p2, v0, Lcom/garena/unity/webview/JavaScriptInvoke;->code:Ljava/lang/String;
iput-object p3, v0, Lcom/garena/unity/webview/JavaScriptInvoke;->callback:Ljava/lang/String;
iput-object p4, v0, Lcom/garena/unity/webview/JavaScriptInvoke;->id:Ljava/lang/String;
iget-object p1, v2, Lcom/garena/unity/webview/WebViewStatus;->PendingJavaScriptInvokes:Ljava/util/LinkedList;
invoke-virtual {p1, v0}, Ljava/util/LinkedList;->addLast(Ljava/lang/Object;)V
return-void
:cond_66
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "WebView is null: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {p0, p1, v0, p3, p4}, Lcom/garena/unity/webview/UnityWebViewProxy;->sendJavaScriptErrorToUnity(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
:cond_7a
iget-object v0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_UnityPlayerActivity:Landroid/app/Activity;
new-instance v7, Lcom/garena/unity/webview/UnityWebViewProxy$18;
move-object v1, v7
move-object v2, p0
move v3, p1
move-object v4, p2
move-object v5, p3
move-object v6, p4
invoke-direct/range {v1 .. v6}, Lcom/garena/unity/webview/UnityWebViewProxy$18;-><init>(Lcom/garena/unity/webview/UnityWebViewProxy;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
invoke-virtual {v0, v7}, Landroid/app/Activity;->runOnUiThread(Ljava/lang/Runnable;)V
return-void
.end method
.method public sendToUnity(ILjava/lang/String;Ljava/lang/String;)V
.registers 5
invoke-virtual {p0, p1}, Lcom/garena/unity/webview/UnityWebViewProxy;->getStatus(I)Lcom/garena/unity/webview/WebViewStatus;
move-result-object p1
if-eqz p1, :cond_1b
iget-object v0, p1, Lcom/garena/unity/webview/WebViewStatus;->UnitySendMessageGameObjectName:Ljava/lang/String;
if-eqz v0, :cond_1b
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v0
if-gtz v0, :cond_11
goto :goto_1b
:cond_11
iget-object v0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_UnityMessenger:Lcom/garena/unity/webview/IUnityMessenger;
if-nez v0, :cond_16
return-void
:cond_16
iget-object p1, p1, Lcom/garena/unity/webview/WebViewStatus;->UnitySendMessageGameObjectName:Ljava/lang/String;
invoke-interface {v0, p1, p2, p3}, Lcom/garena/unity/webview/IUnityMessenger;->Send(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
:cond_1b
:goto_1b
return-void
.end method
.method public setUnityMessenger(Lcom/garena/unity/webview/IUnityMessenger;)V
.registers 2
iput-object p1, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_UnityMessenger:Lcom/garena/unity/webview/IUnityMessenger;
return-void
.end method
.method public setUserAgentString(ILjava/lang/String;)V
.registers 5
iget-object v0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_UnityPlayerActivity:Landroid/app/Activity;
if-nez v0, :cond_5
return-void
:cond_5
new-instance v1, Lcom/garena/unity/webview/UnityWebViewProxy$16;
invoke-direct {v1, p0, p1, p2}, Lcom/garena/unity/webview/UnityWebViewProxy$16;-><init>(Lcom/garena/unity/webview/UnityWebViewProxy;ILjava/lang/String;)V
invoke-virtual {v0, v1}, Landroid/app/Activity;->runOnUiThread(Ljava/lang/Runnable;)V
return-void
.end method
.method public show(I)V
.registers 4
iget-object v0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_UnityPlayerActivity:Landroid/app/Activity;
if-nez v0, :cond_5
return-void
:cond_5
new-instance v1, Lcom/garena/unity/webview/UnityWebViewProxy$13;
invoke-direct {v1, p0, p1}, Lcom/garena/unity/webview/UnityWebViewProxy$13;-><init>(Lcom/garena/unity/webview/UnityWebViewProxy;I)V
invoke-virtual {v0, v1}, Landroid/app/Activity;->runOnUiThread(Ljava/lang/Runnable;)V
return-void
.end method
.method public test()V
.registers 3
:try_start_0
invoke-static {}, Landroid/webkit/CookieManager;->getInstance()Landroid/webkit/CookieManager;
:try_end_3
.catchall {:try_start_0 .. :try_end_3} :catchall_5
const/4 v0, 0x1
goto :goto_6
:catchall_5
const/4 v0, 0x0
:goto_6
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
const-string v0, ""
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
const-string v1, "testResult"
invoke-static {v1, v0}, Lcom/garena/unity/webview/WebViewManager;->__sendToUnity(Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method public webStorage_DeleteAllData()V
.registers 3
iget-object v0, p0, Lcom/garena/unity/webview/UnityWebViewProxy;->_UnityPlayerActivity:Landroid/app/Activity;
if-nez v0, :cond_5
return-void
:cond_5
new-instance v1, Lcom/garena/unity/webview/UnityWebViewProxy$23;
invoke-direct {v1, p0}, Lcom/garena/unity/webview/UnityWebViewProxy$23;-><init>(Lcom/garena/unity/webview/UnityWebViewProxy;)V
invoke-virtual {v0, v1}, Landroid/app/Activity;->runOnUiThread(Ljava/lang/Runnable;)V
return-void
.end method