VersionInfoUtils.smali
.class public Lcom/amazonaws/util/VersionInfoUtils;
.super Ljava/lang/Object;
.source "VersionInfoUtils.java"
# static fields
.field private static final DEFAULT_STRING_LENGTH:I = 0x80
.field private static final log:Lcom/amazonaws/logging/Log;
.field private static volatile platform:Ljava/lang/String; = "android"
.field private static volatile userAgent:Ljava/lang/String; = null
.field private static volatile version:Ljava/lang/String; = "2.16.13"
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 1
const-class v0, Lcom/amazonaws/util/VersionInfoUtils;
invoke-static {v0}, Lcom/amazonaws/logging/LogFactory;->getLog(Ljava/lang/Class;)Lcom/amazonaws/logging/Log;
move-result-object v0
sput-object v0, Lcom/amazonaws/util/VersionInfoUtils;->log:Lcom/amazonaws/logging/Log;
return-void
.end method
.method public constructor <init>()V
.registers 1
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static getPlatform()Ljava/lang/String;
.registers 1
.line 1
sget-object v0, Lcom/amazonaws/util/VersionInfoUtils;->platform:Ljava/lang/String;
return-object v0
.end method
.method public static getUserAgent()Ljava/lang/String;
.registers 2
.line 1
sget-object v0, Lcom/amazonaws/util/VersionInfoUtils;->userAgent:Ljava/lang/String;
if-nez v0, :cond_13
.line 2
const-class v0, Lcom/amazonaws/util/VersionInfoUtils;
monitor-enter v0
.line 3
:try_start_7
sget-object v1, Lcom/amazonaws/util/VersionInfoUtils;->userAgent:Ljava/lang/String;
if-nez v1, :cond_e
.line 4
invoke-static {}, Lcom/amazonaws/util/VersionInfoUtils;->initializeUserAgent()V
.line 5
:cond_e
monitor-exit v0
goto :goto_13
:catchall_10
move-exception v1
monitor-exit v0
:try_end_12
.catchall {:try_start_7 .. :try_end_12} :catchall_10
throw v1
.line 6
:cond_13
:goto_13
sget-object v0, Lcom/amazonaws/util/VersionInfoUtils;->userAgent:Ljava/lang/String;
return-object v0
.end method
.method public static getVersion()Ljava/lang/String;
.registers 1
.line 1
sget-object v0, Lcom/amazonaws/util/VersionInfoUtils;->version:Ljava/lang/String;
return-object v0
.end method
.method private static initializeUserAgent()V
.registers 1
.line 1
invoke-static {}, Lcom/amazonaws/util/VersionInfoUtils;->userAgent()Ljava/lang/String;
move-result-object v0
sput-object v0, Lcom/amazonaws/util/VersionInfoUtils;->userAgent:Ljava/lang/String;
return-void
.end method
.method private static replaceSpaces(Ljava/lang/String;)Ljava/lang/String;
.registers 3
const/16 v0, 0x20
const/16 v1, 0x5f
.line 1
invoke-virtual {p0, v0, v1}, Ljava/lang/String;->replace(CC)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method static userAgent()Ljava/lang/String;
.registers 4
.line 1
new-instance v0, Ljava/lang/StringBuilder;
const/16 v1, 0x80
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(I)V
const-string v1, "aws-sdk-"
.line 2
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 3
invoke-static {}, Lcom/amazonaws/util/VersionInfoUtils;->getPlatform()Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Lcom/amazonaws/util/StringUtils;->lowerCase(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, "/"
.line 4
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 5
invoke-static {}, Lcom/amazonaws/util/VersionInfoUtils;->getVersion()Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, " "
.line 6
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v3, "os.name"
.line 7
invoke-static {v3}, Ljava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
invoke-static {v3}, Lcom/amazonaws/util/VersionInfoUtils;->replaceSpaces(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 8
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v3, "os.version"
.line 9
invoke-static {v3}, Ljava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
invoke-static {v3}, Lcom/amazonaws/util/VersionInfoUtils;->replaceSpaces(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 10
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v3, "java.vm.name"
.line 11
invoke-static {v3}, Ljava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
invoke-static {v3}, Lcom/amazonaws/util/VersionInfoUtils;->replaceSpaces(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 12
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v3, "java.vm.version"
.line 13
invoke-static {v3}, Ljava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
invoke-static {v3}, Lcom/amazonaws/util/VersionInfoUtils;->replaceSpaces(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 14
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, "java.version"
.line 15
invoke-static {v1}, Ljava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Lcom/amazonaws/util/VersionInfoUtils;->replaceSpaces(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string/jumbo v1, "user.language"
.line 16
invoke-static {v1}, Ljava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
const-string/jumbo v3, "user.region"
.line 17
invoke-static {v3}, Ljava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
if-eqz v1, :cond_9d
if-eqz v3, :cond_9d
.line 18
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 19
invoke-static {v1}, Lcom/amazonaws/util/VersionInfoUtils;->replaceSpaces(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, "_"
.line 20
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 21
invoke-static {v3}, Lcom/amazonaws/util/VersionInfoUtils;->replaceSpaces(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 22
:cond_9d
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method