Camera1Enumerator.smali
.class public Lorg/webrtc/ali/Camera1Enumerator;
.super Ljava/lang/Object;
.source "Camera1Enumerator.java"
# interfaces
.implements Lorg/webrtc/ali/CameraEnumerator;
# static fields
.field private static final TAG:Ljava/lang/String; = "Camera1Enumerator"
.field private static cachedSupportedFormats:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Ljava/util/List<",
"Lorg/webrtc/ali/CameraEnumerationAndroid$CaptureFormat;",
">;>;"
}
.end annotation
.end field
# instance fields
.field private final captureToTexture:Z
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>()V
.registers 2
.line 29
const/4 v0, 0x1
invoke-direct {p0, v0}, Lorg/webrtc/ali/Camera1Enumerator;-><init>(Z)V
.line 30
return-void
.end method
.method public constructor <init>(Z)V
.registers 2
.param p1, "captureToTexture" # Z
.line 32
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 33
iput-boolean p1, p0, Lorg/webrtc/ali/Camera1Enumerator;->captureToTexture:Z
.line 34
return-void
.end method
.method static convertFramerates(Ljava/util/List;)Ljava/util/List;
.registers 7
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"[I>;)",
"Ljava/util/List<",
"Lorg/webrtc/ali/CameraEnumerationAndroid$CaptureFormat$FramerateRange;",
">;"
}
.end annotation
.line 151
.local p0, "arrayRanges":Ljava/util/List;, "Ljava/util/List<[I>;"
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
.line 152
.local v0, "ranges":Ljava/util/List;, "Ljava/util/List<Lorg/webrtc/ali/CameraEnumerationAndroid$CaptureFormat$FramerateRange;>;"
invoke-interface {p0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_9
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_24
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, [I
.line 153
.local v2, "range":[I
new-instance v3, Lorg/webrtc/ali/CameraEnumerationAndroid$CaptureFormat$FramerateRange;
const/4 v4, 0x0
aget v4, v2, v4
const/4 v5, 0x1
aget v5, v2, v5
invoke-direct {v3, v4, v5}, Lorg/webrtc/ali/CameraEnumerationAndroid$CaptureFormat$FramerateRange;-><init>(II)V
invoke-interface {v0, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 156
.end local v2 # "range":[I
goto :goto_9
.line 157
:cond_24
return-object v0
.end method
.method static convertSizes(Ljava/util/List;)Ljava/util/List;
.registers 7
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Landroid/hardware/Camera$Size;",
">;)",
"Ljava/util/List<",
"Lorg/webrtc/ali/Size;",
">;"
}
.end annotation
.line 142
.local p0, "cameraSizes":Ljava/util/List;, "Ljava/util/List<Landroid/hardware/Camera$Size;>;"
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
.line 143
.local v0, "sizes":Ljava/util/List;, "Ljava/util/List<Lorg/webrtc/ali/Size;>;"
invoke-interface {p0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_9
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_22
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Landroid/hardware/Camera$Size;
.line 144
.local v2, "size":Landroid/hardware/Camera$Size;
new-instance v3, Lorg/webrtc/ali/Size;
iget v4, v2, Landroid/hardware/Camera$Size;->width:I
iget v5, v2, Landroid/hardware/Camera$Size;->height:I
invoke-direct {v3, v4, v5}, Lorg/webrtc/ali/Size;-><init>(II)V
invoke-interface {v0, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 145
.end local v2 # "size":Landroid/hardware/Camera$Size;
goto :goto_9
.line 146
:cond_22
return-object v0
.end method
.method private static enumerateFormats(I)Ljava/util/List;
.registers 16
.param p0, "cameraId" # I
.annotation system Ldalvik/annotation/Signature;
value = {
"(I)",
"Ljava/util/List<",
"Lorg/webrtc/ali/CameraEnumerationAndroid$CaptureFormat;",
">;"
}
.end annotation
.line 98
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Get supported formats for camera index "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v2, "."
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
const-string v2, "Camera1Enumerator"
invoke-static {v2, v0}, Lorg/webrtc/ali/Logging;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 99
invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
move-result-wide v3
.line 101
.local v3, "startTimeMs":J
const/4 v0, 0x0
.line 103
.local v0, "camera":Landroid/hardware/Camera;
:try_start_20
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
const-string v6, "Opening camera with index "
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5, p0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v5
invoke-static {v2, v5}, Lorg/webrtc/ali/Logging;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 104
invoke-static {p0}, Landroid/hardware/Camera;->open(I)Landroid/hardware/Camera;
move-result-object v5
move-object v0, v5
.line 105
invoke-virtual {v0}, Landroid/hardware/Camera;->getParameters()Landroid/hardware/Camera$Parameters;
move-result-object v5
:try_end_3d
.catch Ljava/lang/RuntimeException; {:try_start_20 .. :try_end_3d} :catch_c2
.catchall {:try_start_20 .. :try_end_3d} :catchall_c0
.line 110
.local v5, "parameters":Landroid/hardware/Camera$Parameters;
if-eqz v0, :cond_42
.line 111
invoke-virtual {v0}, Landroid/hardware/Camera;->release()V
.line 115
:cond_42
new-instance v6, Ljava/util/ArrayList;
invoke-direct {v6}, Ljava/util/ArrayList;-><init>()V
.line 117
.local v6, "formatList":Ljava/util/List;, "Ljava/util/List<Lorg/webrtc/ali/CameraEnumerationAndroid$CaptureFormat;>;"
const/4 v7, 0x0
.line 118
.local v7, "minFps":I
const/4 v8, 0x0
.line 119
.local v8, "maxFps":I
:try_start_49
invoke-virtual {v5}, Landroid/hardware/Camera$Parameters;->getSupportedPreviewFpsRange()Ljava/util/List;
move-result-object v9
.line 120
.local v9, "listFpsRange":Ljava/util/List;, "Ljava/util/List<[I>;"
if-eqz v9, :cond_62
.line 123
invoke-interface {v9}, Ljava/util/List;->size()I
move-result v10
const/4 v11, 0x1
sub-int/2addr v10, v11
invoke-interface {v9, v10}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v10
check-cast v10, [I
.line 124
.local v10, "range":[I
const/4 v12, 0x0
aget v12, v10, v12
move v7, v12
.line 125
aget v11, v10, v11
move v8, v11
.line 127
.end local v10 # "range":[I
:cond_62
invoke-virtual {v5}, Landroid/hardware/Camera$Parameters;->getSupportedPreviewSizes()Ljava/util/List;
move-result-object v10
invoke-interface {v10}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v10
:goto_6a
invoke-interface {v10}, Ljava/util/Iterator;->hasNext()Z
move-result v11
if-eqz v11, :cond_84
invoke-interface {v10}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v11
check-cast v11, Landroid/hardware/Camera$Size;
.line 128
.local v11, "size":Landroid/hardware/Camera$Size;
new-instance v12, Lorg/webrtc/ali/CameraEnumerationAndroid$CaptureFormat;
iget v13, v11, Landroid/hardware/Camera$Size;->width:I
iget v14, v11, Landroid/hardware/Camera$Size;->height:I
invoke-direct {v12, v13, v14, v7, v8}, Lorg/webrtc/ali/CameraEnumerationAndroid$CaptureFormat;-><init>(IIII)V
invoke-interface {v6, v12}, Ljava/util/List;->add(Ljava/lang/Object;)Z
:try_end_82
.catch Ljava/lang/Exception; {:try_start_49 .. :try_end_82} :catch_85
.line 129
nop
.end local v11 # "size":Landroid/hardware/Camera$Size;
goto :goto_6a
.line 132
.end local v7 # "minFps":I
.end local v8 # "maxFps":I
.end local v9 # "listFpsRange":Ljava/util/List;, "Ljava/util/List<[I>;"
:cond_84
goto :goto_9a
.line 130
:catch_85
move-exception v7
.line 131
.local v7, "e":Ljava/lang/Exception;
new-instance v8, Ljava/lang/StringBuilder;
invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
const-string v9, "getSupportedFormats() failed on camera index "
invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v8, p0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v8
invoke-static {v2, v8, v7}, Lorg/webrtc/ali/Logging;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
.line 134
.end local v7 # "e":Ljava/lang/Exception;
:goto_9a
invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
move-result-wide v7
.line 135
.local v7, "endTimeMs":J
new-instance v9, Ljava/lang/StringBuilder;
invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v9, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v9, p0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v1, " done. Time spent: "
invoke-virtual {v9, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
sub-long v10, v7, v3
invoke-virtual {v9, v10, v11}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
const-string v1, " ms."
invoke-virtual {v9, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v2, v1}, Lorg/webrtc/ali/Logging;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 137
return-object v6
.line 110
.end local v5 # "parameters":Landroid/hardware/Camera$Parameters;
.end local v6 # "formatList":Ljava/util/List;, "Ljava/util/List<Lorg/webrtc/ali/CameraEnumerationAndroid$CaptureFormat;>;"
.end local v7 # "endTimeMs":J
:catchall_c0
move-exception v1
goto :goto_e2
.line 106
:catch_c2
move-exception v1
.line 107
.local v1, "e":Ljava/lang/RuntimeException;
:try_start_c3
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
const-string v6, "Open camera failed on camera index "
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5, p0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v5
invoke-static {v2, v5, v1}, Lorg/webrtc/ali/Logging;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
.line 108
new-instance v2, Ljava/util/ArrayList;
invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
:try_end_dc
.catchall {:try_start_c3 .. :try_end_dc} :catchall_c0
.line 110
if-eqz v0, :cond_e1
.line 111
invoke-virtual {v0}, Landroid/hardware/Camera;->release()V
.line 108
:cond_e1
return-object v2
.line 110
.end local v1 # "e":Ljava/lang/RuntimeException;
:goto_e2
if-eqz v0, :cond_e7
.line 111
invoke-virtual {v0}, Landroid/hardware/Camera;->release()V
.line 113
:cond_e7
goto :goto_e9
:goto_e8
throw v1
:goto_e9
goto :goto_e8
.end method
.method static getCameraIndex(Ljava/lang/String;)I
.registers 4
.param p0, "deviceName" # Ljava/lang/String;
.line 163
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "getCameraIndex: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
const-string v1, "Camera1Enumerator"
invoke-static {v1, v0}, Lorg/webrtc/ali/Logging;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 164
const/4 v0, 0x0
.local v0, "i":I
:goto_17
invoke-static {}, Landroid/hardware/Camera;->getNumberOfCameras()I
move-result v1
if-ge v0, v1, :cond_2b
.line 165
invoke-static {v0}, Lorg/webrtc/ali/Camera1Enumerator;->getDeviceName(I)Ljava/lang/String;
move-result-object v1
invoke-virtual {p0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_28
.line 166
return v0
.line 164
:cond_28
add-int/lit8 v0, v0, 0x1
goto :goto_17
.line 169
.end local v0 # "i":I
:cond_2b
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "No such camera: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
goto :goto_43
:goto_42
throw v0
:goto_43
goto :goto_42
.end method
.method private static getCameraInfo(I)Landroid/hardware/Camera$CameraInfo;
.registers 5
.param p0, "index" # I
.line 77
new-instance v0, Landroid/hardware/Camera$CameraInfo;
invoke-direct {v0}, Landroid/hardware/Camera$CameraInfo;-><init>()V
.line 79
.local v0, "info":Landroid/hardware/Camera$CameraInfo;
:try_start_5
invoke-static {p0, v0}, Landroid/hardware/Camera;->getCameraInfo(ILandroid/hardware/Camera$CameraInfo;)V
:try_end_8
.catch Ljava/lang/Exception; {:try_start_5 .. :try_end_8} :catch_a
.line 83
nop
.line 84
return-object v0
.line 80
:catch_a
move-exception v1
.line 81
.local v1, "e":Ljava/lang/Exception;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "getCameraInfo failed on index "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
const-string v3, "Camera1Enumerator"
invoke-static {v3, v2, v1}, Lorg/webrtc/ali/Logging;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
.line 82
const/4 v2, 0x0
return-object v2
.end method
.method static getDeviceName(I)Ljava/lang/String;
.registers 5
.param p0, "index" # I
.line 175
invoke-static {p0}, Lorg/webrtc/ali/Camera1Enumerator;->getCameraInfo(I)Landroid/hardware/Camera$CameraInfo;
move-result-object v0
.line 176
.local v0, "info":Landroid/hardware/Camera$CameraInfo;
if-nez v0, :cond_8
.line 177
const/4 v1, 0x0
return-object v1
.line 180
:cond_8
iget v1, v0, Landroid/hardware/Camera$CameraInfo;->facing:I
const/4 v2, 0x1
if-ne v1, v2, :cond_10
const-string v1, "front"
goto :goto_12
:cond_10
const-string v1, "back"
.line 182
.local v1, "facing":Ljava/lang/String;
:goto_12
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Camera "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v3, ", Facing "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v3, ", Orientation "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v3, v0, Landroid/hardware/Camera$CameraInfo;->orientation:I
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
return-object v2
.end method
.method static declared-synchronized getSupportedFormats(I)Ljava/util/List;
.registers 5
.param p0, "cameraId" # I
.annotation system Ldalvik/annotation/Signature;
value = {
"(I)",
"Ljava/util/List<",
"Lorg/webrtc/ali/CameraEnumerationAndroid$CaptureFormat;",
">;"
}
.end annotation
const-class v0, Lorg/webrtc/ali/Camera1Enumerator;
monitor-enter v0
.line 88
:try_start_3
sget-object v1, Lorg/webrtc/ali/Camera1Enumerator;->cachedSupportedFormats:Ljava/util/List;
if-nez v1, :cond_21
.line 89
new-instance v1, Ljava/util/ArrayList;
invoke-direct {v1}, Ljava/util/ArrayList;-><init>()V
sput-object v1, Lorg/webrtc/ali/Camera1Enumerator;->cachedSupportedFormats:Ljava/util/List;
.line 90
const/4 v1, 0x0
.local v1, "i":I
:goto_f
invoke-static {}, Landroid/hardware/Camera;->getNumberOfCameras()I
move-result v2
if-ge v1, v2, :cond_21
.line 91
sget-object v2, Lorg/webrtc/ali/Camera1Enumerator;->cachedSupportedFormats:Ljava/util/List;
invoke-static {v1}, Lorg/webrtc/ali/Camera1Enumerator;->enumerateFormats(I)Ljava/util/List;
move-result-object v3
invoke-interface {v2, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 90
add-int/lit8 v1, v1, 0x1
goto :goto_f
.line 94
.end local v1 # "i":I
:cond_21
sget-object v1, Lorg/webrtc/ali/Camera1Enumerator;->cachedSupportedFormats:Ljava/util/List;
invoke-interface {v1, p0}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/util/List;
:try_end_29
.catchall {:try_start_3 .. :try_end_29} :catchall_2b
monitor-exit v0
return-object v1
.line 87
.end local p0 # "cameraId":I
:catchall_2b
move-exception p0
monitor-exit v0
goto :goto_2f
:goto_2e
throw p0
:goto_2f
goto :goto_2e
.end method
# virtual methods
.method public createCapturer(Ljava/lang/String;Lorg/webrtc/ali/CameraVideoCapturer$CameraEventsHandler;)Lorg/webrtc/ali/CameraVideoCapturer;
.registers 5
.param p1, "deviceName" # Ljava/lang/String;
.param p2, "eventsHandler" # Lorg/webrtc/ali/CameraVideoCapturer$CameraEventsHandler;
.line 73
new-instance v0, Lorg/webrtc/ali/Camera1Capturer;
iget-boolean v1, p0, Lorg/webrtc/ali/Camera1Enumerator;->captureToTexture:Z
invoke-direct {v0, p1, p2, v1}, Lorg/webrtc/ali/Camera1Capturer;-><init>(Ljava/lang/String;Lorg/webrtc/ali/CameraVideoCapturer$CameraEventsHandler;Z)V
return-object v0
.end method
.method public getDeviceNames()[Ljava/lang/String;
.registers 7
.line 39
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
.line 40
.local v0, "namesList":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Ljava/lang/String;>;"
const/4 v1, 0x0
.local v1, "i":I
:goto_6
invoke-static {}, Landroid/hardware/Camera;->getNumberOfCameras()I
move-result v2
if-ge v1, v2, :cond_4e
.line 41
invoke-static {v1}, Lorg/webrtc/ali/Camera1Enumerator;->getDeviceName(I)Ljava/lang/String;
move-result-object v2
.line 42
.local v2, "name":Ljava/lang/String;
const-string v3, "Index: "
const-string v4, "Camera1Enumerator"
if-eqz v2, :cond_34
.line 43
invoke-virtual {v0, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 44
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v3, ". "
invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-static {v4, v3}, Lorg/webrtc/ali/Logging;->d(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_4b
.line 46
:cond_34
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v3, ". Failed to query camera name."
invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-static {v4, v3}, Lorg/webrtc/ali/Logging;->e(Ljava/lang/String;Ljava/lang/String;)V
.line 40
.end local v2 # "name":Ljava/lang/String;
:goto_4b
add-int/lit8 v1, v1, 0x1
goto :goto_6
.line 49
.end local v1 # "i":I
:cond_4e
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
move-result v1
new-array v1, v1, [Ljava/lang/String;
.line 50
.local v1, "namesArray":[Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/util/ArrayList;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
move-result-object v2
check-cast v2, [Ljava/lang/String;
return-object v2
.end method
.method public getSupportedFormats(Ljava/lang/String;)Ljava/util/List;
.registers 3
.param p1, "deviceName" # Ljava/lang/String;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Ljava/util/List<",
"Lorg/webrtc/ali/CameraEnumerationAndroid$CaptureFormat;",
">;"
}
.end annotation
.line 67
invoke-static {p1}, Lorg/webrtc/ali/Camera1Enumerator;->getCameraIndex(Ljava/lang/String;)I
move-result v0
invoke-static {v0}, Lorg/webrtc/ali/Camera1Enumerator;->getSupportedFormats(I)Ljava/util/List;
move-result-object v0
return-object v0
.end method
.method public isBackFacing(Ljava/lang/String;)Z
.registers 4
.param p1, "deviceName" # Ljava/lang/String;
.line 61
invoke-static {p1}, Lorg/webrtc/ali/Camera1Enumerator;->getCameraIndex(Ljava/lang/String;)I
move-result v0
invoke-static {v0}, Lorg/webrtc/ali/Camera1Enumerator;->getCameraInfo(I)Landroid/hardware/Camera$CameraInfo;
move-result-object v0
.line 62
.local v0, "info":Landroid/hardware/Camera$CameraInfo;
if-eqz v0, :cond_10
iget v1, v0, Landroid/hardware/Camera$CameraInfo;->facing:I
if-nez v1, :cond_10
const/4 v1, 0x1
goto :goto_11
:cond_10
const/4 v1, 0x0
:goto_11
return v1
.end method
.method public isFrontFacing(Ljava/lang/String;)Z
.registers 5
.param p1, "deviceName" # Ljava/lang/String;
.line 55
invoke-static {p1}, Lorg/webrtc/ali/Camera1Enumerator;->getCameraIndex(Ljava/lang/String;)I
move-result v0
invoke-static {v0}, Lorg/webrtc/ali/Camera1Enumerator;->getCameraInfo(I)Landroid/hardware/Camera$CameraInfo;
move-result-object v0
.line 56
.local v0, "info":Landroid/hardware/Camera$CameraInfo;
const/4 v1, 0x1
if-eqz v0, :cond_10
iget v2, v0, Landroid/hardware/Camera$CameraInfo;->facing:I
if-ne v2, v1, :cond_10
goto :goto_11
:cond_10
const/4 v1, 0x0
:goto_11
return v1
.end method