c.smali
.class public final Lcn/jiguang/ap/c;
.super Ljava/lang/Object;
# static fields
.field private static volatile s:Lcn/jiguang/ap/c;
.field private static final t:Ljava/lang/Object;
.field private static u: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 public q:Ljava/lang/String;
.field private transient r: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/ap/c;->t:Ljava/lang/Object;
return-void
.end method
.method private constructor <init>(Landroid/content/Context;)V
.registers 6
const/4 v1, 0x1
const/4 v2, 0x0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
new-instance v0, Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-direct {v0, v2}, Ljava/util/concurrent/atomic/AtomicBoolean;-><init>(Z)V
iput-object v0, p0, Lcn/jiguang/ap/c;->r:Ljava/util/concurrent/atomic/AtomicBoolean;
iget-object v0, p0, Lcn/jiguang/ap/c;->r:Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;->get()Z
move-result v0
if-nez v0, :cond_16
if-nez p1, :cond_17
:cond_16
:goto_16
return-void
:cond_17
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-static {v3}, Lcn/jiguang/ap/c;->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/ap/c;->b:Ljava/lang/String;
sget-object v0, Landroid/os/Build;->MODEL:Ljava/lang/String;
invoke-static {v0}, Lcn/jiguang/ap/c;->a(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcn/jiguang/ap/c;->c:Ljava/lang/String;
const-string v0, "gsm.version.baseband"
const-string v3, "baseband"
invoke-static {p1, v0, v3}, Lcn/jiguang/ap/a;->a(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcn/jiguang/ap/c;->d:Ljava/lang/String;
sget-object v0, Landroid/os/Build;->DEVICE:Ljava/lang/String;
invoke-static {v0}, Lcn/jiguang/ap/c;->a(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcn/jiguang/ap/c;->e:Ljava/lang/String;
sget-object v0, Landroid/os/Build;->PRODUCT:Ljava/lang/String;
invoke-static {v0}, Lcn/jiguang/ap/c;->a(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcn/jiguang/ap/c;->k:Ljava/lang/String;
sget-object v0, Landroid/os/Build;->MANUFACTURER:Ljava/lang/String;
invoke-static {v0}, Lcn/jiguang/ap/c;->a(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcn/jiguang/ap/c;->l:Ljava/lang/String;
sget-object v0, Landroid/os/Build;->FINGERPRINT:Ljava/lang/String;
invoke-static {v0}, Lcn/jiguang/ap/c;->a(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcn/jiguang/ap/c;->m:Ljava/lang/String;
sget-object v0, Landroid/os/Build;->BRAND:Ljava/lang/String;
invoke-static {v0}, Lcn/jiguang/ap/c;->a(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcn/jiguang/ap/c;->n:Ljava/lang/String;
invoke-static {p1}, Lcn/jiguang/ap/c;->b(Landroid/content/Context;)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcn/jiguang/ap/c;->a:Ljava/lang/String;
invoke-static {p1}, Lcn/jiguang/sdk/impl/b;->i(Landroid/content/Context;)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcn/jiguang/ap/c;->o:Ljava/lang/String;
invoke-static {p1}, Lcn/jiguang/sdk/impl/b;->d(Landroid/content/Context;)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcn/jiguang/ap/c;->f:Ljava/lang/String;
invoke-static {p1}, Lcn/jiguang/ap/a;->d(Landroid/content/Context;)Z
move-result v0
if-eqz v0, :cond_c3
move v0, v1
:goto_8b
iput v0, p0, Lcn/jiguang/ap/c;->g:I
invoke-static {p1}, Lcn/jiguang/ap/a;->e(Landroid/content/Context;)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcn/jiguang/ap/c;->h:Ljava/lang/String;
invoke-static {p1}, Lcn/jiguang/ap/a;->f(Landroid/content/Context;)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcn/jiguang/ap/c;->i:Ljava/lang/String;
const-string v0, "won\'t get serial"
invoke-static {p1, v2, v0}, Lcn/jiguang/sdk/impl/b;->a(Landroid/content/Context;ZLjava/lang/String;)Z
move-result v0
if-eqz v0, :cond_c5
const-string v0, " "
:goto_a3
iput-object v0, p0, Lcn/jiguang/ap/c;->j:Ljava/lang/String;
const-string v0, ""
invoke-static {p1, v0}, Lcn/jiguang/ap/a;->c(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcn/jiguang/ap/c;->p:Ljava/lang/String;
const-string v0, "get_imei"
const/4 v2, 0x0
invoke-static {p1, v0, v2}, Lcn/jiguang/ah/d;->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_bc
check-cast v0, Ljava/lang/String;
iput-object v0, p0, Lcn/jiguang/ap/c;->q:Ljava/lang/String;
:cond_bc
iget-object v0, p0, Lcn/jiguang/ap/c;->r:Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;->set(Z)V
goto/16 :goto_16
:cond_c3
move v0, v2
goto :goto_8b
:cond_c5
sget-object v0, Landroid/os/Build;->SERIAL:Ljava/lang/String;
goto :goto_a3
.end method
.method public static a(Landroid/content/Context;)Lcn/jiguang/ap/c;
.registers 3
sget-object v0, Lcn/jiguang/ap/c;->s:Lcn/jiguang/ap/c;
if-nez v0, :cond_13
sget-object v1, Lcn/jiguang/ap/c;->t:Ljava/lang/Object;
monitor-enter v1
:try_start_7
sget-object v0, Lcn/jiguang/ap/c;->s:Lcn/jiguang/ap/c;
if-nez v0, :cond_12
new-instance v0, Lcn/jiguang/ap/c;
invoke-direct {v0, p0}, Lcn/jiguang/ap/c;-><init>(Landroid/content/Context;)V
sput-object v0, Lcn/jiguang/ap/c;->s:Lcn/jiguang/ap/c;
:cond_12
monitor-exit v1
:try_end_13
.catchall {:try_start_7 .. :try_end_13} :catchall_16
:cond_13
sget-object v0, Lcn/jiguang/ap/c;->s:Lcn/jiguang/ap/c;
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 static a(Ljava/lang/String;)Ljava/lang/String;
.registers 2
if-eqz p0, :cond_7
invoke-virtual {p0}, 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 static b(Landroid/content/Context;)Ljava/lang/String;
.registers 5
const/16 v3, 0x1e
sget-object v0, Lcn/jiguang/ap/c;->u: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/ap/c;->u: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/ap/c;->u: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/ai/a;->d(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_24
:cond_34
sget-object v0, Lcn/jiguang/ap/c;->u:Ljava/lang/String;
goto :goto_2a
.end method