a.smali
.class public Lcn/jiguang/bj/a;
.super Ljava/lang/Object;
# static fields
.field private static volatile r:Lcn/jiguang/bj/a;
.field private static final s:Ljava/lang/Object;
.field private static t:Ljava/lang/String;
# instance fields
.field public a:Ljava/lang/String;
.field public b:Ljava/lang/String;
.field public c:Ljava/lang/String;
.field public d:Ljava/lang/String;
.field public e:Ljava/lang/String;
.field public f:Ljava/lang/String;
.field public g:I
.field public h:Ljava/lang/String;
.field public i:Ljava/lang/String;
.field public j:Ljava/lang/String;
.field public k:Ljava/lang/String;
.field public l:Ljava/lang/String;
.field public m:Ljava/lang/String;
.field public n:Ljava/lang/String;
.field public o:Ljava/lang/String;
.field public p:Ljava/lang/String;
.field private transient q:Ljava/util/concurrent/atomic/AtomicBoolean;
# 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, Lcn/jiguang/bj/a;->s:Ljava/lang/Object;
return-void
.end method
.method private constructor <init>(Landroid/content/Context;)V
.registers 4
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
new-instance v0, Ljava/util/concurrent/atomic/AtomicBoolean;
const/4 v1, 0x0
invoke-direct {v0, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;-><init>(Z)V
iput-object v0, p0, Lcn/jiguang/bj/a;->q:Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-direct {p0, p1}, Lcn/jiguang/bj/a;->b(Landroid/content/Context;)V
return-void
.end method
.method public static a(Landroid/content/Context;)Lcn/jiguang/bj/a;
.registers 3
sget-object v0, Lcn/jiguang/bj/a;->r:Lcn/jiguang/bj/a;
if-nez v0, :cond_13
sget-object v1, Lcn/jiguang/bj/a;->s:Ljava/lang/Object;
monitor-enter v1
:try_start_7
sget-object v0, Lcn/jiguang/bj/a;->r:Lcn/jiguang/bj/a;
if-nez v0, :cond_12
new-instance v0, Lcn/jiguang/bj/a;
invoke-direct {v0, p0}, Lcn/jiguang/bj/a;-><init>(Landroid/content/Context;)V
sput-object v0, Lcn/jiguang/bj/a;->r:Lcn/jiguang/bj/a;
:cond_12
monitor-exit v1
:try_end_13
.catchall {:try_start_7 .. :try_end_13} :catchall_16
:cond_13
sget-object v0, Lcn/jiguang/bj/a;->r:Lcn/jiguang/bj/a;
return-object v0
:catchall_16
move-exception v0
:try_start_17
monitor-exit v1
:try_end_18
.catchall {:try_start_17 .. :try_end_18} :catchall_16
throw v0
.end method
.method private a(Ljava/lang/String;)Ljava/lang/String;
.registers 3
if-eqz p1, :cond_7
invoke-virtual {p1}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object v0
:goto_6
return-object v0
:cond_7
const/4 v0, 0x0
goto :goto_6
.end method
.method private b(Landroid/content/Context;)V
.registers 6
const/4 v1, 0x1
const/4 v2, 0x0
iget-object v0, p0, Lcn/jiguang/bj/a;->q:Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;->get()Z
move-result v0
if-nez v0, :cond_c
if-nez p1, :cond_d
:cond_c
:goto_c
return-void
:cond_d
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
sget-object v3, Landroid/os/Build$VERSION;->RELEASE:Ljava/lang/String;
invoke-direct {p0, v3}, Lcn/jiguang/bj/a;->a(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v3, ","
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
sget v3, Landroid/os/Build$VERSION;->SDK_INT:I
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcn/jiguang/bj/a;->b:Ljava/lang/String;
sget-object v0, Landroid/os/Build;->MODEL:Ljava/lang/String;
invoke-direct {p0, v0}, Lcn/jiguang/bj/a;->a(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcn/jiguang/bj/a;->c:Ljava/lang/String;
const-string v0, "gsm.version.baseband"
const-string v3, "baseband"
invoke-static {p1, v0, v3}, Lcn/jiguang/f/a;->b(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcn/jiguang/bj/a;->d:Ljava/lang/String;
sget-object v0, Landroid/os/Build;->DEVICE:Ljava/lang/String;
invoke-direct {p0, v0}, Lcn/jiguang/bj/a;->a(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcn/jiguang/bj/a;->e:Ljava/lang/String;
sget-object v0, Landroid/os/Build;->PRODUCT:Ljava/lang/String;
invoke-direct {p0, v0}, Lcn/jiguang/bj/a;->a(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcn/jiguang/bj/a;->k:Ljava/lang/String;
sget-object v0, Landroid/os/Build;->MANUFACTURER:Ljava/lang/String;
invoke-direct {p0, v0}, Lcn/jiguang/bj/a;->a(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcn/jiguang/bj/a;->l:Ljava/lang/String;
sget-object v0, Landroid/os/Build;->FINGERPRINT:Ljava/lang/String;
invoke-direct {p0, v0}, Lcn/jiguang/bj/a;->a(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcn/jiguang/bj/a;->m:Ljava/lang/String;
sget-object v0, Landroid/os/Build;->BRAND:Ljava/lang/String;
invoke-direct {p0, v0}, Lcn/jiguang/bj/a;->a(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcn/jiguang/bj/a;->n:Ljava/lang/String;
invoke-static {p1}, Lcn/jiguang/bj/a;->c(Landroid/content/Context;)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcn/jiguang/bj/a;->a:Ljava/lang/String;
invoke-static {p1}, Lcn/jiguang/d/a;->g(Landroid/content/Context;)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcn/jiguang/bj/a;->f:Ljava/lang/String;
invoke-static {p1}, Lcn/jiguang/f/a;->e(Landroid/content/Context;)Z
move-result v0
if-eqz v0, :cond_b4
move v0, v1
:goto_7b
iput v0, p0, Lcn/jiguang/bj/a;->g:I
invoke-static {p1}, Lcn/jiguang/f/a;->f(Landroid/content/Context;)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcn/jiguang/bj/a;->h:Ljava/lang/String;
invoke-static {p1}, Lcn/jiguang/f/a;->i(Landroid/content/Context;)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcn/jiguang/bj/a;->i:Ljava/lang/String;
const-string/jumbo v0, "won\'t get serial"
invoke-static {p1, v2, v0}, Lcn/jiguang/internal/JConstants;->isAndroidQ(Landroid/content/Context;ZLjava/lang/String;)Z
move-result v0
if-eqz v0, :cond_b6
const-string v0, " "
:goto_94
iput-object v0, p0, Lcn/jiguang/bj/a;->j:Ljava/lang/String;
const-string v0, ""
invoke-static {p1, v0}, Lcn/jiguang/f/a;->f(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcn/jiguang/bj/a;->o:Ljava/lang/String;
const-string v0, "get_imei"
const/4 v2, 0x0
invoke-static {p1, v0, v2}, Lcn/jiguang/be/e;->a(Landroid/content/Context;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
instance-of v2, v0, Ljava/lang/String;
if-eqz v2, :cond_ad
check-cast v0, Ljava/lang/String;
iput-object v0, p0, Lcn/jiguang/bj/a;->p:Ljava/lang/String;
:cond_ad
iget-object v0, p0, Lcn/jiguang/bj/a;->q:Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;->set(Z)V
goto/16 :goto_c
:cond_b4
move v0, v2
goto :goto_7b
:cond_b6
sget-object v0, Landroid/os/Build;->SERIAL:Ljava/lang/String;
goto :goto_94
.end method
.method private static c(Landroid/content/Context;)Ljava/lang/String;
.registers 5
const/16 v3, 0x1e
sget-object v0, Lcn/jiguang/bj/a;->t:Ljava/lang/String;
if-nez v0, :cond_24
:try_start_6
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;
move-result-object v1
const/4 v2, 0x0
invoke-virtual {v0, v1, v2}, Landroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
move-result-object v0
iget-object v0, v0, Landroid/content/pm/PackageInfo;->versionName:Ljava/lang/String;
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v1
if-le v1, v3, :cond_22
const/4 v1, 0x0
const/16 v2, 0x1e
invoke-virtual {v0, v1, v2}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v0
:cond_22
sput-object v0, Lcn/jiguang/bj/a;->t:Ljava/lang/String;
:try_end_24
.catch Ljava/lang/Throwable; {:try_start_6 .. :try_end_24} :catch_2b
:cond_24
:goto_24
sget-object v0, Lcn/jiguang/bj/a;->t:Ljava/lang/String;
if-nez v0, :cond_34
const-string v0, ""
:goto_2a
return-object v0
:catch_2b
move-exception v0
const-string v0, "DeviceInfo"
const-string v1, "NO versionName defined in manifest."
invoke-static {v0, v1}, Lcn/jiguang/ay/c;->d(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_24
:cond_34
sget-object v0, Lcn/jiguang/bj/a;->t:Ljava/lang/String;
goto :goto_2a
.end method