zzax.smali

.class public Lcom/google/android/gms/internal/icing/zzax;
.super Ljava/lang/Object;
.source "SourceFile"


# static fields
.field public static final CONTENT_URI:Landroid/net/Uri;

.field private static final zzbs:Landroid/net/Uri;

.field public static final zzbt:Ljava/util/regex/Pattern;

.field public static final zzbu:Ljava/util/regex/Pattern;

.field private static final zzbv:Ljava/util/concurrent/atomic/AtomicBoolean;

.field private static zzbw:Ljava/util/HashMap;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/HashMap<",
            "Ljava/lang/String;",
            "Ljava/lang/String;",
            ">;"
        }
    .end annotation
.end field

.field private static final zzbx:Ljava/util/HashMap;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/HashMap<",
            "Ljava/lang/String;",
            "Ljava/lang/Boolean;",
            ">;"
        }
    .end annotation
.end field

.field private static final zzby:Ljava/util/HashMap;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/HashMap<",
            "Ljava/lang/String;",
            "Ljava/lang/Integer;",
            ">;"
        }
    .end annotation
.end field

.field private static final zzbz:Ljava/util/HashMap;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/HashMap<",
            "Ljava/lang/String;",
            "Ljava/lang/Long;",
            ">;"
        }
    .end annotation
.end field

.field private static final zzca:Ljava/util/HashMap;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/HashMap<",
            "Ljava/lang/String;",
            "Ljava/lang/Float;",
            ">;"
        }
    .end annotation
.end field

.field private static zzcb:Ljava/lang/Object;

.field private static zzcc:Z

.field private static zzcd:[Ljava/lang/String;


# direct methods
.method public static constructor <clinit>()V
    .registers 2

    const-string v0, "content://com.google.android.gsf.gservices"

    .line 1
    invoke-static {v0}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri;

    move-result-object v0

    sput-object v0, Lcom/google/android/gms/internal/icing/zzax;->CONTENT_URI:Landroid/net/Uri;

    const-string v0, "content://com.google.android.gsf.gservices/prefix"

    .line 2
    invoke-static {v0}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri;

    move-result-object v0

    sput-object v0, Lcom/google/android/gms/internal/icing/zzax;->zzbs:Landroid/net/Uri;

    const-string v0, "^(1|true|t|on|yes|y)$"

    const/4 v1, 0x2

    .line 3
    invoke-static {v0, v1}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;I)Ljava/util/regex/Pattern;

    move-result-object v0

    sput-object v0, Lcom/google/android/gms/internal/icing/zzax;->zzbt:Ljava/util/regex/Pattern;

    const-string v0, "^(0|false|f|off|no|n)$"

    .line 4
    invoke-static {v0, v1}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;I)Ljava/util/regex/Pattern;

    move-result-object v0

    sput-object v0, Lcom/google/android/gms/internal/icing/zzax;->zzbu:Ljava/util/regex/Pattern;

    .line 5
    new-instance v0, Ljava/util/concurrent/atomic/AtomicBoolean;

    invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;-><init>()V

    sput-object v0, Lcom/google/android/gms/internal/icing/zzax;->zzbv:Ljava/util/concurrent/atomic/AtomicBoolean;

    .line 6
    new-instance v0, Ljava/util/HashMap;

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

    sput-object v0, Lcom/google/android/gms/internal/icing/zzax;->zzbx:Ljava/util/HashMap;

    .line 7
    new-instance v0, Ljava/util/HashMap;

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

    sput-object v0, Lcom/google/android/gms/internal/icing/zzax;->zzby:Ljava/util/HashMap;

    .line 8
    new-instance v0, Ljava/util/HashMap;

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

    sput-object v0, Lcom/google/android/gms/internal/icing/zzax;->zzbz:Ljava/util/HashMap;

    .line 9
    new-instance v0, Ljava/util/HashMap;

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

    sput-object v0, Lcom/google/android/gms/internal/icing/zzax;->zzca:Ljava/util/HashMap;

    const/4 v0, 0x0

    new-array v0, v0, [Ljava/lang/String;

    .line 10
    sput-object v0, Lcom/google/android/gms/internal/icing/zzax;->zzcd:[Ljava/lang/String;

    return-void
.end method

.method public constructor <init>()V
    .registers 1

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

    return-void
.end method

.method public static zza(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    .registers 13

    .line 1
    const-class p2, Lcom/google/android/gms/internal/icing/zzax;

    monitor-enter p2

    .line 2
    :try_start_3
    sget-object v0, Lcom/google/android/gms/internal/icing/zzax;->zzbw:Ljava/util/HashMap;

    const/4 v1, 0x1

    const/4 v2, 0x0

    const/4 v3, 0x0

    if-nez v0, :cond_2a

    .line 3
    sget-object v0, Lcom/google/android/gms/internal/icing/zzax;->zzbv:Ljava/util/concurrent/atomic/AtomicBoolean;

    invoke-virtual {v0, v2}, Ljava/util/concurrent/atomic/AtomicBoolean;->set(Z)V

    .line 4
    new-instance v0, Ljava/util/HashMap;

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

    sput-object v0, Lcom/google/android/gms/internal/icing/zzax;->zzbw:Ljava/util/HashMap;

    .line 5
    new-instance v0, Ljava/lang/Object;

    invoke-direct {v0}, Ljava/lang/Object;-><init>()V

    sput-object v0, Lcom/google/android/gms/internal/icing/zzax;->zzcb:Ljava/lang/Object;

    .line 6
    sput-boolean v2, Lcom/google/android/gms/internal/icing/zzax;->zzcc:Z

    .line 7
    sget-object v0, Lcom/google/android/gms/internal/icing/zzax;->CONTENT_URI:Landroid/net/Uri;

    new-instance v4, Lcom/google/android/gms/internal/icing/zzba;

    invoke-direct {v4, v3}, Lcom/google/android/gms/internal/icing/zzba;-><init>(Landroid/os/Handler;)V

    invoke-virtual {p0, v0, v1, v4}, Landroid/content/ContentResolver;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;)V

    goto :goto_54

    .line 8
    :cond_2a
    sget-object v0, Lcom/google/android/gms/internal/icing/zzax;->zzbv:Ljava/util/concurrent/atomic/AtomicBoolean;

    invoke-virtual {v0, v2}, Ljava/util/concurrent/atomic/AtomicBoolean;->getAndSet(Z)Z

    move-result v0

    if-eqz v0, :cond_54

    .line 9
    sget-object v0, Lcom/google/android/gms/internal/icing/zzax;->zzbw:Ljava/util/HashMap;

    invoke-virtual {v0}, Ljava/util/HashMap;->clear()V

    .line 10
    sget-object v0, Lcom/google/android/gms/internal/icing/zzax;->zzbx:Ljava/util/HashMap;

    invoke-virtual {v0}, Ljava/util/HashMap;->clear()V

    .line 11
    sget-object v0, Lcom/google/android/gms/internal/icing/zzax;->zzby:Ljava/util/HashMap;

    invoke-virtual {v0}, Ljava/util/HashMap;->clear()V

    .line 12
    sget-object v0, Lcom/google/android/gms/internal/icing/zzax;->zzbz:Ljava/util/HashMap;

    invoke-virtual {v0}, Ljava/util/HashMap;->clear()V

    .line 13
    sget-object v0, Lcom/google/android/gms/internal/icing/zzax;->zzca:Ljava/util/HashMap;

    invoke-virtual {v0}, Ljava/util/HashMap;->clear()V

    .line 14
    new-instance v0, Ljava/lang/Object;

    invoke-direct {v0}, Ljava/lang/Object;-><init>()V

    sput-object v0, Lcom/google/android/gms/internal/icing/zzax;->zzcb:Ljava/lang/Object;

    .line 15
    sput-boolean v2, Lcom/google/android/gms/internal/icing/zzax;->zzcc:Z

    .line 16
    :cond_54
    :goto_54
    sget-object v0, Lcom/google/android/gms/internal/icing/zzax;->zzcb:Ljava/lang/Object;

    .line 17
    sget-object v4, Lcom/google/android/gms/internal/icing/zzax;->zzbw:Ljava/util/HashMap;

    invoke-virtual {v4, p1}, Ljava/util/HashMap;->containsKey(Ljava/lang/Object;)Z

    move-result v4

    if-eqz v4, :cond_6b

    .line 18
    sget-object p0, Lcom/google/android/gms/internal/icing/zzax;->zzbw:Ljava/util/HashMap;

    invoke-virtual {p0, p1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object p0

    check-cast p0, Ljava/lang/String;

    if-eqz p0, :cond_69

    move-object v3, p0

    .line 19
    :cond_69
    monitor-exit p2

    return-object v3

    .line 20
    :cond_6b
    sget-object v4, Lcom/google/android/gms/internal/icing/zzax;->zzcd:[Ljava/lang/String;

    array-length v5, v4

    const/4 v6, 0x0

    :goto_6f
    if-ge v6, v5, :cond_ac

    aget-object v7, v4, v6

    .line 21
    invoke-virtual {p1, v7}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z

    move-result v7

    if-eqz v7, :cond_a9

    .line 22
    sget-boolean v0, Lcom/google/android/gms/internal/icing/zzax;->zzcc:Z

    if-eqz v0, :cond_85

    sget-object v0, Lcom/google/android/gms/internal/icing/zzax;->zzbw:Ljava/util/HashMap;

    invoke-virtual {v0}, Ljava/util/HashMap;->isEmpty()Z

    move-result v0

    if-eqz v0, :cond_a7

    .line 23
    :cond_85
    sget-object v0, Lcom/google/android/gms/internal/icing/zzax;->zzcd:[Ljava/lang/String;

    .line 24
    sget-object v2, Lcom/google/android/gms/internal/icing/zzax;->zzbw:Ljava/util/HashMap;

    invoke-static {p0, v0}, Lcom/google/android/gms/internal/icing/zzax;->zza(Landroid/content/ContentResolver;[Ljava/lang/String;)Ljava/util/Map;

    move-result-object p0

    invoke-virtual {v2, p0}, Ljava/util/HashMap;->putAll(Ljava/util/Map;)V

    .line 25
    sput-boolean v1, Lcom/google/android/gms/internal/icing/zzax;->zzcc:Z

    .line 26
    sget-object p0, Lcom/google/android/gms/internal/icing/zzax;->zzbw:Ljava/util/HashMap;

    invoke-virtual {p0, p1}, Ljava/util/HashMap;->containsKey(Ljava/lang/Object;)Z

    move-result p0

    if-eqz p0, :cond_a7

    .line 27
    sget-object p0, Lcom/google/android/gms/internal/icing/zzax;->zzbw:Ljava/util/HashMap;

    invoke-virtual {p0, p1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object p0

    check-cast p0, Ljava/lang/String;

    if-eqz p0, :cond_a5

    move-object v3, p0

    .line 28
    :cond_a5
    monitor-exit p2

    return-object v3

    .line 29
    :cond_a7
    monitor-exit p2

    return-object v3

    :cond_a9
    add-int/lit8 v6, v6, 0x1

    goto :goto_6f

    .line 30
    :cond_ac
    monitor-exit p2
    :try_end_ad
    .catchall {:try_start_3 .. :try_end_ad} :catchall_ec

    .line 31
    sget-object v5, Lcom/google/android/gms/internal/icing/zzax;->CONTENT_URI:Landroid/net/Uri;

    const/4 v6, 0x0

    const/4 v7, 0x0

    new-array v8, v1, [Ljava/lang/String;

    aput-object p1, v8, v2

    const/4 v9, 0x0

    move-object v4, p0

    invoke-virtual/range {v4 .. v9}, Landroid/content/ContentResolver;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;

    move-result-object p0

    if-nez p0, :cond_c3

    if-eqz p0, :cond_c2

    .line 32
    invoke-interface {p0}, Landroid/database/Cursor;->close()V

    :cond_c2
    return-object v3

    .line 33
    :cond_c3
    :try_start_c3
    invoke-interface {p0}, Landroid/database/Cursor;->moveToFirst()Z

    move-result p2

    if-nez p2, :cond_d0

    .line 34
    invoke-static {v0, p1, v3}, Lcom/google/android/gms/internal/icing/zzax;->zza(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)V
    :try_end_cc
    .catchall {:try_start_c3 .. :try_end_cc} :catchall_e7

    .line 35
    invoke-interface {p0}, Landroid/database/Cursor;->close()V

    return-object v3

    .line 36
    :cond_d0
    :try_start_d0
    invoke-interface {p0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;

    move-result-object p2

    if-eqz p2, :cond_dd

    .line 37
    invoke-virtual {p2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v1

    if-eqz v1, :cond_dd

    move-object p2, v3

    .line 38
    :cond_dd
    invoke-static {v0, p1, p2}, Lcom/google/android/gms/internal/icing/zzax;->zza(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)V
    :try_end_e0
    .catchall {:try_start_d0 .. :try_end_e0} :catchall_e7

    if-eqz p2, :cond_e3

    move-object v3, p2

    .line 39
    :cond_e3
    invoke-interface {p0}, Landroid/database/Cursor;->close()V

    return-object v3

    :catchall_e7
    move-exception p1

    .line 40
    invoke-interface {p0}, Landroid/database/Cursor;->close()V

    throw p1

    :catchall_ec
    move-exception p0

    .line 41
    :try_start_ed
    monitor-exit p2
    :try_end_ee
    .catchall {:try_start_ed .. :try_end_ee} :catchall_ec

    throw p0
.end method

.method private static varargs zza(Landroid/content/ContentResolver;[Ljava/lang/String;)Ljava/util/Map;
    .registers 8
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Landroid/content/ContentResolver;",
            "[",
            "Ljava/lang/String;",
            ")",
            "Ljava/util/Map<",
            "Ljava/lang/String;",
            "Ljava/lang/String;",
            ">;"
        }
    .end annotation

    .line 46
    sget-object v1, Lcom/google/android/gms/internal/icing/zzax;->zzbs:Landroid/net/Uri;

    const/4 v2, 0x0

    const/4 v3, 0x0

    const/4 v5, 0x0

    move-object v0, p0

    move-object v4, p1

    invoke-virtual/range {v0 .. v5}, Landroid/content/ContentResolver;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;

    move-result-object p0

    .line 47
    new-instance p1, Ljava/util/TreeMap;

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

    if-nez p0, :cond_13

    return-object p1

    .line 48
    :cond_13
    :goto_13
    :try_start_13
    invoke-interface {p0}, Landroid/database/Cursor;->moveToNext()Z

    move-result v0

    if-eqz v0, :cond_27

    const/4 v0, 0x0

    .line 49
    invoke-interface {p0, v0}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;

    move-result-object v0

    const/4 v1, 0x1

    invoke-interface {p0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;

    move-result-object v1

    invoke-virtual {p1, v0, v1}, Ljava/util/TreeMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    :try_end_26
    .catchall {:try_start_13 .. :try_end_26} :catchall_2b

    goto :goto_13

    .line 50
    :cond_27
    invoke-interface {p0}, Landroid/database/Cursor;->close()V

    return-object p1

    :catchall_2b
    move-exception p1

    .line 51
    invoke-interface {p0}, Landroid/database/Cursor;->close()V

    throw p1
.end method

.method private static zza(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)V
    .registers 5

    .line 42
    const-class v0, Lcom/google/android/gms/internal/icing/zzax;

    monitor-enter v0

    .line 43
    :try_start_3
    sget-object v1, Lcom/google/android/gms/internal/icing/zzax;->zzcb:Ljava/lang/Object;

    if-ne p0, v1, :cond_c

    .line 44
    sget-object p0, Lcom/google/android/gms/internal/icing/zzax;->zzbw:Ljava/util/HashMap;

    invoke-virtual {p0, p1, p2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    .line 45
    :cond_c
    monitor-exit v0

    return-void

    :catchall_e
    move-exception p0

    monitor-exit v0
    :try_end_10
    .catchall {:try_start_3 .. :try_end_10} :catchall_e

    throw p0
.end method

.method public static synthetic zzj()Ljava/util/concurrent/atomic/AtomicBoolean;
    .registers 1

    sget-object v0, Lcom/google/android/gms/internal/icing/zzax;->zzbv:Ljava/util/concurrent/atomic/AtomicBoolean;

    return-object v0
.end method