UserManager.smali
.class public Lcom/quickbird/sdk/internal/UserManager;
.super Ljava/lang/Object;
.source "UserManager.java"
# static fields
.field private static final ACCESS_TYPE_SF:Ljava/lang/String; = "KEY"
.field private static final ACCESS_TYPE_WIFI:Ljava/lang/String; = "WST"
.field private static final AK:Ljava/lang/String; = "SJWS"
.field private static final CHECK_INTERVAL_TIME:J = 0x1b7740L
.field private static final CRLF:Ljava/lang/String; = "\r\n"
.field private static final DEFAULT_USER_CONFIG:Ljava/lang/String; = "MN"
.field private static final SEPARATION:Ljava/lang/String; = "^"
.field private static final X_QB:Ljava/lang/String; = "X-QB:"
.field private static volatile sInstance:Lcom/quickbird/sdk/internal/UserManager;
# instance fields
.field private mConfig:Ljava/lang/String;
.field private mContext:Landroid/content/Context;
.field private mHost:Ljava/lang/String;
.field private mImei:Ljava/lang/String;
.field private mImsi:Ljava/lang/String;
.field private mLastCheckTime:J
.field private mPort:Ljava/lang/String;
.field private mToken:Ljava/lang/String;
# direct methods
.method private constructor <init>(Landroid/content/Context;)V
.registers 4
.prologue
.line 57
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 44
const-string v0, "MN"
iput-object v0, p0, Lcom/quickbird/sdk/internal/UserManager;->mConfig:Ljava/lang/String;
.line 58
iput-object p1, p0, Lcom/quickbird/sdk/internal/UserManager;->mContext:Landroid/content/Context;
.line 59
invoke-direct {p0}, Lcom/quickbird/sdk/internal/UserManager;->checkUserInfos()V
.line 60
iget-object v0, p0, Lcom/quickbird/sdk/internal/UserManager;->mContext:Landroid/content/Context;
const-string v1, "MN"
invoke-static {v0, v1}, Lcom/quickbird/sdk/internal/QBConfigsMgr;->getUserConfig(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcom/quickbird/sdk/internal/UserManager;->mConfig:Ljava/lang/String;
.line 61
return-void
.end method
.method private checkUserInfos()V
.registers 9
.prologue
const/4 v7, 0x0
.line 64
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v2
.line 65
iget-wide v0, p0, Lcom/quickbird/sdk/internal/UserManager;->mLastCheckTime:J
sub-long v0, v2, v0
const-wide/32 v4, 0x1b7740
cmp-long v0, v0, v4
if-gez v0, :cond_11
.line 95
:goto_10
return-void
.line 68
:cond_11
const-string v1, ""
.line 71
:try_start_13
iget-object v0, p0, Lcom/quickbird/sdk/internal/UserManager;->mContext:Landroid/content/Context;
const-string v4, "phone"
invoke-virtual {v0, v4}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/telephony/TelephonyManager;
.line 72
invoke-virtual {v0}, Landroid/telephony/TelephonyManager;->getSubscriberId()Ljava/lang/String;
:try_end_20
.catch Ljava/lang/Exception; {:try_start_13 .. :try_end_20} :catch_4d
move-result-object v0
.line 78
:goto_21
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v1
if-eqz v1, :cond_29
.line 79
const-string v0, "unknown"
.line 81
:cond_29
iget-object v1, p0, Lcom/quickbird/sdk/internal/UserManager;->mContext:Landroid/content/Context;
const-string v4, "unknown"
invoke-static {v1, v4}, Lcom/quickbird/sdk/internal/QBConfigsMgr;->getUserIMSI(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
.line 82
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_6c
.line 83
iput-object v7, p0, Lcom/quickbird/sdk/internal/UserManager;->mToken:Ljava/lang/String;
.line 84
iput-object v7, p0, Lcom/quickbird/sdk/internal/UserManager;->mHost:Ljava/lang/String;
.line 85
iput-object v7, p0, Lcom/quickbird/sdk/internal/UserManager;->mPort:Ljava/lang/String;
.line 86
iget-object v0, p0, Lcom/quickbird/sdk/internal/UserManager;->mContext:Landroid/content/Context;
invoke-static {v0, v7}, Lcom/quickbird/sdk/internal/QBConfigsMgr;->setUserToken(Landroid/content/Context;Ljava/lang/String;)V
.line 87
iget-object v0, p0, Lcom/quickbird/sdk/internal/UserManager;->mContext:Landroid/content/Context;
invoke-static {v0, v7}, Lcom/quickbird/sdk/internal/QBConfigsMgr;->setUserHost(Landroid/content/Context;Ljava/lang/String;)V
.line 88
iget-object v0, p0, Lcom/quickbird/sdk/internal/UserManager;->mContext:Landroid/content/Context;
invoke-static {v0, v7}, Lcom/quickbird/sdk/internal/QBConfigsMgr;->setUserPort(Landroid/content/Context;Ljava/lang/String;)V
goto :goto_10
.line 73
:catch_4d
move-exception v0
.line 74
sget-boolean v4, Lcom/quickbird/sdk/QuickBird;->SDK_DEBUG:Z
if-eqz v4, :cond_6a
.line 75
const-string v4, "QbSdk"
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
const-string v6, "checkUserInfos exception: "
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v5
invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v4, v0}, Lcom/quickbird/sdk/utils/QBLogger;->d(Ljava/lang/String;Ljava/lang/String;)V
:cond_6a
move-object v0, v1
goto :goto_21
.line 91
:cond_6c
iget-object v0, p0, Lcom/quickbird/sdk/internal/UserManager;->mContext:Landroid/content/Context;
invoke-static {v0}, Lcom/quickbird/sdk/internal/QBConfigsMgr;->getUserHost(Landroid/content/Context;)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcom/quickbird/sdk/internal/UserManager;->mHost:Ljava/lang/String;
.line 92
iget-object v0, p0, Lcom/quickbird/sdk/internal/UserManager;->mContext:Landroid/content/Context;
invoke-static {v0}, Lcom/quickbird/sdk/internal/QBConfigsMgr;->getUserPort(Landroid/content/Context;)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcom/quickbird/sdk/internal/UserManager;->mPort:Ljava/lang/String;
.line 93
iget-object v0, p0, Lcom/quickbird/sdk/internal/UserManager;->mContext:Landroid/content/Context;
invoke-static {v0}, Lcom/quickbird/sdk/internal/QBConfigsMgr;->getUserToken(Landroid/content/Context;)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcom/quickbird/sdk/internal/UserManager;->mToken:Ljava/lang/String;
.line 94
iput-wide v2, p0, Lcom/quickbird/sdk/internal/UserManager;->mLastCheckTime:J
goto :goto_10
.end method
.method public static getInstance(Landroid/content/Context;)Lcom/quickbird/sdk/internal/UserManager;
.registers 3
.prologue
.line 47
sget-object v0, Lcom/quickbird/sdk/internal/UserManager;->sInstance:Lcom/quickbird/sdk/internal/UserManager;
if-nez v0, :cond_13
.line 48
const-class v1, Lcom/quickbird/sdk/internal/UserManager;
monitor-enter v1
.line 49
:try_start_7
sget-object v0, Lcom/quickbird/sdk/internal/UserManager;->sInstance:Lcom/quickbird/sdk/internal/UserManager;
if-nez v0, :cond_12
.line 50
new-instance v0, Lcom/quickbird/sdk/internal/UserManager;
invoke-direct {v0, p0}, Lcom/quickbird/sdk/internal/UserManager;-><init>(Landroid/content/Context;)V
sput-object v0, Lcom/quickbird/sdk/internal/UserManager;->sInstance:Lcom/quickbird/sdk/internal/UserManager;
.line 52
:cond_12
monitor-exit v1
:try_end_13
.catchall {:try_start_7 .. :try_end_13} :catchall_16
.line 54
:cond_13
sget-object v0, Lcom/quickbird/sdk/internal/UserManager;->sInstance:Lcom/quickbird/sdk/internal/UserManager;
return-object v0
.line 52
: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
# virtual methods
.method public getProxyAddress()Ljava/net/InetSocketAddress;
.registers 4
.prologue
.line 152
invoke-direct {p0}, Lcom/quickbird/sdk/internal/UserManager;->checkUserInfos()V
.line 153
iget-object v0, p0, Lcom/quickbird/sdk/internal/UserManager;->mHost:Ljava/lang/String;
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-nez v0, :cond_13
iget-object v0, p0, Lcom/quickbird/sdk/internal/UserManager;->mPort:Ljava/lang/String;
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_15
.line 154
:cond_13
const/4 v0, 0x0
.line 156
:goto_14
return-object v0
:cond_15
new-instance v0, Ljava/net/InetSocketAddress;
iget-object v1, p0, Lcom/quickbird/sdk/internal/UserManager;->mHost:Ljava/lang/String;
iget-object v2, p0, Lcom/quickbird/sdk/internal/UserManager;->mPort:Ljava/lang/String;
invoke-static {v2}, Ljava/lang/Integer;->valueOf(Ljava/lang/String;)Ljava/lang/Integer;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
move-result v2
invoke-direct {v0, v1, v2}, Ljava/net/InetSocketAddress;-><init>(Ljava/lang/String;I)V
goto :goto_14
.end method
.method public getProxyHeader(Ljava/lang/String;Z)[B
.registers 7
.prologue
.line 117
invoke-direct {p0}, Lcom/quickbird/sdk/internal/UserManager;->checkUserInfos()V
.line 118
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
.line 119
if-eqz p2, :cond_ac
.line 120
iget-object v1, p0, Lcom/quickbird/sdk/internal/UserManager;->mImei:Ljava/lang/String;
if-nez v1, :cond_16
.line 121
iget-object v1, p0, Lcom/quickbird/sdk/internal/UserManager;->mContext:Landroid/content/Context;
invoke-static {v1}, Lcom/quickbird/mini/utils/TelephonyUtils;->getIMEI(Landroid/content/Context;)Ljava/lang/String;
move-result-object v1
iput-object v1, p0, Lcom/quickbird/sdk/internal/UserManager;->mImei:Ljava/lang/String;
.line 123
:cond_16
iget-object v1, p0, Lcom/quickbird/sdk/internal/UserManager;->mImsi:Ljava/lang/String;
if-nez v1, :cond_22
.line 124
iget-object v1, p0, Lcom/quickbird/sdk/internal/UserManager;->mContext:Landroid/content/Context;
invoke-static {v1}, Lcom/quickbird/mini/utils/TelephonyUtils;->getIMSI(Landroid/content/Context;)Ljava/lang/String;
move-result-object v1
iput-object v1, p0, Lcom/quickbird/sdk/internal/UserManager;->mImsi:Ljava/lang/String;
.line 126
:cond_22
const-string v1, "X-QB:"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
iget-object v2, p0, Lcom/quickbird/sdk/internal/UserManager;->mContext:Landroid/content/Context;
invoke-static {v2}, Lcom/quickbird/sdk/internal/QBConfigsMgr;->getSJWSToken(Landroid/content/Context;)Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, "^"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
iget-object v2, p0, Lcom/quickbird/sdk/internal/UserManager;->mImei:Ljava/lang/String;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, "^"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
iget-object v2, p0, Lcom/quickbird/sdk/internal/UserManager;->mImsi:Ljava/lang/String;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, "^"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, "^"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-static {}, Lcom/quickbird/mini/utils/TelephonyUtils;->getModel()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, "^"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, "SJWS"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, "^"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, "WST"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, "\r\n"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 140
:goto_7f
sget-boolean v1, Lcom/quickbird/sdk/QuickBird;->SDK_DEBUG:Z
if-eqz v1, :cond_9f
.line 141
const-string v1, "QbSdk"
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "proxy header: "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-static {v1, v2}, Lcom/quickbird/sdk/utils/QBLogger;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 144
:cond_9f
:try_start_9f
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {}, Lcom/quickbird/mini/utils/ProxyUtils;->getProxyCharsetName()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
:try_end_aa
.catch Ljava/io/UnsupportedEncodingException; {:try_start_9f .. :try_end_aa} :catch_e0
move-result-object v0
.line 148
:goto_ab
return-object v0
.line 134
:cond_ac
const-string v1, "X-QB:"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
iget-object v2, p0, Lcom/quickbird/sdk/internal/UserManager;->mToken:Ljava/lang/String;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, "^"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, "KEY"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, "^"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
iget-object v2, p0, Lcom/quickbird/sdk/internal/UserManager;->mConfig:Ljava/lang/String;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, "^"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, "\r\n"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
goto :goto_7f
.line 145
:catch_e0
move-exception v0
.line 148
const/4 v0, 0x0
new-array v0, v0, [B
goto :goto_ab
.end method
.method public isUserAvailable()Z
.registers 2
.prologue
.line 112
invoke-direct {p0}, Lcom/quickbird/sdk/internal/UserManager;->checkUserInfos()V
.line 113
iget-object v0, p0, Lcom/quickbird/sdk/internal/UserManager;->mToken:Ljava/lang/String;
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-nez v0, :cond_1d
iget-object v0, p0, Lcom/quickbird/sdk/internal/UserManager;->mPort:Ljava/lang/String;
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-nez v0, :cond_1d
iget-object v0, p0, Lcom/quickbird/sdk/internal/UserManager;->mHost:Ljava/lang/String;
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-nez v0, :cond_1d
const/4 v0, 0x1
:goto_1c
return v0
:cond_1d
const/4 v0, 0x0
goto :goto_1c
.end method
.method public updateConfig(Ljava/lang/String;)V
.registers 3
.prologue
.line 160
iput-object p1, p0, Lcom/quickbird/sdk/internal/UserManager;->mConfig:Ljava/lang/String;
.line 161
iget-object v0, p0, Lcom/quickbird/sdk/internal/UserManager;->mContext:Landroid/content/Context;
invoke-static {v0, p1}, Lcom/quickbird/sdk/internal/QBConfigsMgr;->setUserConfig(Landroid/content/Context;Ljava/lang/String;)V
.line 162
return-void
.end method
.method public updateUserInfos(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
.registers 7
.prologue
.line 99
iput-object p1, p0, Lcom/quickbird/sdk/internal/UserManager;->mToken:Ljava/lang/String;
.line 100
iput-object p2, p0, Lcom/quickbird/sdk/internal/UserManager;->mHost:Ljava/lang/String;
.line 101
iput-object p3, p0, Lcom/quickbird/sdk/internal/UserManager;->mPort:Ljava/lang/String;
.line 102
iput-object p4, p0, Lcom/quickbird/sdk/internal/UserManager;->mImei:Ljava/lang/String;
.line 103
iput-object p5, p0, Lcom/quickbird/sdk/internal/UserManager;->mImsi:Ljava/lang/String;
.line 105
iget-object v0, p0, Lcom/quickbird/sdk/internal/UserManager;->mContext:Landroid/content/Context;
invoke-static {v0, p5}, Lcom/quickbird/sdk/internal/QBConfigsMgr;->setUserIMSI(Landroid/content/Context;Ljava/lang/String;)V
.line 106
iget-object v0, p0, Lcom/quickbird/sdk/internal/UserManager;->mContext:Landroid/content/Context;
invoke-static {v0, p1}, Lcom/quickbird/sdk/internal/QBConfigsMgr;->setUserToken(Landroid/content/Context;Ljava/lang/String;)V
.line 107
iget-object v0, p0, Lcom/quickbird/sdk/internal/UserManager;->mContext:Landroid/content/Context;
invoke-static {v0, p2}, Lcom/quickbird/sdk/internal/QBConfigsMgr;->setUserHost(Landroid/content/Context;Ljava/lang/String;)V
.line 108
iget-object v0, p0, Lcom/quickbird/sdk/internal/UserManager;->mContext:Landroid/content/Context;
invoke-static {v0, p3}, Lcom/quickbird/sdk/internal/QBConfigsMgr;->setUserPort(Landroid/content/Context;Ljava/lang/String;)V
.line 109
return-void
.end method