DualSimUtils.smali

.class public final Lsg/bigo/sdk/blivestat/utils/DualSimUtils;
.super Ljava/lang/Object;
.source "SourceFile"


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lsg/bigo/sdk/blivestat/utils/DualSimUtils$SimInfo;
    }
.end annotation


# static fields
.field private static final UPDATE_INTERVAL:J = 0x927c0L


# instance fields
.field private volatile mLastUpdatedTs:J

.field private mSimInfos:Ljava/util/List;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/List<",
            "Lsg/bigo/sdk/blivestat/utils/DualSimUtils$SimInfo;",
            ">;"
        }
    .end annotation
.end field


# direct methods
.method public constructor <init>(Landroid/content/Context;Lsg/bigo/sdk/blivestat/utils/StatThread;)V
    .registers 7

    const-string v0, "BLiveStatisSDK"

    .line 55
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    const-wide/16 v1, 0x0

    .line 45
    iput-wide v1, p0, Lsg/bigo/sdk/blivestat/utils/DualSimUtils;->mLastUpdatedTs:J

    .line 47
    new-instance v1, Ljava/util/ArrayList;

    invoke-direct {v1}, Ljava/util/ArrayList;-><init>()V

    iput-object v1, p0, Lsg/bigo/sdk/blivestat/utils/DualSimUtils;->mSimInfos:Ljava/util/List;

    if-nez p1, :cond_13

    return-void

    .line 60
    :cond_13
    sget v1, Landroid/os/Build$VERSION;->SDK_INT:I

    const/16 v2, 0x16

    if-ge v1, v2, :cond_1a

    return-void

    .line 64
    :cond_1a
    invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;

    move-result-object p1

    const/4 v1, 0x0

    .line 68
    :try_start_1f
    new-instance v2, Lsg/bigo/sdk/blivestat/utils/DualSimUtils$1;

    invoke-direct {v2, p0, p1, p2}, Lsg/bigo/sdk/blivestat/utils/DualSimUtils$1;-><init>(Lsg/bigo/sdk/blivestat/utils/DualSimUtils;Landroid/content/Context;Lsg/bigo/sdk/blivestat/utils/StatThread;)V
    :try_end_24
    .catch Ljava/lang/Exception; {:try_start_1f .. :try_end_24} :catch_26

    move-object v1, v2

    goto :goto_3c

    :catch_26
    move-exception p2

    .line 76
    new-instance v2, Ljava/lang/StringBuilder;

    const-string v3, "DualSimUtils.init exception:"

    invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {p2}, Ljava/lang/Exception;->getLocalizedMessage()Ljava/lang/String;

    move-result-object p2

    invoke-virtual {v2, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p2

    invoke-static {v0, p2}, Lsg/bigo/sdk/blivestat/log/StatLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    :goto_3c
    if-eqz v1, :cond_65

    :try_start_3e
    const-string p2, "telephony_subscription_service"

    .line 80
    invoke-virtual {p1, p2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;

    move-result-object p1

    check-cast p1, Landroid/telephony/SubscriptionManager;

    if-eqz p1, :cond_65

    .line 82
    invoke-virtual {p1, v1}, Landroid/telephony/SubscriptionManager;->addOnSubscriptionsChangedListener(Landroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener;)V

    .line 83
    invoke-virtual {v1}, Landroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener;->onSubscriptionsChanged()V
    :try_end_4e
    .catch Ljava/lang/SecurityException; {:try_start_3e .. :try_end_4e} :catch_4f

    goto :goto_65

    :catch_4f
    move-exception p1

    .line 87
    new-instance p2, Ljava/lang/StringBuilder;

    const-string v1, "DualSimUtils.init addOnSubscriptionsChangedListener exception:"

    invoke-direct {p2, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {p1}, Ljava/lang/SecurityException;->getLocalizedMessage()Ljava/lang/String;

    move-result-object p1

    invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p1

    invoke-static {v0, p1}, Lsg/bigo/sdk/blivestat/log/StatLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    :cond_65
    :goto_65
    return-void
.end method

.method static synthetic access$000(Lsg/bigo/sdk/blivestat/utils/DualSimUtils;Landroid/content/Context;Lsg/bigo/sdk/blivestat/utils/StatThread;)V
    .registers 3

    .line 19
    invoke-direct {p0, p1, p2}, Lsg/bigo/sdk/blivestat/utils/DualSimUtils;->subscriptionsChanged(Landroid/content/Context;Lsg/bigo/sdk/blivestat/utils/StatThread;)V

    return-void
.end method

.method static synthetic access$100(Lsg/bigo/sdk/blivestat/utils/DualSimUtils;)J
    .registers 3

    .line 19
    iget-wide v0, p0, Lsg/bigo/sdk/blivestat/utils/DualSimUtils;->mLastUpdatedTs:J

    return-wide v0
.end method

.method static synthetic access$102(Lsg/bigo/sdk/blivestat/utils/DualSimUtils;J)J
    .registers 3

    .line 19
    iput-wide p1, p0, Lsg/bigo/sdk/blivestat/utils/DualSimUtils;->mLastUpdatedTs:J

    return-wide p1
.end method

.method static synthetic access$202(Lsg/bigo/sdk/blivestat/utils/DualSimUtils;Ljava/util/List;)Ljava/util/List;
    .registers 2

    .line 19
    iput-object p1, p0, Lsg/bigo/sdk/blivestat/utils/DualSimUtils;->mSimInfos:Ljava/util/List;

    return-object p1
.end method

.method private subscriptionsChanged(Landroid/content/Context;Lsg/bigo/sdk/blivestat/utils/StatThread;)V
    .registers 4

    .line 93
    new-instance v0, Lsg/bigo/sdk/blivestat/utils/DualSimUtils$2;

    invoke-direct {v0, p0, p1}, Lsg/bigo/sdk/blivestat/utils/DualSimUtils$2;-><init>(Lsg/bigo/sdk/blivestat/utils/DualSimUtils;Landroid/content/Context;)V

    invoke-virtual {p2, v0}, Lsg/bigo/sdk/blivestat/utils/StatThread;->post(Ljava/lang/Runnable;)Ljava/util/concurrent/Future;

    return-void
.end method


# virtual methods
.method public final getSimInfos()Ljava/util/List;
    .registers 3
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "()",
            "Ljava/util/List<",
            "Lsg/bigo/sdk/blivestat/utils/DualSimUtils$SimInfo;",
            ">;"
        }
    .end annotation

    .line 50
    monitor-enter p0

    .line 51
    :try_start_1
    new-instance v0, Ljava/util/ArrayList;

    iget-object v1, p0, Lsg/bigo/sdk/blivestat/utils/DualSimUtils;->mSimInfos:Ljava/util/List;

    invoke-direct {v0, v1}, Ljava/util/ArrayList;-><init>(Ljava/util/Collection;)V

    monitor-exit p0

    return-object v0

    :catchall_a
    move-exception v0

    .line 52
    monitor-exit p0
    :try_end_c
    .catchall {:try_start_1 .. :try_end_c} :catchall_a

    throw v0
.end method