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