PreviewConfigProvider.smali

.class public Landroidx/camera/extensions/internal/PreviewConfigProvider;
.super Ljava/lang/Object;
.source "SourceFile"

# interfaces
.implements Landroidx/camera/core/impl/ConfigProvider;


# annotations
.annotation system Ldalvik/annotation/Signature;
    value = {
        "Ljava/lang/Object;",
        "Landroidx/camera/core/impl/ConfigProvider<",
        "Landroidx/camera/core/impl/PreviewConfig;",
        ">;"
    }
.end annotation


# instance fields
.field private mContext:Landroid/content/Context;

.field private mEffectMode:I

.field private mImpl:Landroidx/camera/extensions/impl/PreviewExtenderImpl;


# direct methods
.method public constructor <init>(ILandroidx/camera/core/CameraInfo;Landroid/content/Context;)V
    .registers 5
    .param p2    # Landroidx/camera/core/CameraInfo;
        .annotation build Landroidx/annotation/NonNull;
        .end annotation
    .end param
    .param p3    # Landroid/content/Context;
        .annotation build Landroidx/annotation/NonNull;
        .end annotation
    .end param
    .annotation build Landroidx/annotation/experimental/UseExperimental;
        markerClass = Landroidx/camera/camera2/interop/ExperimentalCamera2Interop;
    .end annotation

    .line 1
    .line 2
    .line 3
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    .line 4
    const/4 v0, 0x1

    .line 5
    .line 6
    if-eq p1, v0, :cond_33

    .line 7
    const/4 v0, 0x2

    .line 8
    .line 9
    if-eq p1, v0, :cond_2b

    .line 10
    const/4 v0, 0x3

    .line 11
    .line 12
    if-eq p1, v0, :cond_23

    .line 13
    const/4 v0, 0x4

    .line 14
    .line 15
    if-eq p1, v0, :cond_1b

    .line 16
    const/4 v0, 0x5

    .line 17
    .line 18
    if-eq p1, v0, :cond_13

    .line 19
    return-void

    .line 20
    .line 21
    :cond_13
    :try_start_13
    new-instance v0, Landroidx/camera/extensions/impl/AutoPreviewExtenderImpl;

    .line 22
    .line 23
    .line 24
    invoke-direct {v0}, Landroidx/camera/extensions/impl/AutoPreviewExtenderImpl;-><init>()V

    .line 25
    .line 26
    iput-object v0, p0, Landroidx/camera/extensions/internal/PreviewConfigProvider;->mImpl:Landroidx/camera/extensions/impl/PreviewExtenderImpl;

    .line 27
    goto :goto_3a

    .line 28
    .line 29
    :cond_1b
    new-instance v0, Landroidx/camera/extensions/impl/BeautyPreviewExtenderImpl;

    .line 30
    .line 31
    .line 32
    invoke-direct {v0}, Landroidx/camera/extensions/impl/BeautyPreviewExtenderImpl;-><init>()V

    .line 33
    .line 34
    iput-object v0, p0, Landroidx/camera/extensions/internal/PreviewConfigProvider;->mImpl:Landroidx/camera/extensions/impl/PreviewExtenderImpl;

    .line 35
    goto :goto_3a

    .line 36
    .line 37
    :cond_23
    new-instance v0, Landroidx/camera/extensions/impl/NightPreviewExtenderImpl;

    .line 38
    .line 39
    .line 40
    invoke-direct {v0}, Landroidx/camera/extensions/impl/NightPreviewExtenderImpl;-><init>()V

    .line 41
    .line 42
    iput-object v0, p0, Landroidx/camera/extensions/internal/PreviewConfigProvider;->mImpl:Landroidx/camera/extensions/impl/PreviewExtenderImpl;

    .line 43
    goto :goto_3a

    .line 44
    .line 45
    :cond_2b
    new-instance v0, Landroidx/camera/extensions/impl/HdrPreviewExtenderImpl;

    .line 46
    .line 47
    .line 48
    invoke-direct {v0}, Landroidx/camera/extensions/impl/HdrPreviewExtenderImpl;-><init>()V

    .line 49
    .line 50
    iput-object v0, p0, Landroidx/camera/extensions/internal/PreviewConfigProvider;->mImpl:Landroidx/camera/extensions/impl/PreviewExtenderImpl;

    .line 51
    goto :goto_3a

    .line 52
    .line 53
    :cond_33
    new-instance v0, Landroidx/camera/extensions/impl/BokehPreviewExtenderImpl;

    .line 54
    .line 55
    .line 56
    invoke-direct {v0}, Landroidx/camera/extensions/impl/BokehPreviewExtenderImpl;-><init>()V

    .line 57
    .line 58
    iput-object v0, p0, Landroidx/camera/extensions/internal/PreviewConfigProvider;->mImpl:Landroidx/camera/extensions/impl/PreviewExtenderImpl;
    :try_end_3a
    .catch Ljava/lang/NoClassDefFoundError; {:try_start_13 .. :try_end_3a} :catch_50

    .line 59
    .line 60
    :goto_3a
    iput p1, p0, Landroidx/camera/extensions/internal/PreviewConfigProvider;->mEffectMode:I

    .line 61
    .line 62
    iput-object p3, p0, Landroidx/camera/extensions/internal/PreviewConfigProvider;->mContext:Landroid/content/Context;

    .line 63
    .line 64
    .line 65
    invoke-static {p2}, Landroidx/camera/camera2/interop/Camera2CameraInfo;->from(Landroidx/camera/core/CameraInfo;)Landroidx/camera/camera2/interop/Camera2CameraInfo;

    .line 66
    move-result-object p1

    .line 67
    .line 68
    .line 69
    invoke-virtual {p1}, Landroidx/camera/camera2/interop/Camera2CameraInfo;->getCameraId()Ljava/lang/String;

    .line 70
    move-result-object p1

    .line 71
    .line 72
    .line 73
    invoke-static {p2}, Landroidx/camera/camera2/interop/Camera2CameraInfo;->extractCameraCharacteristics(Landroidx/camera/core/CameraInfo;)Landroid/hardware/camera2/CameraCharacteristics;

    .line 74
    move-result-object p2

    .line 75
    .line 76
    iget-object p3, p0, Landroidx/camera/extensions/internal/PreviewConfigProvider;->mImpl:Landroidx/camera/extensions/impl/PreviewExtenderImpl;

    .line 77
    .line 78
    .line 79
    invoke-interface {p3, p1, p2}, Landroidx/camera/extensions/impl/PreviewExtenderImpl;->init(Ljava/lang/String;Landroid/hardware/camera2/CameraCharacteristics;)V

    .line 80
    return-void

    .line 81
    .line 82
    :catch_50
    new-instance p2, Ljava/lang/IllegalArgumentException;

    .line 83
    .line 84
    new-instance p3, Ljava/lang/StringBuilder;

    .line 85
    .line 86
    .line 87
    invoke-direct {p3}, Ljava/lang/StringBuilder;-><init>()V

    .line 88
    .line 89
    const-string v0, "Extension mode does not exist: "

    .line 90
    .line 91
    .line 92
    invoke-virtual {p3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    .line 93
    .line 94
    .line 95
    invoke-virtual {p3, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    .line 96
    .line 97
    .line 98
    invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    .line 99
    move-result-object p1

    .line 100
    .line 101
    .line 102
    invoke-direct {p2, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V

    .line 103
    throw p2
    .line 104
    .line 105
    .line 106
    .line 107
    .line 108
    .line 109
    .line 110
    .line 111
    .line 112
    .line 113
    .line 114
    .line 115
    .line 116
    .line 117
    .line 118
    .line 119
    .line 120
    .line 121
    .line 122
    .line 123
    .line 124
    .line 125
    .line 126
    .line 127
    .line 128
    .line 129
    .line 130
    .line 131
    .line 132
    .line 133
.end method


# virtual methods
.method public bridge synthetic getConfig()Landroidx/camera/core/impl/Config;
    .registers 2
    .annotation build Landroidx/annotation/NonNull;
    .end annotation

    .line 1
    invoke-virtual {p0}, Landroidx/camera/extensions/internal/PreviewConfigProvider;->getConfig()Landroidx/camera/core/impl/PreviewConfig;

    move-result-object v0

    return-object v0
.end method

.method public getConfig()Landroidx/camera/core/impl/PreviewConfig;
    .registers 5
    .annotation build Landroidx/annotation/NonNull;
    .end annotation

    .line 2
    iget-object v0, p0, Landroidx/camera/extensions/internal/PreviewConfigProvider;->mImpl:Landroidx/camera/extensions/impl/PreviewExtenderImpl;

    if-nez v0, :cond_e

    .line 3
    new-instance v0, Landroidx/camera/core/impl/PreviewConfig;

    invoke-static {}, Landroidx/camera/core/impl/OptionsBundle;->emptyBundle()Landroidx/camera/core/impl/OptionsBundle;

    move-result-object v1

    invoke-direct {v0, v1}, Landroidx/camera/core/impl/PreviewConfig;-><init>(Landroidx/camera/core/impl/OptionsBundle;)V

    return-object v0

    .line 4
    :cond_e
    new-instance v0, Landroidx/camera/core/Preview$Builder;

    invoke-direct {v0}, Landroidx/camera/core/Preview$Builder;-><init>()V

    .line 5
    iget v1, p0, Landroidx/camera/extensions/internal/PreviewConfigProvider;->mEffectMode:I

    iget-object v2, p0, Landroidx/camera/extensions/internal/PreviewConfigProvider;->mImpl:Landroidx/camera/extensions/impl/PreviewExtenderImpl;

    iget-object v3, p0, Landroidx/camera/extensions/internal/PreviewConfigProvider;->mContext:Landroid/content/Context;

    invoke-static {v0, v1, v2, v3}, Landroidx/camera/extensions/PreviewExtender;->updateBuilderConfig(Landroidx/camera/core/Preview$Builder;ILandroidx/camera/extensions/impl/PreviewExtenderImpl;Landroid/content/Context;)V

    .line 6
    invoke-virtual {v0}, Landroidx/camera/core/Preview$Builder;->getUseCaseConfig()Landroidx/camera/core/impl/PreviewConfig;

    move-result-object v0

    return-object v0
.end method