.class public final Lcom/google/android/gms/internal/appset/zzl; .super Ljava/lang/Object; .source "SourceFile" # interfaces .implements Lcom/google/android/gms/appset/AppSetIdClient; # static fields .field private static zza:Lcom/google/android/gms/appset/AppSetIdClient; .annotation build Landroidx/annotation/GuardedBy; value = "InternalAppSetAppSideClientImpl.class" .end annotation .annotation build Landroidx/annotation/Nullable; .end annotation .end field # instance fields .field private final zzb:Landroid/content/Context; .field private zzc:Z .field private final zzd:Ljava/util/concurrent/ScheduledExecutorService; .field private final zze:Ljava/util/concurrent/ExecutorService; # direct methods .method static constructor ()V .locals 0 return-void .end method .method public constructor (Landroid/content/Context;)V .locals 8 .line 1 invoke-direct {p0}, Ljava/lang/Object;->()V const/4 v0, 0x0 iput-boolean v0, p0, Lcom/google/android/gms/internal/appset/zzl;->zzc:Z invoke-static {}, Ljava/util/concurrent/Executors;->newSingleThreadScheduledExecutor()Ljava/util/concurrent/ScheduledExecutorService; move-result-object v1 iput-object v1, p0, Lcom/google/android/gms/internal/appset/zzl;->zzd:Ljava/util/concurrent/ScheduledExecutorService; .line 2 invoke-static {}, Ljava/util/concurrent/Executors;->newSingleThreadExecutor()Ljava/util/concurrent/ExecutorService; move-result-object v0 iput-object v0, p0, Lcom/google/android/gms/internal/appset/zzl;->zze:Ljava/util/concurrent/ExecutorService; iput-object p1, p0, Lcom/google/android/gms/internal/appset/zzl;->zzb:Landroid/content/Context; iget-boolean p1, p0, Lcom/google/android/gms/internal/appset/zzl;->zzc:Z if-nez p1, :cond_0 new-instance v2, Lcom/google/android/gms/internal/appset/zzj; const/4 p1, 0x0 invoke-direct {v2, p0, p1}, Lcom/google/android/gms/internal/appset/zzj;->(Lcom/google/android/gms/internal/appset/zzl;Lcom/google/android/gms/internal/appset/zzi;)V const-wide/16 v3, 0x0 const-wide/32 v5, 0x15180 sget-object v7, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit; .line 3 invoke-interface/range {v1 .. v7}, Ljava/util/concurrent/ScheduledExecutorService;->scheduleAtFixedRate(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture; const/4 p1, 0x1 iput-boolean p1, p0, Lcom/google/android/gms/internal/appset/zzl;->zzc:Z :cond_0 return-void .end method .method public static bridge synthetic zzb(Lcom/google/android/gms/internal/appset/zzl;)Landroid/content/Context; .locals 0 iget-object p0, p0, Lcom/google/android/gms/internal/appset/zzl;->zzb:Landroid/content/Context; return-object p0 .end method .method public static declared-synchronized zzc(Landroid/content/Context;)Lcom/google/android/gms/appset/AppSetIdClient; .locals 2 .param p0 # Landroid/content/Context; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .annotation build Landroidx/annotation/NonNull; .end annotation const-class v0, Lcom/google/android/gms/internal/appset/zzl; monitor-enter v0 :try_start_0 const-string v1, "Context must not be null" .line 1 invoke-static {p0, v1}, Lcom/google/android/gms/common/internal/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; sget-object v1, Lcom/google/android/gms/internal/appset/zzl;->zza:Lcom/google/android/gms/appset/AppSetIdClient; if-nez v1, :cond_0 new-instance v1, Lcom/google/android/gms/internal/appset/zzl; .line 2 invoke-virtual {p0}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context; move-result-object p0 invoke-direct {v1, p0}, Lcom/google/android/gms/internal/appset/zzl;->(Landroid/content/Context;)V sput-object v1, Lcom/google/android/gms/internal/appset/zzl;->zza:Lcom/google/android/gms/appset/AppSetIdClient; goto :goto_0 :catchall_0 move-exception p0 goto :goto_1 :cond_0 :goto_0 sget-object p0, Lcom/google/android/gms/internal/appset/zzl;->zza:Lcom/google/android/gms/appset/AppSetIdClient; :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 monitor-exit v0 return-object p0 :goto_1 monitor-exit v0 throw p0 .end method .method public static final zze(Landroid/content/Context;)V .locals 4 .annotation build Landroidx/annotation/VisibleForTesting; .end annotation .line 1 invoke-static {p0}, Lcom/google/android/gms/internal/appset/zzl;->zzf(Landroid/content/Context;)Landroid/content/SharedPreferences; move-result-object v0 .line 2 invoke-interface {v0}, Landroid/content/SharedPreferences;->edit()Landroid/content/SharedPreferences$Editor; move-result-object v0 const-string v1, "app_set_id" invoke-interface {v0, v1}, Landroid/content/SharedPreferences$Editor;->remove(Ljava/lang/String;)Landroid/content/SharedPreferences$Editor; move-result-object v0 invoke-interface {v0}, Landroid/content/SharedPreferences$Editor;->commit()Z move-result v0 const-string v1, "AppSet" if-nez v0, :cond_1 .line 3 invoke-virtual {p0}, Landroid/content/Context;->getPackageName()Ljava/lang/String; move-result-object v0 invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String; move-result-object v0 invoke-virtual {v0}, Ljava/lang/String;->length()I move-result v2 const-string v3, "Failed to clear app set ID generated for App " if-eqz v2, :cond_0 invoke-virtual {v3, v0}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String; move-result-object v0 goto :goto_0 .line 6 :cond_0 new-instance v0, Ljava/lang/String; .line 3 invoke-direct {v0, v3}, Ljava/lang/String;->(Ljava/lang/String;)V :goto_0 invoke-static {v1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I .line 4 :cond_1 invoke-static {p0}, Lcom/google/android/gms/internal/appset/zzl;->zzf(Landroid/content/Context;)Landroid/content/SharedPreferences; move-result-object v0 .line 5 invoke-interface {v0}, Landroid/content/SharedPreferences;->edit()Landroid/content/SharedPreferences$Editor; move-result-object v0 const-string v2, "app_set_id_last_used_time" invoke-interface {v0, v2}, Landroid/content/SharedPreferences$Editor;->remove(Ljava/lang/String;)Landroid/content/SharedPreferences$Editor; move-result-object v0 invoke-interface {v0}, Landroid/content/SharedPreferences$Editor;->commit()Z move-result v0 if-nez v0, :cond_3 .line 6 invoke-virtual {p0}, Landroid/content/Context;->getPackageName()Ljava/lang/String; move-result-object p0 invoke-static {p0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String; move-result-object p0 invoke-virtual {p0}, Ljava/lang/String;->length()I move-result v0 const-string v2, "Failed to clear app set ID last used time for App " if-eqz v0, :cond_2 invoke-virtual {v2, p0}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String; move-result-object p0 goto :goto_1 :cond_2 new-instance p0, Ljava/lang/String; invoke-direct {p0, v2}, Ljava/lang/String;->(Ljava/lang/String;)V :goto_1 invoke-static {v1, p0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I :cond_3 return-void .end method .method private static final zzf(Landroid/content/Context;)Landroid/content/SharedPreferences; .locals 2 const-string v0, "app_set_id_storage" const/4 v1, 0x0 .line 1 invoke-virtual {p0, v0, v1}, Landroid/content/Context;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences; move-result-object p0 return-object p0 .end method .method private static final zzg(Landroid/content/Context;)V .locals 4 .annotation system Ldalvik/annotation/Throws; value = { Lcom/google/android/gms/internal/appset/zzk; } .end annotation .line 1 invoke-static {p0}, Lcom/google/android/gms/internal/appset/zzl;->zzf(Landroid/content/Context;)Landroid/content/SharedPreferences; move-result-object v0 .line 2 invoke-static {}, Lcom/google/android/gms/common/util/DefaultClock;->getInstance()Lcom/google/android/gms/common/util/Clock; move-result-object v1 invoke-interface {v1}, Lcom/google/android/gms/common/util/Clock;->currentTimeMillis()J move-result-wide v1 .line 3 invoke-interface {v0}, Landroid/content/SharedPreferences;->edit()Landroid/content/SharedPreferences$Editor; move-result-object v0 const-string v3, "app_set_id_last_used_time" invoke-interface {v0, v3, v1, v2}, Landroid/content/SharedPreferences$Editor;->putLong(Ljava/lang/String;J)Landroid/content/SharedPreferences$Editor; move-result-object v0 invoke-interface {v0}, Landroid/content/SharedPreferences$Editor;->commit()Z move-result v0 if-nez v0, :cond_1 .line 4 invoke-virtual {p0}, Landroid/content/Context;->getPackageName()Ljava/lang/String; move-result-object p0 invoke-static {p0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String; move-result-object p0 invoke-virtual {p0}, Ljava/lang/String;->length()I move-result v0 const-string v1, "Failed to store app set ID last used time for App " if-eqz v0, :cond_0 invoke-virtual {v1, p0}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String; move-result-object p0 goto :goto_0 .line 5 :cond_0 new-instance p0, Ljava/lang/String; .line 4 invoke-direct {p0, v1}, Ljava/lang/String;->(Ljava/lang/String;)V :goto_0 const-string v0, "AppSet" invoke-static {v0, p0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I new-instance p0, Lcom/google/android/gms/internal/appset/zzk; const-string v0, "Failed to store the app set ID last used time." .line 5 invoke-direct {p0, v0}, Lcom/google/android/gms/internal/appset/zzk;->(Ljava/lang/String;)V throw p0 :cond_1 return-void .end method # virtual methods .method public final getAppSetIdInfo()Lcom/google/android/gms/tasks/Task; .locals 3 .annotation system Ldalvik/annotation/Signature; value = { "()", "Lcom/google/android/gms/tasks/Task<", "Lcom/google/android/gms/appset/AppSetIdInfo;", ">;" } .end annotation .line 1 new-instance v0, Lcom/google/android/gms/tasks/TaskCompletionSource; invoke-direct {v0}, Lcom/google/android/gms/tasks/TaskCompletionSource;->()V iget-object v1, p0, Lcom/google/android/gms/internal/appset/zzl;->zze:Ljava/util/concurrent/ExecutorService; new-instance v2, Lcom/google/android/gms/internal/appset/zzh; invoke-direct {v2, p0, v0}, Lcom/google/android/gms/internal/appset/zzh;->(Lcom/google/android/gms/internal/appset/zzl;Lcom/google/android/gms/tasks/TaskCompletionSource;)V .line 2 invoke-interface {v1, v2}, Ljava/util/concurrent/Executor;->execute(Ljava/lang/Runnable;)V .line 3 invoke-virtual {v0}, Lcom/google/android/gms/tasks/TaskCompletionSource;->getTask()Lcom/google/android/gms/tasks/Task; move-result-object v0 return-object v0 .end method .method public final zza()J .locals 5 .annotation build Landroidx/annotation/VisibleForTesting; .end annotation iget-object v0, p0, Lcom/google/android/gms/internal/appset/zzl;->zzb:Landroid/content/Context; .line 1 invoke-static {v0}, Lcom/google/android/gms/internal/appset/zzl;->zzf(Landroid/content/Context;)Landroid/content/SharedPreferences; move-result-object v0 const-string v1, "app_set_id_last_used_time" const-wide/16 v2, -0x1 .line 2 invoke-interface {v0, v1, v2, v3}, Landroid/content/SharedPreferences;->getLong(Ljava/lang/String;J)J move-result-wide v0 cmp-long v4, v0, v2 if-eqz v4, :cond_0 const-wide v2, 0x7d8702800L add-long/2addr v0, v2 return-wide v0 :cond_0 return-wide v2 .end method .method public final synthetic zzd(Lcom/google/android/gms/tasks/TaskCompletionSource;)V .locals 7 iget-object v0, p0, Lcom/google/android/gms/internal/appset/zzl;->zzb:Landroid/content/Context; .line 1 invoke-static {v0}, Lcom/google/android/gms/internal/appset/zzl;->zzf(Landroid/content/Context;)Landroid/content/SharedPreferences; move-result-object v0 const/4 v1, 0x0 const-string v2, "app_set_id" invoke-interface {v0, v2, v1}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object v0 .line 2 invoke-virtual {p0}, Lcom/google/android/gms/internal/appset/zzl;->zza()J move-result-wide v3 if-eqz v0, :cond_1 .line 3 invoke-static {}, Lcom/google/android/gms/common/util/DefaultClock;->getInstance()Lcom/google/android/gms/common/util/Clock; move-result-object v1 invoke-interface {v1}, Lcom/google/android/gms/common/util/Clock;->currentTimeMillis()J move-result-wide v5 cmp-long v1, v5, v3 if-lez v1, :cond_0 goto :goto_0 :cond_0 :try_start_0 iget-object v1, p0, Lcom/google/android/gms/internal/appset/zzl;->zzb:Landroid/content/Context; .line 16 invoke-static {v1}, Lcom/google/android/gms/internal/appset/zzl;->zzg(Landroid/content/Context;)V :try_end_0 .catch Lcom/google/android/gms/internal/appset/zzk; {:try_start_0 .. :try_end_0} :catch_0 goto/16 :goto_3 :catch_0 move-exception v0 .line 17 invoke-virtual {p1, v0}, Lcom/google/android/gms/tasks/TaskCompletionSource;->setException(Ljava/lang/Exception;)V return-void .line 4 :cond_1 :goto_0 invoke-static {}, Ljava/util/UUID;->randomUUID()Ljava/util/UUID; move-result-object v0 invoke-virtual {v0}, Ljava/util/UUID;->toString()Ljava/lang/String; move-result-object v0 :try_start_1 iget-object v1, p0, Lcom/google/android/gms/internal/appset/zzl;->zzb:Landroid/content/Context; .line 5 invoke-static {v1}, Lcom/google/android/gms/internal/appset/zzl;->zzf(Landroid/content/Context;)Landroid/content/SharedPreferences; move-result-object v3 .line 6 invoke-interface {v3}, Landroid/content/SharedPreferences;->edit()Landroid/content/SharedPreferences$Editor; move-result-object v3 invoke-interface {v3, v2, v0}, Landroid/content/SharedPreferences$Editor;->putString(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SharedPreferences$Editor; move-result-object v2 invoke-interface {v2}, Landroid/content/SharedPreferences$Editor;->commit()Z move-result v2 :try_end_1 .catch Lcom/google/android/gms/internal/appset/zzk; {:try_start_1 .. :try_end_1} :catch_1 const-string v3, "AppSet" if-nez v2, :cond_3 :try_start_2 const-string v0, "Failed to store app set ID generated for App " .line 7 invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String; move-result-object v1 invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String; move-result-object v1 invoke-virtual {v1}, Ljava/lang/String;->length()I move-result v2 if-eqz v2, :cond_2 invoke-virtual {v0, v1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String; move-result-object v0 goto :goto_1 :catch_1 move-exception v0 goto :goto_4 .line 15 :cond_2 new-instance v1, Ljava/lang/String; .line 7 invoke-direct {v1, v0}, Ljava/lang/String;->(Ljava/lang/String;)V move-object v0, v1 :goto_1 invoke-static {v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I new-instance v0, Lcom/google/android/gms/internal/appset/zzk; const-string v1, "Failed to store the app set ID." .line 8 invoke-direct {v0, v1}, Lcom/google/android/gms/internal/appset/zzk;->(Ljava/lang/String;)V throw v0 .line 9 :cond_3 invoke-static {v1}, Lcom/google/android/gms/internal/appset/zzl;->zzg(Landroid/content/Context;)V iget-object v1, p0, Lcom/google/android/gms/internal/appset/zzl;->zzb:Landroid/content/Context; .line 10 invoke-static {v1}, Lcom/google/android/gms/internal/appset/zzl;->zzf(Landroid/content/Context;)Landroid/content/SharedPreferences; move-result-object v2 .line 11 invoke-static {}, Lcom/google/android/gms/common/util/DefaultClock;->getInstance()Lcom/google/android/gms/common/util/Clock; move-result-object v4 invoke-interface {v4}, Lcom/google/android/gms/common/util/Clock;->currentTimeMillis()J move-result-wide v4 .line 12 invoke-interface {v2}, Landroid/content/SharedPreferences;->edit()Landroid/content/SharedPreferences$Editor; move-result-object v2 const-string v6, "app_set_id_creation_time" invoke-interface {v2, v6, v4, v5}, Landroid/content/SharedPreferences$Editor;->putLong(Ljava/lang/String;J)Landroid/content/SharedPreferences$Editor; move-result-object v2 invoke-interface {v2}, Landroid/content/SharedPreferences$Editor;->commit()Z move-result v2 if-nez v2, :cond_5 const-string v0, "Failed to store app set ID creation time for App " .line 13 invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String; move-result-object v1 invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String; move-result-object v1 invoke-virtual {v1}, Ljava/lang/String;->length()I move-result v2 if-eqz v2, :cond_4 invoke-virtual {v0, v1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String; move-result-object v0 goto :goto_2 .line 7 :cond_4 new-instance v1, Ljava/lang/String; .line 13 invoke-direct {v1, v0}, Ljava/lang/String;->(Ljava/lang/String;)V move-object v0, v1 :goto_2 invoke-static {v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I new-instance v0, Lcom/google/android/gms/internal/appset/zzk; const-string v1, "Failed to store the app set ID creation time." .line 14 invoke-direct {v0, v1}, Lcom/google/android/gms/internal/appset/zzk;->(Ljava/lang/String;)V throw v0 :try_end_2 .catch Lcom/google/android/gms/internal/appset/zzk; {:try_start_2 .. :try_end_2} :catch_1 :cond_5 :goto_3 new-instance v1, Lcom/google/android/gms/appset/AppSetIdInfo; const/4 v2, 0x1 invoke-direct {v1, v0, v2}, Lcom/google/android/gms/appset/AppSetIdInfo;->(Ljava/lang/String;I)V .line 18 invoke-virtual {p1, v1}, Lcom/google/android/gms/tasks/TaskCompletionSource;->setResult(Ljava/lang/Object;)V return-void .line 15 :goto_4 invoke-virtual {p1, v0}, Lcom/google/android/gms/tasks/TaskCompletionSource;->setException(Ljava/lang/Exception;)V return-void .end method