MraidBridge.smali
.class public Lcom/mopub/mraid/MraidBridge;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/mopub/mraid/MraidBridge$MraidWebView;,
Lcom/mopub/mraid/MraidBridge$MraidBridgeListener;
}
.end annotation
# static fields
.field static final MRAID_OPEN:Ljava/lang/String; = "mraid://open?url="
# instance fields
.field private final mAdReport:Lcom/mopub/common/AdReport;
.field private mHasLoaded:Z
.field private mIsClicked:Z
.field private mMraidBridgeListener:Lcom/mopub/mraid/MraidBridge$MraidBridgeListener;
.field private final mMraidNativeCommandHandler:Lcom/mopub/mraid/MraidNativeCommandHandler;
.field private mMraidWebView:Lcom/mopub/mraid/MraidBridge$MraidWebView;
.field private final mMraidWebViewClient:Landroid/webkit/WebViewClient;
.field private final mPlacementType:Lcom/mopub/mraid/PlacementType;
# direct methods
.method constructor <init>(Lcom/mopub/common/AdReport;Lcom/mopub/mraid/PlacementType;)V
.registers 4
.line 97
new-instance v0, Lcom/mopub/mraid/MraidNativeCommandHandler;
invoke-direct {v0}, Lcom/mopub/mraid/MraidNativeCommandHandler;-><init>()V
invoke-direct {p0, p1, p2, v0}, Lcom/mopub/mraid/MraidBridge;-><init>(Lcom/mopub/common/AdReport;Lcom/mopub/mraid/PlacementType;Lcom/mopub/mraid/MraidNativeCommandHandler;)V
return-void
.end method
.method constructor <init>(Lcom/mopub/common/AdReport;Lcom/mopub/mraid/PlacementType;Lcom/mopub/mraid/MraidNativeCommandHandler;)V
.registers 5
.line 102
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 327
new-instance v0, Lcom/mopub/mraid/MraidBridge$5;
invoke-direct {v0, p0}, Lcom/mopub/mraid/MraidBridge$5;-><init>(Lcom/mopub/mraid/MraidBridge;)V
iput-object v0, p0, Lcom/mopub/mraid/MraidBridge;->mMraidWebViewClient:Landroid/webkit/WebViewClient;
.line 103
iput-object p1, p0, Lcom/mopub/mraid/MraidBridge;->mAdReport:Lcom/mopub/common/AdReport;
.line 104
iput-object p2, p0, Lcom/mopub/mraid/MraidBridge;->mPlacementType:Lcom/mopub/mraid/PlacementType;
.line 105
iput-object p3, p0, Lcom/mopub/mraid/MraidBridge;->mMraidNativeCommandHandler:Lcom/mopub/mraid/MraidNativeCommandHandler;
return-void
.end method
.method static synthetic access$000(Lcom/mopub/mraid/MraidBridge;)Lcom/mopub/mraid/MraidBridge$MraidBridgeListener;
.registers 1
.line 50
iget-object p0, p0, Lcom/mopub/mraid/MraidBridge;->mMraidBridgeListener:Lcom/mopub/mraid/MraidBridge$MraidBridgeListener;
return-object p0
.end method
.method static synthetic access$100(Lcom/mopub/mraid/MraidBridge;)Z
.registers 1
.line 50
iget-boolean p0, p0, Lcom/mopub/mraid/MraidBridge;->mIsClicked:Z
return p0
.end method
.method static synthetic access$102(Lcom/mopub/mraid/MraidBridge;Z)Z
.registers 2
.line 50
iput-boolean p1, p0, Lcom/mopub/mraid/MraidBridge;->mIsClicked:Z
return p1
.end method
.method static synthetic access$300(Lcom/mopub/mraid/MraidBridge;)V
.registers 1
.line 50
invoke-direct {p0}, Lcom/mopub/mraid/MraidBridge;->handlePageFinished()V
return-void
.end method
.method static synthetic access$400(Lcom/mopub/mraid/MraidBridge;Lcom/mopub/mraid/MraidJavascriptCommand;Ljava/lang/String;)V
.registers 3
.line 50
invoke-direct {p0, p1, p2}, Lcom/mopub/mraid/MraidBridge;->fireErrorEvent(Lcom/mopub/mraid/MraidJavascriptCommand;Ljava/lang/String;)V
return-void
.end method
.method private checkRange(III)I
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/mopub/mraid/MraidCommandException;
}
.end annotation
if-lt p1, p2, :cond_5
if-gt p1, p3, :cond_5
return p1
.line 544
:cond_5
new-instance p2, Lcom/mopub/mraid/MraidCommandException;
invoke-static {p1}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object p1
const-string p3, "Integer parameter out of range: "
invoke-virtual {p3, p1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
invoke-direct {p2, p1}, Lcom/mopub/mraid/MraidCommandException;-><init>(Ljava/lang/String;)V
throw p2
.end method
.method private fireErrorEvent(Lcom/mopub/mraid/MraidJavascriptCommand;Ljava/lang/String;)V
.registers 5
.line 238
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "window.mraidbridge.notifyErrorEvent("
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
.line 239
invoke-virtual {p1}, Lcom/mopub/mraid/MraidJavascriptCommand;->toJavascriptString()Ljava/lang/String;
move-result-object p1
invoke-static {p1}, Lorg/json/JSONObject;->quote(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
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;
.line 240
invoke-static {p2}, Lorg/json/JSONObject;->quote(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
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-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
.line 238
invoke-virtual {p0, p1}, Lcom/mopub/mraid/MraidBridge;->injectJavaScript(Ljava/lang/String;)V
return-void
.end method
.method private fireNativeCommandCompleteEvent(Lcom/mopub/mraid/MraidJavascriptCommand;)V
.registers 4
.line 244
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "window.mraidbridge.nativeCallComplete("
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
.line 245
invoke-virtual {p1}, Lcom/mopub/mraid/MraidJavascriptCommand;->toJavascriptString()Ljava/lang/String;
move-result-object p1
invoke-static {p1}, Lorg/json/JSONObject;->quote(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
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-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
.line 244
invoke-virtual {p0, p1}, Lcom/mopub/mraid/MraidBridge;->injectJavaScript(Ljava/lang/String;)V
return-void
.end method
.method private handlePageFinished()V
.registers 2
.line 408
iget-boolean v0, p0, Lcom/mopub/mraid/MraidBridge;->mHasLoaded:Z
if-eqz v0, :cond_5
return-void
:cond_5
const/4 v0, 0x1
.line 412
iput-boolean v0, p0, Lcom/mopub/mraid/MraidBridge;->mHasLoaded:Z
.line 413
iget-object v0, p0, Lcom/mopub/mraid/MraidBridge;->mMraidBridgeListener:Lcom/mopub/mraid/MraidBridge$MraidBridgeListener;
if-eqz v0, :cond_f
.line 414
invoke-interface {v0}, Lcom/mopub/mraid/MraidBridge$MraidBridgeListener;->onPageLoaded()V
:cond_f
return-void
.end method
.method private parseBoolean(Ljava/lang/String;)Z
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/mopub/mraid/MraidCommandException;
}
.end annotation
const-string v0, "true"
.line 558
invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_a
const/4 p1, 0x1
return p1
:cond_a
const-string v0, "false"
.line 560
invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_14
const/4 p1, 0x0
return p1
.line 563
:cond_14
new-instance v0, Lcom/mopub/mraid/MraidCommandException;
invoke-static {p1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
const-string v1, "Invalid boolean parameter: "
invoke-virtual {v1, p1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Lcom/mopub/mraid/MraidCommandException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method private parseBoolean(Ljava/lang/String;Z)Z
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/mopub/mraid/MraidCommandException;
}
.end annotation
if-nez p1, :cond_3
return p2
.line 554
:cond_3
invoke-direct {p0, p1}, Lcom/mopub/mraid/MraidBridge;->parseBoolean(Ljava/lang/String;)Z
move-result p1
return p1
.end method
.method private parseClosePosition(Ljava/lang/String;Lcom/mopub/common/CloseableLayout$ClosePosition;)Lcom/mopub/common/CloseableLayout$ClosePosition;
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/mopub/mraid/MraidCommandException;
}
.end annotation
.line 497
invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_7
return-object p2
:cond_7
const-string p2, "top-left"
.line 501
invoke-virtual {p1, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p2
if-eqz p2, :cond_12
.line 502
sget-object p1, Lcom/mopub/common/CloseableLayout$ClosePosition;->TOP_LEFT:Lcom/mopub/common/CloseableLayout$ClosePosition;
return-object p1
:cond_12
const-string p2, "top-right"
.line 503
invoke-virtual {p1, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p2
if-eqz p2, :cond_1d
.line 504
sget-object p1, Lcom/mopub/common/CloseableLayout$ClosePosition;->TOP_RIGHT:Lcom/mopub/common/CloseableLayout$ClosePosition;
return-object p1
:cond_1d
const-string p2, "center"
.line 505
invoke-virtual {p1, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p2
if-eqz p2, :cond_28
.line 506
sget-object p1, Lcom/mopub/common/CloseableLayout$ClosePosition;->CENTER:Lcom/mopub/common/CloseableLayout$ClosePosition;
return-object p1
:cond_28
const-string p2, "bottom-left"
.line 507
invoke-virtual {p1, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p2
if-eqz p2, :cond_33
.line 508
sget-object p1, Lcom/mopub/common/CloseableLayout$ClosePosition;->BOTTOM_LEFT:Lcom/mopub/common/CloseableLayout$ClosePosition;
return-object p1
:cond_33
const-string p2, "bottom-right"
.line 509
invoke-virtual {p1, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p2
if-eqz p2, :cond_3e
.line 510
sget-object p1, Lcom/mopub/common/CloseableLayout$ClosePosition;->BOTTOM_RIGHT:Lcom/mopub/common/CloseableLayout$ClosePosition;
return-object p1
:cond_3e
const-string p2, "top-center"
.line 511
invoke-virtual {p1, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p2
if-eqz p2, :cond_49
.line 512
sget-object p1, Lcom/mopub/common/CloseableLayout$ClosePosition;->TOP_CENTER:Lcom/mopub/common/CloseableLayout$ClosePosition;
return-object p1
:cond_49
const-string p2, "bottom-center"
.line 513
invoke-virtual {p1, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p2
if-eqz p2, :cond_54
.line 514
sget-object p1, Lcom/mopub/common/CloseableLayout$ClosePosition;->BOTTOM_CENTER:Lcom/mopub/common/CloseableLayout$ClosePosition;
return-object p1
.line 516
:cond_54
new-instance p2, Lcom/mopub/mraid/MraidCommandException;
invoke-static {p1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
const-string v0, "Invalid close position: "
invoke-virtual {v0, p1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
invoke-direct {p2, p1}, Lcom/mopub/mraid/MraidCommandException;-><init>(Ljava/lang/String;)V
throw p2
.end method
.method private parseOrientation(Ljava/lang/String;)Lcom/mopub/mraid/MraidOrientation;
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/mopub/mraid/MraidCommandException;
}
.end annotation
const-string v0, "portrait"
.line 531
invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_b
.line 532
sget-object p1, Lcom/mopub/mraid/MraidOrientation;->PORTRAIT:Lcom/mopub/mraid/MraidOrientation;
return-object p1
:cond_b
const-string v0, "landscape"
.line 533
invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_16
.line 534
sget-object p1, Lcom/mopub/mraid/MraidOrientation;->LANDSCAPE:Lcom/mopub/mraid/MraidOrientation;
return-object p1
:cond_16
const-string v0, "none"
.line 535
invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_21
.line 536
sget-object p1, Lcom/mopub/mraid/MraidOrientation;->NONE:Lcom/mopub/mraid/MraidOrientation;
return-object p1
.line 538
:cond_21
new-instance v0, Lcom/mopub/mraid/MraidCommandException;
invoke-static {p1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
const-string v1, "Invalid orientation: "
invoke-virtual {v1, p1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Lcom/mopub/mraid/MraidCommandException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method private parseSize(Ljava/lang/String;)I
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/mopub/mraid/MraidCommandException;
}
.end annotation
const/16 v0, 0xa
.line 523
:try_start_2
invoke-static {p1, v0}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;I)I
move-result p1
:try_end_6
.catch Ljava/lang/NumberFormatException; {:try_start_2 .. :try_end_6} :catch_7
return p1
.line 525
:catch_7
new-instance v0, Lcom/mopub/mraid/MraidCommandException;
invoke-static {p1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
const-string v1, "Invalid numeric parameter: "
invoke-virtual {v1, p1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Lcom/mopub/mraid/MraidCommandException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method private parseURI(Ljava/lang/String;)Ljava/net/URI;
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/mopub/mraid/MraidCommandException;
}
.end annotation
if-eqz p1, :cond_18
.line 581
:try_start_2
new-instance v0, Ljava/net/URI;
invoke-direct {v0, p1}, Ljava/net/URI;-><init>(Ljava/lang/String;)V
:try_end_7
.catch Ljava/net/URISyntaxException; {:try_start_2 .. :try_end_7} :catch_8
return-object v0
.line 583
:catch_8
new-instance v0, Lcom/mopub/mraid/MraidCommandException;
invoke-static {p1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
const-string v1, "Invalid URL parameter: "
invoke-virtual {v1, p1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Lcom/mopub/mraid/MraidCommandException;-><init>(Ljava/lang/String;)V
throw v0
.line 578
:cond_18
new-instance p1, Lcom/mopub/mraid/MraidCommandException;
const-string v0, "Parameter cannot be null"
invoke-direct {p1, v0}, Lcom/mopub/mraid/MraidCommandException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method private parseURI(Ljava/lang/String;Ljava/net/URI;)Ljava/net/URI;
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/mopub/mraid/MraidCommandException;
}
.end annotation
if-nez p1, :cond_3
return-object p2
.line 572
:cond_3
invoke-direct {p0, p1}, Lcom/mopub/mraid/MraidBridge;->parseURI(Ljava/lang/String;)Ljava/net/URI;
move-result-object p1
return-object p1
.end method
.method private stringifyRect(Landroid/graphics/Rect;)Ljava/lang/String;
.registers 5
.line 614
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
iget v1, p1, Landroid/graphics/Rect;->left:I
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v1, ","
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v2, p1, Landroid/graphics/Rect;->top:I
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Landroid/graphics/Rect;->width()I
move-result v2
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Landroid/graphics/Rect;->height()I
move-result p1
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 p1
return-object p1
.end method
.method private stringifySize(Landroid/graphics/Rect;)Ljava/lang/String;
.registers 4
.line 619
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p1}, Landroid/graphics/Rect;->width()I
move-result v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v1, ","
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Landroid/graphics/Rect;->height()I
move-result p1
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 p1
return-object p1
.end method
# virtual methods
.method attachView(Lcom/mopub/mraid/MraidBridge$MraidWebView;)V
.registers 5
.line 113
iput-object p1, p0, Lcom/mopub/mraid/MraidBridge;->mMraidWebView:Lcom/mopub/mraid/MraidBridge$MraidWebView;
.line 114
invoke-virtual {p1}, Lcom/mopub/mraid/MraidBridge$MraidWebView;->getSettings()Landroid/webkit/WebSettings;
move-result-object v0
const/4 v1, 0x1
invoke-virtual {v0, v1}, Landroid/webkit/WebSettings;->setJavaScriptEnabled(Z)V
.line 116
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/4 v1, 0x0
const/16 v2, 0x11
if-lt v0, v2, :cond_1e
.line 117
iget-object v0, p0, Lcom/mopub/mraid/MraidBridge;->mPlacementType:Lcom/mopub/mraid/PlacementType;
sget-object v2, Lcom/mopub/mraid/PlacementType;->INTERSTITIAL:Lcom/mopub/mraid/PlacementType;
if-ne v0, v2, :cond_1e
.line 118
invoke-virtual {p1}, Lcom/mopub/mraid/MraidBridge$MraidWebView;->getSettings()Landroid/webkit/WebSettings;
move-result-object p1
invoke-virtual {p1, v1}, Landroid/webkit/WebSettings;->setMediaPlaybackRequiresUserGesture(Z)V
.line 122
:cond_1e
iget-object p1, p0, Lcom/mopub/mraid/MraidBridge;->mMraidWebView:Lcom/mopub/mraid/MraidBridge$MraidWebView;
invoke-virtual {p1, v1}, Lcom/mopub/mraid/MraidBridge$MraidWebView;->setScrollContainer(Z)V
.line 123
iget-object p1, p0, Lcom/mopub/mraid/MraidBridge;->mMraidWebView:Lcom/mopub/mraid/MraidBridge$MraidWebView;
invoke-virtual {p1, v1}, Lcom/mopub/mraid/MraidBridge$MraidWebView;->setVerticalScrollBarEnabled(Z)V
.line 124
iget-object p1, p0, Lcom/mopub/mraid/MraidBridge;->mMraidWebView:Lcom/mopub/mraid/MraidBridge$MraidWebView;
invoke-virtual {p1, v1}, Lcom/mopub/mraid/MraidBridge$MraidWebView;->setHorizontalScrollBarEnabled(Z)V
.line 125
iget-object p1, p0, Lcom/mopub/mraid/MraidBridge;->mMraidWebView:Lcom/mopub/mraid/MraidBridge$MraidWebView;
invoke-virtual {p1, v1}, Lcom/mopub/mraid/MraidBridge$MraidWebView;->setBackgroundColor(I)V
.line 127
iget-object p1, p0, Lcom/mopub/mraid/MraidBridge;->mMraidWebView:Lcom/mopub/mraid/MraidBridge$MraidWebView;
iget-object v0, p0, Lcom/mopub/mraid/MraidBridge;->mMraidWebViewClient:Landroid/webkit/WebViewClient;
invoke-virtual {p1, v0}, Lcom/mopub/mraid/MraidBridge$MraidWebView;->setWebViewClient(Landroid/webkit/WebViewClient;)V
.line 129
iget-object p1, p0, Lcom/mopub/mraid/MraidBridge;->mMraidWebView:Lcom/mopub/mraid/MraidBridge$MraidWebView;
new-instance v0, Lcom/mopub/mraid/MraidBridge$1;
invoke-direct {v0, p0}, Lcom/mopub/mraid/MraidBridge$1;-><init>(Lcom/mopub/mraid/MraidBridge;)V
invoke-virtual {p1, v0}, Lcom/mopub/mraid/MraidBridge$MraidWebView;->setWebChromeClient(Landroid/webkit/WebChromeClient;)V
.line 153
new-instance p1, Lcom/mopub/mobileads/ViewGestureDetector;
iget-object v0, p0, Lcom/mopub/mraid/MraidBridge;->mMraidWebView:Lcom/mopub/mraid/MraidBridge$MraidWebView;
.line 154
invoke-virtual {v0}, Lcom/mopub/mraid/MraidBridge$MraidWebView;->getContext()Landroid/content/Context;
move-result-object v0
iget-object v1, p0, Lcom/mopub/mraid/MraidBridge;->mMraidWebView:Lcom/mopub/mraid/MraidBridge$MraidWebView;
iget-object v2, p0, Lcom/mopub/mraid/MraidBridge;->mAdReport:Lcom/mopub/common/AdReport;
invoke-direct {p1, v0, v1, v2}, Lcom/mopub/mobileads/ViewGestureDetector;-><init>(Landroid/content/Context;Landroid/view/View;Lcom/mopub/common/AdReport;)V
.line 155
new-instance v0, Lcom/mopub/mraid/MraidBridge$2;
invoke-direct {v0, p0}, Lcom/mopub/mraid/MraidBridge$2;-><init>(Lcom/mopub/mraid/MraidBridge;)V
invoke-virtual {p1, v0}, Lcom/mopub/mobileads/ViewGestureDetector;->setUserClickListener(Lcom/mopub/mobileads/ViewGestureDetector$UserClickListener;)V
.line 172
iget-object v0, p0, Lcom/mopub/mraid/MraidBridge;->mMraidWebView:Lcom/mopub/mraid/MraidBridge$MraidWebView;
new-instance v1, Lcom/mopub/mraid/MraidBridge$3;
invoke-direct {v1, p0, p1}, Lcom/mopub/mraid/MraidBridge$3;-><init>(Lcom/mopub/mraid/MraidBridge;Lcom/mopub/mobileads/ViewGestureDetector;)V
invoke-virtual {v0, v1}, Lcom/mopub/mraid/MraidBridge$MraidWebView;->setOnTouchListener(Landroid/view/View$OnTouchListener;)V
.line 189
iget-object p1, p0, Lcom/mopub/mraid/MraidBridge;->mMraidWebView:Lcom/mopub/mraid/MraidBridge$MraidWebView;
new-instance v0, Lcom/mopub/mraid/MraidBridge$4;
invoke-direct {v0, p0}, Lcom/mopub/mraid/MraidBridge$4;-><init>(Lcom/mopub/mraid/MraidBridge;)V
invoke-virtual {p1, v0}, Lcom/mopub/mraid/MraidBridge$MraidWebView;->setVisibilityChangedListener(Lcom/mopub/mraid/MraidBridge$MraidWebView$OnVisibilityChangedListener;)V
return-void
.end method
.method detach()V
.registers 2
.line 200
iget-object v0, p0, Lcom/mopub/mraid/MraidBridge;->mMraidWebView:Lcom/mopub/mraid/MraidBridge$MraidWebView;
if-eqz v0, :cond_a
.line 201
invoke-virtual {v0}, Lcom/mopub/mraid/MraidBridge$MraidWebView;->destroy()V
const/4 v0, 0x0
.line 202
iput-object v0, p0, Lcom/mopub/mraid/MraidBridge;->mMraidWebView:Lcom/mopub/mraid/MraidBridge$MraidWebView;
:cond_a
return-void
.end method
.method getMraidWebView()Lcom/mopub/mraid/MraidBridge$MraidWebView;
.registers 2
.line 660
iget-object v0, p0, Lcom/mopub/mraid/MraidBridge;->mMraidWebView:Lcom/mopub/mraid/MraidBridge$MraidWebView;
return-object v0
.end method
.method handleShouldOverrideUrl(Ljava/lang/String;)Z
.registers 10
const/4 v0, 0x0
const/4 v1, 0x1
.line 350
:try_start_2
new-instance v2, Ljava/net/URI;
invoke-direct {v2, p1}, Ljava/net/URI;-><init>(Ljava/lang/String;)V
:try_end_7
.catch Ljava/net/URISyntaxException; {:try_start_2 .. :try_end_7} :catch_b8
.line 358
invoke-virtual {v2}, Ljava/net/URI;->getScheme()Ljava/lang/String;
move-result-object v3
.line 359
invoke-virtual {v2}, Ljava/net/URI;->getHost()Ljava/lang/String;
move-result-object v4
const-string v5, "mopub"
.line 361
invoke-virtual {v5, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v5
if-eqz v5, :cond_2d
const-string p1, "failLoad"
.line 362
invoke-virtual {p1, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_2c
.line 363
iget-object p1, p0, Lcom/mopub/mraid/MraidBridge;->mPlacementType:Lcom/mopub/mraid/PlacementType;
sget-object v0, Lcom/mopub/mraid/PlacementType;->INLINE:Lcom/mopub/mraid/PlacementType;
if-ne p1, v0, :cond_2c
iget-object p1, p0, Lcom/mopub/mraid/MraidBridge;->mMraidBridgeListener:Lcom/mopub/mraid/MraidBridge$MraidBridgeListener;
if-eqz p1, :cond_2c
.line 364
invoke-interface {p1}, Lcom/mopub/mraid/MraidBridge$MraidBridgeListener;->onPageFailedToLoad()V
:cond_2c
return v1
.line 372
:cond_2d
iget-boolean v5, p0, Lcom/mopub/mraid/MraidBridge;->mIsClicked:Z
const-string v6, "UTF-8"
const-string v7, "mraid"
if-eqz v5, :cond_76
invoke-virtual {v7, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v5
if-nez v5, :cond_76
.line 374
:try_start_3b
new-instance v2, Ljava/net/URI;
new-instance v3, Ljava/lang/StringBuilder;
const-string v4, "mraid://open?url="
invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-static {p1, v6}, Ljava/net/URLEncoder;->encode(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v4
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-direct {v2, v3}, Ljava/net/URI;-><init>(Ljava/lang/String;)V
.line 375
invoke-virtual {v2}, Ljava/net/URI;->getHost()Ljava/lang/String;
move-result-object v4
.line 376
invoke-virtual {v2}, Ljava/net/URI;->getScheme()Ljava/lang/String;
move-result-object v3
:try_end_5a
.catch Ljava/net/URISyntaxException; {:try_start_3b .. :try_end_5a} :catch_5b
.catch Ljava/io/UnsupportedEncodingException; {:try_start_3b .. :try_end_5a} :catch_5b
goto :goto_76
.line 378
:catch_5b
sget-object v2, Lcom/mopub/common/logging/MoPubLog$SdkLogEvent;->CUSTOM:Lcom/mopub/common/logging/MoPubLog$SdkLogEvent;
new-array v1, v1, [Ljava/lang/Object;
invoke-static {p1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
const-string v3, "Invalid MRAID URL encoding: "
invoke-virtual {v3, p1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
aput-object p1, v1, v0
invoke-static {v2, v1}, Lcom/mopub/common/logging/MoPubLog;->log(Lcom/mopub/common/logging/MoPubLog$MPLogEventType;[Ljava/lang/Object;)V
.line 379
sget-object p1, Lcom/mopub/mraid/MraidJavascriptCommand;->OPEN:Lcom/mopub/mraid/MraidJavascriptCommand;
const-string v1, "Non-mraid URL is invalid"
invoke-direct {p0, p1, v1}, Lcom/mopub/mraid/MraidBridge;->fireErrorEvent(Lcom/mopub/mraid/MraidJavascriptCommand;Ljava/lang/String;)V
return v0
.line 384
:cond_76
:goto_76
invoke-virtual {v7, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_b7
.line 385
new-instance p1, Ljava/util/HashMap;
invoke-direct {p1}, Ljava/util/HashMap;-><init>()V
.line 386
invoke-static {v2, v6}, Lorg/apache/http/client/utils/URLEncodedUtils;->parse(Ljava/net/URI;Ljava/lang/String;)Ljava/util/List;
move-result-object v0
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_89
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_a1
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lorg/apache/http/NameValuePair;
.line 387
invoke-interface {v2}, Lorg/apache/http/NameValuePair;->getName()Ljava/lang/String;
move-result-object v3
invoke-interface {v2}, Lorg/apache/http/NameValuePair;->getValue()Ljava/lang/String;
move-result-object v2
invoke-interface {p1, v3, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_89
.line 389
:cond_a1
invoke-static {v4}, Lcom/mopub/mraid/MraidJavascriptCommand;->fromJavascriptString(Ljava/lang/String;)Lcom/mopub/mraid/MraidJavascriptCommand;
move-result-object v0
.line 391
:try_start_a5
invoke-virtual {p0, v0, p1}, Lcom/mopub/mraid/MraidBridge;->runCommand(Lcom/mopub/mraid/MraidJavascriptCommand;Ljava/util/Map;)V
:try_end_a8
.catch Lcom/mopub/mraid/MraidCommandException; {:try_start_a5 .. :try_end_a8} :catch_ab
.catch Ljava/lang/IllegalArgumentException; {:try_start_a5 .. :try_end_a8} :catch_a9
goto :goto_b3
:catch_a9
move-exception p1
goto :goto_ac
:catch_ab
move-exception p1
.line 393
:goto_ac
invoke-virtual {p1}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object p1
invoke-direct {p0, v0, p1}, Lcom/mopub/mraid/MraidBridge;->fireErrorEvent(Lcom/mopub/mraid/MraidJavascriptCommand;Ljava/lang/String;)V
.line 395
:goto_b3
invoke-direct {p0, v0}, Lcom/mopub/mraid/MraidBridge;->fireNativeCommandCompleteEvent(Lcom/mopub/mraid/MraidJavascriptCommand;)V
return v1
:cond_b7
return v0
.line 352
:catch_b8
sget-object v2, Lcom/mopub/common/logging/MoPubLog$SdkLogEvent;->CUSTOM:Lcom/mopub/common/logging/MoPubLog$SdkLogEvent;
new-array v3, v1, [Ljava/lang/Object;
invoke-static {p1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
const-string v4, "Invalid MRAID URL: "
invoke-virtual {v4, p1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
aput-object p1, v3, v0
invoke-static {v2, v3}, Lcom/mopub/common/logging/MoPubLog;->log(Lcom/mopub/common/logging/MoPubLog$MPLogEventType;[Ljava/lang/Object;)V
.line 353
sget-object p1, Lcom/mopub/mraid/MraidJavascriptCommand;->UNSPECIFIED:Lcom/mopub/mraid/MraidJavascriptCommand;
const-string v0, "Mraid command sent an invalid URL"
invoke-direct {p0, p1, v0}, Lcom/mopub/mraid/MraidBridge;->fireErrorEvent(Lcom/mopub/mraid/MraidJavascriptCommand;Ljava/lang/String;)V
return v1
.end method
.method injectJavaScript(Ljava/lang/String;)V
.registers 7
.line 228
iget-object v0, p0, Lcom/mopub/mraid/MraidBridge;->mMraidWebView:Lcom/mopub/mraid/MraidBridge$MraidWebView;
const/4 v1, 0x0
const/4 v2, 0x1
if-nez v0, :cond_1a
.line 229
sget-object v0, Lcom/mopub/common/logging/MoPubLog$SdkLogEvent;->CUSTOM:Lcom/mopub/common/logging/MoPubLog$SdkLogEvent;
new-array v2, v2, [Ljava/lang/Object;
invoke-static {p1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
const-string v3, "Attempted to inject Javascript into MRAID WebView while was not attached:\n\t"
invoke-virtual {v3, p1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
aput-object p1, v2, v1
invoke-static {v0, v2}, Lcom/mopub/common/logging/MoPubLog;->log(Lcom/mopub/common/logging/MoPubLog$MPLogEventType;[Ljava/lang/Object;)V
return-void
.line 233
:cond_1a
sget-object v0, Lcom/mopub/common/logging/MoPubLog$SdkLogEvent;->CUSTOM:Lcom/mopub/common/logging/MoPubLog$SdkLogEvent;
new-array v2, v2, [Ljava/lang/Object;
invoke-static {p1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
const-string v4, "Injecting Javascript into MRAID WebView:\n\t"
invoke-virtual {v4, v3}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
aput-object v3, v2, v1
invoke-static {v0, v2}, Lcom/mopub/common/logging/MoPubLog;->log(Lcom/mopub/common/logging/MoPubLog$MPLogEventType;[Ljava/lang/Object;)V
.line 234
iget-object v0, p0, Lcom/mopub/mraid/MraidBridge;->mMraidWebView:Lcom/mopub/mraid/MraidBridge$MraidWebView;
invoke-static {p1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
const-string v1, "javascript:"
invoke-virtual {v1, p1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
invoke-virtual {v0, p1}, Lcom/mopub/mraid/MraidBridge$MraidWebView;->loadUrl(Ljava/lang/String;)V
return-void
.end method
.method isAttached()Z
.registers 2
.line 651
iget-object v0, p0, Lcom/mopub/mraid/MraidBridge;->mMraidWebView:Lcom/mopub/mraid/MraidBridge$MraidWebView;
if-eqz v0, :cond_6
const/4 v0, 0x1
return v0
:cond_6
const/4 v0, 0x0
return v0
.end method
.method isClicked()Z
.registers 2
.line 642
iget-boolean v0, p0, Lcom/mopub/mraid/MraidBridge;->mIsClicked:Z
return v0
.end method
.method isLoaded()Z
.registers 2
.line 655
iget-boolean v0, p0, Lcom/mopub/mraid/MraidBridge;->mHasLoaded:Z
return v0
.end method
.method isViewable()Z
.registers 2
.line 646
iget-object v0, p0, Lcom/mopub/mraid/MraidBridge;->mMraidWebView:Lcom/mopub/mraid/MraidBridge$MraidWebView;
if-eqz v0, :cond_c
.line 647
invoke-virtual {v0}, Lcom/mopub/mraid/MraidBridge$MraidWebView;->isMraidViewable()Z
move-result v0
if-eqz v0, :cond_c
const/4 v0, 0x1
return v0
:cond_c
const/4 v0, 0x0
return v0
.end method
.method notifyPlacementType(Lcom/mopub/mraid/PlacementType;)V
.registers 4
.line 594
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "mraidbridge.setPlacementType("
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
.line 595
invoke-virtual {p1}, Lcom/mopub/mraid/PlacementType;->toJavascriptString()Ljava/lang/String;
move-result-object p1
invoke-static {p1}, Lorg/json/JSONObject;->quote(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
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-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
.line 594
invoke-virtual {p0, p1}, Lcom/mopub/mraid/MraidBridge;->injectJavaScript(Ljava/lang/String;)V
return-void
.end method
.method notifyReady()V
.registers 2
const-string v0, "mraidbridge.notifyReadyEvent();"
.line 638
invoke-virtual {p0, v0}, Lcom/mopub/mraid/MraidBridge;->injectJavaScript(Ljava/lang/String;)V
return-void
.end method
.method public notifyScreenMetrics(Lcom/mopub/mraid/MraidScreenMetrics;)V
.registers 5
.line 623
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "mraidbridge.setScreenSize("
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
.line 624
invoke-virtual {p1}, Lcom/mopub/mraid/MraidScreenMetrics;->getScreenRectDips()Landroid/graphics/Rect;
move-result-object v1
invoke-direct {p0, v1}, Lcom/mopub/mraid/MraidBridge;->stringifySize(Landroid/graphics/Rect;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, ");mraidbridge.setMaxSize("
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 626
invoke-virtual {p1}, Lcom/mopub/mraid/MraidScreenMetrics;->getRootViewRectDips()Landroid/graphics/Rect;
move-result-object v1
invoke-direct {p0, v1}, Lcom/mopub/mraid/MraidBridge;->stringifySize(Landroid/graphics/Rect;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, ");mraidbridge.setCurrentPosition("
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 628
invoke-virtual {p1}, Lcom/mopub/mraid/MraidScreenMetrics;->getCurrentAdRectDips()Landroid/graphics/Rect;
move-result-object v1
invoke-direct {p0, v1}, Lcom/mopub/mraid/MraidBridge;->stringifyRect(Landroid/graphics/Rect;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, ");mraidbridge.setDefaultPosition("
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 630
invoke-virtual {p1}, Lcom/mopub/mraid/MraidScreenMetrics;->getDefaultAdRectDips()Landroid/graphics/Rect;
move-result-object v1
invoke-direct {p0, v1}, Lcom/mopub/mraid/MraidBridge;->stringifyRect(Landroid/graphics/Rect;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, 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}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 623
invoke-virtual {p0, v0}, Lcom/mopub/mraid/MraidBridge;->injectJavaScript(Ljava/lang/String;)V
.line 632
new-instance v0, Ljava/lang/StringBuilder;
const-string v2, "mraidbridge.notifySizeChangeEvent("
invoke-direct {v0, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
.line 633
invoke-virtual {p1}, Lcom/mopub/mraid/MraidScreenMetrics;->getCurrentAdRectDips()Landroid/graphics/Rect;
move-result-object p1
invoke-direct {p0, p1}, Lcom/mopub/mraid/MraidBridge;->stringifySize(Landroid/graphics/Rect;)Ljava/lang/String;
move-result-object p1
invoke-virtual {v0, p1}, 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}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
.line 632
invoke-virtual {p0, p1}, Lcom/mopub/mraid/MraidBridge;->injectJavaScript(Ljava/lang/String;)V
return-void
.end method
.method notifySupports(ZZZZZ)V
.registers 8
.line 607
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "mraidbridge.setSupports("
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
const-string p1, ","
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p3}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p4}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p5}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
const-string 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
invoke-virtual {p0, p1}, Lcom/mopub/mraid/MraidBridge;->injectJavaScript(Ljava/lang/String;)V
return-void
.end method
.method notifyViewState(Lcom/mopub/mraid/ViewState;)V
.registers 4
.line 600
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "mraidbridge.setState("
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
.line 601
invoke-virtual {p1}, Lcom/mopub/mraid/ViewState;->toJavascriptString()Ljava/lang/String;
move-result-object p1
invoke-static {p1}, Lorg/json/JSONObject;->quote(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
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-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
.line 600
invoke-virtual {p0, p1}, Lcom/mopub/mraid/MraidBridge;->injectJavaScript(Ljava/lang/String;)V
return-void
.end method
.method notifyViewability(Z)V
.registers 4
.line 588
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "mraidbridge.setIsViewable("
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
const-string 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
invoke-virtual {p0, p1}, Lcom/mopub/mraid/MraidBridge;->injectJavaScript(Ljava/lang/String;)V
return-void
.end method
.method runCommand(Lcom/mopub/mraid/MraidJavascriptCommand;Ljava/util/Map;)V
.registers 15
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/mopub/mraid/MraidJavascriptCommand;",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;)V"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/mopub/mraid/MraidCommandException;
}
.end annotation
.line 422
iget-object v0, p0, Lcom/mopub/mraid/MraidBridge;->mPlacementType:Lcom/mopub/mraid/PlacementType;
invoke-virtual {p1, v0}, Lcom/mopub/mraid/MraidJavascriptCommand;->requiresClick(Lcom/mopub/mraid/PlacementType;)Z
move-result v0
if-eqz v0, :cond_15
iget-boolean v0, p0, Lcom/mopub/mraid/MraidBridge;->mIsClicked:Z
if-eqz v0, :cond_d
goto :goto_15
.line 423
:cond_d
new-instance p1, Lcom/mopub/mraid/MraidCommandException;
const-string p2, "Cannot execute this command unless the user clicks"
invoke-direct {p1, p2}, Lcom/mopub/mraid/MraidCommandException;-><init>(Ljava/lang/String;)V
throw p1
.line 426
:cond_15
:goto_15
iget-object v0, p0, Lcom/mopub/mraid/MraidBridge;->mMraidBridgeListener:Lcom/mopub/mraid/MraidBridge$MraidBridgeListener;
if-eqz v0, :cond_141
.line 430
iget-object v0, p0, Lcom/mopub/mraid/MraidBridge;->mMraidWebView:Lcom/mopub/mraid/MraidBridge$MraidWebView;
if-eqz v0, :cond_139
.line 434
sget-object v0, Lcom/mopub/mraid/MraidBridge$7;->$SwitchMap$com$mopub$mraid$MraidJavascriptCommand:[I
invoke-virtual {p1}, Lcom/mopub/mraid/MraidJavascriptCommand;->ordinal()I
move-result v1
aget v0, v0, v1
const-string v1, "uri"
const-string v2, "shouldUseCustomClose"
const-string v3, "url"
const/4 v4, 0x0
packed-switch v0, :pswitch_data_14a
return-void
.line 490
:pswitch_30
new-instance p1, Lcom/mopub/mraid/MraidCommandException;
const-string p2, "Unspecified MRAID Javascript command"
invoke-direct {p1, p2}, Lcom/mopub/mraid/MraidCommandException;-><init>(Ljava/lang/String;)V
throw p1
.line 487
:pswitch_38
iget-object p1, p0, Lcom/mopub/mraid/MraidBridge;->mMraidNativeCommandHandler:Lcom/mopub/mraid/MraidNativeCommandHandler;
iget-object v0, p0, Lcom/mopub/mraid/MraidBridge;->mMraidWebView:Lcom/mopub/mraid/MraidBridge$MraidWebView;
invoke-virtual {v0}, Lcom/mopub/mraid/MraidBridge$MraidWebView;->getContext()Landroid/content/Context;
move-result-object v0
invoke-virtual {p1, v0, p2}, Lcom/mopub/mraid/MraidNativeCommandHandler;->createCalendarEvent(Landroid/content/Context;Ljava/util/Map;)V
return-void
.line 476
:pswitch_44
invoke-interface {p2, v1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
check-cast p2, Ljava/lang/String;
invoke-direct {p0, p2}, Lcom/mopub/mraid/MraidBridge;->parseURI(Ljava/lang/String;)Ljava/net/URI;
move-result-object p2
.line 477
iget-object v0, p0, Lcom/mopub/mraid/MraidBridge;->mMraidNativeCommandHandler:Lcom/mopub/mraid/MraidNativeCommandHandler;
iget-object v1, p0, Lcom/mopub/mraid/MraidBridge;->mMraidWebView:Lcom/mopub/mraid/MraidBridge$MraidWebView;
invoke-virtual {v1}, Lcom/mopub/mraid/MraidBridge$MraidWebView;->getContext()Landroid/content/Context;
move-result-object v1
invoke-virtual {p2}, Ljava/net/URI;->toString()Ljava/lang/String;
move-result-object p2
new-instance v2, Lcom/mopub/mraid/MraidBridge$6;
invoke-direct {v2, p0, p1}, Lcom/mopub/mraid/MraidBridge$6;-><init>(Lcom/mopub/mraid/MraidBridge;Lcom/mopub/mraid/MraidJavascriptCommand;)V
invoke-virtual {v0, v1, p2, v2}, Lcom/mopub/mraid/MraidNativeCommandHandler;->storePicture(Landroid/content/Context;Ljava/lang/String;Lcom/mopub/mraid/MraidNativeCommandHandler$MraidCommandFailureListener;)V
return-void
.line 472
:pswitch_63
invoke-interface {p2, v1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/String;
invoke-direct {p0, p1}, Lcom/mopub/mraid/MraidBridge;->parseURI(Ljava/lang/String;)Ljava/net/URI;
move-result-object p1
.line 473
iget-object p2, p0, Lcom/mopub/mraid/MraidBridge;->mMraidBridgeListener:Lcom/mopub/mraid/MraidBridge$MraidBridgeListener;
invoke-interface {p2, p1}, Lcom/mopub/mraid/MraidBridge$MraidBridgeListener;->onPlayVideo(Ljava/net/URI;)V
return-void
:pswitch_73
const-string p1, "allowOrientationChange"
.line 465
invoke-interface {p2, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/String;
invoke-direct {p0, p1}, Lcom/mopub/mraid/MraidBridge;->parseBoolean(Ljava/lang/String;)Z
move-result p1
const-string v0, "forceOrientation"
.line 466
invoke-interface {p2, v0}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
check-cast p2, Ljava/lang/String;
invoke-direct {p0, p2}, Lcom/mopub/mraid/MraidBridge;->parseOrientation(Ljava/lang/String;)Lcom/mopub/mraid/MraidOrientation;
move-result-object p2
.line 468
iget-object v0, p0, Lcom/mopub/mraid/MraidBridge;->mMraidBridgeListener:Lcom/mopub/mraid/MraidBridge$MraidBridgeListener;
invoke-interface {v0, p1, p2}, Lcom/mopub/mraid/MraidBridge$MraidBridgeListener;->onSetOrientationProperties(ZLcom/mopub/mraid/MraidOrientation;)V
return-void
.line 461
:pswitch_91
invoke-interface {p2, v3}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/String;
invoke-direct {p0, p1}, Lcom/mopub/mraid/MraidBridge;->parseURI(Ljava/lang/String;)Ljava/net/URI;
move-result-object p1
.line 462
iget-object p2, p0, Lcom/mopub/mraid/MraidBridge;->mMraidBridgeListener:Lcom/mopub/mraid/MraidBridge$MraidBridgeListener;
invoke-interface {p2, p1}, Lcom/mopub/mraid/MraidBridge$MraidBridgeListener;->onOpen(Ljava/net/URI;)V
return-void
.line 457
:pswitch_a1
invoke-interface {p2, v2}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/String;
invoke-direct {p0, p1, v4}, Lcom/mopub/mraid/MraidBridge;->parseBoolean(Ljava/lang/String;Z)Z
move-result p1
.line 458
iget-object p2, p0, Lcom/mopub/mraid/MraidBridge;->mMraidBridgeListener:Lcom/mopub/mraid/MraidBridge$MraidBridgeListener;
invoke-interface {p2, p1}, Lcom/mopub/mraid/MraidBridge$MraidBridgeListener;->onUseCustomClose(Z)V
return-void
.line 451
:pswitch_b1
invoke-interface {p2, v3}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/String;
const/4 v0, 0x0
invoke-direct {p0, p1, v0}, Lcom/mopub/mraid/MraidBridge;->parseURI(Ljava/lang/String;Ljava/net/URI;)Ljava/net/URI;
move-result-object p1
.line 452
invoke-interface {p2, v2}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
check-cast p2, Ljava/lang/String;
invoke-direct {p0, p2, v4}, Lcom/mopub/mraid/MraidBridge;->parseBoolean(Ljava/lang/String;Z)Z
move-result p2
.line 454
iget-object v0, p0, Lcom/mopub/mraid/MraidBridge;->mMraidBridgeListener:Lcom/mopub/mraid/MraidBridge$MraidBridgeListener;
invoke-interface {v0, p1, p2}, Lcom/mopub/mraid/MraidBridge$MraidBridgeListener;->onExpand(Ljava/net/URI;Z)V
return-void
:pswitch_cc
const-string p1, "width"
.line 440
invoke-interface {p2, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/String;
invoke-direct {p0, p1}, Lcom/mopub/mraid/MraidBridge;->parseSize(Ljava/lang/String;)I
move-result p1
const v0, 0x186a0
invoke-direct {p0, p1, v4, v0}, Lcom/mopub/mraid/MraidBridge;->checkRange(III)I
move-result v6
const-string p1, "height"
.line 441
invoke-interface {p2, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/String;
invoke-direct {p0, p1}, Lcom/mopub/mraid/MraidBridge;->parseSize(Ljava/lang/String;)I
move-result p1
invoke-direct {p0, p1, v4, v0}, Lcom/mopub/mraid/MraidBridge;->checkRange(III)I
move-result v7
const-string p1, "offsetX"
.line 442
invoke-interface {p2, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/String;
invoke-direct {p0, p1}, Lcom/mopub/mraid/MraidBridge;->parseSize(Ljava/lang/String;)I
move-result p1
const v1, -0x186a0
invoke-direct {p0, p1, v1, v0}, Lcom/mopub/mraid/MraidBridge;->checkRange(III)I
move-result v8
const-string p1, "offsetY"
.line 443
invoke-interface {p2, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/String;
invoke-direct {p0, p1}, Lcom/mopub/mraid/MraidBridge;->parseSize(Ljava/lang/String;)I
move-result p1
invoke-direct {p0, p1, v1, v0}, Lcom/mopub/mraid/MraidBridge;->checkRange(III)I
move-result v9
const-string p1, "customClosePosition"
.line 445
invoke-interface {p2, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/String;
sget-object v0, Lcom/mopub/common/CloseableLayout$ClosePosition;->TOP_RIGHT:Lcom/mopub/common/CloseableLayout$ClosePosition;
.line 444
invoke-direct {p0, p1, v0}, Lcom/mopub/mraid/MraidBridge;->parseClosePosition(Ljava/lang/String;Lcom/mopub/common/CloseableLayout$ClosePosition;)Lcom/mopub/common/CloseableLayout$ClosePosition;
move-result-object v10
const-string p1, "allowOffscreen"
.line 446
invoke-interface {p2, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/String;
const/4 p2, 0x1
invoke-direct {p0, p1, p2}, Lcom/mopub/mraid/MraidBridge;->parseBoolean(Ljava/lang/String;Z)Z
move-result v11
.line 447
iget-object v5, p0, Lcom/mopub/mraid/MraidBridge;->mMraidBridgeListener:Lcom/mopub/mraid/MraidBridge$MraidBridgeListener;
invoke-interface/range {v5 .. v11}, Lcom/mopub/mraid/MraidBridge$MraidBridgeListener;->onResize(IIIILcom/mopub/common/CloseableLayout$ClosePosition;Z)V
return-void
.line 436
:pswitch_133
iget-object p1, p0, Lcom/mopub/mraid/MraidBridge;->mMraidBridgeListener:Lcom/mopub/mraid/MraidBridge$MraidBridgeListener;
invoke-interface {p1}, Lcom/mopub/mraid/MraidBridge$MraidBridgeListener;->onClose()V
return-void
.line 431
:cond_139
new-instance p1, Lcom/mopub/mraid/MraidCommandException;
const-string p2, "The current WebView is being destroyed"
invoke-direct {p1, p2}, Lcom/mopub/mraid/MraidCommandException;-><init>(Ljava/lang/String;)V
throw p1
.line 427
:cond_141
new-instance p1, Lcom/mopub/mraid/MraidCommandException;
const-string p2, "Invalid state to execute this command"
invoke-direct {p1, p2}, Lcom/mopub/mraid/MraidCommandException;-><init>(Ljava/lang/String;)V
throw p1
nop
:pswitch_data_14a
.packed-switch 0x1
:pswitch_133
:pswitch_cc
:pswitch_b1
:pswitch_a1
:pswitch_91
:pswitch_73
:pswitch_63
:pswitch_44
:pswitch_38
:pswitch_30
.end packed-switch
.end method
.method setClicked(Z)V
.registers 2
.line 665
iput-boolean p1, p0, Lcom/mopub/mraid/MraidBridge;->mIsClicked:Z
return-void
.end method
.method public setContentHtml(Ljava/lang/String;)V
.registers 8
.line 207
iget-object v0, p0, Lcom/mopub/mraid/MraidBridge;->mMraidWebView:Lcom/mopub/mraid/MraidBridge$MraidWebView;
const/4 v1, 0x0
if-nez v0, :cond_12
.line 208
sget-object p1, Lcom/mopub/common/logging/MoPubLog$SdkLogEvent;->CUSTOM:Lcom/mopub/common/logging/MoPubLog$SdkLogEvent;
const/4 v0, 0x1
new-array v0, v0, [Ljava/lang/Object;
const-string v2, "MRAID bridge called setContentHtml before WebView was attached"
aput-object v2, v0, v1
invoke-static {p1, v0}, Lcom/mopub/common/logging/MoPubLog;->log(Lcom/mopub/common/logging/MoPubLog$MPLogEventType;[Ljava/lang/Object;)V
return-void
.line 212
:cond_12
iput-boolean v1, p0, Lcom/mopub/mraid/MraidBridge;->mHasLoaded:Z
.line 213
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-static {}, Lcom/mopub/network/Networking;->getBaseUrlScheme()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, "://ads.mopub.com/"
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/4 v5, 0x0
const-string v3, "text/html"
const-string v4, "UTF-8"
move-object v2, p1
invoke-virtual/range {v0 .. v5}, Lcom/mopub/mraid/MraidBridge$MraidWebView;->loadDataWithBaseURL(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method public setContentUrl(Ljava/lang/String;)V
.registers 5
.line 218
iget-object v0, p0, Lcom/mopub/mraid/MraidBridge;->mMraidWebView:Lcom/mopub/mraid/MraidBridge$MraidWebView;
const/4 v1, 0x0
if-nez v0, :cond_12
.line 219
sget-object p1, Lcom/mopub/common/logging/MoPubLog$SdkLogEvent;->CUSTOM:Lcom/mopub/common/logging/MoPubLog$SdkLogEvent;
const/4 v0, 0x1
new-array v0, v0, [Ljava/lang/Object;
const-string v2, "MRAID bridge called setContentHtml while WebView was not attached"
aput-object v2, v0, v1
invoke-static {p1, v0}, Lcom/mopub/common/logging/MoPubLog;->log(Lcom/mopub/common/logging/MoPubLog$MPLogEventType;[Ljava/lang/Object;)V
return-void
.line 223
:cond_12
iput-boolean v1, p0, Lcom/mopub/mraid/MraidBridge;->mHasLoaded:Z
.line 224
invoke-virtual {v0, p1}, Lcom/mopub/mraid/MraidBridge$MraidWebView;->loadUrl(Ljava/lang/String;)V
return-void
.end method
.method setMraidBridgeListener(Lcom/mopub/mraid/MraidBridge$MraidBridgeListener;)V
.registers 2
.line 109
iput-object p1, p0, Lcom/mopub/mraid/MraidBridge;->mMraidBridgeListener:Lcom/mopub/mraid/MraidBridge$MraidBridgeListener;
return-void
.end method