zzhn.smali
.class public final Lcom/google/android/gms/internal/measurement/zzhn;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field private static volatile zza:Lcom/google/android/gms/internal/measurement/zzif;
# direct methods
.method private constructor <init>()V
.registers 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static zza(Landroid/content/Context;)Lcom/google/android/gms/internal/measurement/zzif;
.registers 14
.line 1
const-class v0, Lcom/google/android/gms/internal/measurement/zzhn;
monitor-enter v0
:try_start_3
sget-object v1, Lcom/google/android/gms/internal/measurement/zzhn;->zza:Lcom/google/android/gms/internal/measurement/zzif;
if-nez v1, :cond_136
sget-object v1, Landroid/os/Build;->TYPE:Ljava/lang/String;
sget-object v2, Landroid/os/Build;->TAGS:Ljava/lang/String;
const-string v3, "eng"
invoke-virtual {v1, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-nez v3, :cond_1b
const-string v3, "userdebug"
invoke-virtual {v1, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_2c
:cond_1b
const-string v1, "dev-keys"
.line 2
invoke-virtual {v2, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v1
if-nez v1, :cond_33
const-string v1, "test-keys"
invoke-virtual {v2, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v1
if-eqz v1, :cond_2c
goto :goto_33
.line 3
:cond_2c
invoke-static {}, Lcom/google/android/gms/internal/measurement/zzif;->zzc()Lcom/google/android/gms/internal/measurement/zzif;
move-result-object p0
:goto_30
move-object v1, p0
goto/16 :goto_12e
.line 4
:cond_33
:goto_33
invoke-static {}, Lcom/google/android/gms/internal/measurement/zzha;->zza()Z
move-result v1
if-eqz v1, :cond_43
.line 5
invoke-virtual {p0}, Landroid/content/Context;->isDeviceProtectedStorage()Z
move-result v1
if-nez v1, :cond_43
.line 6
invoke-virtual {p0}, Landroid/content/Context;->createDeviceProtectedStorageContext()Landroid/content/Context;
move-result-object p0
.line 7
:cond_43
invoke-static {}, Landroid/os/StrictMode;->allowThreadDiskReads()Landroid/os/StrictMode$ThreadPolicy;
move-result-object v1
:try_end_47
.catchall {:try_start_3 .. :try_end_47} :catchall_138
.line 8
:try_start_47
invoke-static {}, Landroid/os/StrictMode;->allowThreadDiskWrites()Landroid/os/StrictMode$ThreadPolicy;
:try_end_4a
.catchall {:try_start_47 .. :try_end_4a} :catchall_131
const/4 v2, 0x0
:try_start_4b
new-instance v3, Ljava/io/File;
const-string v4, "phenotype_hermetic"
.line 9
invoke-virtual {p0, v4, v2}, Landroid/content/Context;->getDir(Ljava/lang/String;I)Ljava/io/File;
move-result-object p0
const-string v4, "overrides.txt"
invoke-direct {v3, p0, v4}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
:try_end_58
.catch Ljava/lang/RuntimeException; {:try_start_4b .. :try_end_58} :catch_68
.catchall {:try_start_4b .. :try_end_58} :catchall_131
.line 10
:try_start_58
invoke-virtual {v3}, Ljava/io/File;->exists()Z
move-result p0
if-eqz p0, :cond_63
invoke-static {v3}, Lcom/google/android/gms/internal/measurement/zzif;->zzd(Ljava/lang/Object;)Lcom/google/android/gms/internal/measurement/zzif;
move-result-object p0
goto :goto_6c
.line 11
:cond_63
invoke-static {}, Lcom/google/android/gms/internal/measurement/zzif;->zzc()Lcom/google/android/gms/internal/measurement/zzif;
move-result-object p0
goto :goto_6c
.line 12
:catch_68
invoke-static {}, Lcom/google/android/gms/internal/measurement/zzif;->zzc()Lcom/google/android/gms/internal/measurement/zzif;
move-result-object p0
.line 13
:goto_6c
invoke-virtual {p0}, Lcom/google/android/gms/internal/measurement/zzif;->zzb()Z
move-result v3
if-eqz v3, :cond_125
.line 14
invoke-virtual {p0}, Lcom/google/android/gms/internal/measurement/zzif;->zza()Ljava/lang/Object;
move-result-object p0
check-cast p0, Ljava/io/File;
:try_end_78
.catchall {:try_start_58 .. :try_end_78} :catchall_131
:try_start_78
new-instance v3, Ljava/io/BufferedReader;
new-instance v4, Ljava/io/InputStreamReader;
new-instance v5, Ljava/io/FileInputStream;
.line 15
invoke-direct {v5, p0}, Ljava/io/FileInputStream;-><init>(Ljava/io/File;)V
invoke-direct {v4, v5}, Ljava/io/InputStreamReader;-><init>(Ljava/io/InputStream;)V
invoke-direct {v3, v4}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;)V
:try_end_87
.catch Ljava/io/IOException; {:try_start_78 .. :try_end_87} :catch_11e
.catchall {:try_start_78 .. :try_end_87} :catchall_131
const/4 v4, 0x1
.line 16
:try_start_88
new-instance v5, Landroidx/collection/g;
invoke-direct {v5}, Landroidx/collection/g;-><init>()V
new-instance v6, Ljava/util/HashMap;
.line 17
invoke-direct {v6}, Ljava/util/HashMap;-><init>()V
.line 18
:goto_92
invoke-virtual {v3}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;
move-result-object v7
if-eqz v7, :cond_f3
const-string v8, " "
const/4 v9, 0x3
.line 19
invoke-virtual {v7, v8, v9}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String;
move-result-object v7
.line 20
array-length v8, v7
if-eq v8, v9, :cond_a3
goto :goto_92
.line 21
:cond_a3
aget-object v8, v7, v2
new-instance v9, Ljava/lang/String;
invoke-direct {v9, v8}, Ljava/lang/String;-><init>(Ljava/lang/String;)V
.line 22
aget-object v8, v7, v4
new-instance v10, Ljava/lang/String;
invoke-direct {v10, v8}, Ljava/lang/String;-><init>(Ljava/lang/String;)V
invoke-static {v10}, Landroid/net/Uri;->decode(Ljava/lang/String;)Ljava/lang/String;
move-result-object v8
const/4 v10, 0x2
.line 23
aget-object v11, v7, v10
invoke-virtual {v6, v11}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v11
check-cast v11, Ljava/lang/String;
if-nez v11, :cond_d8
.line 24
aget-object v7, v7, v10
new-instance v10, Ljava/lang/String;
invoke-direct {v10, v7}, Ljava/lang/String;-><init>(Ljava/lang/String;)V
.line 25
invoke-static {v10}, Landroid/net/Uri;->decode(Ljava/lang/String;)Ljava/lang/String;
move-result-object v11
.line 26
invoke-virtual {v11}, Ljava/lang/String;->length()I
move-result v7
const/16 v12, 0x400
if-lt v7, v12, :cond_d5
if-ne v11, v10, :cond_d8
.line 27
:cond_d5
invoke-virtual {v6, v10, v11}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 28
:cond_d8
invoke-virtual {v5, v9}, Landroidx/collection/g;->containsKey(Ljava/lang/Object;)Z
move-result v7
if-nez v7, :cond_e6
new-instance v7, Landroidx/collection/g;
.line 29
invoke-direct {v7}, Landroidx/collection/g;-><init>()V
invoke-virtual {v5, v9, v7}, Landroidx/collection/g;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:cond_e6
const/4 v7, 0x0
.line 30
invoke-virtual {v5, v9, v7}, Landroidx/collection/g;->getOrDefault(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v7
.line 31
check-cast v7, Landroidx/collection/g;
invoke-virtual {v7, v8, v11}, Landroidx/collection/g;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_92
:catchall_f1
move-exception p0
goto :goto_103
.line 32
:cond_f3
invoke-virtual {p0}, Ljava/lang/Object;->toString()Ljava/lang/String;
new-instance p0, Lcom/google/android/gms/internal/measurement/zzhg;
invoke-direct {p0, v5}, Lcom/google/android/gms/internal/measurement/zzhg;-><init>(Landroidx/collection/g;)V
:try_end_fb
.catchall {:try_start_88 .. :try_end_fb} :catchall_f1
.line 33
:try_start_fb
invoke-virtual {v3}, Ljava/io/BufferedReader;->close()V
:try_end_fe
.catch Ljava/io/IOException; {:try_start_fb .. :try_end_fe} :catch_11e
.catchall {:try_start_fb .. :try_end_fe} :catchall_131
:try_start_fe
invoke-static {p0}, Lcom/google/android/gms/internal/measurement/zzif;->zzd(Ljava/lang/Object;)Lcom/google/android/gms/internal/measurement/zzif;
move-result-object p0
:try_end_102
.catchall {:try_start_fe .. :try_end_102} :catchall_131
goto :goto_129
.line 34
:goto_103
:try_start_103
invoke-virtual {v3}, Ljava/io/BufferedReader;->close()V
:try_end_106
.catchall {:try_start_103 .. :try_end_106} :catchall_107
goto :goto_11d
:catchall_107
move-exception v3
:try_start_108
new-array v5, v4, [Ljava/lang/Class;
const-class v6, Ljava/lang/Throwable;
aput-object v6, v5, v2
const-class v6, Ljava/lang/Throwable;
const-string v7, "addSuppressed"
.line 35
invoke-virtual {v6, v7, v5}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v5
new-array v4, v4, [Ljava/lang/Object;
aput-object v3, v4, v2
invoke-virtual {v5, p0, v4}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
:try_end_11d
.catch Ljava/lang/Exception; {:try_start_108 .. :try_end_11d} :catch_11d
.catchall {:try_start_108 .. :try_end_11d} :catchall_131
.line 36
:catch_11d
:goto_11d
:try_start_11d
throw p0
:try_end_11e
.catch Ljava/io/IOException; {:try_start_11d .. :try_end_11e} :catch_11e
.catchall {:try_start_11d .. :try_end_11e} :catchall_131
:catch_11e
move-exception p0
.line 37
:try_start_11f
new-instance v2, Ljava/lang/RuntimeException;
.line 38
invoke-direct {v2, p0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/Throwable;)V
throw v2
.line 39
:cond_125
invoke-static {}, Lcom/google/android/gms/internal/measurement/zzif;->zzc()Lcom/google/android/gms/internal/measurement/zzif;
move-result-object p0
:try_end_129
.catchall {:try_start_11f .. :try_end_129} :catchall_131
.line 40
:goto_129
:try_start_129
invoke-static {v1}, Landroid/os/StrictMode;->setThreadPolicy(Landroid/os/StrictMode$ThreadPolicy;)V
goto/16 :goto_30
:goto_12e
sput-object v1, Lcom/google/android/gms/internal/measurement/zzhn;->zza:Lcom/google/android/gms/internal/measurement/zzif;
goto :goto_136
:catchall_131
move-exception p0
invoke-static {v1}, Landroid/os/StrictMode;->setThreadPolicy(Landroid/os/StrictMode$ThreadPolicy;)V
.line 41
throw p0
.line 42
:cond_136
:goto_136
monitor-exit v0
return-object v1
:catchall_138
move-exception p0
.line 43
monitor-exit v0
:try_end_13a
.catchall {:try_start_129 .. :try_end_13a} :catchall_138
throw p0
.end method