.class public final Landroidx/camera/lifecycle/LifecycleCameraRepository; .super Ljava/lang/Object; .source "LifecycleCameraRepository.java" # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Landroidx/camera/lifecycle/LifecycleCameraRepository$LifecycleCameraRepositoryObserver;, Landroidx/camera/lifecycle/LifecycleCameraRepository$a; } .end annotation # instance fields .field public final a:Ljava/lang/Object; .field public final b:Ljava/util/Map; .annotation build Landroidx/annotation/GuardedBy; value = "mLock" .end annotation .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/Map<", "Landroidx/camera/lifecycle/LifecycleCameraRepository$a;", "Landroidx/camera/lifecycle/LifecycleCamera;", ">;" } .end annotation .end field .field public final c:Ljava/util/Map; .annotation build Landroidx/annotation/GuardedBy; value = "mLock" .end annotation .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/Map<", "Landroidx/camera/lifecycle/LifecycleCameraRepository$LifecycleCameraRepositoryObserver;", "Ljava/util/Set<", "Landroidx/camera/lifecycle/LifecycleCameraRepository$a;", ">;>;" } .end annotation .end field .field public final d:Ljava/util/ArrayDeque; .annotation build Landroidx/annotation/GuardedBy; value = "mLock" .end annotation .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/ArrayDeque<", "Landroidx/lifecycle/LifecycleOwner;", ">;" } .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, Landroidx/camera/lifecycle/LifecycleCameraRepository;->a:Ljava/lang/Object; .line 3 new-instance v0, Ljava/util/HashMap; invoke-direct {v0}, Ljava/util/HashMap;->()V iput-object v0, p0, Landroidx/camera/lifecycle/LifecycleCameraRepository;->b:Ljava/util/Map; .line 4 new-instance v0, Ljava/util/HashMap; invoke-direct {v0}, Ljava/util/HashMap;->()V iput-object v0, p0, Landroidx/camera/lifecycle/LifecycleCameraRepository;->c:Ljava/util/Map; .line 5 new-instance v0, Ljava/util/ArrayDeque; invoke-direct {v0}, Ljava/util/ArrayDeque;->()V iput-object v0, p0, Landroidx/camera/lifecycle/LifecycleCameraRepository;->d:Ljava/util/ArrayDeque; return-void .end method # virtual methods .method public a(Landroidx/camera/lifecycle/LifecycleCamera;Landroidx/camera/core/ViewPort;Ljava/util/Collection;)V .locals 5 .param p1 # Landroidx/camera/lifecycle/LifecycleCamera; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p2 # Landroidx/camera/core/ViewPort; .annotation build Landroidx/annotation/Nullable; .end annotation .end param .param p3 # Ljava/util/Collection; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .annotation system Ldalvik/annotation/MethodParameters; accessFlags = { 0x0, 0x0, 0x0 } names = { "lifecycleCamera", "viewPort", "useCases" } .end annotation .annotation system Ldalvik/annotation/Signature; value = { "(", "Landroidx/camera/lifecycle/LifecycleCamera;", "Landroidx/camera/core/ViewPort;", "Ljava/util/Collection<", "Landroidx/camera/core/UseCase;", ">;)V" } .end annotation .line 1 iget-object v0, p0, Landroidx/camera/lifecycle/LifecycleCameraRepository;->a:Ljava/lang/Object; monitor-enter v0 .line 2 :try_start_0 invoke-interface {p3}, Ljava/util/Collection;->isEmpty()Z move-result v1 if-nez v1, :cond_0 const/4 v1, 0x1 goto :goto_0 :cond_0 const/4 v1, 0x0 :goto_0 invoke-static {v1}, Lr1/o;->a(Z)V .line 3 invoke-virtual {p1}, Landroidx/camera/lifecycle/LifecycleCamera;->l()Landroidx/lifecycle/LifecycleOwner; move-result-object v1 .line 4 invoke-virtual {p0, v1}, Landroidx/camera/lifecycle/LifecycleCameraRepository;->e(Landroidx/lifecycle/LifecycleOwner;)Landroidx/camera/lifecycle/LifecycleCameraRepository$LifecycleCameraRepositoryObserver; move-result-object v2 .line 5 iget-object v3, p0, Landroidx/camera/lifecycle/LifecycleCameraRepository;->c:Ljava/util/Map; invoke-interface {v3, v2}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v2 check-cast v2, Ljava/util/Set; .line 6 invoke-interface {v2}, Ljava/util/Set;->iterator()Ljava/util/Iterator; move-result-object v2 :cond_1 :goto_1 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/lifecycle/LifecycleCameraRepository$a; .line 7 iget-object v4, p0, Landroidx/camera/lifecycle/LifecycleCameraRepository;->b:Ljava/util/Map; invoke-interface {v4, v3}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v3 check-cast v3, Landroidx/camera/lifecycle/LifecycleCamera; invoke-static {v3}, Lr1/o;->k(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v3 check-cast v3, Landroidx/camera/lifecycle/LifecycleCamera; .line 8 invoke-virtual {v3, p1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z move-result v4 if-nez v4, :cond_1 invoke-virtual {v3}, Landroidx/camera/lifecycle/LifecycleCamera;->n()Ljava/util/List; move-result-object v3 invoke-interface {v3}, Ljava/util/List;->isEmpty()Z move-result v3 if-eqz v3, :cond_2 goto :goto_1 .line 9 :cond_2 new-instance p1, Ljava/lang/IllegalArgumentException; const-string p2, "Multiple LifecycleCameras with use cases are registered to the same LifecycleOwner." invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 .line 10 :cond_3 :try_start_1 invoke-virtual {p1}, Landroidx/camera/lifecycle/LifecycleCamera;->g()Landroidx/camera/core/internal/CameraUseCaseAdapter; move-result-object v2 invoke-virtual {v2, p2}, Landroidx/camera/core/internal/CameraUseCaseAdapter;->A(Landroidx/camera/core/ViewPort;)V .line 11 invoke-virtual {p1, p3}, Landroidx/camera/lifecycle/LifecycleCamera;->f(Ljava/util/Collection;)V :try_end_1 .catch Landroidx/camera/core/internal/CameraUseCaseAdapter$CameraException; {:try_start_1 .. :try_end_1} :catch_0 .catchall {:try_start_1 .. :try_end_1} :catchall_0 .line 12 :try_start_2 invoke-interface {v1}, Landroidx/lifecycle/LifecycleOwner;->getLifecycle()Landroidx/lifecycle/Lifecycle; move-result-object p1 invoke-virtual {p1}, Landroidx/lifecycle/Lifecycle;->getCurrentState()Landroidx/lifecycle/Lifecycle$State; move-result-object p1 sget-object p2, Landroidx/lifecycle/Lifecycle$State;->STARTED:Landroidx/lifecycle/Lifecycle$State; invoke-virtual {p1, p2}, Landroidx/lifecycle/Lifecycle$State;->isAtLeast(Landroidx/lifecycle/Lifecycle$State;)Z move-result p1 if-eqz p1, :cond_4 .line 13 invoke-virtual {p0, v1}, Landroidx/camera/lifecycle/LifecycleCameraRepository;->i(Landroidx/lifecycle/LifecycleOwner;)V .line 14 :cond_4 monitor-exit v0 return-void :catch_0 move-exception p1 .line 15 new-instance p2, Ljava/lang/IllegalArgumentException; invoke-virtual {p1}, Ljava/lang/Exception;->getMessage()Ljava/lang/String; move-result-object p1 invoke-direct {p2, p1}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p2 :catchall_0 move-exception p1 .line 16 monitor-exit v0 :try_end_2 .catchall {:try_start_2 .. :try_end_2} :catchall_0 throw p1 .end method .method public b()V .locals 3 .line 1 iget-object v0, p0, Landroidx/camera/lifecycle/LifecycleCameraRepository;->a:Ljava/lang/Object; monitor-enter v0 .line 2 :try_start_0 new-instance v1, Ljava/util/HashSet; iget-object v2, p0, Landroidx/camera/lifecycle/LifecycleCameraRepository;->c:Ljava/util/Map; .line 3 invoke-interface {v2}, Ljava/util/Map;->keySet()Ljava/util/Set; move-result-object v2 invoke-direct {v1, v2}, Ljava/util/HashSet;->(Ljava/util/Collection;)V .line 4 invoke-virtual {v1}, Ljava/util/HashSet;->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, Landroidx/camera/lifecycle/LifecycleCameraRepository$LifecycleCameraRepositoryObserver; .line 5 invoke-virtual {v2}, Landroidx/camera/lifecycle/LifecycleCameraRepository$LifecycleCameraRepositoryObserver;->a()Landroidx/lifecycle/LifecycleOwner; move-result-object v2 invoke-virtual {p0, v2}, Landroidx/camera/lifecycle/LifecycleCameraRepository;->n(Landroidx/lifecycle/LifecycleOwner;)V goto :goto_0 .line 6 :cond_0 monitor-exit v0 return-void :catchall_0 move-exception v1 monitor-exit v0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 throw v1 .end method .method public c(Landroidx/lifecycle/LifecycleOwner;Landroidx/camera/core/internal/CameraUseCaseAdapter;)Landroidx/camera/lifecycle/LifecycleCamera; .locals 3 .param p1 # Landroidx/lifecycle/LifecycleOwner; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p2 # Landroidx/camera/core/internal/CameraUseCaseAdapter; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .annotation system Ldalvik/annotation/MethodParameters; accessFlags = { 0x0, 0x0 } names = { "lifecycleOwner", "cameraUseCaseAdaptor" } .end annotation .line 1 iget-object v0, p0, Landroidx/camera/lifecycle/LifecycleCameraRepository;->a:Ljava/lang/Object; monitor-enter v0 .line 2 :try_start_0 invoke-virtual {p2}, Landroidx/camera/core/internal/CameraUseCaseAdapter;->s()Landroidx/camera/core/internal/CameraUseCaseAdapter$a; move-result-object v1 invoke-static {p1, v1}, Landroidx/camera/lifecycle/LifecycleCameraRepository$a;->a(Landroidx/lifecycle/LifecycleOwner;Landroidx/camera/core/internal/CameraUseCaseAdapter$a;)Landroidx/camera/lifecycle/LifecycleCameraRepository$a; move-result-object v1 .line 3 iget-object v2, p0, Landroidx/camera/lifecycle/LifecycleCameraRepository;->b:Ljava/util/Map; invoke-interface {v2, v1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v1 if-nez v1, :cond_0 const/4 v1, 0x1 goto :goto_0 :cond_0 const/4 v1, 0x0 :goto_0 const-string v2, "LifecycleCamera already exists for the given LifecycleOwner and set of cameras" invoke-static {v1, v2}, Lr1/o;->b(ZLjava/lang/Object;)V .line 4 invoke-interface {p1}, Landroidx/lifecycle/LifecycleOwner;->getLifecycle()Landroidx/lifecycle/Lifecycle; move-result-object v1 invoke-virtual {v1}, Landroidx/lifecycle/Lifecycle;->getCurrentState()Landroidx/lifecycle/Lifecycle$State; move-result-object v1 sget-object v2, Landroidx/lifecycle/Lifecycle$State;->DESTROYED:Landroidx/lifecycle/Lifecycle$State; if-eq v1, v2, :cond_2 .line 5 new-instance v1, Landroidx/camera/lifecycle/LifecycleCamera; invoke-direct {v1, p1, p2}, Landroidx/camera/lifecycle/LifecycleCamera;->(Landroidx/lifecycle/LifecycleOwner;Landroidx/camera/core/internal/CameraUseCaseAdapter;)V .line 6 invoke-virtual {p2}, Landroidx/camera/core/internal/CameraUseCaseAdapter;->u()Ljava/util/List; move-result-object p1 invoke-interface {p1}, Ljava/util/List;->isEmpty()Z move-result p1 if-eqz p1, :cond_1 .line 7 invoke-virtual {v1}, Landroidx/camera/lifecycle/LifecycleCamera;->r()V .line 8 :cond_1 invoke-virtual {p0, v1}, Landroidx/camera/lifecycle/LifecycleCameraRepository;->h(Landroidx/camera/lifecycle/LifecycleCamera;)V .line 9 monitor-exit v0 return-object v1 .line 10 :cond_2 new-instance p1, Ljava/lang/IllegalArgumentException; const-string p2, "Trying to create LifecycleCamera with destroyed lifecycle." invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 :catchall_0 move-exception p1 .line 11 monitor-exit v0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 throw p1 .end method .method public d(Landroidx/lifecycle/LifecycleOwner;Landroidx/camera/core/internal/CameraUseCaseAdapter$a;)Landroidx/camera/lifecycle/LifecycleCamera; .locals 2 .annotation build Landroidx/annotation/Nullable; .end annotation .annotation system Ldalvik/annotation/MethodParameters; accessFlags = { 0x0, 0x0 } names = { "lifecycleOwner", "cameraId" } .end annotation .line 1 iget-object v0, p0, Landroidx/camera/lifecycle/LifecycleCameraRepository;->a:Ljava/lang/Object; monitor-enter v0 .line 2 :try_start_0 iget-object v1, p0, Landroidx/camera/lifecycle/LifecycleCameraRepository;->b:Ljava/util/Map; invoke-static {p1, p2}, Landroidx/camera/lifecycle/LifecycleCameraRepository$a;->a(Landroidx/lifecycle/LifecycleOwner;Landroidx/camera/core/internal/CameraUseCaseAdapter$a;)Landroidx/camera/lifecycle/LifecycleCameraRepository$a; move-result-object p1 invoke-interface {v1, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 check-cast p1, Landroidx/camera/lifecycle/LifecycleCamera; monitor-exit v0 return-object p1 :catchall_0 move-exception p1 .line 3 monitor-exit v0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 throw p1 .end method .method public final e(Landroidx/lifecycle/LifecycleOwner;)Landroidx/camera/lifecycle/LifecycleCameraRepository$LifecycleCameraRepositoryObserver; .locals 4 .annotation system Ldalvik/annotation/MethodParameters; accessFlags = { 0x0 } names = { "lifecycleOwner" } .end annotation .line 1 iget-object v0, p0, Landroidx/camera/lifecycle/LifecycleCameraRepository;->a:Ljava/lang/Object; monitor-enter v0 .line 2 :try_start_0 iget-object v1, p0, Landroidx/camera/lifecycle/LifecycleCameraRepository;->c:Ljava/util/Map; invoke-interface {v1}, Ljava/util/Map;->keySet()Ljava/util/Set; move-result-object v1 invoke-interface {v1}, Ljava/util/Set;->iterator()Ljava/util/Iterator; move-result-object v1 :cond_0 invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z move-result v2 if-eqz v2, :cond_1 invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v2 check-cast v2, Landroidx/camera/lifecycle/LifecycleCameraRepository$LifecycleCameraRepositoryObserver; .line 3 invoke-virtual {v2}, Landroidx/camera/lifecycle/LifecycleCameraRepository$LifecycleCameraRepositoryObserver;->a()Landroidx/lifecycle/LifecycleOwner; move-result-object v3 invoke-virtual {p1, v3}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z move-result v3 if-eqz v3, :cond_0 .line 4 monitor-exit v0 return-object v2 :cond_1 const/4 p1, 0x0 .line 5 monitor-exit v0 return-object p1 :catchall_0 move-exception p1 .line 6 monitor-exit v0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 throw p1 .end method .method public f()Ljava/util/Collection; .locals 2 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/Collection<", "Landroidx/camera/lifecycle/LifecycleCamera;", ">;" } .end annotation .line 1 iget-object v0, p0, Landroidx/camera/lifecycle/LifecycleCameraRepository;->a:Ljava/lang/Object; monitor-enter v0 .line 2 :try_start_0 iget-object v1, p0, Landroidx/camera/lifecycle/LifecycleCameraRepository;->b:Ljava/util/Map; invoke-interface {v1}, Ljava/util/Map;->values()Ljava/util/Collection; move-result-object v1 invoke-static {v1}, Ljava/util/Collections;->unmodifiableCollection(Ljava/util/Collection;)Ljava/util/Collection; move-result-object v1 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 final g(Landroidx/lifecycle/LifecycleOwner;)Z .locals 4 .annotation system Ldalvik/annotation/MethodParameters; accessFlags = { 0x0 } names = { "lifecycleOwner" } .end annotation .line 1 iget-object v0, p0, Landroidx/camera/lifecycle/LifecycleCameraRepository;->a:Ljava/lang/Object; monitor-enter v0 .line 2 :try_start_0 invoke-virtual {p0, p1}, Landroidx/camera/lifecycle/LifecycleCameraRepository;->e(Landroidx/lifecycle/LifecycleOwner;)Landroidx/camera/lifecycle/LifecycleCameraRepository$LifecycleCameraRepositoryObserver; move-result-object p1 const/4 v1, 0x0 if-nez p1, :cond_0 .line 3 monitor-exit v0 return v1 .line 4 :cond_0 iget-object v2, p0, Landroidx/camera/lifecycle/LifecycleCameraRepository;->c:Ljava/util/Map; invoke-interface {v2, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 check-cast p1, Ljava/util/Set; .line 5 invoke-interface {p1}, Ljava/util/Set;->iterator()Ljava/util/Iterator; move-result-object p1 :cond_1 invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z move-result v2 if-eqz v2, :cond_2 invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v2 check-cast v2, Landroidx/camera/lifecycle/LifecycleCameraRepository$a; .line 6 iget-object v3, p0, Landroidx/camera/lifecycle/LifecycleCameraRepository;->b:Ljava/util/Map; invoke-interface {v3, v2}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v2 check-cast v2, Landroidx/camera/lifecycle/LifecycleCamera; invoke-static {v2}, Lr1/o;->k(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v2 check-cast v2, Landroidx/camera/lifecycle/LifecycleCamera; invoke-virtual {v2}, Landroidx/camera/lifecycle/LifecycleCamera;->n()Ljava/util/List; move-result-object v2 invoke-interface {v2}, Ljava/util/List;->isEmpty()Z move-result v2 if-nez v2, :cond_1 const/4 p1, 0x1 .line 7 monitor-exit v0 return p1 .line 8 :cond_2 monitor-exit v0 return v1 :catchall_0 move-exception p1 .line 9 monitor-exit v0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 throw p1 .end method .method public final h(Landroidx/camera/lifecycle/LifecycleCamera;)V .locals 6 .annotation system Ldalvik/annotation/MethodParameters; accessFlags = { 0x0 } names = { "lifecycleCamera" } .end annotation .line 1 iget-object v0, p0, Landroidx/camera/lifecycle/LifecycleCameraRepository;->a:Ljava/lang/Object; monitor-enter v0 .line 2 :try_start_0 invoke-virtual {p1}, Landroidx/camera/lifecycle/LifecycleCamera;->l()Landroidx/lifecycle/LifecycleOwner; move-result-object v1 .line 3 invoke-virtual {p1}, Landroidx/camera/lifecycle/LifecycleCamera;->g()Landroidx/camera/core/internal/CameraUseCaseAdapter; move-result-object v2 invoke-virtual {v2}, Landroidx/camera/core/internal/CameraUseCaseAdapter;->s()Landroidx/camera/core/internal/CameraUseCaseAdapter$a; move-result-object v2 .line 4 invoke-static {v1, v2}, Landroidx/camera/lifecycle/LifecycleCameraRepository$a;->a(Landroidx/lifecycle/LifecycleOwner;Landroidx/camera/core/internal/CameraUseCaseAdapter$a;)Landroidx/camera/lifecycle/LifecycleCameraRepository$a; move-result-object v2 .line 5 invoke-virtual {p0, v1}, Landroidx/camera/lifecycle/LifecycleCameraRepository;->e(Landroidx/lifecycle/LifecycleOwner;)Landroidx/camera/lifecycle/LifecycleCameraRepository$LifecycleCameraRepositoryObserver; move-result-object v3 if-eqz v3, :cond_0 .line 6 iget-object v4, p0, Landroidx/camera/lifecycle/LifecycleCameraRepository;->c:Ljava/util/Map; invoke-interface {v4, v3}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v4 check-cast v4, Ljava/util/Set; goto :goto_0 .line 7 :cond_0 new-instance v4, Ljava/util/HashSet; invoke-direct {v4}, Ljava/util/HashSet;->()V .line 8 :goto_0 invoke-interface {v4, v2}, Ljava/util/Set;->add(Ljava/lang/Object;)Z .line 9 iget-object v5, p0, Landroidx/camera/lifecycle/LifecycleCameraRepository;->b:Ljava/util/Map; invoke-interface {v5, v2, p1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; if-nez v3, :cond_1 .line 10 new-instance p1, Landroidx/camera/lifecycle/LifecycleCameraRepository$LifecycleCameraRepositoryObserver; invoke-direct {p1, v1, p0}, Landroidx/camera/lifecycle/LifecycleCameraRepository$LifecycleCameraRepositoryObserver;->(Landroidx/lifecycle/LifecycleOwner;Landroidx/camera/lifecycle/LifecycleCameraRepository;)V .line 11 iget-object v2, p0, Landroidx/camera/lifecycle/LifecycleCameraRepository;->c:Ljava/util/Map; invoke-interface {v2, p1, v4}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 12 invoke-interface {v1}, Landroidx/lifecycle/LifecycleOwner;->getLifecycle()Landroidx/lifecycle/Lifecycle; move-result-object v1 invoke-virtual {v1, p1}, Landroidx/lifecycle/Lifecycle;->addObserver(Landroidx/lifecycle/LifecycleObserver;)V .line 13 :cond_1 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 .method public i(Landroidx/lifecycle/LifecycleOwner;)V .locals 3 .annotation system Ldalvik/annotation/MethodParameters; accessFlags = { 0x0 } names = { "lifecycleOwner" } .end annotation .line 1 iget-object v0, p0, Landroidx/camera/lifecycle/LifecycleCameraRepository;->a:Ljava/lang/Object; monitor-enter v0 .line 2 :try_start_0 invoke-virtual {p0, p1}, Landroidx/camera/lifecycle/LifecycleCameraRepository;->g(Landroidx/lifecycle/LifecycleOwner;)Z move-result v1 if-nez v1, :cond_0 .line 3 monitor-exit v0 return-void .line 4 :cond_0 iget-object v1, p0, Landroidx/camera/lifecycle/LifecycleCameraRepository;->d:Ljava/util/ArrayDeque; invoke-virtual {v1}, Ljava/util/ArrayDeque;->isEmpty()Z move-result v1 if-eqz v1, :cond_1 .line 5 iget-object v1, p0, Landroidx/camera/lifecycle/LifecycleCameraRepository;->d:Ljava/util/ArrayDeque; invoke-virtual {v1, p1}, Ljava/util/ArrayDeque;->push(Ljava/lang/Object;)V goto :goto_0 .line 6 :cond_1 iget-object v1, p0, Landroidx/camera/lifecycle/LifecycleCameraRepository;->d:Ljava/util/ArrayDeque; invoke-virtual {v1}, Ljava/util/ArrayDeque;->peek()Ljava/lang/Object; move-result-object v1 check-cast v1, Landroidx/lifecycle/LifecycleOwner; .line 7 invoke-virtual {p1, v1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z move-result v2 if-nez v2, :cond_2 .line 8 invoke-virtual {p0, v1}, Landroidx/camera/lifecycle/LifecycleCameraRepository;->k(Landroidx/lifecycle/LifecycleOwner;)V .line 9 iget-object v1, p0, Landroidx/camera/lifecycle/LifecycleCameraRepository;->d:Ljava/util/ArrayDeque; invoke-virtual {v1, p1}, Ljava/util/ArrayDeque;->remove(Ljava/lang/Object;)Z .line 10 iget-object v1, p0, Landroidx/camera/lifecycle/LifecycleCameraRepository;->d:Ljava/util/ArrayDeque; invoke-virtual {v1, p1}, Ljava/util/ArrayDeque;->push(Ljava/lang/Object;)V .line 11 :cond_2 :goto_0 invoke-virtual {p0, p1}, Landroidx/camera/lifecycle/LifecycleCameraRepository;->o(Landroidx/lifecycle/LifecycleOwner;)V .line 12 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 .method public j(Landroidx/lifecycle/LifecycleOwner;)V .locals 2 .annotation system Ldalvik/annotation/MethodParameters; accessFlags = { 0x0 } names = { "lifecycleOwner" } .end annotation .line 1 iget-object v0, p0, Landroidx/camera/lifecycle/LifecycleCameraRepository;->a:Ljava/lang/Object; monitor-enter v0 .line 2 :try_start_0 iget-object v1, p0, Landroidx/camera/lifecycle/LifecycleCameraRepository;->d:Ljava/util/ArrayDeque; invoke-virtual {v1, p1}, Ljava/util/ArrayDeque;->remove(Ljava/lang/Object;)Z .line 3 invoke-virtual {p0, p1}, Landroidx/camera/lifecycle/LifecycleCameraRepository;->k(Landroidx/lifecycle/LifecycleOwner;)V .line 4 iget-object p1, p0, Landroidx/camera/lifecycle/LifecycleCameraRepository;->d:Ljava/util/ArrayDeque; invoke-virtual {p1}, Ljava/util/ArrayDeque;->isEmpty()Z move-result p1 if-nez p1, :cond_0 .line 5 iget-object p1, p0, Landroidx/camera/lifecycle/LifecycleCameraRepository;->d:Ljava/util/ArrayDeque; invoke-virtual {p1}, Ljava/util/ArrayDeque;->peek()Ljava/lang/Object; move-result-object p1 check-cast p1, Landroidx/lifecycle/LifecycleOwner; .line 6 invoke-virtual {p0, p1}, Landroidx/camera/lifecycle/LifecycleCameraRepository;->o(Landroidx/lifecycle/LifecycleOwner;)V .line 7 :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 .method public final k(Landroidx/lifecycle/LifecycleOwner;)V .locals 3 .annotation system Ldalvik/annotation/MethodParameters; accessFlags = { 0x0 } names = { "lifecycleOwner" } .end annotation .line 1 iget-object v0, p0, Landroidx/camera/lifecycle/LifecycleCameraRepository;->a:Ljava/lang/Object; monitor-enter v0 .line 2 :try_start_0 invoke-virtual {p0, p1}, Landroidx/camera/lifecycle/LifecycleCameraRepository;->e(Landroidx/lifecycle/LifecycleOwner;)Landroidx/camera/lifecycle/LifecycleCameraRepository$LifecycleCameraRepositoryObserver; move-result-object p1 .line 3 iget-object v1, p0, Landroidx/camera/lifecycle/LifecycleCameraRepository;->c:Ljava/util/Map; invoke-interface {v1, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 check-cast p1, Ljava/util/Set; invoke-interface {p1}, Ljava/util/Set;->iterator()Ljava/util/Iterator; move-result-object p1 :goto_0 invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_0 invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Landroidx/camera/lifecycle/LifecycleCameraRepository$a; .line 4 iget-object v2, p0, Landroidx/camera/lifecycle/LifecycleCameraRepository;->b:Ljava/util/Map; invoke-interface {v2, v1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v1 check-cast v1, Landroidx/camera/lifecycle/LifecycleCamera; invoke-static {v1}, Lr1/o;->k(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v1 check-cast v1, Landroidx/camera/lifecycle/LifecycleCamera; invoke-virtual {v1}, Landroidx/camera/lifecycle/LifecycleCamera;->r()V goto :goto_0 .line 5 :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 .method public l(Ljava/util/Collection;)V .locals 4 .param p1 # Ljava/util/Collection; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .annotation system Ldalvik/annotation/MethodParameters; accessFlags = { 0x0 } names = { "useCases" } .end annotation .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/Collection<", "Landroidx/camera/core/UseCase;", ">;)V" } .end annotation .line 1 iget-object v0, p0, Landroidx/camera/lifecycle/LifecycleCameraRepository;->a:Ljava/lang/Object; monitor-enter v0 .line 2 :try_start_0 iget-object v1, p0, Landroidx/camera/lifecycle/LifecycleCameraRepository;->b:Ljava/util/Map; invoke-interface {v1}, Ljava/util/Map;->keySet()Ljava/util/Set; move-result-object v1 invoke-interface {v1}, Ljava/util/Set;->iterator()Ljava/util/Iterator; move-result-object v1 :cond_0 :goto_0 invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z move-result v2 if-eqz v2, :cond_2 invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v2 check-cast v2, Landroidx/camera/lifecycle/LifecycleCameraRepository$a; .line 3 iget-object v3, p0, Landroidx/camera/lifecycle/LifecycleCameraRepository;->b:Ljava/util/Map; invoke-interface {v3, v2}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v2 check-cast v2, Landroidx/camera/lifecycle/LifecycleCamera; .line 4 invoke-virtual {v2}, Landroidx/camera/lifecycle/LifecycleCamera;->n()Ljava/util/List; move-result-object v3 invoke-interface {v3}, Ljava/util/List;->isEmpty()Z move-result v3 if-nez v3, :cond_1 const/4 v3, 0x1 goto :goto_1 :cond_1 const/4 v3, 0x0 .line 5 :goto_1 invoke-virtual {v2, p1}, Landroidx/camera/lifecycle/LifecycleCamera;->s(Ljava/util/Collection;)V if-eqz v3, :cond_0 .line 6 invoke-virtual {v2}, Landroidx/camera/lifecycle/LifecycleCamera;->n()Ljava/util/List; move-result-object v3 invoke-interface {v3}, Ljava/util/List;->isEmpty()Z move-result v3 if-eqz v3, :cond_0 .line 7 invoke-virtual {v2}, Landroidx/camera/lifecycle/LifecycleCamera;->l()Landroidx/lifecycle/LifecycleOwner; move-result-object v2 invoke-virtual {p0, v2}, Landroidx/camera/lifecycle/LifecycleCameraRepository;->j(Landroidx/lifecycle/LifecycleOwner;)V goto :goto_0 .line 8 :cond_2 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 .method public m()V .locals 4 .line 1 iget-object v0, p0, Landroidx/camera/lifecycle/LifecycleCameraRepository;->a:Ljava/lang/Object; monitor-enter v0 .line 2 :try_start_0 iget-object v1, p0, Landroidx/camera/lifecycle/LifecycleCameraRepository;->b:Ljava/util/Map; invoke-interface {v1}, Ljava/util/Map;->keySet()Ljava/util/Set; move-result-object v1 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, Landroidx/camera/lifecycle/LifecycleCameraRepository$a; .line 3 iget-object v3, p0, Landroidx/camera/lifecycle/LifecycleCameraRepository;->b:Ljava/util/Map; invoke-interface {v3, v2}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v2 check-cast v2, Landroidx/camera/lifecycle/LifecycleCamera; .line 4 invoke-virtual {v2}, Landroidx/camera/lifecycle/LifecycleCamera;->t()V .line 5 invoke-virtual {v2}, Landroidx/camera/lifecycle/LifecycleCamera;->l()Landroidx/lifecycle/LifecycleOwner; move-result-object v2 invoke-virtual {p0, v2}, Landroidx/camera/lifecycle/LifecycleCameraRepository;->j(Landroidx/lifecycle/LifecycleOwner;)V goto :goto_0 .line 6 :cond_0 monitor-exit v0 return-void :catchall_0 move-exception v1 monitor-exit v0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 throw v1 .end method .method public n(Landroidx/lifecycle/LifecycleOwner;)V .locals 4 .annotation system Ldalvik/annotation/MethodParameters; accessFlags = { 0x0 } names = { "lifecycleOwner" } .end annotation .line 1 iget-object v0, p0, Landroidx/camera/lifecycle/LifecycleCameraRepository;->a:Ljava/lang/Object; monitor-enter v0 .line 2 :try_start_0 invoke-virtual {p0, p1}, Landroidx/camera/lifecycle/LifecycleCameraRepository;->e(Landroidx/lifecycle/LifecycleOwner;)Landroidx/camera/lifecycle/LifecycleCameraRepository$LifecycleCameraRepositoryObserver; move-result-object v1 if-nez v1, :cond_0 .line 3 monitor-exit v0 return-void .line 4 :cond_0 invoke-virtual {p0, p1}, Landroidx/camera/lifecycle/LifecycleCameraRepository;->j(Landroidx/lifecycle/LifecycleOwner;)V .line 5 iget-object p1, p0, Landroidx/camera/lifecycle/LifecycleCameraRepository;->c:Ljava/util/Map; invoke-interface {p1, v1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 check-cast p1, Ljava/util/Set; invoke-interface {p1}, Ljava/util/Set;->iterator()Ljava/util/Iterator; move-result-object p1 :goto_0 invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z move-result v2 if-eqz v2, :cond_1 invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v2 check-cast v2, Landroidx/camera/lifecycle/LifecycleCameraRepository$a; .line 6 iget-object v3, p0, Landroidx/camera/lifecycle/LifecycleCameraRepository;->b:Ljava/util/Map; invoke-interface {v3, v2}, Ljava/util/Map;->remove(Ljava/lang/Object;)Ljava/lang/Object; goto :goto_0 .line 7 :cond_1 iget-object p1, p0, Landroidx/camera/lifecycle/LifecycleCameraRepository;->c:Ljava/util/Map; invoke-interface {p1, v1}, Ljava/util/Map;->remove(Ljava/lang/Object;)Ljava/lang/Object; .line 8 invoke-virtual {v1}, Landroidx/camera/lifecycle/LifecycleCameraRepository$LifecycleCameraRepositoryObserver;->a()Landroidx/lifecycle/LifecycleOwner; move-result-object p1 invoke-interface {p1}, Landroidx/lifecycle/LifecycleOwner;->getLifecycle()Landroidx/lifecycle/Lifecycle; move-result-object p1 invoke-virtual {p1, v1}, Landroidx/lifecycle/Lifecycle;->removeObserver(Landroidx/lifecycle/LifecycleObserver;)V .line 9 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 .method public final o(Landroidx/lifecycle/LifecycleOwner;)V .locals 3 .annotation system Ldalvik/annotation/MethodParameters; accessFlags = { 0x0 } names = { "lifecycleOwner" } .end annotation .line 1 iget-object v0, p0, Landroidx/camera/lifecycle/LifecycleCameraRepository;->a:Ljava/lang/Object; monitor-enter v0 .line 2 :try_start_0 invoke-virtual {p0, p1}, Landroidx/camera/lifecycle/LifecycleCameraRepository;->e(Landroidx/lifecycle/LifecycleOwner;)Landroidx/camera/lifecycle/LifecycleCameraRepository$LifecycleCameraRepositoryObserver; move-result-object p1 .line 3 iget-object v1, p0, Landroidx/camera/lifecycle/LifecycleCameraRepository;->c:Ljava/util/Map; invoke-interface {v1, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 check-cast p1, Ljava/util/Set; invoke-interface {p1}, Ljava/util/Set;->iterator()Ljava/util/Iterator; move-result-object p1 :cond_0 :goto_0 invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_1 invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Landroidx/camera/lifecycle/LifecycleCameraRepository$a; .line 4 iget-object v2, p0, Landroidx/camera/lifecycle/LifecycleCameraRepository;->b:Ljava/util/Map; invoke-interface {v2, v1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v1 check-cast v1, Landroidx/camera/lifecycle/LifecycleCamera; .line 5 invoke-static {v1}, Lr1/o;->k(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v2 check-cast v2, Landroidx/camera/lifecycle/LifecycleCamera; invoke-virtual {v2}, Landroidx/camera/lifecycle/LifecycleCamera;->n()Ljava/util/List; move-result-object v2 invoke-interface {v2}, Ljava/util/List;->isEmpty()Z move-result v2 if-nez v2, :cond_0 .line 6 invoke-virtual {v1}, Landroidx/camera/lifecycle/LifecycleCamera;->u()V goto :goto_0 .line 7 :cond_1 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