a.smali
.class public Lcom/cmcm/ad/data/vast/a;
.super Ljava/lang/Object;
.source "AdWebViewUtils.java"
# static fields
.field private static a:Ljava/lang/String;
# direct methods
.method static constructor <clinit>()V
.registers 1
.prologue
.line 12
const/4 v0, 0x0
sput-object v0, Lcom/cmcm/ad/data/vast/a;->a:Ljava/lang/String;
return-void
.end method
.method public static a(Landroid/content/Context;)Ljava/lang/String;
.registers 3
.prologue
.line 16
sget-object v0, Lcom/cmcm/ad/data/vast/a;->a:Ljava/lang/String;
if-nez v0, :cond_10
.line 17
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x11
if-lt v0, v1, :cond_1b
.line 19
:try_start_a
invoke-static {p0}, Landroid/webkit/WebSettings;->getDefaultUserAgent(Landroid/content/Context;)Ljava/lang/String;
move-result-object v0
sput-object v0, Lcom/cmcm/ad/data/vast/a;->a:Ljava/lang/String;
:try_end_10
.catch Ljava/lang/Exception; {:try_start_a .. :try_end_10} :catch_13
.line 27
:cond_10
:goto_10
sget-object v0, Lcom/cmcm/ad/data/vast/a;->a:Ljava/lang/String;
return-object v0
.line 20
:catch_13
move-exception v0
.line 21
invoke-static {p0}, Lcom/cmcm/ad/data/vast/a;->b(Landroid/content/Context;)Ljava/lang/String;
move-result-object v0
sput-object v0, Lcom/cmcm/ad/data/vast/a;->a:Ljava/lang/String;
goto :goto_10
.line 24
:cond_1b
invoke-static {p0}, Lcom/cmcm/ad/data/vast/a;->b(Landroid/content/Context;)Ljava/lang/String;
move-result-object v0
sput-object v0, Lcom/cmcm/ad/data/vast/a;->a:Ljava/lang/String;
goto :goto_10
.end method
.method private static a(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.registers 9
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.prologue
const/4 v1, 0x2
const/4 v3, 0x1
const/4 v5, 0x0
.line 48
invoke-static {p1}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v0
.line 49
new-array v1, v1, [Ljava/lang/Class;
const-class v2, Landroid/content/Context;
aput-object v2, v1, v5
invoke-static {p2}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v2
aput-object v2, v1, v3
invoke-virtual {v0, v1}, Ljava/lang/Class;->getDeclaredConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
move-result-object v1
.line 50
invoke-virtual {v1, v3}, Ljava/lang/reflect/Constructor;->setAccessible(Z)V
.line 51
const-string v2, "getUserAgentString"
new-array v3, v5, [Ljava/lang/Class;
invoke-virtual {v0, v2, v3}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v0
.line 53
const/4 v2, 0x2
:try_start_23
new-array v2, v2, [Ljava/lang/Object;
const/4 v3, 0x0
aput-object p0, v2, v3
const/4 v3, 0x1
const/4 v4, 0x0
aput-object v4, v2, v3
invoke-virtual {v1, v2}, Ljava/lang/reflect/Constructor;->newInstance([Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
const/4 v3, 0x0
new-array v3, v3, [Ljava/lang/Object;
invoke-virtual {v0, v2, v3}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
:try_end_39
.catchall {:try_start_23 .. :try_end_39} :catchall_3d
.line 55
invoke-virtual {v1, v5}, Ljava/lang/reflect/Constructor;->setAccessible(Z)V
.line 53
return-object v0
.line 55
:catchall_3d
move-exception v0
invoke-virtual {v1, v5}, Ljava/lang/reflect/Constructor;->setAccessible(Z)V
throw v0
.end method
.method private static b(Landroid/content/Context;)Ljava/lang/String;
.registers 3
.prologue
.line 31
const-string v0, ""
.line 33
:try_start_2
const-string v0, "android.webkit.WebSettings"
const-string v1, "android.webkit.WebView"
invoke-static {p0, v0, v1}, Lcom/cmcm/ad/data/vast/a;->a(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
:try_end_9
.catch Ljava/lang/Exception; {:try_start_2 .. :try_end_9} :catch_b
move-result-object v0
.line 44
:goto_a
return-object v0
.line 34
:catch_b
move-exception v0
.line 36
:try_start_c
const-string v0, "android.webkit.WebSettingsClassic"
const-string v1, "android.webkit.WebViewClassic"
invoke-static {p0, v0, v1}, Lcom/cmcm/ad/data/vast/a;->a(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
:try_end_13
.catch Ljava/lang/Exception; {:try_start_c .. :try_end_13} :catch_15
move-result-object v0
goto :goto_a
.line 37
:catch_15
move-exception v0
.line 38
new-instance v1, Landroid/webkit/WebView;
invoke-virtual {p0}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object v0
invoke-direct {v1, v0}, Landroid/webkit/WebView;-><init>(Landroid/content/Context;)V
.line 39
invoke-virtual {v1}, Landroid/webkit/WebView;->getSettings()Landroid/webkit/WebSettings;
move-result-object v0
invoke-virtual {v0}, Landroid/webkit/WebSettings;->getUserAgentString()Ljava/lang/String;
move-result-object v0
.line 40
invoke-virtual {v1}, Landroid/webkit/WebView;->destroy()V
goto :goto_a
.end method