StatCacheDbFactory.smali
.class public Lsg/bigo/sdk/blivestat/database/StatCacheDbFactory;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field private static final G_TAG:Ljava/lang/String; = "BLiveStatisSDK"
.field private static final STAT_DB_NAME_PRE:Ljava/lang/String; = "bigo_stats"
.field private static final STAT_DB_NAME_SUF:Ljava/lang/String; = ".db"
# instance fields
.field private mStatCacheDbHelper:Lsg/bigo/sdk/blivestat/database/StatCacheDbHelper;
.field private sIsErrorHappenBefore:Z
# direct methods
.method public constructor <init>(Landroid/content/Context;Ljava/lang/String;ILsg/bigo/sdk/blivestat/utils/StatThread;)V
.registers 6
.line 35
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, 0x0
.line 33
iput-boolean v0, p0, Lsg/bigo/sdk/blivestat/database/StatCacheDbFactory;->sIsErrorHappenBefore:Z
.line 36
invoke-direct {p0, p1, p2, p3, p4}, Lsg/bigo/sdk/blivestat/database/StatCacheDbFactory;->initStatDb(Landroid/content/Context;Ljava/lang/String;ILsg/bigo/sdk/blivestat/utils/StatThread;)V
return-void
.end method
.method static synthetic access$000(Lsg/bigo/sdk/blivestat/database/StatCacheDbFactory;)Z
.registers 1
.line 26
iget-boolean p0, p0, Lsg/bigo/sdk/blivestat/database/StatCacheDbFactory;->sIsErrorHappenBefore:Z
return p0
.end method
.method static synthetic access$002(Lsg/bigo/sdk/blivestat/database/StatCacheDbFactory;Z)Z
.registers 2
.line 26
iput-boolean p1, p0, Lsg/bigo/sdk/blivestat/database/StatCacheDbFactory;->sIsErrorHappenBefore:Z
return p1
.end method
.method static synthetic access$100(Lsg/bigo/sdk/blivestat/database/StatCacheDbFactory;)Lsg/bigo/sdk/blivestat/database/StatCacheDbHelper;
.registers 1
.line 26
iget-object p0, p0, Lsg/bigo/sdk/blivestat/database/StatCacheDbFactory;->mStatCacheDbHelper:Lsg/bigo/sdk/blivestat/database/StatCacheDbHelper;
return-object p0
.end method
.method static synthetic access$200(Lsg/bigo/sdk/blivestat/database/StatCacheDbFactory;Landroid/content/Context;Ljava/lang/String;ILsg/bigo/sdk/blivestat/utils/StatThread;)V
.registers 5
.line 26
invoke-direct {p0, p1, p2, p3, p4}, Lsg/bigo/sdk/blivestat/database/StatCacheDbFactory;->initStatDb(Landroid/content/Context;Ljava/lang/String;ILsg/bigo/sdk/blivestat/utils/StatThread;)V
return-void
.end method
.method private checkInit()V
.registers 3
.line 170
iget-object v0, p0, Lsg/bigo/sdk/blivestat/database/StatCacheDbFactory;->mStatCacheDbHelper:Lsg/bigo/sdk/blivestat/database/StatCacheDbHelper;
if-eqz v0, :cond_5
return-void
.line 171
:cond_5
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v1, "statDb has not been init !!!! should call initStatDb first"
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method private generateDBName(Ljava/lang/String;I)Ljava/lang/String;
.registers 6
const-string v0, ":"
.line 40
invoke-static {p1, v0}, Lsg/bigo/sdk/blivestat/utils/Utils;->getSubStringAfterChar(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 41
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-static {p1}, Lsg/bigo/sdk/blivestat/utils/Utils;->isUIProcess(Ljava/lang/String;)Z
move-result p1
const-string v2, "bigo_stats_"
if-eqz p1, :cond_1c
invoke-static {p2}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object p1
invoke-virtual {v2, p1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
goto :goto_30
:cond_1c
new-instance p1, Ljava/lang/StringBuilder;
invoke-direct {p1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v0, "_"
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
:goto_30
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p1, ".db"
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
return-object p1
.end method
.method private initStatDb(Landroid/content/Context;Ljava/lang/String;ILsg/bigo/sdk/blivestat/utils/StatThread;)V
.registers 15
.line 53
invoke-direct {p0, p2, p3}, Lsg/bigo/sdk/blivestat/database/StatCacheDbFactory;->generateDBName(Ljava/lang/String;I)Ljava/lang/String;
move-result-object v7
.line 54
invoke-static {v7}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
const-string v1, "Init Stat db: "
invoke-virtual {v1, v0}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v1, "BLiveStatisSDK"
invoke-static {v1, v0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
.line 55
new-instance v8, Lsg/bigo/sdk/blivestat/database/StatCacheDbHelper;
new-instance v9, Lsg/bigo/sdk/blivestat/database/StatCacheDbFactory$1;
move-object v0, v9
move-object v1, p0
move-object v2, v7
move-object v3, p1
move-object v4, p2
move v5, p3
move-object v6, p4
invoke-direct/range {v0 .. v6}, Lsg/bigo/sdk/blivestat/database/StatCacheDbFactory$1;-><init>(Lsg/bigo/sdk/blivestat/database/StatCacheDbFactory;Ljava/lang/String;Landroid/content/Context;Ljava/lang/String;ILsg/bigo/sdk/blivestat/utils/StatThread;)V
move-object v0, v8
move-object v1, p1
move v3, p3
move-object v4, p4
move-object v5, v9
invoke-direct/range {v0 .. v5}, Lsg/bigo/sdk/blivestat/database/StatCacheDbHelper;-><init>(Landroid/content/Context;Ljava/lang/String;ILsg/bigo/sdk/blivestat/utils/StatThread;Landroid/database/DatabaseErrorHandler;)V
iput-object v8, p0, Lsg/bigo/sdk/blivestat/database/StatCacheDbFactory;->mStatCacheDbHelper:Lsg/bigo/sdk/blivestat/database/StatCacheDbHelper;
return-void
.end method
.method private insert([B)Z
.registers 6
if-nez p1, :cond_4
const/4 p1, 0x0
return p1
.line 83
:cond_4
new-instance v0, Lsg/bigo/sdk/blivestat/database/StatCacheDao;
invoke-direct {v0}, Lsg/bigo/sdk/blivestat/database/StatCacheDao;-><init>()V
.line 84
invoke-virtual {p0}, Lsg/bigo/sdk/blivestat/database/StatCacheDbFactory;->generateKey()Ljava/lang/String;
move-result-object v1
.line 85
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v2
.line 86
invoke-virtual {v0, v1}, Lsg/bigo/sdk/blivestat/database/StatCacheDao;->setKey(Ljava/lang/String;)V
const/4 v1, 0x5
.line 87
invoke-virtual {v0, v1}, Lsg/bigo/sdk/blivestat/database/StatCacheDao;->setPriority(I)V
.line 88
invoke-virtual {v0, v2, v3}, Lsg/bigo/sdk/blivestat/database/StatCacheDao;->setCreateTime(J)V
.line 89
invoke-virtual {v0, p1}, Lsg/bigo/sdk/blivestat/database/StatCacheDao;->setValue([B)V
.line 91
iget-object p1, p0, Lsg/bigo/sdk/blivestat/database/StatCacheDbFactory;->mStatCacheDbHelper:Lsg/bigo/sdk/blivestat/database/StatCacheDbHelper;
invoke-virtual {p1, v0}, Lsg/bigo/sdk/blivestat/database/StatCacheDbHelper;->insert(Lsg/bigo/sdk/blivestat/database/StatCacheDao;)Z
move-result p1
return p1
.end method
# virtual methods
.method public delete(Lsg/bigo/sdk/blivestat/database/StatCacheDao;)Z
.registers 3
.line 71
iget-object v0, p0, Lsg/bigo/sdk/blivestat/database/StatCacheDbFactory;->mStatCacheDbHelper:Lsg/bigo/sdk/blivestat/database/StatCacheDbHelper;
invoke-virtual {v0, p1}, Lsg/bigo/sdk/blivestat/database/StatCacheDbHelper;->delete(Lsg/bigo/sdk/blivestat/database/StatCacheDao;)Z
move-result p1
return p1
.end method
.method public deleteUselessData()V
.registers 2
.line 156
iget-object v0, p0, Lsg/bigo/sdk/blivestat/database/StatCacheDbFactory;->mStatCacheDbHelper:Lsg/bigo/sdk/blivestat/database/StatCacheDbHelper;
invoke-virtual {v0}, Lsg/bigo/sdk/blivestat/database/StatCacheDbHelper;->deleteUselessData()V
return-void
.end method
.method public generateKey()Ljava/lang/String;
.registers 4
.line 178
:try_start_0
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-static {}, Ljava/util/UUID;->randomUUID()Ljava/util/UUID;
move-result-object v1
invoke-virtual {v1}, Ljava/util/UUID;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
move-result-wide v1
invoke-virtual {v0, v1, v2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
new-instance v1, Ljava/util/Random;
invoke-direct {v1}, Ljava/util/Random;-><init>()V
const v2, 0x989680
invoke-virtual {v1, v2}, Ljava/util/Random;->nextInt(I)I
move-result v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 179
invoke-static {v0}, Lsg/bigo/sdk/blivestat/utils/Coder;->encryptMD5(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
:try_end_2e
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_2e} :catch_2f
goto :goto_57
:catch_2f
move-exception v0
.line 181
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "stat cache generate key e:"
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0}, Ljava/lang/Exception;->getLocalizedMessage()Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
const-string v1, "BLiveStatisSDK"
invoke-static {v1, v0}, Lsg/bigo/sdk/blivestat/log/StatLog;->e(Ljava/lang/String;Ljava/lang/String;)V
.line 182
invoke-static {}, Ljava/util/UUID;->randomUUID()Ljava/util/UUID;
move-result-object v0
invoke-virtual {v0}, Ljava/util/UUID;->toString()Ljava/lang/String;
move-result-object v0
const-string v1, "-"
const-string v2, ""
invoke-virtual {v0, v1, v2}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
move-result-object v0
.line 184
:goto_57
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v1
const/16 v2, 0x20
if-le v1, v2, :cond_66
const/4 v1, 0x0
const/16 v2, 0x1f
.line 185
invoke-virtual {v0, v1, v2}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v0
:cond_66
return-object v0
.end method
.method public getAllCacheSize()I
.registers 3
.line 214
:try_start_0
iget-object v0, p0, Lsg/bigo/sdk/blivestat/database/StatCacheDbFactory;->mStatCacheDbHelper:Lsg/bigo/sdk/blivestat/database/StatCacheDbHelper;
invoke-virtual {v0}, Lsg/bigo/sdk/blivestat/database/StatCacheDbHelper;->getAllCacheSize()I
move-result v0
:try_end_6
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_6} :catch_7
return v0
:catch_7
move-exception v0
.line 216
invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
const-string v1, "get All cache size error: "
invoke-virtual {v1, v0}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v1, "BLiveStatisSDK"
invoke-static {v1, v0}, Lsg/bigo/sdk/blivestat/log/StatLog;->e(Ljava/lang/String;Ljava/lang/String;)V
const/4 v0, -0x1
return v0
.end method
.method public getAllHighPriorityCacheSize()I
.registers 3
.line 195
:try_start_0
iget-object v0, p0, Lsg/bigo/sdk/blivestat/database/StatCacheDbFactory;->mStatCacheDbHelper:Lsg/bigo/sdk/blivestat/database/StatCacheDbHelper;
invoke-virtual {v0}, Lsg/bigo/sdk/blivestat/database/StatCacheDbHelper;->getHighPriorityDataSizeInDb()I
move-result v0
:try_end_6
.catchall {:try_start_0 .. :try_end_6} :catchall_7
return v0
:catchall_7
move-exception v0
.line 197
invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
const-string v1, "get All high priority cache size error: "
invoke-virtual {v1, v0}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v1, "BLiveStatisSDK"
invoke-static {v1, v0}, Lsg/bigo/sdk/blivestat/log/StatLog;->e(Ljava/lang/String;Ljava/lang/String;)V
const/4 v0, 0x0
return v0
.end method
.method public getDivideTime(I)J
.registers 4
.line 148
iget-object v0, p0, Lsg/bigo/sdk/blivestat/database/StatCacheDbFactory;->mStatCacheDbHelper:Lsg/bigo/sdk/blivestat/database/StatCacheDbHelper;
invoke-virtual {v0, p1}, Lsg/bigo/sdk/blivestat/database/StatCacheDbHelper;->getDivideTime(I)J
move-result-wide v0
return-wide v0
.end method
.method public getHighestStatCacheData()Ljava/util/concurrent/PriorityBlockingQueue;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/concurrent/PriorityBlockingQueue<",
"Lsg/bigo/sdk/blivestat/database/StatCacheDao;",
">;"
}
.end annotation
.line 206
iget-object v0, p0, Lsg/bigo/sdk/blivestat/database/StatCacheDbFactory;->mStatCacheDbHelper:Lsg/bigo/sdk/blivestat/database/StatCacheDbHelper;
invoke-virtual {v0}, Lsg/bigo/sdk/blivestat/database/StatCacheDbHelper;->getHighestStatCacheData()Ljava/util/concurrent/PriorityBlockingQueue;
move-result-object v0
return-object v0
.end method
.method getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
.registers 2
.line 165
invoke-direct {p0}, Lsg/bigo/sdk/blivestat/database/StatCacheDbFactory;->checkInit()V
.line 166
iget-object v0, p0, Lsg/bigo/sdk/blivestat/database/StatCacheDbFactory;->mStatCacheDbHelper:Lsg/bigo/sdk/blivestat/database/StatCacheDbHelper;
invoke-virtual {v0}, Lsg/bigo/sdk/blivestat/database/StatCacheDbHelper;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
move-result-object v0
return-object v0
.end method
.method public getStatCacheData(I)Ljava/util/concurrent/PriorityBlockingQueue;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(I)",
"Ljava/util/concurrent/PriorityBlockingQueue<",
"Lsg/bigo/sdk/blivestat/database/StatCacheDao;",
">;"
}
.end annotation
.line 128
iget-object v0, p0, Lsg/bigo/sdk/blivestat/database/StatCacheDbFactory;->mStatCacheDbHelper:Lsg/bigo/sdk/blivestat/database/StatCacheDbHelper;
invoke-virtual {v0, p1}, Lsg/bigo/sdk/blivestat/database/StatCacheDbHelper;->getStatCacheData(I)Ljava/util/concurrent/PriorityBlockingQueue;
move-result-object p1
return-object p1
.end method
.method public getStatCacheDataByTime(JZI)Ljava/util/concurrent/PriorityBlockingQueue;
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(JZI)",
"Ljava/util/concurrent/PriorityBlockingQueue<",
"Lsg/bigo/sdk/blivestat/database/StatCacheDao;",
">;"
}
.end annotation
.line 139
iget-object v0, p0, Lsg/bigo/sdk/blivestat/database/StatCacheDbFactory;->mStatCacheDbHelper:Lsg/bigo/sdk/blivestat/database/StatCacheDbHelper;
invoke-virtual {v0, p1, p2, p3, p4}, Lsg/bigo/sdk/blivestat/database/StatCacheDbHelper;->getStatCacheDataByTime(JZI)Ljava/util/concurrent/PriorityBlockingQueue;
move-result-object p1
return-object p1
.end method
.method getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
.registers 2
.line 160
invoke-direct {p0}, Lsg/bigo/sdk/blivestat/database/StatCacheDbFactory;->checkInit()V
.line 161
iget-object v0, p0, Lsg/bigo/sdk/blivestat/database/StatCacheDbFactory;->mStatCacheDbHelper:Lsg/bigo/sdk/blivestat/database/StatCacheDbHelper;
invoke-virtual {v0}, Lsg/bigo/sdk/blivestat/database/StatCacheDbHelper;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
move-result-object v0
return-object v0
.end method
.method public insert(Lsg/bigo/sdk/blivestat/database/StatCacheDao;)Z
.registers 3
if-nez p1, :cond_4
const/4 p1, 0x0
return p1
.line 98
:cond_4
iget-object v0, p0, Lsg/bigo/sdk/blivestat/database/StatCacheDbFactory;->mStatCacheDbHelper:Lsg/bigo/sdk/blivestat/database/StatCacheDbHelper;
invoke-virtual {v0, p1}, Lsg/bigo/sdk/blivestat/database/StatCacheDbHelper;->insert(Lsg/bigo/sdk/blivestat/database/StatCacheDao;)Z
move-result p1
return p1
.end method
.method public insertOldCache(Ljava/util/List;)Z
.registers 7
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Ljava/lang/String;",
">;)Z"
}
.end annotation
const/4 v0, 0x0
if-eqz p1, :cond_29
.line 103
invoke-interface {p1}, Ljava/util/List;->size()I
move-result v1
if-gtz v1, :cond_a
goto :goto_29
.line 107
:cond_a
invoke-interface {p1}, Ljava/util/List;->size()I
move-result v1
const/4 v2, 0x0
:goto_f
if-ge v2, v1, :cond_27
.line 109
invoke-interface {p1, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/lang/String;
.line 111
invoke-static {v3}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v4
if-nez v4, :cond_24
.line 112
invoke-static {v3, v0}, Landroid/util/Base64;->decode(Ljava/lang/String;I)[B
move-result-object v3
.line 117
invoke-direct {p0, v3}, Lsg/bigo/sdk/blivestat/database/StatCacheDbFactory;->insert([B)Z
:cond_24
add-int/lit8 v2, v2, 0x1
goto :goto_f
:cond_27
const/4 p1, 0x1
return p1
:cond_29
:goto_29
const-string p1, "BLiveStatisSDK"
const-string v1, "cacheData is null"
.line 104
invoke-static {p1, v1}, Lsg/bigo/sdk/blivestat/log/StatLog;->d(Ljava/lang/String;Ljava/lang/String;)V
return v0
.end method
.method public setExpireTimeAndMaxCount(II)V
.registers 4
.line 152
iget-object v0, p0, Lsg/bigo/sdk/blivestat/database/StatCacheDbFactory;->mStatCacheDbHelper:Lsg/bigo/sdk/blivestat/database/StatCacheDbHelper;
invoke-virtual {v0, p1, p2}, Lsg/bigo/sdk/blivestat/database/StatCacheDbHelper;->setExpireTimeAndMaxCount(II)V
return-void
.end method