.class public Lcsdk/gluads/jsevaluator/JsEvaluator; .super Ljava/lang/Object; .source "SourceFile" # interfaces .implements Lcsdk/gluads/jsevaluator/interfaces/CallJavaResultInterface; .implements Lcsdk/gluads/jsevaluator/interfaces/JsEvaluatorInterface; # static fields .field private static final JS_ERROR_PREFIX:Ljava/lang/String; = "evgeniiJsEvaluatorException" .field public static final JS_NAMESPACE:Ljava/lang/String; = "evgeniiJsEvaluator" # instance fields .field private final mContext:Landroid/content/Context; .field private mHandler:Lcsdk/gluads/jsevaluator/interfaces/HandlerWrapperInterface; .field private final mResultCallbacks:Ljava/util/ArrayList; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/ArrayList<", "Lcsdk/gluads/jsevaluator/interfaces/JsCallback;", ">;" } .end annotation .end field .field protected mWebViewWrapper:Lcsdk/gluads/jsevaluator/interfaces/WebViewWrapperInterface; # direct methods .method public constructor (Landroid/content/Context;)V .locals 1 .line 22 invoke-direct {p0}, Ljava/lang/Object;->()V .line 19 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V iput-object v0, p0, Lcsdk/gluads/jsevaluator/JsEvaluator;->mResultCallbacks:Ljava/util/ArrayList; iput-object p1, p0, Lcsdk/gluads/jsevaluator/JsEvaluator;->mContext:Landroid/content/Context; .line 24 new-instance p1, Lcsdk/gluads/jsevaluator/HandlerWrapper; invoke-direct {p1}, Lcsdk/gluads/jsevaluator/HandlerWrapper;->()V iput-object p1, p0, Lcsdk/gluads/jsevaluator/JsEvaluator;->mHandler:Lcsdk/gluads/jsevaluator/interfaces/HandlerWrapperInterface; return-void .end method .method public static escapeCarriageReturn(Ljava/lang/String;)Ljava/lang/String; .locals 2 const-string v0, "\r" const-string v1, "\\r" .line 28 invoke-virtual {p0, v0, v1}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; move-result-object p0 return-object p0 .end method .method public static escapeClosingScript(Ljava/lang/String;)Ljava/lang/String; .locals 2 const-string v0, "replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; move-result-object p0 return-object p0 .end method .method public static escapeNewLines(Ljava/lang/String;)Ljava/lang/String; .locals 2 const-string v0, "\n" const-string v1, "\\n" .line 36 invoke-virtual {p0, v0, v1}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; move-result-object p0 return-object p0 .end method .method public static escapeSingleQuotes(Ljava/lang/String;)Ljava/lang/String; .locals 2 const-string v0, "\'" const-string v1, "\\\'" .line 40 invoke-virtual {p0, v0, v1}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; move-result-object p0 return-object p0 .end method .method public static escapeSlash(Ljava/lang/String;)Ljava/lang/String; .locals 2 const-string v0, "\\" const-string v1, "\\\\" .line 44 invoke-virtual {p0, v0, v1}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String; move-result-object p0 return-object p0 .end method .method public static getJsForEval(Ljava/lang/String;I)Ljava/lang/String; .locals 2 .line 48 invoke-static {p0}, Lcsdk/gluads/jsevaluator/JsEvaluator;->escapeSlash(Ljava/lang/String;)Ljava/lang/String; move-result-object p0 .line 49 invoke-static {p0}, Lcsdk/gluads/jsevaluator/JsEvaluator;->escapeSingleQuotes(Ljava/lang/String;)Ljava/lang/String; move-result-object p0 .line 50 invoke-static {p0}, Lcsdk/gluads/jsevaluator/JsEvaluator;->escapeClosingScript(Ljava/lang/String;)Ljava/lang/String; move-result-object p0 .line 51 invoke-static {p0}, Lcsdk/gluads/jsevaluator/JsEvaluator;->escapeNewLines(Ljava/lang/String;)Ljava/lang/String; move-result-object p0 .line 52 invoke-static {p0}, Lcsdk/gluads/jsevaluator/JsEvaluator;->escapeCarriageReturn(Ljava/lang/String;)Ljava/lang/String; move-result-object p0 const-string v0, "evgeniiJsEvaluatorException" .line 55 invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p1 const-string v1, "evgeniiJsEvaluator" filled-new-array {v1, p0, v0, p1}, [Ljava/lang/Object; move-result-object p0 const-string p1, "%s.returnResultToJava(eval(\'try{%s}catch(e){\"%s\"+e}\'), %s);" .line 54 invoke-static {p1, p0}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; move-result-object p0 return-object p0 .end method # virtual methods .method public varargs callFunction(Ljava/lang/String;Lcsdk/gluads/jsevaluator/interfaces/JsCallback;Ljava/lang/String;[Ljava/lang/Object;)V .locals 1 .line 60 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string p1, "; " invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-static {p3, p4}, Lcsdk/gluads/jsevaluator/JsFunctionCallFormatter;->toString(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; move-result-object p1 invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 .line 61 invoke-virtual {p0, p1, p2}, Lcsdk/gluads/jsevaluator/JsEvaluator;->evaluate(Ljava/lang/String;Lcsdk/gluads/jsevaluator/interfaces/JsCallback;)V return-void .end method .method public destroy()V .locals 1 .line 88 invoke-virtual {p0}, Lcsdk/gluads/jsevaluator/JsEvaluator;->getWebViewWrapper()Lcsdk/gluads/jsevaluator/interfaces/WebViewWrapperInterface; move-result-object v0 invoke-interface {v0}, Lcsdk/gluads/jsevaluator/interfaces/WebViewWrapperInterface;->destroy()V return-void .end method .method public evaluate(Ljava/lang/String;)V .locals 1 const/4 v0, 0x0 .line 66 invoke-virtual {p0, p1, v0}, Lcsdk/gluads/jsevaluator/JsEvaluator;->evaluate(Ljava/lang/String;Lcsdk/gluads/jsevaluator/interfaces/JsCallback;)V return-void .end method .method public evaluate(Ljava/lang/String;Lcsdk/gluads/jsevaluator/interfaces/JsCallback;)V .locals 1 iget-object v0, p0, Lcsdk/gluads/jsevaluator/JsEvaluator;->mResultCallbacks:Ljava/util/ArrayList; .line 71 invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result v0 if-nez p2, :cond_0 const/4 v0, -0x1 .line 76 :cond_0 invoke-static {p1, v0}, Lcsdk/gluads/jsevaluator/JsEvaluator;->getJsForEval(Ljava/lang/String;I)Ljava/lang/String; move-result-object p1 if-eqz p2, :cond_1 iget-object v0, p0, Lcsdk/gluads/jsevaluator/JsEvaluator;->mResultCallbacks:Ljava/util/ArrayList; .line 79 invoke-virtual {v0, p2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z .line 81 :cond_1 invoke-virtual {p0}, Lcsdk/gluads/jsevaluator/JsEvaluator;->getWebViewWrapper()Lcsdk/gluads/jsevaluator/interfaces/WebViewWrapperInterface; move-result-object p2 invoke-interface {p2, p1}, Lcsdk/gluads/jsevaluator/interfaces/WebViewWrapperInterface;->loadJavaScript(Ljava/lang/String;)V return-void .end method .method public getResultCallbacks()Ljava/util/ArrayList; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/ArrayList<", "Lcsdk/gluads/jsevaluator/interfaces/JsCallback;", ">;" } .end annotation iget-object v0, p0, Lcsdk/gluads/jsevaluator/JsEvaluator;->mResultCallbacks:Ljava/util/ArrayList; return-object v0 .end method .method public getWebView()Landroid/webkit/WebView; .locals 1 .line 93 invoke-virtual {p0}, Lcsdk/gluads/jsevaluator/JsEvaluator;->getWebViewWrapper()Lcsdk/gluads/jsevaluator/interfaces/WebViewWrapperInterface; move-result-object v0 invoke-interface {v0}, Lcsdk/gluads/jsevaluator/interfaces/WebViewWrapperInterface;->getWebView()Landroid/webkit/WebView; move-result-object v0 return-object v0 .end method .method public getWebViewWrapper()Lcsdk/gluads/jsevaluator/interfaces/WebViewWrapperInterface; .locals 2 iget-object v0, p0, Lcsdk/gluads/jsevaluator/JsEvaluator;->mWebViewWrapper:Lcsdk/gluads/jsevaluator/interfaces/WebViewWrapperInterface; if-nez v0, :cond_0 .line 102 new-instance v0, Lcsdk/gluads/jsevaluator/WebViewWrapper; iget-object v1, p0, Lcsdk/gluads/jsevaluator/JsEvaluator;->mContext:Landroid/content/Context; invoke-direct {v0, v1, p0}, Lcsdk/gluads/jsevaluator/WebViewWrapper;->(Landroid/content/Context;Lcsdk/gluads/jsevaluator/interfaces/CallJavaResultInterface;)V iput-object v0, p0, Lcsdk/gluads/jsevaluator/JsEvaluator;->mWebViewWrapper:Lcsdk/gluads/jsevaluator/interfaces/WebViewWrapperInterface; :cond_0 iget-object v0, p0, Lcsdk/gluads/jsevaluator/JsEvaluator;->mWebViewWrapper:Lcsdk/gluads/jsevaluator/interfaces/WebViewWrapperInterface; return-object v0 .end method .method public jsCallFinished(Ljava/lang/String;Ljava/lang/Integer;)V .locals 2 .line 114 invoke-virtual {p2}, Ljava/lang/Integer;->intValue()I move-result v0 const/4 v1, -0x1 if-ne v0, v1, :cond_0 return-void :cond_0 iget-object v0, p0, Lcsdk/gluads/jsevaluator/JsEvaluator;->mResultCallbacks:Ljava/util/ArrayList; .line 117 invoke-virtual {p2}, Ljava/lang/Integer;->intValue()I move-result p2 invoke-virtual {v0, p2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object p2 check-cast p2, Lcsdk/gluads/jsevaluator/interfaces/JsCallback; iget-object v0, p0, Lcsdk/gluads/jsevaluator/JsEvaluator;->mHandler:Lcsdk/gluads/jsevaluator/interfaces/HandlerWrapperInterface; .line 119 new-instance v1, Lcsdk/gluads/jsevaluator/JsEvaluator$1; invoke-direct {v1, p0, p1, p2}, Lcsdk/gluads/jsevaluator/JsEvaluator$1;->(Lcsdk/gluads/jsevaluator/JsEvaluator;Ljava/lang/String;Lcsdk/gluads/jsevaluator/interfaces/JsCallback;)V invoke-interface {v0, v1}, Lcsdk/gluads/jsevaluator/interfaces/HandlerWrapperInterface;->post(Ljava/lang/Runnable;)V return-void .end method .method public setHandler(Lcsdk/gluads/jsevaluator/interfaces/HandlerWrapperInterface;)V .locals 0 iput-object p1, p0, Lcsdk/gluads/jsevaluator/JsEvaluator;->mHandler:Lcsdk/gluads/jsevaluator/interfaces/HandlerWrapperInterface; return-void .end method .method public setWebViewWrapper(Lcsdk/gluads/jsevaluator/interfaces/WebViewWrapperInterface;)V .locals 0 iput-object p1, p0, Lcsdk/gluads/jsevaluator/JsEvaluator;->mWebViewWrapper:Lcsdk/gluads/jsevaluator/interfaces/WebViewWrapperInterface; return-void .end method