.class public final Landroidx/camera/camera2/impl/PreviewConfigProvider; .super Ljava/lang/Object; .source "PreviewConfigProvider.java" # interfaces .implements Landroidx/camera/core/ConfigProvider; # annotations .annotation system Ldalvik/annotation/Signature; value = { "Ljava/lang/Object;", "Landroidx/camera/core/ConfigProvider<", "Landroidx/camera/core/PreviewConfig;", ">;" } .end annotation # static fields .field private static final DEFAULT_ASPECT_RATIO_3_4:Landroid/util/Rational; .field private static final DEFAULT_ASPECT_RATIO_4_3:Landroid/util/Rational; .field private static final TAG:Ljava/lang/String; = "PreviewConfigProvider" # instance fields .field private final mCameraFactory:Landroidx/camera/core/CameraFactory; .field private final mWindowManager:Landroid/view/WindowManager; # direct methods .method static constructor ()V .locals 3 .line 43 new-instance v0, Landroid/util/Rational; const/4 v1, 0x4 const/4 v2, 0x3 invoke-direct {v0, v1, v2}, Landroid/util/Rational;->(II)V sput-object v0, Landroidx/camera/camera2/impl/PreviewConfigProvider;->DEFAULT_ASPECT_RATIO_4_3:Landroid/util/Rational; .line 44 new-instance v0, Landroid/util/Rational; invoke-direct {v0, v2, v1}, Landroid/util/Rational;->(II)V sput-object v0, Landroidx/camera/camera2/impl/PreviewConfigProvider;->DEFAULT_ASPECT_RATIO_3_4:Landroid/util/Rational; return-void .end method .method public constructor (Landroidx/camera/core/CameraFactory;Landroid/content/Context;)V .locals 0 .line 49 invoke-direct {p0}, Ljava/lang/Object;->()V .line 50 iput-object p1, p0, Landroidx/camera/camera2/impl/PreviewConfigProvider;->mCameraFactory:Landroidx/camera/core/CameraFactory; const-string p1, "window" .line 51 invoke-virtual {p2, p1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; move-result-object p1 check-cast p1, Landroid/view/WindowManager; iput-object p1, p0, Landroidx/camera/camera2/impl/PreviewConfigProvider;->mWindowManager:Landroid/view/WindowManager; return-void .end method # virtual methods .method public bridge synthetic getConfig(Landroidx/camera/core/CameraX$LensFacing;)Landroidx/camera/core/Config; .locals 0 .line 40 invoke-virtual {p0, p1}, Landroidx/camera/camera2/impl/PreviewConfigProvider;->getConfig(Landroidx/camera/core/CameraX$LensFacing;)Landroidx/camera/core/PreviewConfig; move-result-object p1 return-object p1 .end method .method public getConfig(Landroidx/camera/core/CameraX$LensFacing;)Landroidx/camera/core/PreviewConfig; .locals 4 .line 56 sget-object v0, Landroidx/camera/core/Preview;->DEFAULT_CONFIG:Landroidx/camera/core/Preview$Defaults; .line 57 invoke-virtual {v0, p1}, Landroidx/camera/core/Preview$Defaults;->getConfig(Landroidx/camera/core/CameraX$LensFacing;)Landroidx/camera/core/PreviewConfig; move-result-object v0 invoke-static {v0}, Landroidx/camera/core/PreviewConfig$Builder;->fromConfig(Landroidx/camera/core/PreviewConfig;)Landroidx/camera/core/PreviewConfig$Builder; move-result-object v0 .line 60 new-instance v1, Landroidx/camera/core/SessionConfig$Builder; invoke-direct {v1}, Landroidx/camera/core/SessionConfig$Builder;->()V const/4 v2, 0x1 .line 61 invoke-virtual {v1, v2}, Landroidx/camera/core/SessionConfig$Builder;->setTemplateType(I)V .line 64 invoke-virtual {v1}, Landroidx/camera/core/SessionConfig$Builder;->build()Landroidx/camera/core/SessionConfig; move-result-object v1 invoke-virtual {v0, v1}, Landroidx/camera/core/PreviewConfig$Builder;->setDefaultSessionConfig(Landroidx/camera/core/SessionConfig;)Landroidx/camera/core/PreviewConfig$Builder; .line 65 sget-object v1, Landroidx/camera/camera2/impl/Camera2SessionOptionUnpacker;->INSTANCE:Landroidx/camera/camera2/impl/Camera2SessionOptionUnpacker; invoke-virtual {v0, v1}, Landroidx/camera/core/PreviewConfig$Builder;->setSessionOptionUnpacker(Landroidx/camera/core/SessionConfig$OptionUnpacker;)Landroidx/camera/core/PreviewConfig$Builder; .line 67 new-instance v1, Landroidx/camera/core/CaptureConfig$Builder; invoke-direct {v1}, Landroidx/camera/core/CaptureConfig$Builder;->()V .line 68 invoke-virtual {v1, v2}, Landroidx/camera/core/CaptureConfig$Builder;->setTemplateType(I)V .line 69 invoke-virtual {v1}, Landroidx/camera/core/CaptureConfig$Builder;->build()Landroidx/camera/core/CaptureConfig; move-result-object v1 invoke-virtual {v0, v1}, Landroidx/camera/core/PreviewConfig$Builder;->setDefaultCaptureConfig(Landroidx/camera/core/CaptureConfig;)Landroidx/camera/core/PreviewConfig$Builder; .line 70 sget-object v1, Landroidx/camera/camera2/impl/Camera2CaptureOptionUnpacker;->INSTANCE:Landroidx/camera/camera2/impl/Camera2CaptureOptionUnpacker; invoke-virtual {v0, v1}, Landroidx/camera/core/PreviewConfig$Builder;->setCaptureOptionUnpacker(Landroidx/camera/core/CaptureConfig$OptionUnpacker;)Landroidx/camera/core/PreviewConfig$Builder; if-eqz p1, :cond_0 goto :goto_0 .line 75 :cond_0 :try_start_0 invoke-static {}, Landroidx/camera/core/CameraX;->getDefaultLensFacing()Landroidx/camera/core/CameraX$LensFacing; move-result-object p1 .line 76 :goto_0 iget-object v1, p0, Landroidx/camera/camera2/impl/PreviewConfigProvider;->mCameraFactory:Landroidx/camera/core/CameraFactory; invoke-interface {v1, p1}, Landroidx/camera/core/CameraFactory;->cameraIdForLensFacing(Landroidx/camera/core/CameraX$LensFacing;)Ljava/lang/String; move-result-object v1 if-eqz v1, :cond_1 .line 78 invoke-virtual {v0, p1}, Landroidx/camera/core/PreviewConfig$Builder;->setLensFacing(Landroidx/camera/core/CameraX$LensFacing;)Landroidx/camera/core/PreviewConfig$Builder; .line 81 :cond_1 iget-object p1, p0, Landroidx/camera/camera2/impl/PreviewConfigProvider;->mWindowManager:Landroid/view/WindowManager; invoke-interface {p1}, Landroid/view/WindowManager;->getDefaultDisplay()Landroid/view/Display; move-result-object p1 invoke-virtual {p1}, Landroid/view/Display;->getRotation()I move-result p1 .line 82 invoke-static {v1}, Landroidx/camera/core/CameraX;->getCameraInfo(Ljava/lang/String;)Landroidx/camera/core/CameraInfo; move-result-object v1 invoke-interface {v1, p1}, Landroidx/camera/core/CameraInfo;->getSensorRotationDegrees(I)I move-result v1 const/16 v3, 0x5a if-eq v1, v3, :cond_3 const/16 v3, 0x10e if-ne v1, v3, :cond_2 goto :goto_1 :cond_2 const/4 v2, 0x0 .line 85 :cond_3 :goto_1 invoke-virtual {v0, p1}, Landroidx/camera/core/PreviewConfig$Builder;->setTargetRotation(I)Landroidx/camera/core/PreviewConfig$Builder; if-eqz v2, :cond_4 .line 86 sget-object p1, Landroidx/camera/camera2/impl/PreviewConfigProvider;->DEFAULT_ASPECT_RATIO_3_4:Landroid/util/Rational; goto :goto_2 :cond_4 sget-object p1, Landroidx/camera/camera2/impl/PreviewConfigProvider;->DEFAULT_ASPECT_RATIO_4_3:Landroid/util/Rational; :goto_2 invoke-virtual {v0, p1}, Landroidx/camera/core/PreviewConfig$Builder;->setTargetAspectRatio(Landroid/util/Rational;)Landroidx/camera/core/PreviewConfig$Builder; :try_end_0 .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0 goto :goto_3 :catch_0 move-exception p1 const-string v1, "PreviewConfigProvider" const-string v2, "Unable to determine default lens facing for Preview." .line 89 invoke-static {v1, v2, p1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I .line 92 :goto_3 invoke-virtual {v0}, Landroidx/camera/core/PreviewConfig$Builder;->build()Landroidx/camera/core/PreviewConfig; move-result-object p1 return-object p1 .end method