apkfuckery/com.discord/smali/com/discord/utilities/analytics/DeviceInfo.smali
2020-11-09 19:03:49 +00:00

175 lines
5.1 KiB
Smali

.class public final Lcom/discord/utilities/analytics/DeviceInfo;
.super Ljava/lang/Object;
.source "DeviceInfo.kt"
# static fields
.field public static final INSTANCE:Lcom/discord/utilities/analytics/DeviceInfo;
.field public static final buildInfo:Lcom/discord/utilities/analytics/BuildInfo;
.field public static decoderCountInfo:Lcom/discord/utilities/analytics/hardware/DecoderCountInfo;
.field public static final memInfoInit:Ljava/util/concurrent/atomic/AtomicBoolean;
.field public static memoryInfo:Lcom/discord/utilities/analytics/MemoryInfo;
# direct methods
.method public static constructor <clinit>()V
.locals 11
new-instance v0, Lcom/discord/utilities/analytics/DeviceInfo;
invoke-direct {v0}, Lcom/discord/utilities/analytics/DeviceInfo;-><init>()V
sput-object v0, Lcom/discord/utilities/analytics/DeviceInfo;->INSTANCE:Lcom/discord/utilities/analytics/DeviceInfo;
new-instance v0, Lcom/discord/utilities/analytics/BuildInfo;
const/4 v2, 0x0
const/4 v3, 0x0
const/4 v4, 0x0
const/4 v5, 0x0
const/4 v6, 0x0
const/4 v7, 0x0
const/4 v8, 0x0
const/16 v9, 0x7f
const/4 v10, 0x0
move-object v1, v0
invoke-direct/range {v1 .. v10}, Lcom/discord/utilities/analytics/BuildInfo;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZILkotlin/jvm/internal/DefaultConstructorMarker;)V
sput-object v0, Lcom/discord/utilities/analytics/DeviceInfo;->buildInfo:Lcom/discord/utilities/analytics/BuildInfo;
new-instance v0, Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;-><init>()V
sput-object v0, Lcom/discord/utilities/analytics/DeviceInfo;->memInfoInit:Ljava/util/concurrent/atomic/AtomicBoolean;
return-void
.end method
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final getBuildInfo()Lcom/discord/utilities/analytics/BuildInfo;
.locals 1
sget-object v0, Lcom/discord/utilities/analytics/DeviceInfo;->buildInfo:Lcom/discord/utilities/analytics/BuildInfo;
return-object v0
.end method
.method public final declared-synchronized getDecoderCountInfo(Landroid/content/Context;)Lcom/discord/utilities/analytics/hardware/DecoderCountInfo;
.locals 1
monitor-enter p0
:try_start_0
const-string v0, "context"
invoke-static {p1, v0}, Ly/n/c/j;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
sget-object p1, Lcom/discord/utilities/analytics/DeviceInfo;->decoderCountInfo:Lcom/discord/utilities/analytics/hardware/DecoderCountInfo;
if-nez p1, :cond_0
sget-object p1, Lcom/discord/utilities/analytics/hardware/DecoderCountUtil;->INSTANCE:Lcom/discord/utilities/analytics/hardware/DecoderCountUtil;
const/16 v0, 0x10
invoke-virtual {p1, v0}, Lcom/discord/utilities/analytics/hardware/DecoderCountUtil;->generateDecoderCountInfo(I)Lcom/discord/utilities/analytics/hardware/DecoderCountInfo;
move-result-object p1
sput-object p1, Lcom/discord/utilities/analytics/DeviceInfo;->decoderCountInfo:Lcom/discord/utilities/analytics/hardware/DecoderCountInfo;
:cond_0
sget-object p1, Lcom/discord/utilities/analytics/DeviceInfo;->decoderCountInfo:Lcom/discord/utilities/analytics/hardware/DecoderCountInfo;
invoke-static {p1}, Ly/n/c/j;->checkNotNull(Ljava/lang/Object;)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
monitor-exit p0
return-object p1
:catchall_0
move-exception p1
monitor-exit p0
throw p1
.end method
.method public final getMemoryInfo(Landroid/content/Context;)Lcom/discord/utilities/analytics/MemoryInfo;
.locals 3
const-string v0, "context"
invoke-static {p1, v0}, Ly/n/c/j;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
sget-object v0, Lcom/discord/utilities/analytics/DeviceInfo;->memInfoInit:Ljava/util/concurrent/atomic/AtomicBoolean;
const/4 v1, 0x0
const/4 v2, 0x1
invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicBoolean;->compareAndSet(ZZ)Z
move-result v0
const/4 v1, 0x0
const-string v2, "memoryInfo"
if-eqz v0, :cond_1
new-instance v0, Lcom/discord/utilities/analytics/MemoryInfo;
invoke-direct {v0, p1}, Lcom/discord/utilities/analytics/MemoryInfo;-><init>(Landroid/content/Context;)V
sput-object v0, Lcom/discord/utilities/analytics/DeviceInfo;->memoryInfo:Lcom/discord/utilities/analytics/MemoryInfo;
if-eqz v0, :cond_0
return-object v0
:cond_0
invoke-static {v2}, Ly/n/c/j;->throwUninitializedPropertyAccessException(Ljava/lang/String;)V
throw v1
:cond_1
sget-object v0, Lcom/discord/utilities/analytics/DeviceInfo;->memoryInfo:Lcom/discord/utilities/analytics/MemoryInfo;
if-eqz v0, :cond_2
invoke-virtual {v0, p1}, Lcom/discord/utilities/analytics/MemoryInfo;->update(Landroid/content/Context;)Lcom/discord/utilities/analytics/MemoryInfo;
return-object v0
:cond_2
invoke-static {v2}, Ly/n/c/j;->throwUninitializedPropertyAccessException(Ljava/lang/String;)V
throw v1
.end method