UserAgent.smali
.class public final Laegon/chrome/net/impl/UserAgent;
.super Ljava/lang/Object;
# static fields
.field private static final VERSION_CODE_UNINITIALIZED:I
.field private static final sLock:Ljava/lang/Object;
.field private static sVersionCode:I
# direct methods
.method static constructor <clinit>()V
.registers 1
new-instance v0, Ljava/lang/Object;
invoke-direct {v0}, Ljava/lang/Object;-><init>()V
sput-object v0, Laegon/chrome/net/impl/UserAgent;->sLock:Ljava/lang/Object;
const/4 v0, 0x0
sput v0, Laegon/chrome/net/impl/UserAgent;->sVersionCode:I
return-void
.end method
.method private constructor <init>()V
.registers 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method private static appendCronetVersion(Ljava/lang/StringBuilder;)V
.registers 2
const-string v0, " Cronet/"
invoke-virtual {p0, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {}, Laegon/chrome/net/impl/ImplVersion;->getCronetVersion()Ljava/lang/String;
move-result-object v0
invoke-virtual {p0, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
return-void
.end method
.method public static from(Landroid/content/Context;)Ljava/lang/String;
.registers 4
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/16 v1, 0x2f
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-static {p0}, Laegon/chrome/net/impl/UserAgent;->versionFromContext(Landroid/content/Context;)I
move-result v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v1, " (Linux; U; Android "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
sget-object v1, Landroid/os/Build$VERSION;->RELEASE:Ljava/lang/String;
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-static {}, Ljava/util/Locale;->getDefault()Ljava/util/Locale;
move-result-object v1
invoke-virtual {v1}, Ljava/util/Locale;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
sget-object v1, Landroid/os/Build;->MODEL:Ljava/lang/String;
invoke-virtual {v1}, Ljava/lang/String;->length()I
move-result v2
if-lez v2, :cond_42
const-string v2, "; "
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
:cond_42
sget-object v1, Landroid/os/Build;->ID:Ljava/lang/String;
invoke-virtual {v1}, Ljava/lang/String;->length()I
move-result v2
if-lez v2, :cond_52
const-string v2, "; Build/"
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
:cond_52
const-string v1, ";"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {v0}, Laegon/chrome/net/impl/UserAgent;->appendCronetVersion(Ljava/lang/StringBuilder;)V
const/16 v1, 0x29
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method static getQuicUserAgentIdFrom(Landroid/content/Context;)Ljava/lang/String;
.registers 3
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {v0}, Laegon/chrome/net/impl/UserAgent;->appendCronetVersion(Ljava/lang/StringBuilder;)V
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method private static versionFromContext(Landroid/content/Context;)I
.registers 5
sget-object v1, Laegon/chrome/net/impl/UserAgent;->sLock:Ljava/lang/Object;
monitor-enter v1
:try_start_3
sget v0, Laegon/chrome/net/impl/UserAgent;->sVersionCode:I
if-nez v0, :cond_18
invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v0
invoke-virtual {p0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
:try_end_e
.catchall {:try_start_3 .. :try_end_e} :catchall_25
move-result-object v2
const/4 v3, 0x0
:try_start_10
invoke-virtual {v0, v2, v3}, Landroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
move-result-object v0
iget v0, v0, Landroid/content/pm/PackageInfo;->versionCode:I
sput v0, Laegon/chrome/net/impl/UserAgent;->sVersionCode:I
:try_end_18
.catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_10 .. :try_end_18} :catch_1c
.catchall {:try_start_10 .. :try_end_18} :catchall_25
:cond_18
:try_start_18
sget v0, Laegon/chrome/net/impl/UserAgent;->sVersionCode:I
monitor-exit v1
return v0
:catch_1c
move-exception v0
new-instance v0, Ljava/lang/IllegalStateException;
const-string v2, "Cannot determine package version"
invoke-direct {v0, v2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
:catchall_25
move-exception v0
monitor-exit v1
:try_end_27
.catchall {:try_start_18 .. :try_end_27} :catchall_25
throw v0
.end method