zzga.smali
.class final Lcom/google/android/gms/measurement/internal/zzga;
.super Ljava/lang/Thread;
.source "SourceFile"
# instance fields
.field public final synthetic zza:Lcom/google/android/gms/measurement/internal/zzgb;
.field private final zzb:Ljava/lang/Object;
.field private final zzc:Ljava/util/concurrent/BlockingQueue;
.field private zzd:Z
# direct methods
.method public constructor <init>(Lcom/google/android/gms/measurement/internal/zzgb;Ljava/lang/String;Ljava/util/concurrent/BlockingQueue;)V
.registers 4
.line 1
iput-object p1, p0, Lcom/google/android/gms/measurement/internal/zzga;->zza:Lcom/google/android/gms/measurement/internal/zzgb;
invoke-direct {p0}, Ljava/lang/Thread;-><init>()V
const/4 p1, 0x0
iput-boolean p1, p0, Lcom/google/android/gms/measurement/internal/zzga;->zzd:Z
.line 2
invoke-static {p2}, Lcom/google/android/gms/common/internal/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 3
invoke-static {p3}, Lcom/google/android/gms/common/internal/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
new-instance p1, Ljava/lang/Object;
invoke-direct {p1}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/google/android/gms/measurement/internal/zzga;->zzb:Ljava/lang/Object;
iput-object p3, p0, Lcom/google/android/gms/measurement/internal/zzga;->zzc:Ljava/util/concurrent/BlockingQueue;
.line 4
invoke-virtual {p0, p2}, Ljava/lang/Thread;->setName(Ljava/lang/String;)V
return-void
.end method
.method private final zzb()V
.registers 5
.line 1
iget-object v0, p0, Lcom/google/android/gms/measurement/internal/zzga;->zza:Lcom/google/android/gms/measurement/internal/zzgb;
invoke-static {v0}, Lcom/google/android/gms/measurement/internal/zzgb;->zzc(Lcom/google/android/gms/measurement/internal/zzgb;)Ljava/lang/Object;
move-result-object v0
monitor-enter v0
:try_start_7
iget-boolean v1, p0, Lcom/google/android/gms/measurement/internal/zzga;->zzd:Z
if-nez v1, :cond_46
iget-object v1, p0, Lcom/google/android/gms/measurement/internal/zzga;->zza:Lcom/google/android/gms/measurement/internal/zzgb;
invoke-static {v1}, Lcom/google/android/gms/measurement/internal/zzgb;->zzj(Lcom/google/android/gms/measurement/internal/zzgb;)Ljava/util/concurrent/Semaphore;
move-result-object v1
invoke-virtual {v1}, Ljava/util/concurrent/Semaphore;->release()V
iget-object v1, p0, Lcom/google/android/gms/measurement/internal/zzga;->zza:Lcom/google/android/gms/measurement/internal/zzgb;
invoke-static {v1}, Lcom/google/android/gms/measurement/internal/zzgb;->zzc(Lcom/google/android/gms/measurement/internal/zzgb;)Ljava/lang/Object;
move-result-object v1
.line 2
invoke-virtual {v1}, Ljava/lang/Object;->notifyAll()V
iget-object v1, p0, Lcom/google/android/gms/measurement/internal/zzga;->zza:Lcom/google/android/gms/measurement/internal/zzgb;
invoke-static {v1}, Lcom/google/android/gms/measurement/internal/zzgb;->zzb(Lcom/google/android/gms/measurement/internal/zzgb;)Lcom/google/android/gms/measurement/internal/zzga;
move-result-object v2
const/4 v3, 0x0
if-ne p0, v2, :cond_2a
.line 3
invoke-static {v1, v3}, Lcom/google/android/gms/measurement/internal/zzgb;->zzm(Lcom/google/android/gms/measurement/internal/zzgb;Lcom/google/android/gms/measurement/internal/zzga;)V
goto :goto_43
.line 4
:cond_2a
invoke-static {v1}, Lcom/google/android/gms/measurement/internal/zzgb;->zza(Lcom/google/android/gms/measurement/internal/zzgb;)Lcom/google/android/gms/measurement/internal/zzga;
move-result-object v2
if-ne p0, v2, :cond_34
.line 5
invoke-static {v1, v3}, Lcom/google/android/gms/measurement/internal/zzgb;->zzl(Lcom/google/android/gms/measurement/internal/zzgb;Lcom/google/android/gms/measurement/internal/zzga;)V
goto :goto_43
:cond_34
iget-object v1, v1, Lcom/google/android/gms/measurement/internal/zzgx;->zzs:Lcom/google/android/gms/measurement/internal/zzge;
.line 6
invoke-virtual {v1}, Lcom/google/android/gms/measurement/internal/zzge;->zzay()Lcom/google/android/gms/measurement/internal/zzeu;
move-result-object v1
.line 7
invoke-virtual {v1}, Lcom/google/android/gms/measurement/internal/zzeu;->zzd()Lcom/google/android/gms/measurement/internal/zzes;
move-result-object v1
const-string v2, "Current scheduler thread is neither worker nor network"
invoke-virtual {v1, v2}, Lcom/google/android/gms/measurement/internal/zzes;->zza(Ljava/lang/String;)V
:goto_43
const/4 v1, 0x1
.line 8
iput-boolean v1, p0, Lcom/google/android/gms/measurement/internal/zzga;->zzd:Z
.line 9
:cond_46
monitor-exit v0
return-void
:catchall_48
move-exception v1
monitor-exit v0
:try_end_4a
.catchall {:try_start_7 .. :try_end_4a} :catchall_48
throw v1
.end method
.method private final zzc(Ljava/lang/InterruptedException;)V
.registers 5
.line 1
iget-object v0, p0, Lcom/google/android/gms/measurement/internal/zzga;->zza:Lcom/google/android/gms/measurement/internal/zzgb;
iget-object v0, v0, Lcom/google/android/gms/measurement/internal/zzgx;->zzs:Lcom/google/android/gms/measurement/internal/zzge;
invoke-virtual {v0}, Lcom/google/android/gms/measurement/internal/zzge;->zzay()Lcom/google/android/gms/measurement/internal/zzeu;
move-result-object v0
.line 2
invoke-virtual {v0}, Lcom/google/android/gms/measurement/internal/zzeu;->zzk()Lcom/google/android/gms/measurement/internal/zzes;
move-result-object v0
invoke-virtual {p0}, Ljava/lang/Thread;->getName()Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
const-string v2, " was interrupted"
invoke-virtual {v1, v2}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1, p1}, Lcom/google/android/gms/measurement/internal/zzes;->zzb(Ljava/lang/String;Ljava/lang/Object;)V
return-void
.end method
# virtual methods
.method public final run()V
.registers 8
invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
move-result-object v0
invoke-static {}, Landroid/os/Looper;->myLooper()Landroid/os/Looper;
move-result-object v1
const/4 v2, 0x0
const/4 v3, 0x1
if-ne v0, v1, :cond_e
const/4 v0, 0x1
goto :goto_f
:cond_e
const/4 v0, 0x0
:goto_f
if-eqz v0, :cond_1a
const-string v1, "run"
const-string v4, "com/google/android/gms/measurement/internal/zzga"
const-string v5, "runnable"
invoke-static {v1, v4, v5}, Lcom/shopee/monitor/trace/c;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
:cond_1a
:goto_1a
if-nez v2, :cond_2c
.line 1
:try_start_1c
iget-object v1, p0, Lcom/google/android/gms/measurement/internal/zzga;->zza:Lcom/google/android/gms/measurement/internal/zzgb;
invoke-static {v1}, Lcom/google/android/gms/measurement/internal/zzgb;->zzj(Lcom/google/android/gms/measurement/internal/zzgb;)Ljava/util/concurrent/Semaphore;
move-result-object v1
invoke-virtual {v1}, Ljava/util/concurrent/Semaphore;->acquire()V
:try_end_25
.catch Ljava/lang/InterruptedException; {:try_start_1c .. :try_end_25} :catch_27
const/4 v2, 0x1
goto :goto_1a
:catch_27
move-exception v1
.line 2
invoke-direct {p0, v1}, Lcom/google/android/gms/measurement/internal/zzga;->zzc(Ljava/lang/InterruptedException;)V
goto :goto_1a
.line 3
:cond_2c
:try_start_2c
invoke-static {}, Landroid/os/Process;->myTid()I
move-result v1
invoke-static {v1}, Landroid/os/Process;->getThreadPriority(I)I
move-result v1
:goto_34
iget-object v2, p0, Lcom/google/android/gms/measurement/internal/zzga;->zzc:Ljava/util/concurrent/BlockingQueue;
.line 4
invoke-interface {v2}, Ljava/util/Queue;->poll()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/android/gms/measurement/internal/zzfz;
if-eqz v2, :cond_4d
iget-boolean v4, v2, Lcom/google/android/gms/measurement/internal/zzfz;->zza:Z
if-eq v3, v4, :cond_45
const/16 v4, 0xa
goto :goto_46
:cond_45
move v4, v1
.line 5
:goto_46
invoke-static {v4}, Landroid/os/Process;->setThreadPriority(I)V
.line 6
invoke-virtual {v2}, Ljava/util/concurrent/FutureTask;->run()V
goto :goto_34
:cond_4d
iget-object v2, p0, Lcom/google/android/gms/measurement/internal/zzga;->zzb:Ljava/lang/Object;
.line 7
monitor-enter v2
:try_end_50
.catchall {:try_start_2c .. :try_end_50} :catchall_aa
:try_start_50
iget-object v4, p0, Lcom/google/android/gms/measurement/internal/zzga;->zzc:Ljava/util/concurrent/BlockingQueue;
.line 8
invoke-interface {v4}, Ljava/util/Queue;->peek()Ljava/lang/Object;
move-result-object v4
if-nez v4, :cond_69
iget-object v4, p0, Lcom/google/android/gms/measurement/internal/zzga;->zza:Lcom/google/android/gms/measurement/internal/zzgb;
.line 9
invoke-static {v4}, Lcom/google/android/gms/measurement/internal/zzgb;->zzr(Lcom/google/android/gms/measurement/internal/zzgb;)Z
:try_end_5d
.catchall {:try_start_50 .. :try_end_5d} :catchall_9c
:try_start_5d
iget-object v4, p0, Lcom/google/android/gms/measurement/internal/zzga;->zzb:Ljava/lang/Object;
const-wide/16 v5, 0x7530
.line 10
invoke-virtual {v4, v5, v6}, Ljava/lang/Object;->wait(J)V
:try_end_64
.catch Ljava/lang/InterruptedException; {:try_start_5d .. :try_end_64} :catch_65
.catchall {:try_start_5d .. :try_end_64} :catchall_9c
goto :goto_69
:catch_65
move-exception v4
.line 11
:try_start_66
invoke-direct {p0, v4}, Lcom/google/android/gms/measurement/internal/zzga;->zzc(Ljava/lang/InterruptedException;)V
.line 12
:cond_69
:goto_69
monitor-exit v2
:try_end_6a
.catchall {:try_start_66 .. :try_end_6a} :catchall_9c
:try_start_6a
iget-object v2, p0, Lcom/google/android/gms/measurement/internal/zzga;->zza:Lcom/google/android/gms/measurement/internal/zzgb;
invoke-static {v2}, Lcom/google/android/gms/measurement/internal/zzgb;->zzc(Lcom/google/android/gms/measurement/internal/zzgb;)Ljava/lang/Object;
move-result-object v2
monitor-enter v2
:try_end_71
.catchall {:try_start_6a .. :try_end_71} :catchall_aa
:try_start_71
iget-object v4, p0, Lcom/google/android/gms/measurement/internal/zzga;->zzc:Ljava/util/concurrent/BlockingQueue;
.line 13
invoke-interface {v4}, Ljava/util/Queue;->peek()Ljava/lang/Object;
move-result-object v4
if-nez v4, :cond_8c
.line 14
invoke-direct {p0}, Lcom/google/android/gms/measurement/internal/zzga;->zzb()V
.line 15
monitor-exit v2
:try_end_7d
.catchall {:try_start_71 .. :try_end_7d} :catchall_8e
.line 16
invoke-direct {p0}, Lcom/google/android/gms/measurement/internal/zzga;->zzb()V
if-eqz v0, :cond_8b
const-string v0, "run"
const-string v1, "com/google/android/gms/measurement/internal/zzga"
const-string v2, "runnable"
invoke-static {v0, v1, v2}, Lcom/shopee/monitor/trace/c;->b(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
:cond_8b
return-void
.line 17
:cond_8c
:try_start_8c
monitor-exit v2
goto :goto_34
:catchall_8e
move-exception v1
monitor-exit v2
:try_end_90
.catchall {:try_start_8c .. :try_end_90} :catchall_8e
if-eqz v0, :cond_9b
:try_start_92
const-string v2, "run"
const-string v3, "com/google/android/gms/measurement/internal/zzga"
const-string v4, "runnable"
invoke-static {v2, v3, v4}, Lcom/shopee/monitor/trace/c;->b(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
:cond_9b
throw v1
:try_end_9c
.catchall {:try_start_92 .. :try_end_9c} :catchall_aa
:catchall_9c
move-exception v1
.line 18
:try_start_9d
monitor-exit v2
:try_end_9e
.catchall {:try_start_9d .. :try_end_9e} :catchall_9c
if-eqz v0, :cond_a9
:try_start_a0
const-string v2, "run"
const-string v3, "com/google/android/gms/measurement/internal/zzga"
const-string v4, "runnable"
invoke-static {v2, v3, v4}, Lcom/shopee/monitor/trace/c;->b(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
:cond_a9
throw v1
:try_end_aa
.catchall {:try_start_a0 .. :try_end_aa} :catchall_aa
:catchall_aa
move-exception v1
.line 19
invoke-direct {p0}, Lcom/google/android/gms/measurement/internal/zzga;->zzb()V
if-eqz v0, :cond_b9
const-string v0, "run"
const-string v2, "com/google/android/gms/measurement/internal/zzga"
const-string v3, "runnable"
.line 20
invoke-static {v0, v2, v3}, Lcom/shopee/monitor/trace/c;->b(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
:cond_b9
throw v1
.end method
.method public final zza()V
.registers 3
.line 1
iget-object v0, p0, Lcom/google/android/gms/measurement/internal/zzga;->zzb:Ljava/lang/Object;
monitor-enter v0
:try_start_3
iget-object v1, p0, Lcom/google/android/gms/measurement/internal/zzga;->zzb:Ljava/lang/Object;
.line 2
invoke-virtual {v1}, Ljava/lang/Object;->notifyAll()V
.line 3
monitor-exit v0
return-void
:catchall_a
move-exception v1
monitor-exit v0
:try_end_c
.catchall {:try_start_3 .. :try_end_c} :catchall_a
throw v1
.end method