.class public final Lcom/google/android/gms/internal/ads/zzcnt; .super Ljava/lang/Object; .source "SourceFile" # interfaces .implements Lcom/google/android/gms/internal/ads/zzazd; # instance fields .field private final zza:Ljava/util/concurrent/ScheduledExecutorService; .field private final zzb:Lcom/google/android/gms/common/util/Clock; .field private zzc:Ljava/util/concurrent/ScheduledFuture; .annotation build Landroidx/annotation/Nullable; .end annotation .end field .field private zzd:J .field private zze:J .field private zzf:Ljava/lang/Runnable; .field private zzg:Z # direct methods .method public constructor (Ljava/util/concurrent/ScheduledExecutorService;Lcom/google/android/gms/common/util/Clock;)V .locals 2 .line 1 invoke-direct {p0}, Ljava/lang/Object;->()V const-wide/16 v0, -0x1 iput-wide v0, p0, Lcom/google/android/gms/internal/ads/zzcnt;->zzd:J iput-wide v0, p0, Lcom/google/android/gms/internal/ads/zzcnt;->zze:J const/4 v0, 0x0 iput-object v0, p0, Lcom/google/android/gms/internal/ads/zzcnt;->zzf:Ljava/lang/Runnable; const/4 v0, 0x0 iput-boolean v0, p0, Lcom/google/android/gms/internal/ads/zzcnt;->zzg:Z iput-object p1, p0, Lcom/google/android/gms/internal/ads/zzcnt;->zza:Ljava/util/concurrent/ScheduledExecutorService; iput-object p2, p0, Lcom/google/android/gms/internal/ads/zzcnt;->zzb:Lcom/google/android/gms/common/util/Clock; invoke-static {}, Lcom/google/android/gms/ads/internal/zzv;->zzb()Lcom/google/android/gms/internal/ads/zzaze; move-result-object p1 invoke-virtual {p1, p0}, Lcom/google/android/gms/internal/ads/zzaze;->zzc(Lcom/google/android/gms/internal/ads/zzazd;)V return-void .end method # virtual methods .method public final zza(Z)V .locals 0 if-eqz p1, :cond_0 .line 1 invoke-virtual {p0}, Lcom/google/android/gms/internal/ads/zzcnt;->zzc()V return-void .line 2 :cond_0 invoke-virtual {p0}, Lcom/google/android/gms/internal/ads/zzcnt;->zzb()V return-void .end method .method public final declared-synchronized zzb()V .locals 6 .annotation build Landroidx/annotation/VisibleForTesting; .end annotation monitor-enter p0 :try_start_0 iget-boolean v0, p0, Lcom/google/android/gms/internal/ads/zzcnt;->zzg:Z if-nez v0, :cond_1 iget-object v0, p0, Lcom/google/android/gms/internal/ads/zzcnt;->zzc:Ljava/util/concurrent/ScheduledFuture; const/4 v1, 0x1 if-eqz v0, :cond_0 .line 1 invoke-interface {v0}, Ljava/util/concurrent/Future;->isDone()Z move-result v0 if-nez v0, :cond_0 iget-object v0, p0, Lcom/google/android/gms/internal/ads/zzcnt;->zzc:Ljava/util/concurrent/ScheduledFuture; .line 2 invoke-interface {v0, v1}, Ljava/util/concurrent/Future;->cancel(Z)Z iget-wide v2, p0, Lcom/google/android/gms/internal/ads/zzcnt;->zzd:J iget-object v0, p0, Lcom/google/android/gms/internal/ads/zzcnt;->zzb:Lcom/google/android/gms/common/util/Clock; .line 3 invoke-interface {v0}, Lcom/google/android/gms/common/util/Clock;->elapsedRealtime()J move-result-wide v4 sub-long/2addr v2, v4 iput-wide v2, p0, Lcom/google/android/gms/internal/ads/zzcnt;->zze:J goto :goto_0 :catchall_0 move-exception v0 goto :goto_1 :cond_0 const-wide/16 v2, -0x1 iput-wide v2, p0, Lcom/google/android/gms/internal/ads/zzcnt;->zze:J :goto_0 iput-boolean v1, p0, Lcom/google/android/gms/internal/ads/zzcnt;->zzg:Z :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 monitor-exit p0 return-void :cond_1 monitor-exit p0 return-void :goto_1 monitor-exit p0 throw v0 .end method .method public final declared-synchronized zzc()V .locals 5 .annotation build Landroidx/annotation/VisibleForTesting; .end annotation monitor-enter p0 :try_start_0 iget-boolean v0, p0, Lcom/google/android/gms/internal/ads/zzcnt;->zzg:Z if-eqz v0, :cond_1 iget-wide v0, p0, Lcom/google/android/gms/internal/ads/zzcnt;->zze:J const-wide/16 v2, 0x0 cmp-long v0, v0, v2 if-lez v0, :cond_0 iget-object v0, p0, Lcom/google/android/gms/internal/ads/zzcnt;->zzc:Ljava/util/concurrent/ScheduledFuture; if-eqz v0, :cond_0 .line 1 invoke-interface {v0}, Ljava/util/concurrent/Future;->isCancelled()Z move-result v0 if-eqz v0, :cond_0 iget-object v0, p0, Lcom/google/android/gms/internal/ads/zzcnt;->zza:Ljava/util/concurrent/ScheduledExecutorService; iget-object v1, p0, Lcom/google/android/gms/internal/ads/zzcnt;->zzf:Ljava/lang/Runnable; iget-wide v2, p0, Lcom/google/android/gms/internal/ads/zzcnt;->zze:J sget-object v4, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit; .line 2 invoke-interface {v0, v1, v2, v3, v4}, Ljava/util/concurrent/ScheduledExecutorService;->schedule(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture; move-result-object v0 iput-object v0, p0, Lcom/google/android/gms/internal/ads/zzcnt;->zzc:Ljava/util/concurrent/ScheduledFuture; goto :goto_0 :catchall_0 move-exception v0 goto :goto_1 :cond_0 :goto_0 const/4 v0, 0x0 iput-boolean v0, p0, Lcom/google/android/gms/internal/ads/zzcnt;->zzg:Z :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 monitor-exit p0 return-void :cond_1 monitor-exit p0 return-void :goto_1 monitor-exit p0 throw v0 .end method .method public final declared-synchronized zzd(ILjava/lang/Runnable;)V .locals 4 monitor-enter p0 :try_start_0 iput-object p2, p0, Lcom/google/android/gms/internal/ads/zzcnt;->zzf:Ljava/lang/Runnable; iget-object v0, p0, Lcom/google/android/gms/internal/ads/zzcnt;->zzb:Lcom/google/android/gms/common/util/Clock; .line 1 invoke-interface {v0}, Lcom/google/android/gms/common/util/Clock;->elapsedRealtime()J move-result-wide v0 int-to-long v2, p1 add-long/2addr v0, v2 iput-wide v0, p0, Lcom/google/android/gms/internal/ads/zzcnt;->zzd:J sget-object p1, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit; iget-object v0, p0, Lcom/google/android/gms/internal/ads/zzcnt;->zza:Ljava/util/concurrent/ScheduledExecutorService; .line 2 invoke-interface {v0, p2, v2, v3, p1}, Ljava/util/concurrent/ScheduledExecutorService;->schedule(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture; move-result-object p1 iput-object p1, p0, Lcom/google/android/gms/internal/ads/zzcnt;->zzc:Ljava/util/concurrent/ScheduledFuture; :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 monitor-exit p0 return-void :catchall_0 move-exception p1 monitor-exit p0 throw p1 .end method