zzcr.smali

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


# static fields
.field private static zza:Landroid/os/UserManager;

.field private static volatile zzb:Z

.field private static zzc:Z


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

    .line 38
    invoke-static {}, Lcom/google/android/gms/internal/measurement/zzcr;->zza()Z

    move-result v0

    xor-int/lit8 v0, v0, 0x1

    sput-boolean v0, Lcom/google/android/gms/internal/measurement/zzcr;->zzb:Z

    const/4 v0, 0x0

    .line 39
    sput-boolean v0, Lcom/google/android/gms/internal/measurement/zzcr;->zzc:Z

    return-void
.end method

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

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

    return-void
.end method

.method public static zza()Z
    .registers 2

    .line 2
    sget v0, Landroid/os/Build$VERSION;->SDK_INT:I

    const/16 v1, 0x18

    if-lt v0, v1, :cond_8

    const/4 v0, 0x1

    return v0

    :cond_8
    const/4 v0, 0x0

    return v0
.end method

.method public static zza(Landroid/content/Context;)Z
    .registers 2

    .line 3
    invoke-static {}, Lcom/google/android/gms/internal/measurement/zzcr;->zza()Z

    move-result v0

    if-eqz v0, :cond_f

    invoke-static {p0}, Lcom/google/android/gms/internal/measurement/zzcr;->zzc(Landroid/content/Context;)Z

    move-result p0

    if-eqz p0, :cond_d

    goto :goto_f

    :cond_d
    const/4 p0, 0x0

    return p0

    :cond_f
    :goto_f
    const/4 p0, 0x1

    return p0
.end method

.method private static zzb(Landroid/content/Context;)Z
    .registers 7

    const/4 v0, 0x1

    const/4 v1, 0x1

    :goto_2
    const/4 v2, 0x2

    const/4 v3, 0x0

    const/4 v4, 0x0

    if-gt v1, v2, :cond_3b

    .line 7
    sget-object v2, Lcom/google/android/gms/internal/measurement/zzcr;->zza:Landroid/os/UserManager;

    if-nez v2, :cond_15

    .line 8
    const-class v2, Landroid/os/UserManager;

    invoke-virtual {p0, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/Class;)Ljava/lang/Object;

    move-result-object v2

    check-cast v2, Landroid/os/UserManager;

    sput-object v2, Lcom/google/android/gms/internal/measurement/zzcr;->zza:Landroid/os/UserManager;

    .line 9
    :cond_15
    sget-object v2, Lcom/google/android/gms/internal/measurement/zzcr;->zza:Landroid/os/UserManager;

    if-nez v2, :cond_1a

    return v0

    .line 15
    :cond_1a
    :try_start_1a
    invoke-virtual {v2}, Landroid/os/UserManager;->isUserUnlocked()Z

    move-result v5

    if-nez v5, :cond_2c

    .line 16
    invoke-static {}, Landroid/os/Process;->myUserHandle()Landroid/os/UserHandle;

    move-result-object v5

    invoke-virtual {v2, v5}, Landroid/os/UserManager;->isUserRunning(Landroid/os/UserHandle;)Z

    move-result p0
    :try_end_28
    .catch Ljava/lang/NullPointerException; {:try_start_1a .. :try_end_28} :catch_2e

    if-nez p0, :cond_2b

    goto :goto_2c

    :cond_2b
    const/4 v0, 0x0

    :cond_2c
    :goto_2c
    move v4, v0

    goto :goto_3b

    :catch_2e
    move-exception v2

    const-string v4, "DirectBootUtils"

    const-string v5, "Failed to check if user is unlocked."

    .line 19
    invoke-static {v4, v5, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I

    .line 20
    sput-object v3, Lcom/google/android/gms/internal/measurement/zzcr;->zza:Landroid/os/UserManager;

    add-int/lit8 v1, v1, 0x1

    goto :goto_2

    :cond_3b
    :goto_3b
    if-eqz v4, :cond_3f

    .line 23
    sput-object v3, Lcom/google/android/gms/internal/measurement/zzcr;->zza:Landroid/os/UserManager;

    :cond_3f
    return v4
.end method

.method private static zzc(Landroid/content/Context;)Z
    .registers 4

    .line 25
    sget-boolean v0, Lcom/google/android/gms/internal/measurement/zzcr;->zzb:Z

    const/4 v1, 0x1

    if-eqz v0, :cond_6

    return v1

    .line 28
    :cond_6
    const-class v0, Lcom/google/android/gms/internal/measurement/zzcr;

    monitor-enter v0

    .line 29
    :try_start_9
    sget-boolean v2, Lcom/google/android/gms/internal/measurement/zzcr;->zzb:Z

    if-eqz v2, :cond_f

    .line 31
    monitor-exit v0

    return v1

    .line 33
    :cond_f
    invoke-static {p0}, Lcom/google/android/gms/internal/measurement/zzcr;->zzb(Landroid/content/Context;)Z

    move-result p0

    if-eqz p0, :cond_17

    .line 35
    sput-boolean p0, Lcom/google/android/gms/internal/measurement/zzcr;->zzb:Z

    .line 36
    :cond_17
    monitor-exit v0

    return p0

    :catchall_19
    move-exception p0

    monitor-exit v0
    :try_end_1b
    .catchall {:try_start_9 .. :try_end_1b} :catchall_19

    throw p0
.end method