.class public Lcom/helpshift/chat/HSChatWebChromeClient; .super Landroid/webkit/WebChromeClient; .source "SourceFile" # instance fields .field public final eventsHandler:Lcom/helpshift/chat/HSChatEventsHandler; .field public filePathCallback:Landroid/webkit/ValueCallback; # direct methods .method public constructor (Lcom/helpshift/chat/HSChatEventsHandler;)V .locals 0 .line 24 invoke-direct {p0}, Landroid/webkit/WebChromeClient;->()V iput-object p1, p0, Lcom/helpshift/chat/HSChatWebChromeClient;->eventsHandler:Lcom/helpshift/chat/HSChatEventsHandler; return-void .end method # virtual methods .method public final createUriForSystemAppLaunch(ILjava/lang/String;)Ljava/lang/String; .locals 1 const/4 v0, 0x2 if-eq p1, v0, :cond_1 const/4 v0, 0x7 if-eq p1, v0, :cond_0 const-string p1, "" return-object p1 :cond_0 return-object p2 .line 75 :cond_1 new-instance p1, Ljava/lang/StringBuilder; invoke-direct {p1}, Ljava/lang/StringBuilder;->()V const-string v0, "tel:" invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 return-object p1 .end method .method public onConsoleMessage(Landroid/webkit/ConsoleMessage;)Z .locals 3 .line 34 invoke-virtual {p1}, Landroid/webkit/ConsoleMessage;->messageLevel()Landroid/webkit/ConsoleMessage$MessageLevel; move-result-object v0 new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V invoke-virtual {p1}, Landroid/webkit/ConsoleMessage;->message()Ljava/lang/String; move-result-object v2 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v2, " -- From line " invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; .line 35 invoke-virtual {p1}, Landroid/webkit/ConsoleMessage;->lineNumber()I move-result v2 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; const-string v2, " of " invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; .line 36 invoke-virtual {p1}, Landroid/webkit/ConsoleMessage;->sourceId()Ljava/lang/String; move-result-object v2 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 const-string v2, "chatWVClient" .line 34 invoke-static {v0, v2, v1}, Lcom/helpshift/log/WebviewConsoleLogger;->log(Landroid/webkit/ConsoleMessage$MessageLevel;Ljava/lang/String;Ljava/lang/String;)V .line 37 invoke-super {p0, p1}, Landroid/webkit/WebChromeClient;->onConsoleMessage(Landroid/webkit/ConsoleMessage;)Z move-result p1 return p1 .end method .method public onCreateWindow(Landroid/webkit/WebView;ZZLandroid/os/Message;)Z .locals 1 if-nez p3, :cond_0 const/4 p1, 0x0 return p1 .line 50 :cond_0 invoke-virtual {p1}, Landroid/webkit/WebView;->getHitTestResult()Landroid/webkit/WebView$HitTestResult; move-result-object p2 .line 52 invoke-virtual {p2}, Landroid/webkit/WebView$HitTestResult;->getType()I move-result p3 invoke-virtual {p2}, Landroid/webkit/WebView$HitTestResult;->getExtra()Ljava/lang/String; move-result-object p2 invoke-virtual {p0, p3, p2}, Lcom/helpshift/chat/HSChatWebChromeClient;->createUriForSystemAppLaunch(ILjava/lang/String;)Ljava/lang/String; move-result-object p2 .line 53 invoke-static {p2}, Lcom/helpshift/util/Utils;->isNotEmpty(Ljava/lang/String;)Z move-result p3 const/4 v0, 0x1 if-eqz p3, :cond_1 .line 55 new-instance p1, Landroid/content/Intent; const-string p3, "android.intent.action.VIEW" invoke-static {p2}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri; move-result-object p2 invoke-direct {p1, p3, p2}, Landroid/content/Intent;->(Ljava/lang/String;Landroid/net/Uri;)V iget-object p2, p0, Lcom/helpshift/chat/HSChatWebChromeClient;->eventsHandler:Lcom/helpshift/chat/HSChatEventsHandler; .line 56 invoke-virtual {p2, p1}, Lcom/helpshift/chat/HSChatEventsHandler;->sendIntentToSystemApp(Landroid/content/Intent;)V return v0 .line 62 :cond_1 new-instance p2, Landroid/webkit/WebView; invoke-virtual {p1}, Landroid/view/View;->getContext()Landroid/content/Context; move-result-object p1 invoke-direct {p2, p1}, Landroid/webkit/WebView;->(Landroid/content/Context;)V iget-object p1, p0, Lcom/helpshift/chat/HSChatWebChromeClient;->eventsHandler:Lcom/helpshift/chat/HSChatEventsHandler; .line 63 invoke-virtual {p1, p2}, Lcom/helpshift/chat/HSChatEventsHandler;->addWebviewToCurrentUI(Landroid/webkit/WebView;)V .line 64 iget-object p1, p4, Landroid/os/Message;->obj:Ljava/lang/Object; check-cast p1, Landroid/webkit/WebView$WebViewTransport; .line 65 invoke-virtual {p1, p2}, Landroid/webkit/WebView$WebViewTransport;->setWebView(Landroid/webkit/WebView;)V .line 66 invoke-virtual {p4}, Landroid/os/Message;->sendToTarget()V return v0 .end method .method public onShowFileChooser(Landroid/webkit/WebView;Landroid/webkit/ValueCallback;Landroid/webkit/WebChromeClient$FileChooserParams;)Z .locals 4 iget-object p1, p0, Lcom/helpshift/chat/HSChatWebChromeClient;->filePathCallback:Landroid/webkit/ValueCallback; const/4 v0, 0x0 const/4 v1, 0x0 const-string v2, "chatWVClient" if-eqz p1, :cond_0 const-string p1, "filePathCallback is not null, returning false." .line 95 invoke-static {v2, p1}, Lcom/helpshift/log/HSLogger;->d(Ljava/lang/String;Ljava/lang/String;)V iget-object p1, p0, Lcom/helpshift/chat/HSChatWebChromeClient;->filePathCallback:Landroid/webkit/ValueCallback; .line 96 invoke-interface {p1, v1}, Landroid/webkit/ValueCallback;->onReceiveValue(Ljava/lang/Object;)V iput-object v1, p0, Lcom/helpshift/chat/HSChatWebChromeClient;->filePathCallback:Landroid/webkit/ValueCallback; return v0 :cond_0 iput-object p2, p0, Lcom/helpshift/chat/HSChatWebChromeClient;->filePathCallback:Landroid/webkit/ValueCallback; iget-object p1, p0, Lcom/helpshift/chat/HSChatWebChromeClient;->eventsHandler:Lcom/helpshift/chat/HSChatEventsHandler; .line 104 invoke-virtual {p1, p2}, Lcom/helpshift/chat/HSChatEventsHandler;->setAttachmentFilePathCallback(Landroid/webkit/ValueCallback;)V const/4 p1, 0x1 .line 107 :try_start_0 invoke-virtual {p3}, Landroid/webkit/WebChromeClient$FileChooserParams;->createIntent()Landroid/content/Intent; move-result-object p2 const-string v3, "*/*" .line 110 invoke-virtual {p2, v3}, Landroid/content/Intent;->setType(Ljava/lang/String;)Landroid/content/Intent; .line 112 invoke-virtual {p3}, Landroid/webkit/WebChromeClient$FileChooserParams;->getAcceptTypes()[Ljava/lang/String; move-result-object p3 .line 113 array-length v3, p3 if-eqz v3, :cond_1 const-string v3, "android.intent.extra.MIME_TYPES" .line 114 invoke-virtual {p2, v3, p3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;[Ljava/lang/String;)Landroid/content/Intent; goto :goto_0 :catch_0 move-exception p1 goto :goto_1 :catch_1 move-exception p2 goto :goto_2 :cond_1 :goto_0 const-string p3, "android.intent.action.OPEN_DOCUMENT" .line 118 invoke-virtual {p2, p3}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent; const-string p3, "android.intent.category.OPENABLE" .line 119 invoke-virtual {p2, p3}, Landroid/content/Intent;->addCategory(Ljava/lang/String;)Landroid/content/Intent; const-string p3, "Starting open file chooser request." .line 121 invoke-static {v2, p3}, Lcom/helpshift/log/HSLogger;->d(Ljava/lang/String;Ljava/lang/String;)V iget-object p3, p0, Lcom/helpshift/chat/HSChatWebChromeClient;->eventsHandler:Lcom/helpshift/chat/HSChatEventsHandler; const/16 v3, 0x3e9 .line 122 invoke-virtual {p3, p2, v3}, Lcom/helpshift/chat/HSChatEventsHandler;->openFileChooser(Landroid/content/Intent;I)V :try_end_0 .catch Landroid/content/ActivityNotFoundException; {:try_start_0 .. :try_end_0} :catch_1 .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0 const-string p2, "onShowFileChooser success, returning true" .line 138 invoke-static {v2, p2}, Lcom/helpshift/log/HSLogger;->d(Ljava/lang/String;Ljava/lang/String;)V return p1 :goto_1 const-string p2, "error in opening the attachment in browser window, returning false" .line 133 invoke-static {v2, p2, p1}, Lcom/helpshift/log/HSLogger;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V iput-object v1, p0, Lcom/helpshift/chat/HSChatWebChromeClient;->filePathCallback:Landroid/webkit/ValueCallback; return v0 :goto_2 const-string p3, "ActivityNotFoundException error in opening the attachment file chooser." .line 125 invoke-static {v2, p3, p2}, Lcom/helpshift/log/HSLogger;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V iput-object v1, p0, Lcom/helpshift/chat/HSChatWebChromeClient;->filePathCallback:Landroid/webkit/ValueCallback; return p1 .end method .method public setFilePathCallback(Landroid/webkit/ValueCallback;)V .locals 0 iput-object p1, p0, Lcom/helpshift/chat/HSChatWebChromeClient;->filePathCallback:Landroid/webkit/ValueCallback; return-void .end method