ImageCaptureExtender.smali

.class public abstract Landroidx/camera/extensions/ImageCaptureExtender;
.super Ljava/lang/Object;
.source "SourceFile"


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Landroidx/camera/extensions/ImageCaptureExtender$ImageCaptureAdapter;
    }
.end annotation


# static fields
.field static final OPTION_IMAGE_CAPTURE_EXTENDER_MODE:Landroidx/camera/core/impl/Config$Option;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Landroidx/camera/core/impl/Config$Option<",
            "Ljava/lang/Integer;",
            ">;"
        }
    .end annotation
.end field

.field private static final TAG:Ljava/lang/String; = "ImageCaptureExtender"


# instance fields
.field private mBuilder:Landroidx/camera/core/ImageCapture$Builder;

.field private mEffectMode:I

.field private mExtensionCameraFilter:Landroidx/camera/extensions/ExtensionCameraFilter;

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


# direct methods
.method static constructor <clinit>()V
    .registers 2

    .line 1
    .line 2
    const-string v0, "camerax.extensions.imageCaptureExtender.mode"

    .line 3
    .line 4
    const-class v1, Ljava/lang/Integer;

    .line 5
    .line 6
    .line 7
    invoke-static {v0, v1}, Landroidx/camera/core/impl/Config$Option;->create(Ljava/lang/String;Ljava/lang/Class;)Landroidx/camera/core/impl/Config$Option;

    .line 8
    move-result-object v0

    .line 9
    .line 10
    sput-object v0, Landroidx/camera/extensions/ImageCaptureExtender;->OPTION_IMAGE_CAPTURE_EXTENDER_MODE:Landroidx/camera/core/impl/Config$Option;

    .line 11
    return-void
    .line 12
    .line 13
    .line 14
    .line 15
    .line 16
    .line 17
    .line 18
    .line 19
    .line 20
    .line 21
    .line 22
    .line 23
    .line 24
.end method

.method public constructor <init>()V
    .registers 1

    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    return-void
.end method

.method public static synthetic a(ILjava/util/Collection;)V
    .registers 2

    invoke-static {p0, p1}, Landroidx/camera/extensions/ImageCaptureExtender;->lambda$updateBuilderConfig$0(ILjava/util/Collection;)V

    return-void
.end method

.method static checkPreviewEnabled(ILjava/util/Collection;)V
    .registers 8
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(I",
            "Ljava/util/Collection<",
            "Landroidx/camera/core/UseCase;",
            ">;)V"
        }
    .end annotation

    .line 1
    .line 2
    if-eqz p1, :cond_48

    .line 3
    .line 4
    .line 5
    invoke-interface {p1}, Ljava/util/Collection;->isEmpty()Z

    .line 6
    move-result v0

    .line 7
    .line 8
    if-eqz v0, :cond_9

    .line 9
    goto :goto_48

    .line 10
    .line 11
    .line 12
    :cond_9
    invoke-interface {p1}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;

    .line 13
    move-result-object p1

    .line 14
    const/4 v0, 0x0

    .line 15
    move v1, v0

    .line 16
    move v2, v1

    .line 17
    .line 18
    .line 19
    :cond_10
    :goto_10
    invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z

    .line 20
    move-result v3

    .line 21
    .line 22
    if-eqz v3, :cond_39

    .line 23
    .line 24
    .line 25
    invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    .line 26
    move-result-object v3

    .line 27
    .line 28
    check-cast v3, Landroidx/camera/core/UseCase;

    .line 29
    .line 30
    .line 31
    invoke-virtual {v3}, Landroidx/camera/core/UseCase;->getCurrentConfig()Landroidx/camera/core/impl/UseCaseConfig;

    .line 32
    move-result-object v3

    .line 33
    .line 34
    sget-object v4, Landroidx/camera/extensions/PreviewExtender;->OPTION_PREVIEW_EXTENDER_MODE:Landroidx/camera/core/impl/Config$Option;

    .line 35
    .line 36
    .line 37
    invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    .line 38
    move-result-object v5

    .line 39
    .line 40
    .line 41
    invoke-interface {v3, v4, v5}, Landroidx/camera/core/impl/ReadableConfig;->retrieveOption(Landroidx/camera/core/impl/Config$Option;Ljava/lang/Object;)Ljava/lang/Object;

    .line 42
    move-result-object v3

    .line 43
    .line 44
    check-cast v3, Ljava/lang/Integer;

    .line 45
    .line 46
    .line 47
    invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I

    .line 48
    move-result v3

    .line 49
    const/4 v4, 0x1

    .line 50
    .line 51
    if-ne p0, v3, :cond_35

    .line 52
    move v2, v4

    .line 53
    goto :goto_10

    .line 54
    .line 55
    :cond_35
    if-eqz v3, :cond_10

    .line 56
    move v1, v4

    .line 57
    goto :goto_10

    .line 58
    .line 59
    :cond_39
    if-eqz v1, :cond_41

    .line 60
    .line 61
    sget-object p0, Landroidx/camera/extensions/ExtensionsErrorListener$ExtensionsErrorCode;->MISMATCHED_EXTENSIONS_ENABLED:Landroidx/camera/extensions/ExtensionsErrorListener$ExtensionsErrorCode;

    .line 62
    .line 63
    .line 64
    invoke-static {p0}, Landroidx/camera/extensions/ExtensionsManager;->postExtensionsError(Landroidx/camera/extensions/ExtensionsErrorListener$ExtensionsErrorCode;)V

    .line 65
    goto :goto_48

    .line 66
    .line 67
    :cond_41
    if-nez v2, :cond_48

    .line 68
    .line 69
    sget-object p0, Landroidx/camera/extensions/ExtensionsErrorListener$ExtensionsErrorCode;->PREVIEW_EXTENSION_REQUIRED:Landroidx/camera/extensions/ExtensionsErrorListener$ExtensionsErrorCode;

    .line 70
    .line 71
    .line 72
    invoke-static {p0}, Landroidx/camera/extensions/ExtensionsManager;->postExtensionsError(Landroidx/camera/extensions/ExtensionsErrorListener$ExtensionsErrorCode;)V

    .line 73
    :cond_48
    :goto_48
    return-void
    .line 74
    .line 75
    .line 76
    .line 77
    .line 78
    .line 79
    .line 80
    .line 81
    .line 82
    .line 83
    .line 84
    .line 85
    .line 86
    .line 87
    .line 88
    .line 89
    .line 90
    .line 91
    .line 92
    .line 93
    .line 94
    .line 95
    .line 96
    .line 97
    .line 98
    .line 99
    .line 100
    .line 101
    .line 102
    .line 103
    .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
    .line 134
    .line 135
    .line 136
    .line 137
    .line 138
    .line 139
    .line 140
    .line 141
    .line 142
    .line 143
    .line 144
    .line 145
    .line 146
    .line 147
    .line 148
    .line 149
    .line 150
    .line 151
    .line 152
    .line 153
    .line 154
    .line 155
    .line 156
    .line 157
    .line 158
    .line 159
    .line 160
    .line 161
    .line 162
    .line 163
    .line 164
    .line 165
    .line 166
    .line 167
    .line 168
    .line 169
    .line 170
    .line 171
    .line 172
    .line 173
    .line 174
    .line 175
    .line 176
    .line 177
    .line 178
    .line 179
    .line 180
    .line 181
    .line 182
    .line 183
    .line 184
    .line 185
    .line 186
    .line 187
    .line 188
    .line 189
    .line 190
    .line 191
    .line 192
    .line 193
    .line 194
    .line 195
    .line 196
    .line 197
    .line 198
    .line 199
    .line 200
    .line 201
    .line 202
    .line 203
    .line 204
    .line 205
    .line 206
    .line 207
    .line 208
    .line 209
    .line 210
    .line 211
    .line 212
    .line 213
    .line 214
    .line 215
    .line 216
    .line 217
    .line 218
    .line 219
    .line 220
    .line 221
    .line 222
    .line 223
    .line 224
    .line 225
    .line 226
    .line 227
    .line 228
    .line 229
    .line 230
    .line 231
    .line 232
    .line 233
    .line 234
    .line 235
    .line 236
    .line 237
    .line 238
    .line 239
    .line 240
    .line 241
    .line 242
    .line 243
    .line 244
    .line 245
    .line 246
    .line 247
    .line 248
    .line 249
    .line 250
    .line 251
    .line 252
    .line 253
    .line 254
    .line 255
    .line 256
    .line 257
    .line 258
    .line 259
    .line 260
    .line 261
    .line 262
    .line 263
    .line 264
    .line 265
    .line 266
    .line 267
    .line 268
    .line 269
    .line 270
    .line 271
    .line 272
    .line 273
    .line 274
    .line 275
.end method

.method private getCameraWithExtension(Landroidx/camera/core/CameraSelector;)Ljava/lang/String;
    .registers 3
    .param p1    # Landroidx/camera/core/CameraSelector;
        .annotation build Landroidx/annotation/NonNull;
        .end annotation
    .end param
    .annotation build Landroidx/annotation/experimental/UseExperimental;
        markerClass = Landroidx/camera/core/ExperimentalCameraFilter;
    .end annotation

    .line 1
    .line 2
    .line 3
    invoke-static {p1}, Landroidx/camera/core/CameraSelector$Builder;->fromSelector(Landroidx/camera/core/CameraSelector;)Landroidx/camera/core/CameraSelector$Builder;

    .line 4
    move-result-object p1

    .line 5
    .line 6
    iget-object v0, p0, Landroidx/camera/extensions/ImageCaptureExtender;->mExtensionCameraFilter:Landroidx/camera/extensions/ExtensionCameraFilter;

    .line 7
    .line 8
    .line 9
    invoke-virtual {p1, v0}, Landroidx/camera/core/CameraSelector$Builder;->addCameraFilter(Landroidx/camera/core/CameraFilter;)Landroidx/camera/core/CameraSelector$Builder;

    .line 10
    .line 11
    .line 12
    invoke-virtual {p1}, Landroidx/camera/core/CameraSelector$Builder;->build()Landroidx/camera/core/CameraSelector;

    .line 13
    move-result-object p1

    .line 14
    .line 15
    .line 16
    invoke-static {p1}, Landroidx/camera/extensions/CameraUtil;->getCameraIdUnchecked(Landroidx/camera/core/CameraSelector;)Ljava/lang/String;

    .line 17
    move-result-object p1

    .line 18
    return-object p1
    .line 19
    .line 20
    .line 21
    .line 22
    .line 23
    .line 24
    .line 25
    .line 26
    .line 27
.end method

.method public static getSupportedResolutions(Landroidx/camera/extensions/impl/ImageCaptureExtenderImpl;)Ljava/util/List;
    .registers 3
    .param p0    # Landroidx/camera/extensions/impl/ImageCaptureExtenderImpl;
        .annotation build Landroidx/annotation/NonNull;
        .end annotation
    .end param
    .annotation build Landroidx/annotation/Nullable;
    .end annotation

    .annotation build Landroidx/annotation/RestrictTo;
        value = {
            .enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
        }
    .end annotation

    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Landroidx/camera/extensions/impl/ImageCaptureExtenderImpl;",
            ")",
            "Ljava/util/List<",
            "Landroid/util/Pair<",
            "Ljava/lang/Integer;",
            "[",
            "Landroid/util/Size;",
            ">;>;"
        }
    .end annotation

    .line 1
    .line 2
    .line 3
    invoke-static {}, Landroidx/camera/extensions/ExtensionVersion;->getRuntimeVersion()Landroidx/camera/extensions/Version;

    .line 4
    move-result-object v0

    .line 5
    .line 6
    sget-object v1, Landroidx/camera/extensions/Version;->VERSION_1_1:Landroidx/camera/extensions/Version;

    .line 7
    .line 8
    .line 9
    invoke-virtual {v0, v1}, Landroidx/camera/extensions/Version;->compareTo(Landroidx/camera/extensions/Version;)I

    .line 10
    move-result v0

    .line 11
    const/4 v1, 0x0

    .line 12
    .line 13
    if-gez v0, :cond_e

    .line 14
    return-object v1

    .line 15
    .line 16
    .line 17
    :cond_e
    :try_start_e
    invoke-interface {p0}, Landroidx/camera/extensions/impl/ImageCaptureExtenderImpl;->getSupportedResolutions()Ljava/util/List;

    .line 18
    move-result-object p0
    :try_end_12
    .catch Ljava/lang/NoSuchMethodError; {:try_start_e .. :try_end_12} :catch_13

    .line 19
    return-object p0

    .line 20
    .line 21
    :catch_13
    const-string p0, "ImageCaptureExtender"

    .line 22
    .line 23
    const-string v0, "getSupportedResolution interface is not implemented in vendor library."

    .line 24
    .line 25
    .line 26
    invoke-static {p0, v0}, Landroidx/camera/core/Logger;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 27
    return-object v1
.end method

.method private static synthetic lambda$updateBuilderConfig$0(ILjava/util/Collection;)V
    .registers 2

    invoke-static {p0, p1}, Landroidx/camera/extensions/ImageCaptureExtender;->checkPreviewEnabled(ILjava/util/Collection;)V

    return-void
.end method

.method public static updateBuilderConfig(Landroidx/camera/core/ImageCapture$Builder;ILandroidx/camera/extensions/impl/ImageCaptureExtenderImpl;Landroid/content/Context;)V
    .registers 8
    .param p0    # Landroidx/camera/core/ImageCapture$Builder;
        .annotation build Landroidx/annotation/NonNull;
        .end annotation
    .end param
    .param p2    # Landroidx/camera/extensions/impl/ImageCaptureExtenderImpl;
        .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/RestrictTo;
        value = {
            .enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
        }
    .end annotation

    .line 1
    .line 2
    .line 3
    invoke-interface {p2}, Landroidx/camera/extensions/impl/ImageCaptureExtenderImpl;->getCaptureProcessor()Landroidx/camera/extensions/impl/CaptureProcessorImpl;

    .line 4
    move-result-object v0

    .line 5
    .line 6
    if-eqz v0, :cond_e

    .line 7
    .line 8
    new-instance v1, Landroidx/camera/extensions/internal/AdaptingCaptureProcessor;

    .line 9
    .line 10
    .line 11
    invoke-direct {v1, v0}, Landroidx/camera/extensions/internal/AdaptingCaptureProcessor;-><init>(Landroidx/camera/extensions/impl/CaptureProcessorImpl;)V

    .line 12
    .line 13
    .line 14
    invoke-virtual {p0, v1}, Landroidx/camera/core/ImageCapture$Builder;->setCaptureProcessor(Landroidx/camera/core/impl/CaptureProcessor;)Landroidx/camera/core/ImageCapture$Builder;

    .line 15
    .line 16
    .line 17
    :cond_e
    invoke-interface {p2}, Landroidx/camera/extensions/impl/ImageCaptureExtenderImpl;->getMaxCaptureStage()I

    .line 18
    move-result v0

    .line 19
    .line 20
    if-lez v0, :cond_1b

    .line 21
    .line 22
    .line 23
    invoke-interface {p2}, Landroidx/camera/extensions/impl/ImageCaptureExtenderImpl;->getMaxCaptureStage()I

    .line 24
    move-result v0

    .line 25
    .line 26
    .line 27
    invoke-virtual {p0, v0}, Landroidx/camera/core/ImageCapture$Builder;->setMaxCaptureStages(I)Landroidx/camera/core/ImageCapture$Builder;

    .line 28
    .line 29
    :cond_1b
    new-instance v0, Landroidx/camera/extensions/ImageCaptureExtender$ImageCaptureAdapter;

    .line 30
    .line 31
    .line 32
    invoke-direct {v0, p2, p3}, Landroidx/camera/extensions/ImageCaptureExtender$ImageCaptureAdapter;-><init>(Landroidx/camera/extensions/impl/ImageCaptureExtenderImpl;Landroid/content/Context;)V

    .line 33
    .line 34
    new-instance p3, Landroidx/camera/camera2/impl/Camera2ImplConfig$Extender;

    .line 35
    .line 36
    .line 37
    invoke-direct {p3, p0}, Landroidx/camera/camera2/impl/Camera2ImplConfig$Extender;-><init>(Landroidx/camera/core/ExtendableBuilder;)V

    .line 38
    .line 39
    new-instance v1, Landroidx/camera/camera2/impl/CameraEventCallbacks;

    .line 40
    const/4 v2, 0x1

    .line 41
    .line 42
    new-array v2, v2, [Landroidx/camera/camera2/impl/CameraEventCallback;

    .line 43
    const/4 v3, 0x0

    .line 44
    .line 45
    aput-object v0, v2, v3

    .line 46
    .line 47
    .line 48
    invoke-direct {v1, v2}, Landroidx/camera/camera2/impl/CameraEventCallbacks;-><init>([Landroidx/camera/camera2/impl/CameraEventCallback;)V

    .line 49
    .line 50
    .line 51
    invoke-virtual {p3, v1}, Landroidx/camera/camera2/impl/Camera2ImplConfig$Extender;->setCameraEventCallback(Landroidx/camera/camera2/impl/CameraEventCallbacks;)Landroidx/camera/camera2/impl/Camera2ImplConfig$Extender;

    .line 52
    .line 53
    .line 54
    invoke-virtual {p0, v0}, Landroidx/camera/core/ImageCapture$Builder;->setUseCaseEventCallback(Landroidx/camera/core/UseCase$EventCallback;)Landroidx/camera/core/ImageCapture$Builder;

    .line 55
    .line 56
    :try_start_36
    new-instance p3, Landroidx/camera/extensions/c;

    .line 57
    .line 58
    .line 59
    invoke-direct {p3, p1}, Landroidx/camera/extensions/c;-><init>(I)V

    .line 60
    .line 61
    .line 62
    invoke-virtual {p0, p3}, Landroidx/camera/core/ImageCapture$Builder;->setAttachedUseCasesUpdateListener(Landroidx/core/util/Consumer;)Landroidx/camera/core/ImageCapture$Builder;
    :try_end_3e
    .catch Ljava/lang/NoSuchMethodError; {:try_start_36 .. :try_end_3e} :catch_3f

    .line 63
    goto :goto_46

    .line 64
    .line 65
    :catch_3f
    const-string p3, "ImageCaptureExtender"

    .line 66
    .line 67
    const-string v1, "Can\'t set attached use cases update listener."

    .line 68
    .line 69
    .line 70
    invoke-static {p3, v1}, Landroidx/camera/core/Logger;->e(Ljava/lang/String;Ljava/lang/String;)V

    .line 71
    .line 72
    .line 73
    :goto_46
    invoke-virtual {p0, v0}, Landroidx/camera/core/ImageCapture$Builder;->setCaptureBundle(Landroidx/camera/core/impl/CaptureBundle;)Landroidx/camera/core/ImageCapture$Builder;

    .line 74
    .line 75
    .line 76
    invoke-virtual {p0}, Landroidx/camera/core/ImageCapture$Builder;->getMutableConfig()Landroidx/camera/core/impl/MutableConfig;

    .line 77
    move-result-object p3

    .line 78
    .line 79
    sget-object v0, Landroidx/camera/extensions/ImageCaptureExtender;->OPTION_IMAGE_CAPTURE_EXTENDER_MODE:Landroidx/camera/core/impl/Config$Option;

    .line 80
    .line 81
    .line 82
    invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    .line 83
    move-result-object p1

    .line 84
    .line 85
    .line 86
    invoke-interface {p3, v0, p1}, Landroidx/camera/core/impl/MutableConfig;->insertOption(Landroidx/camera/core/impl/Config$Option;Ljava/lang/Object;)V

    .line 87
    .line 88
    .line 89
    invoke-static {p2}, Landroidx/camera/extensions/ImageCaptureExtender;->getSupportedResolutions(Landroidx/camera/extensions/impl/ImageCaptureExtenderImpl;)Ljava/util/List;

    .line 90
    move-result-object p1

    .line 91
    .line 92
    if-eqz p1, :cond_5f

    .line 93
    .line 94
    .line 95
    invoke-virtual {p0, p1}, Landroidx/camera/core/ImageCapture$Builder;->setSupportedResolutions(Ljava/util/List;)Landroidx/camera/core/ImageCapture$Builder;

    .line 96
    :cond_5f
    return-void
    .line 97
    .line 98
    .line 99
    .line 100
    .line 101
    .line 102
    .line 103
    .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
    .line 134
    .line 135
    .line 136
    .line 137
    .line 138
    .line 139
    .line 140
    .line 141
    .line 142
    .line 143
    .line 144
    .line 145
    .line 146
    .line 147
    .line 148
    .line 149
    .line 150
    .line 151
    .line 152
    .line 153
    .line 154
    .line 155
    .line 156
    .line 157
    .line 158
    .line 159
    .line 160
    .line 161
    .line 162
    .line 163
    .line 164
    .line 165
    .line 166
    .line 167
    .line 168
    .line 169
    .line 170
    .line 171
    .line 172
    .line 173
    .line 174
    .line 175
    .line 176
    .line 177
    .line 178
    .line 179
    .line 180
    .line 181
    .line 182
    .line 183
    .line 184
    .line 185
    .line 186
    .line 187
    .line 188
    .line 189
    .line 190
    .line 191
    .line 192
    .line 193
    .line 194
    .line 195
    .line 196
    .line 197
    .line 198
    .line 199
    .line 200
    .line 201
    .line 202
    .line 203
    .line 204
    .line 205
    .line 206
    .line 207
    .line 208
    .line 209
    .line 210
    .line 211
    .line 212
    .line 213
    .line 214
    .line 215
    .line 216
    .line 217
    .line 218
    .line 219
    .line 220
    .line 221
    .line 222
    .line 223
    .line 224
    .line 225
    .line 226
    .line 227
    .line 228
    .line 229
    .line 230
    .line 231
    .line 232
    .line 233
    .line 234
    .line 235
    .line 236
    .line 237
    .line 238
    .line 239
    .line 240
    .line 241
    .line 242
    .line 243
.end method


# virtual methods
.method public enableExtension(Landroidx/camera/core/CameraSelector;)V
    .registers 5
    .param p1    # Landroidx/camera/core/CameraSelector;
        .annotation build Landroidx/annotation/NonNull;
        .end annotation
    .end param
    .annotation build Landroidx/annotation/experimental/UseExperimental;
        markerClass = Landroidx/camera/core/ExperimentalCameraFilter;
    .end annotation

    .line 1
    .line 2
    .line 3
    invoke-direct {p0, p1}, Landroidx/camera/extensions/ImageCaptureExtender;->getCameraWithExtension(Landroidx/camera/core/CameraSelector;)Ljava/lang/String;

    .line 4
    move-result-object p1

    .line 5
    .line 6
    if-nez p1, :cond_7

    .line 7
    return-void

    .line 8
    .line 9
    :cond_7
    iget-object v0, p0, Landroidx/camera/extensions/ImageCaptureExtender;->mBuilder:Landroidx/camera/core/ImageCapture$Builder;

    .line 10
    .line 11
    .line 12
    invoke-virtual {v0}, Landroidx/camera/core/ImageCapture$Builder;->getUseCaseConfig()Landroidx/camera/core/impl/ImageCaptureConfig;

    .line 13
    move-result-object v0

    .line 14
    const/4 v1, 0x0

    .line 15
    .line 16
    .line 17
    invoke-virtual {v0, v1}, Landroidx/camera/core/impl/ImageCaptureConfig;->getCameraSelector(Landroidx/camera/core/CameraSelector;)Landroidx/camera/core/CameraSelector;

    .line 18
    move-result-object v0

    .line 19
    .line 20
    if-nez v0, :cond_29

    .line 21
    .line 22
    iget-object v0, p0, Landroidx/camera/extensions/ImageCaptureExtender;->mBuilder:Landroidx/camera/core/ImageCapture$Builder;

    .line 23
    .line 24
    new-instance v1, Landroidx/camera/core/CameraSelector$Builder;

    .line 25
    .line 26
    .line 27
    invoke-direct {v1}, Landroidx/camera/core/CameraSelector$Builder;-><init>()V

    .line 28
    .line 29
    iget-object v2, p0, Landroidx/camera/extensions/ImageCaptureExtender;->mExtensionCameraFilter:Landroidx/camera/extensions/ExtensionCameraFilter;

    .line 30
    .line 31
    .line 32
    invoke-virtual {v1, v2}, Landroidx/camera/core/CameraSelector$Builder;->addCameraFilter(Landroidx/camera/core/CameraFilter;)Landroidx/camera/core/CameraSelector$Builder;

    .line 33
    move-result-object v1

    .line 34
    .line 35
    .line 36
    invoke-virtual {v1}, Landroidx/camera/core/CameraSelector$Builder;->build()Landroidx/camera/core/CameraSelector;

    .line 37
    move-result-object v1

    .line 38
    .line 39
    .line 40
    invoke-virtual {v0, v1}, Landroidx/camera/core/ImageCapture$Builder;->setCameraSelector(Landroidx/camera/core/CameraSelector;)Landroidx/camera/core/ImageCapture$Builder;

    .line 41
    goto :goto_3c

    .line 42
    .line 43
    :cond_29
    iget-object v1, p0, Landroidx/camera/extensions/ImageCaptureExtender;->mBuilder:Landroidx/camera/core/ImageCapture$Builder;

    .line 44
    .line 45
    .line 46
    invoke-static {v0}, Landroidx/camera/core/CameraSelector$Builder;->fromSelector(Landroidx/camera/core/CameraSelector;)Landroidx/camera/core/CameraSelector$Builder;

    .line 47
    move-result-object v0

    .line 48
    .line 49
    iget-object v2, p0, Landroidx/camera/extensions/ImageCaptureExtender;->mExtensionCameraFilter:Landroidx/camera/extensions/ExtensionCameraFilter;

    .line 50
    .line 51
    .line 52
    invoke-virtual {v0, v2}, Landroidx/camera/core/CameraSelector$Builder;->addCameraFilter(Landroidx/camera/core/CameraFilter;)Landroidx/camera/core/CameraSelector$Builder;

    .line 53
    move-result-object v0

    .line 54
    .line 55
    .line 56
    invoke-virtual {v0}, Landroidx/camera/core/CameraSelector$Builder;->build()Landroidx/camera/core/CameraSelector;

    .line 57
    move-result-object v0

    .line 58
    .line 59
    .line 60
    invoke-virtual {v1, v0}, Landroidx/camera/core/ImageCapture$Builder;->setCameraSelector(Landroidx/camera/core/CameraSelector;)Landroidx/camera/core/ImageCapture$Builder;

    .line 61
    .line 62
    .line 63
    :goto_3c
    invoke-static {p1}, Landroidx/camera/extensions/CameraUtil;->getCameraCharacteristics(Ljava/lang/String;)Landroid/hardware/camera2/CameraCharacteristics;

    .line 64
    move-result-object v0

    .line 65
    .line 66
    iget-object v1, p0, Landroidx/camera/extensions/ImageCaptureExtender;->mImpl:Landroidx/camera/extensions/impl/ImageCaptureExtenderImpl;

    .line 67
    .line 68
    .line 69
    invoke-interface {v1, p1, v0}, Landroidx/camera/extensions/impl/ImageCaptureExtenderImpl;->init(Ljava/lang/String;Landroid/hardware/camera2/CameraCharacteristics;)V

    .line 70
    .line 71
    .line 72
    invoke-static {}, Landroidx/camera/core/CameraX;->getContext()Landroid/content/Context;

    .line 73
    move-result-object p1

    .line 74
    .line 75
    iget-object v0, p0, Landroidx/camera/extensions/ImageCaptureExtender;->mBuilder:Landroidx/camera/core/ImageCapture$Builder;

    .line 76
    .line 77
    iget v1, p0, Landroidx/camera/extensions/ImageCaptureExtender;->mEffectMode:I

    .line 78
    .line 79
    iget-object v2, p0, Landroidx/camera/extensions/ImageCaptureExtender;->mImpl:Landroidx/camera/extensions/impl/ImageCaptureExtenderImpl;

    .line 80
    .line 81
    .line 82
    invoke-static {v0, v1, v2, p1}, Landroidx/camera/extensions/ImageCaptureExtender;->updateBuilderConfig(Landroidx/camera/core/ImageCapture$Builder;ILandroidx/camera/extensions/impl/ImageCaptureExtenderImpl;Landroid/content/Context;)V

    .line 83
    return-void
    .line 84
    .line 85
    .line 86
    .line 87
    .line 88
.end method

.method init(Landroidx/camera/core/ImageCapture$Builder;Landroidx/camera/extensions/impl/ImageCaptureExtenderImpl;I)V
    .registers 4
    .annotation build Landroidx/annotation/experimental/UseExperimental;
        markerClass = Landroidx/camera/core/ExperimentalCameraFilter;
    .end annotation

    .line 1
    .line 2
    iput-object p1, p0, Landroidx/camera/extensions/ImageCaptureExtender;->mBuilder:Landroidx/camera/core/ImageCapture$Builder;

    .line 3
    .line 4
    iput-object p2, p0, Landroidx/camera/extensions/ImageCaptureExtender;->mImpl:Landroidx/camera/extensions/impl/ImageCaptureExtenderImpl;

    .line 5
    .line 6
    iput p3, p0, Landroidx/camera/extensions/ImageCaptureExtender;->mEffectMode:I

    .line 7
    .line 8
    new-instance p1, Landroidx/camera/extensions/ExtensionCameraFilter;

    .line 9
    .line 10
    .line 11
    invoke-direct {p1, p2}, Landroidx/camera/extensions/ExtensionCameraFilter;-><init>(Landroidx/camera/extensions/impl/ImageCaptureExtenderImpl;)V

    .line 12
    .line 13
    iput-object p1, p0, Landroidx/camera/extensions/ImageCaptureExtender;->mExtensionCameraFilter:Landroidx/camera/extensions/ExtensionCameraFilter;

    .line 14
    return-void
    .line 15
    .line 16
    .line 17
    .line 18
    .line 19
    .line 20
    .line 21
    .line 22
    .line 23
    .line 24
    .line 25
    .line 26
    .line 27
    .line 28
    .line 29
    .line 30
    .line 31
    .line 32
    .line 33
    .line 34
    .line 35
    .line 36
    .line 37
    .line 38
    .line 39
    .line 40
    .line 41
    .line 42
    .line 43
    .line 44
    .line 45
    .line 46
    .line 47
    .line 48
    .line 49
    .line 50
    .line 51
    .line 52
    .line 53
    .line 54
    .line 55
    .line 56
    .line 57
    .line 58
    .line 59
    .line 60
    .line 61
    .line 62
    .line 63
    .line 64
    .line 65
    .line 66
    .line 67
    .line 68
    .line 69
    .line 70
    .line 71
    .line 72
    .line 73
    .line 74
    .line 75
    .line 76
    .line 77
    .line 78
    .line 79
    .line 80
    .line 81
    .line 82
    .line 83
    .line 84
    .line 85
    .line 86
    .line 87
    .line 88
    .line 89
    .line 90
    .line 91
    .line 92
    .line 93
    .line 94
    .line 95
    .line 96
    .line 97
    .line 98
    .line 99
    .line 100
    .line 101
    .line 102
    .line 103
    .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

.method public isExtensionAvailable(Landroidx/camera/core/CameraSelector;)Z
    .registers 2
    .param p1    # Landroidx/camera/core/CameraSelector;
        .annotation build Landroidx/annotation/NonNull;
        .end annotation
    .end param

    invoke-direct {p0, p1}, Landroidx/camera/extensions/ImageCaptureExtender;->getCameraWithExtension(Landroidx/camera/core/CameraSelector;)Ljava/lang/String;

    move-result-object p1

    if-eqz p1, :cond_8

    const/4 p1, 0x1

    goto :goto_9

    :cond_8
    const/4 p1, 0x0

    :goto_9
    return p1
.end method