.class public final Lx/t; .super Ljava/lang/Object; .source "CameraRepository.java" # static fields .field public static final f:Ljava/lang/String; = "CameraRepository" # instance fields .field public final a:Ljava/lang/Object; .field public final b:Ljava/util/Map; .annotation build Landroidx/annotation/GuardedBy; value = "mCamerasLock" .end annotation .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/Map<", "Ljava/lang/String;", "Landroidx/camera/core/impl/CameraInternal;", ">;" } .end annotation .end field .field public final c:Ljava/util/Set; .annotation build Landroidx/annotation/GuardedBy; value = "mCamerasLock" .end annotation .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/Set<", "Landroidx/camera/core/impl/CameraInternal;", ">;" } .end annotation .end field .field public d:Lcom/google/common/util/concurrent/ListenableFuture; .annotation build Landroidx/annotation/GuardedBy; value = "mCamerasLock" .end annotation .annotation system Ldalvik/annotation/Signature; value = { "Lcom/google/common/util/concurrent/ListenableFuture<", "Ljava/lang/Void;", ">;" } .end annotation .end field .field public e:Landroidx/concurrent/futures/CallbackToFutureAdapter$a; .annotation build Landroidx/annotation/GuardedBy; value = "mCamerasLock" .end annotation .annotation system Ldalvik/annotation/Signature; value = { "Landroidx/concurrent/futures/CallbackToFutureAdapter$a<", "Ljava/lang/Void;", ">;" } .end annotation .end field # direct methods .method public constructor ()V .locals 1 .line 1 invoke-direct {p0}, Ljava/lang/Object;->()V .line 2 new-instance v0, Ljava/lang/Object; invoke-direct {v0}, Ljava/lang/Object;->()V iput-object v0, p0, Lx/t;->a:Ljava/lang/Object; .line 3 new-instance v0, Ljava/util/LinkedHashMap; invoke-direct {v0}, Ljava/util/LinkedHashMap;->()V iput-object v0, p0, Lx/t;->b:Ljava/util/Map; .line 4 new-instance v0, Ljava/util/HashSet; invoke-direct {v0}, Ljava/util/HashSet;->()V iput-object v0, p0, Lx/t;->c:Ljava/util/Set; return-void .end method .method public static synthetic a(Lx/t;Landroidx/concurrent/futures/CallbackToFutureAdapter$a;)Ljava/lang/Object; .locals 0 invoke-direct {p0, p1}, Lx/t;->h(Landroidx/concurrent/futures/CallbackToFutureAdapter$a;)Ljava/lang/Object; move-result-object p0 return-object p0 .end method .method public static synthetic b(Lx/t;Landroidx/camera/core/impl/CameraInternal;)V .locals 0 invoke-direct {p0, p1}, Lx/t;->i(Landroidx/camera/core/impl/CameraInternal;)V return-void .end method .method private synthetic h(Landroidx/concurrent/futures/CallbackToFutureAdapter$a;)Ljava/lang/Object; .locals 1 .annotation system Ldalvik/annotation/Throws; value = { Ljava/lang/Exception; } .end annotation .line 1 iget-object v0, p0, Lx/t;->a:Ljava/lang/Object; monitor-enter v0 .line 2 :try_start_0 iput-object p1, p0, Lx/t;->e:Landroidx/concurrent/futures/CallbackToFutureAdapter$a; .line 3 monitor-exit v0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 const-string p1, "CameraRepository-deinit" return-object p1 :catchall_0 move-exception p1 :try_start_1 monitor-exit v0 :try_end_1 .catchall {:try_start_1 .. :try_end_1} :catchall_0 throw p1 .end method .method private synthetic i(Landroidx/camera/core/impl/CameraInternal;)V .locals 2 .line 1 iget-object v0, p0, Lx/t;->a:Ljava/lang/Object; monitor-enter v0 .line 2 :try_start_0 iget-object v1, p0, Lx/t;->c:Ljava/util/Set; invoke-interface {v1, p1}, Ljava/util/Set;->remove(Ljava/lang/Object;)Z .line 3 iget-object p1, p0, Lx/t;->c:Ljava/util/Set; invoke-interface {p1}, Ljava/util/Set;->isEmpty()Z move-result p1 if-eqz p1, :cond_0 .line 4 iget-object p1, p0, Lx/t;->e:Landroidx/concurrent/futures/CallbackToFutureAdapter$a; invoke-static {p1}, Lr1/o;->k(Ljava/lang/Object;)Ljava/lang/Object; .line 5 iget-object p1, p0, Lx/t;->e:Landroidx/concurrent/futures/CallbackToFutureAdapter$a; const/4 v1, 0x0 invoke-virtual {p1, v1}, Landroidx/concurrent/futures/CallbackToFutureAdapter$a;->c(Ljava/lang/Object;)Z .line 6 iput-object v1, p0, Lx/t;->e:Landroidx/concurrent/futures/CallbackToFutureAdapter$a; .line 7 iput-object v1, p0, Lx/t;->d:Lcom/google/common/util/concurrent/ListenableFuture; .line 8 :cond_0 monitor-exit v0 return-void :catchall_0 move-exception p1 monitor-exit v0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 throw p1 .end method # virtual methods .method public c()Lcom/google/common/util/concurrent/ListenableFuture; .locals 6 .annotation build Landroidx/annotation/NonNull; .end annotation .annotation system Ldalvik/annotation/Signature; value = { "()", "Lcom/google/common/util/concurrent/ListenableFuture<", "Ljava/lang/Void;", ">;" } .end annotation .line 1 iget-object v0, p0, Lx/t;->a:Ljava/lang/Object; monitor-enter v0 .line 2 :try_start_0 iget-object v1, p0, Lx/t;->b:Ljava/util/Map; invoke-interface {v1}, Ljava/util/Map;->isEmpty()Z move-result v1 if-eqz v1, :cond_1 .line 3 iget-object v1, p0, Lx/t;->d:Lcom/google/common/util/concurrent/ListenableFuture; if-nez v1, :cond_0 const/4 v1, 0x0 invoke-static {v1}, Landroidx/camera/core/impl/utils/futures/f;->h(Ljava/lang/Object;)Lcom/google/common/util/concurrent/ListenableFuture; move-result-object v1 :cond_0 monitor-exit v0 return-object v1 .line 4 :cond_1 iget-object v1, p0, Lx/t;->d:Lcom/google/common/util/concurrent/ListenableFuture; if-nez v1, :cond_2 .line 5 new-instance v1, Lx/r; invoke-direct {v1, p0}, Lx/r;->(Lx/t;)V invoke-static {v1}, Landroidx/concurrent/futures/CallbackToFutureAdapter;->a(Landroidx/concurrent/futures/CallbackToFutureAdapter$b;)Lcom/google/common/util/concurrent/ListenableFuture; move-result-object v1 .line 6 iput-object v1, p0, Lx/t;->d:Lcom/google/common/util/concurrent/ListenableFuture; .line 7 :cond_2 iget-object v2, p0, Lx/t;->c:Ljava/util/Set; iget-object v3, p0, Lx/t;->b:Ljava/util/Map; invoke-interface {v3}, Ljava/util/Map;->values()Ljava/util/Collection; move-result-object v3 invoke-interface {v2, v3}, Ljava/util/Set;->addAll(Ljava/util/Collection;)Z .line 8 iget-object v2, p0, Lx/t;->b:Ljava/util/Map; invoke-interface {v2}, Ljava/util/Map;->values()Ljava/util/Collection; move-result-object v2 invoke-interface {v2}, Ljava/util/Collection;->iterator()Ljava/util/Iterator; move-result-object v2 :goto_0 invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z move-result v3 if-eqz v3, :cond_3 invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v3 check-cast v3, Landroidx/camera/core/impl/CameraInternal; .line 9 invoke-interface {v3}, Landroidx/camera/core/impl/CameraInternal;->release()Lcom/google/common/util/concurrent/ListenableFuture; move-result-object v4 new-instance v5, Lx/s; invoke-direct {v5, p0, v3}, Lx/s;->(Lx/t;Landroidx/camera/core/impl/CameraInternal;)V .line 10 invoke-static {}, Landroidx/camera/core/impl/utils/executor/a;->a()Ljava/util/concurrent/Executor; move-result-object v3 .line 11 invoke-interface {v4, v5, v3}, Lcom/google/common/util/concurrent/ListenableFuture;->addListener(Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)V goto :goto_0 .line 12 :cond_3 iget-object v2, p0, Lx/t;->b:Ljava/util/Map; invoke-interface {v2}, Ljava/util/Map;->clear()V .line 13 monitor-exit v0 return-object v1 :catchall_0 move-exception v1 .line 14 monitor-exit v0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 throw v1 .end method .method public d(Ljava/lang/String;)Landroidx/camera/core/impl/CameraInternal; .locals 4 .param p1 # Ljava/lang/String; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .annotation build Landroidx/annotation/NonNull; .end annotation .annotation system Ldalvik/annotation/MethodParameters; accessFlags = { 0x0 } names = { "cameraId" } .end annotation .line 1 iget-object v0, p0, Lx/t;->a:Ljava/lang/Object; monitor-enter v0 .line 2 :try_start_0 iget-object v1, p0, Lx/t;->b:Ljava/util/Map; invoke-interface {v1, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v1 check-cast v1, Landroidx/camera/core/impl/CameraInternal; if-eqz v1, :cond_0 .line 3 monitor-exit v0 return-object v1 .line 4 :cond_0 new-instance v1, Ljava/lang/IllegalArgumentException; new-instance v2, Ljava/lang/StringBuilder; invoke-direct {v2}, Ljava/lang/StringBuilder;->()V const-string v3, "Invalid camera: " invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {v1, p1}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw v1 :catchall_0 move-exception p1 .line 5 monitor-exit v0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 throw p1 .end method .method public e()Ljava/util/Set; .locals 3 .annotation build Landroidx/annotation/NonNull; .end annotation .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/Set<", "Ljava/lang/String;", ">;" } .end annotation .line 1 iget-object v0, p0, Lx/t;->a:Ljava/lang/Object; monitor-enter v0 .line 2 :try_start_0 new-instance v1, Ljava/util/LinkedHashSet; iget-object v2, p0, Lx/t;->b:Ljava/util/Map; invoke-interface {v2}, Ljava/util/Map;->keySet()Ljava/util/Set; move-result-object v2 invoke-direct {v1, v2}, Ljava/util/LinkedHashSet;->(Ljava/util/Collection;)V monitor-exit v0 return-object v1 :catchall_0 move-exception v1 .line 3 monitor-exit v0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 throw v1 .end method .method public f()Ljava/util/LinkedHashSet; .locals 3 .annotation build Landroidx/annotation/NonNull; .end annotation .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/LinkedHashSet<", "Landroidx/camera/core/impl/CameraInternal;", ">;" } .end annotation .line 1 iget-object v0, p0, Lx/t;->a:Ljava/lang/Object; monitor-enter v0 .line 2 :try_start_0 new-instance v1, Ljava/util/LinkedHashSet; iget-object v2, p0, Lx/t;->b:Ljava/util/Map; invoke-interface {v2}, Ljava/util/Map;->values()Ljava/util/Collection; move-result-object v2 invoke-direct {v1, v2}, Ljava/util/LinkedHashSet;->(Ljava/util/Collection;)V monitor-exit v0 return-object v1 :catchall_0 move-exception v1 .line 3 monitor-exit v0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 throw v1 .end method .method public g(Lx/m;)V .locals 6 .param p1 # Lx/m; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .annotation system Ldalvik/annotation/MethodParameters; accessFlags = { 0x0 } names = { "cameraFactory" } .end annotation .annotation system Ldalvik/annotation/Throws; value = { Landroidx/camera/core/InitializationException; } .end annotation .line 1 iget-object v0, p0, Lx/t;->a:Ljava/lang/Object; monitor-enter v0 .line 2 :try_start_0 invoke-interface {p1}, Lx/m;->c()Ljava/util/Set; move-result-object v1 .line 3 invoke-interface {v1}, Ljava/util/Set;->iterator()Ljava/util/Iterator; move-result-object v1 :goto_0 invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z move-result v2 if-eqz v2, :cond_0 invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v2 check-cast v2, Ljava/lang/String; const-string v3, "CameraRepository" .line 4 new-instance v4, Ljava/lang/StringBuilder; invoke-direct {v4}, Ljava/lang/StringBuilder;->()V const-string v5, "Added camera: " invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v4 invoke-static {v3, v4}, Landroidx/camera/core/x1;->a(Ljava/lang/String;Ljava/lang/String;)V .line 5 iget-object v3, p0, Lx/t;->b:Ljava/util/Map; invoke-interface {p1, v2}, Lx/m;->b(Ljava/lang/String;)Landroidx/camera/core/impl/CameraInternal; move-result-object v4 invoke-interface {v3, v2, v4}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; :try_end_0 .catch Landroidx/camera/core/CameraUnavailableException; {:try_start_0 .. :try_end_0} :catch_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 goto :goto_0 .line 6 :cond_0 :try_start_1 monitor-exit v0 return-void :catchall_0 move-exception p1 goto :goto_1 :catch_0 move-exception p1 .line 7 new-instance v1, Landroidx/camera/core/InitializationException; invoke-direct {v1, p1}, Landroidx/camera/core/InitializationException;->(Ljava/lang/Throwable;)V throw v1 .line 8 :goto_1 monitor-exit v0 :try_end_1 .catchall {:try_start_1 .. :try_end_1} :catchall_0 throw p1 .end method