CameraController.smali
.class public Lim/tpelyyftgw/messenger/camera/CameraController;
.super Ljava/lang/Object;
.source "CameraController.java"
# interfaces
.implements Landroid/media/MediaRecorder$OnInfoListener;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lim/tpelyyftgw/messenger/camera/CameraController$CompareSizesByArea;,
Lim/tpelyyftgw/messenger/camera/CameraController$VideoTakeCallback;
}
.end annotation
# static fields
.field private static final CORE_POOL_SIZE:I = 0x1
.field private static volatile Instance:Lim/tpelyyftgw/messenger/camera/CameraController; = null
.field private static final KEEP_ALIVE_SECONDS:I = 0x3c
.field private static final MAX_POOL_SIZE:I = 0x1
# instance fields
.field protected availableFlashModes:Ljava/util/ArrayList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/ArrayList<",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
.field protected volatile cameraInfos:Ljava/util/ArrayList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/ArrayList<",
"Lim/tpelyyftgw/messenger/camera/CameraInfo;",
">;"
}
.end annotation
.end field
.field private cameraInitied:Z
.field private loadingCameras:Z
.field private onFinishCameraInitRunnables:Ljava/util/ArrayList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/ArrayList<",
"Ljava/lang/Runnable;",
">;"
}
.end annotation
.end field
.field private onVideoTakeCallback:Lim/tpelyyftgw/messenger/camera/CameraController$VideoTakeCallback;
.field private recordedFile:Ljava/lang/String;
.field private recorder:Landroid/media/MediaRecorder;
.field private threadPool:Ljava/util/concurrent/ThreadPoolExecutor;
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 61
const/4 v0, 0x0
sput-object v0, Lim/tpelyyftgw/messenger/camera/CameraController;->Instance:Lim/tpelyyftgw/messenger/camera/CameraController;
return-void
.end method
.method public constructor <init>()V
.registers 9
.line 80
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 51
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->availableFlashModes:Ljava/util/ArrayList;
.line 59
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->onFinishCameraInitRunnables:Ljava/util/ArrayList;
.line 81
new-instance v0, Ljava/util/concurrent/ThreadPoolExecutor;
sget-object v6, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit;
new-instance v7, Ljava/util/concurrent/LinkedBlockingQueue;
invoke-direct {v7}, Ljava/util/concurrent/LinkedBlockingQueue;-><init>()V
const/4 v2, 0x1
const/4 v3, 0x1
const-wide/16 v4, 0x3c
move-object v1, v0
invoke-direct/range {v1 .. v7}, Ljava/util/concurrent/ThreadPoolExecutor;-><init>(IIJLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/BlockingQueue;)V
iput-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->threadPool:Ljava/util/concurrent/ThreadPoolExecutor;
.line 82
return-void
.end method
.method public static chooseOptimalSize(Ljava/util/List;IILim/tpelyyftgw/messenger/camera/Size;)Lim/tpelyyftgw/messenger/camera/Size;
.registers 11
.param p1, "width" # I
.param p2, "height" # I
.param p3, "aspectRatio" # Lim/tpelyyftgw/messenger/camera/Size;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Lim/tpelyyftgw/messenger/camera/Size;",
">;II",
"Lim/tpelyyftgw/messenger/camera/Size;",
")",
"Lim/tpelyyftgw/messenger/camera/Size;"
}
.end annotation
.line 747
.local p0, "choices":Ljava/util/List;, "Ljava/util/List<Lim/tpelyyftgw/messenger/camera/Size;>;"
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
.line 748
.local v0, "bigEnough":Ljava/util/List;, "Ljava/util/List<Lim/tpelyyftgw/messenger/camera/Size;>;"
invoke-virtual {p3}, Lim/tpelyyftgw/messenger/camera/Size;->getWidth()I
move-result v1
.line 749
.local v1, "w":I
invoke-virtual {p3}, Lim/tpelyyftgw/messenger/camera/Size;->getHeight()I
move-result v2
.line 750
.local v2, "h":I
const/4 v3, 0x0
.local v3, "a":I
:goto_e
invoke-interface {p0}, Ljava/util/List;->size()I
move-result v4
if-ge v3, v4, :cond_39
.line 751
invoke-interface {p0, v3}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v4
check-cast v4, Lim/tpelyyftgw/messenger/camera/Size;
.line 752
.local v4, "option":Lim/tpelyyftgw/messenger/camera/Size;
invoke-virtual {v4}, Lim/tpelyyftgw/messenger/camera/Size;->getHeight()I
move-result v5
invoke-virtual {v4}, Lim/tpelyyftgw/messenger/camera/Size;->getWidth()I
move-result v6
mul-int v6, v6, v2
div-int/2addr v6, v1
if-ne v5, v6, :cond_36
invoke-virtual {v4}, Lim/tpelyyftgw/messenger/camera/Size;->getWidth()I
move-result v5
if-lt v5, p1, :cond_36
invoke-virtual {v4}, Lim/tpelyyftgw/messenger/camera/Size;->getHeight()I
move-result v5
if-lt v5, p2, :cond_36
.line 753
invoke-interface {v0, v4}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 750
.end local v4 # "option":Lim/tpelyyftgw/messenger/camera/Size;
:cond_36
add-int/lit8 v3, v3, 0x1
goto :goto_e
.line 756
.end local v3 # "a":I
:cond_39
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v3
if-lez v3, :cond_4b
.line 757
new-instance v3, Lim/tpelyyftgw/messenger/camera/CameraController$CompareSizesByArea;
invoke-direct {v3}, Lim/tpelyyftgw/messenger/camera/CameraController$CompareSizesByArea;-><init>()V
invoke-static {v0, v3}, Ljava/util/Collections;->min(Ljava/util/Collection;Ljava/util/Comparator;)Ljava/lang/Object;
move-result-object v3
check-cast v3, Lim/tpelyyftgw/messenger/camera/Size;
return-object v3
.line 759
:cond_4b
new-instance v3, Lim/tpelyyftgw/messenger/camera/CameraController$CompareSizesByArea;
invoke-direct {v3}, Lim/tpelyyftgw/messenger/camera/CameraController$CompareSizesByArea;-><init>()V
invoke-static {p0, v3}, Ljava/util/Collections;->max(Ljava/util/Collection;Ljava/util/Comparator;)Ljava/lang/Object;
move-result-object v3
check-cast v3, Lim/tpelyyftgw/messenger/camera/Size;
return-object v3
.end method
.method private finishRecordingVideo()V
.registers 14
.line 632
const/4 v0, 0x0
.line 633
.local v0, "mediaMetadataRetriever":Landroid/media/MediaMetadataRetriever;
const-wide/16 v1, 0x0
.line 635
.local v1, "duration":J
:try_start_3
new-instance v3, Landroid/media/MediaMetadataRetriever;
invoke-direct {v3}, Landroid/media/MediaMetadataRetriever;-><init>()V
move-object v0, v3
.line 636
iget-object v3, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->recordedFile:Ljava/lang/String;
invoke-virtual {v0, v3}, Landroid/media/MediaMetadataRetriever;->setDataSource(Ljava/lang/String;)V
.line 637
const/16 v3, 0x9
invoke-virtual {v0, v3}, Landroid/media/MediaMetadataRetriever;->extractMetadata(I)Ljava/lang/String;
move-result-object v3
.line 638
.local v3, "d":Ljava/lang/String;
if-eqz v3, :cond_25
.line 639
invoke-static {v3}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J
move-result-wide v4
long-to-float v4, v4
const/high16 v5, 0x447a0000 # 1000.0f
div-float/2addr v4, v5
float-to-double v4, v4
invoke-static {v4, v5}, Ljava/lang/Math;->ceil(D)D
move-result-wide v4
:try_end_23
.catch Ljava/lang/Exception; {:try_start_3 .. :try_end_23} :catch_2e
.catchall {:try_start_3 .. :try_end_23} :catchall_2c
double-to-int v4, v4
int-to-long v1, v4
.line 645
.end local v3 # "d":Ljava/lang/String;
:cond_25
nop
.line 646
:try_start_26
invoke-virtual {v0}, Landroid/media/MediaMetadataRetriever;->release()V
:try_end_29
.catch Ljava/lang/Exception; {:try_start_26 .. :try_end_29} :catch_2a
goto :goto_3d
.line 648
:catch_2a
move-exception v3
goto :goto_39
.line 644
:catchall_2c
move-exception v3
goto :goto_8e
.line 641
:catch_2e
move-exception v3
.line 642
.local v3, "e":Ljava/lang/Exception;
:try_start_2f
invoke-static {v3}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
:try_end_32
.catchall {:try_start_2f .. :try_end_32} :catchall_2c
.line 645
.end local v3 # "e":Ljava/lang/Exception;
if-eqz v0, :cond_3d
.line 646
:try_start_34
invoke-virtual {v0}, Landroid/media/MediaMetadataRetriever;->release()V
:try_end_37
.catch Ljava/lang/Exception; {:try_start_34 .. :try_end_37} :catch_38
goto :goto_3d
.line 648
:catch_38
move-exception v3
.line 649
.restart local v3 # "e":Ljava/lang/Exception;
:goto_39
invoke-static {v3}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
.line 651
.end local v3 # "e":Ljava/lang/Exception;
goto :goto_3e
.line 650
:cond_3d
:goto_3d
nop
.line 652
:goto_3e
move-wide v7, v1
.end local v1 # "duration":J
.local v7, "duration":J
iget-object v1, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->recordedFile:Ljava/lang/String;
const/4 v2, 0x1
invoke-static {v1, v2}, Landroid/media/ThumbnailUtils;->createVideoThumbnail(Ljava/lang/String;I)Landroid/graphics/Bitmap;
move-result-object v9
.line 653
.local v9, "bitmap":Landroid/graphics/Bitmap;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "-2147483648_"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {}, Lim/tpelyyftgw/messenger/SharedConfig;->getLastLocalId()I
move-result v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v2, ".jpg"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v10
.line 654
.local v10, "fileName":Ljava/lang/String;
new-instance v1, Ljava/io/File;
const/4 v2, 0x4
invoke-static {v2}, Lim/tpelyyftgw/messenger/FileLoader;->getDirectory(I)Ljava/io/File;
move-result-object v2
invoke-direct {v1, v2, v10}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
move-object v11, v1
.line 656
.local v11, "cacheFile":Ljava/io/File;
:try_start_6b
new-instance v1, Ljava/io/FileOutputStream;
invoke-direct {v1, v11}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
.line 657
.local v1, "stream":Ljava/io/FileOutputStream;
sget-object v2, Landroid/graphics/Bitmap$CompressFormat;->JPEG:Landroid/graphics/Bitmap$CompressFormat;
const/16 v3, 0x50
invoke-virtual {v9, v2, v3, v1}, Landroid/graphics/Bitmap;->compress(Landroid/graphics/Bitmap$CompressFormat;ILjava/io/OutputStream;)Z
:try_end_77
.catchall {:try_start_6b .. :try_end_77} :catchall_79
.line 660
nop
.end local v1 # "stream":Ljava/io/FileOutputStream;
goto :goto_7d
.line 658
:catchall_79
move-exception v1
.line 659
.local v1, "e":Ljava/lang/Throwable;
invoke-static {v1}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
.line 661
.end local v1 # "e":Ljava/lang/Throwable;
:goto_7d
invoke-static {}, Lim/tpelyyftgw/messenger/SharedConfig;->saveConfig()V
.line 662
move-wide v5, v7
.line 663
.local v5, "durationFinal":J
new-instance v12, Lim/tpelyyftgw/messenger/camera/-$$Lambda$CameraController$nGq--JNRt-Hto1eKRta3Y_HBoIA;
move-object v1, v12
move-object v2, p0
move-object v3, v11
move-object v4, v9
invoke-direct/range {v1 .. v6}, Lim/tpelyyftgw/messenger/camera/-$$Lambda$CameraController$nGq--JNRt-Hto1eKRta3Y_HBoIA;-><init>(Lim/tpelyyftgw/messenger/camera/CameraController;Ljava/io/File;Landroid/graphics/Bitmap;J)V
invoke-static {v12}, Lim/tpelyyftgw/messenger/AndroidUtilities;->runOnUIThread(Ljava/lang/Runnable;)V
.line 673
return-void
.line 645
.end local v5 # "durationFinal":J
.end local v7 # "duration":J
.end local v9 # "bitmap":Landroid/graphics/Bitmap;
.end local v10 # "fileName":Ljava/lang/String;
.end local v11 # "cacheFile":Ljava/io/File;
.local v1, "duration":J
:goto_8e
if-eqz v0, :cond_99
.line 646
:try_start_90
invoke-virtual {v0}, Landroid/media/MediaMetadataRetriever;->release()V
:try_end_93
.catch Ljava/lang/Exception; {:try_start_90 .. :try_end_93} :catch_94
goto :goto_99
.line 648
:catch_94
move-exception v4
.line 649
.local v4, "e":Ljava/lang/Exception;
invoke-static {v4}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
goto :goto_9a
.line 650
.end local v4 # "e":Ljava/lang/Exception;
:cond_99
:goto_99
nop
.line 651
:goto_9a
throw v3
.end method
.method public static getInstance()Lim/tpelyyftgw/messenger/camera/CameraController;
.registers 3
.line 68
sget-object v0, Lim/tpelyyftgw/messenger/camera/CameraController;->Instance:Lim/tpelyyftgw/messenger/camera/CameraController;
.line 69
.local v0, "localInstance":Lim/tpelyyftgw/messenger/camera/CameraController;
if-nez v0, :cond_19
.line 70
const-class v1, Lim/tpelyyftgw/messenger/camera/CameraController;
monitor-enter v1
.line 71
:try_start_7
sget-object v2, Lim/tpelyyftgw/messenger/camera/CameraController;->Instance:Lim/tpelyyftgw/messenger/camera/CameraController;
move-object v0, v2
.line 72
if-nez v0, :cond_14
.line 73
new-instance v2, Lim/tpelyyftgw/messenger/camera/CameraController;
invoke-direct {v2}, Lim/tpelyyftgw/messenger/camera/CameraController;-><init>()V
move-object v0, v2
sput-object v2, Lim/tpelyyftgw/messenger/camera/CameraController;->Instance:Lim/tpelyyftgw/messenger/camera/CameraController;
.line 75
:cond_14
monitor-exit v1
goto :goto_19
:catchall_16
move-exception v2
monitor-exit v1
:try_end_18
.catchall {:try_start_7 .. :try_end_18} :catchall_16
throw v2
.line 77
:cond_19
:goto_19
return-object v0
.end method
.method private static getOrientation([B)I
.registers 11
.param p0, "jpeg" # [B
.line 282
const/4 v0, 0x0
if-nez p0, :cond_4
.line 283
return v0
.line 286
:cond_4
const/4 v1, 0x0
.line 287
.local v1, "offset":I
const/4 v2, 0x0
.line 289
.local v2, "length":I
:goto_6
add-int/lit8 v3, v1, 0x3
array-length v4, p0
const/4 v5, 0x4
const/4 v6, 0x1
const/16 v7, 0x8
const/4 v8, 0x2
if-ge v3, v4, :cond_67
add-int/lit8 v3, v1, 0x1
.end local v1 # "offset":I
.local v3, "offset":I
aget-byte v1, p0, v1
const/16 v4, 0xff
and-int/2addr v1, v4
if-ne v1, v4, :cond_66
.line 290
aget-byte v1, p0, v3
and-int/2addr v1, v4
.line 292
.local v1, "marker":I
if-ne v1, v4, :cond_20
.line 293
move v1, v3
goto :goto_6
.line 295
:cond_20
add-int/lit8 v3, v3, 0x1
.line 297
const/16 v4, 0xd8
if-eq v1, v4, :cond_64
if-ne v1, v6, :cond_29
.line 298
goto :goto_64
.line 300
:cond_29
const/16 v4, 0xd9
if-eq v1, v4, :cond_62
const/16 v4, 0xda
if-ne v1, v4, :cond_32
.line 301
goto :goto_62
.line 304
:cond_32
invoke-static {p0, v3, v8, v0}, Lim/tpelyyftgw/messenger/camera/CameraController;->pack([BIIZ)I
move-result v2
.line 305
if-lt v2, v8, :cond_61
add-int v4, v3, v2
array-length v9, p0
if-le v4, v9, :cond_3e
goto :goto_61
.line 310
:cond_3e
const/16 v4, 0xe1
if-ne v1, v4, :cond_5d
if-lt v2, v7, :cond_5d
add-int/lit8 v4, v3, 0x2
.line 311
invoke-static {p0, v4, v5, v0}, Lim/tpelyyftgw/messenger/camera/CameraController;->pack([BIIZ)I
move-result v4
const v9, 0x45786966
if-ne v4, v9, :cond_5d
add-int/lit8 v4, v3, 0x6
.line 312
invoke-static {p0, v4, v8, v0}, Lim/tpelyyftgw/messenger/camera/CameraController;->pack([BIIZ)I
move-result v4
if-nez v4, :cond_5d
.line 313
add-int/lit8 v3, v3, 0x8
.line 314
add-int/lit8 v2, v2, -0x8
.line 315
move v1, v3
goto :goto_67
.line 318
:cond_5d
add-int/2addr v3, v2
.line 319
const/4 v2, 0x0
.line 320
.end local v1 # "marker":I
move v1, v3
goto :goto_6
.line 306
.restart local v1 # "marker":I
:cond_61
:goto_61
return v0
.line 322
.end local v1 # "marker":I
:cond_62
:goto_62
move v1, v3
goto :goto_67
.line 289
:cond_64
:goto_64
move v1, v3
goto :goto_6
:cond_66
move v1, v3
.line 322
.end local v3 # "offset":I
.local v1, "offset":I
:cond_67
:goto_67
if-le v2, v7, :cond_c2
.line 323
invoke-static {p0, v1, v5, v0}, Lim/tpelyyftgw/messenger/camera/CameraController;->pack([BIIZ)I
move-result v3
.line 324
.local v3, "tag":I
const v4, 0x49492a00 # 823968.0f
if-eq v3, v4, :cond_78
const v9, 0x4d4d002a # 2.14958752E8f
if-eq v3, v9, :cond_78
.line 325
return v0
.line 327
:cond_78
if-ne v3, v4, :cond_7b
goto :goto_7c
:cond_7b
const/4 v6, 0x0
:goto_7c
move v4, v6
.line 329
.local v4, "littleEndian":Z
add-int/lit8 v6, v1, 0x4
invoke-static {p0, v6, v5, v4}, Lim/tpelyyftgw/messenger/camera/CameraController;->pack([BIIZ)I
move-result v5
add-int/2addr v5, v8
.line 330
.local v5, "count":I
const/16 v6, 0xa
if-lt v5, v6, :cond_c1
if-le v5, v2, :cond_8b
goto :goto_c1
.line 333
:cond_8b
add-int/2addr v1, v5
.line 334
sub-int/2addr v2, v5
.line 336
add-int/lit8 v6, v1, -0x2
invoke-static {p0, v6, v8, v4}, Lim/tpelyyftgw/messenger/camera/CameraController;->pack([BIIZ)I
move-result v5
.line 337
:goto_93
add-int/lit8 v6, v5, -0x1
.end local v5 # "count":I
.local v6, "count":I
if-lez v5, :cond_c2
const/16 v5, 0xc
if-lt v2, v5, :cond_c2
.line 338
invoke-static {p0, v1, v8, v4}, Lim/tpelyyftgw/messenger/camera/CameraController;->pack([BIIZ)I
move-result v3
.line 339
const/16 v5, 0x112
if-ne v3, v5, :cond_bb
.line 340
add-int/lit8 v5, v1, 0x8
invoke-static {p0, v5, v8, v4}, Lim/tpelyyftgw/messenger/camera/CameraController;->pack([BIIZ)I
move-result v5
.line 341
.local v5, "orientation":I
const/4 v8, 0x3
if-eq v5, v8, :cond_b8
const/4 v8, 0x6
if-eq v5, v8, :cond_b5
if-eq v5, v7, :cond_b2
.line 351
return v0
.line 349
:cond_b2
const/16 v0, 0x10e
return v0
.line 347
:cond_b5
const/16 v0, 0x5a
return v0
.line 345
:cond_b8
const/16 v0, 0xb4
return v0
.line 353
.end local v5 # "orientation":I
:cond_bb
add-int/lit8 v1, v1, 0xc
.line 354
add-int/lit8 v2, v2, -0xc
move v5, v6
goto :goto_93
.line 331
.end local v6 # "count":I
.local v5, "count":I
:cond_c1
:goto_c1
return v0
.line 357
.end local v3 # "tag":I
.end local v4 # "littleEndian":Z
.end local v5 # "count":I
:cond_c2
return v0
.end method
.method static synthetic lambda$close$4(Ljava/lang/Runnable;Lim/tpelyyftgw/messenger/camera/CameraSession;Ljava/util/concurrent/CountDownLatch;)V
.registers 5
.param p0, "beforeDestroyRunnable" # Ljava/lang/Runnable;
.param p1, "session" # Lim/tpelyyftgw/messenger/camera/CameraSession;
.param p2, "countDownLatch" # Ljava/util/concurrent/CountDownLatch;
.line 246
if-eqz p0, :cond_5
.line 247
invoke-interface {p0}, Ljava/lang/Runnable;->run()V
.line 249
:cond_5
iget-object v0, p1, Lim/tpelyyftgw/messenger/camera/CameraSession;->cameraInfo:Lim/tpelyyftgw/messenger/camera/CameraInfo;
iget-object v0, v0, Lim/tpelyyftgw/messenger/camera/CameraInfo;->camera:Landroid/hardware/Camera;
if-nez v0, :cond_c
.line 250
return-void
.line 253
:cond_c
const/4 v0, 0x0
:try_start_d
iget-object v1, p1, Lim/tpelyyftgw/messenger/camera/CameraSession;->cameraInfo:Lim/tpelyyftgw/messenger/camera/CameraInfo;
iget-object v1, v1, Lim/tpelyyftgw/messenger/camera/CameraInfo;->camera:Landroid/hardware/Camera;
invoke-virtual {v1}, Landroid/hardware/Camera;->stopPreview()V
.line 254
iget-object v1, p1, Lim/tpelyyftgw/messenger/camera/CameraSession;->cameraInfo:Lim/tpelyyftgw/messenger/camera/CameraInfo;
iget-object v1, v1, Lim/tpelyyftgw/messenger/camera/CameraInfo;->camera:Landroid/hardware/Camera;
invoke-virtual {v1, v0}, Landroid/hardware/Camera;->setPreviewCallbackWithBuffer(Landroid/hardware/Camera$PreviewCallback;)V
:try_end_1b
.catch Ljava/lang/Exception; {:try_start_d .. :try_end_1b} :catch_1c
.line 257
goto :goto_20
.line 255
:catch_1c
move-exception v1
.line 256
.local v1, "e":Ljava/lang/Exception;
invoke-static {v1}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
.line 259
.end local v1 # "e":Ljava/lang/Exception;
:goto_20
:try_start_20
iget-object v1, p1, Lim/tpelyyftgw/messenger/camera/CameraSession;->cameraInfo:Lim/tpelyyftgw/messenger/camera/CameraInfo;
iget-object v1, v1, Lim/tpelyyftgw/messenger/camera/CameraInfo;->camera:Landroid/hardware/Camera;
invoke-virtual {v1}, Landroid/hardware/Camera;->release()V
:try_end_27
.catch Ljava/lang/Exception; {:try_start_20 .. :try_end_27} :catch_28
.line 262
goto :goto_2c
.line 260
:catch_28
move-exception v1
.line 261
.restart local v1 # "e":Ljava/lang/Exception;
invoke-static {v1}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
.line 263
.end local v1 # "e":Ljava/lang/Exception;
:goto_2c
iget-object v1, p1, Lim/tpelyyftgw/messenger/camera/CameraSession;->cameraInfo:Lim/tpelyyftgw/messenger/camera/CameraInfo;
iput-object v0, v1, Lim/tpelyyftgw/messenger/camera/CameraInfo;->camera:Landroid/hardware/Camera;
.line 264
if-eqz p2, :cond_35
.line 265
invoke-virtual {p2}, Ljava/util/concurrent/CountDownLatch;->countDown()V
.line 267
:cond_35
return-void
.end method
.method static synthetic lambda$null$0(Lim/tpelyyftgw/messenger/camera/Size;Lim/tpelyyftgw/messenger/camera/Size;)I
.registers 6
.param p0, "o1" # Lim/tpelyyftgw/messenger/camera/Size;
.param p1, "o2" # Lim/tpelyyftgw/messenger/camera/Size;
.line 102
iget v0, p0, Lim/tpelyyftgw/messenger/camera/Size;->mWidth:I
iget v1, p1, Lim/tpelyyftgw/messenger/camera/Size;->mWidth:I
const/4 v2, 0x1
if-ge v0, v1, :cond_8
.line 103
return v2
.line 104
:cond_8
iget v0, p0, Lim/tpelyyftgw/messenger/camera/Size;->mWidth:I
iget v1, p1, Lim/tpelyyftgw/messenger/camera/Size;->mWidth:I
const/4 v3, -0x1
if-le v0, v1, :cond_10
.line 105
return v3
.line 107
:cond_10
iget v0, p0, Lim/tpelyyftgw/messenger/camera/Size;->mHeight:I
iget v1, p1, Lim/tpelyyftgw/messenger/camera/Size;->mHeight:I
if-ge v0, v1, :cond_17
.line 108
return v2
.line 109
:cond_17
iget v0, p0, Lim/tpelyyftgw/messenger/camera/Size;->mHeight:I
iget v1, p1, Lim/tpelyyftgw/messenger/camera/Size;->mHeight:I
if-le v0, v1, :cond_1e
.line 110
return v3
.line 112
:cond_1e
const/4 v0, 0x0
return v0
.end method
.method static synthetic lambda$null$12(Landroid/hardware/Camera;Lim/tpelyyftgw/messenger/camera/CameraSession;)V
.registers 4
.param p0, "camera" # Landroid/hardware/Camera;
.param p1, "session" # Lim/tpelyyftgw/messenger/camera/CameraSession;
.line 729
:try_start_0
invoke-virtual {p0}, Landroid/hardware/Camera;->getParameters()Landroid/hardware/Camera$Parameters;
move-result-object v0
.line 730
.local v0, "params":Landroid/hardware/Camera$Parameters;
invoke-virtual {p1}, Lim/tpelyyftgw/messenger/camera/CameraSession;->getCurrentFlashMode()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Landroid/hardware/Camera$Parameters;->setFlashMode(Ljava/lang/String;)V
.line 731
invoke-virtual {p0, v0}, Landroid/hardware/Camera;->setParameters(Landroid/hardware/Camera$Parameters;)V
:try_end_e
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_e} :catch_f
.line 734
.end local v0 # "params":Landroid/hardware/Camera$Parameters;
goto :goto_13
.line 732
:catch_f
move-exception v0
.line 733
.local v0, "e":Ljava/lang/Exception;
invoke-static {v0}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
.line 735
.end local v0 # "e":Ljava/lang/Exception;
:goto_13
return-void
.end method
.method static synthetic lambda$openRound$8(Lim/tpelyyftgw/messenger/camera/CameraSession;Ljava/lang/Runnable;Landroid/graphics/SurfaceTexture;Ljava/lang/Runnable;)V
.registers 8
.param p0, "session" # Lim/tpelyyftgw/messenger/camera/CameraSession;
.param p1, "configureCallback" # Ljava/lang/Runnable;
.param p2, "texture" # Landroid/graphics/SurfaceTexture;
.param p3, "callback" # Ljava/lang/Runnable;
.line 500
iget-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraSession;->cameraInfo:Lim/tpelyyftgw/messenger/camera/CameraInfo;
iget-object v0, v0, Lim/tpelyyftgw/messenger/camera/CameraInfo;->camera:Landroid/hardware/Camera;
.line 502
.local v0, "camera":Landroid/hardware/Camera;
:try_start_4
sget-boolean v1, Lim/tpelyyftgw/messenger/BuildVars;->LOGS_ENABLED:Z
if-eqz v1, :cond_e
.line 503
const-string/jumbo v1, "start creating round camera session"
invoke-static {v1}, Lim/tpelyyftgw/messenger/FileLog;->d(Ljava/lang/String;)V
.line 505
:cond_e
if-nez v0, :cond_1d
.line 506
iget-object v1, p0, Lim/tpelyyftgw/messenger/camera/CameraSession;->cameraInfo:Lim/tpelyyftgw/messenger/camera/CameraInfo;
iget-object v2, p0, Lim/tpelyyftgw/messenger/camera/CameraSession;->cameraInfo:Lim/tpelyyftgw/messenger/camera/CameraInfo;
iget v2, v2, Lim/tpelyyftgw/messenger/camera/CameraInfo;->cameraId:I
invoke-static {v2}, Landroid/hardware/Camera;->open(I)Landroid/hardware/Camera;
move-result-object v2
iput-object v2, v1, Lim/tpelyyftgw/messenger/camera/CameraInfo;->camera:Landroid/hardware/Camera;
move-object v0, v2
.line 508
:cond_1d
invoke-virtual {v0}, Landroid/hardware/Camera;->getParameters()Landroid/hardware/Camera$Parameters;
move-result-object v1
.line 510
.local v1, "params":Landroid/hardware/Camera$Parameters;
invoke-virtual {p0}, Lim/tpelyyftgw/messenger/camera/CameraSession;->configureRoundCamera()V
.line 511
if-eqz p1, :cond_29
.line 512
invoke-interface {p1}, Ljava/lang/Runnable;->run()V
.line 514
:cond_29
invoke-virtual {v0, p2}, Landroid/hardware/Camera;->setPreviewTexture(Landroid/graphics/SurfaceTexture;)V
.line 515
invoke-virtual {v0}, Landroid/hardware/Camera;->startPreview()V
.line 516
if-eqz p3, :cond_34
.line 517
invoke-static {p3}, Lim/tpelyyftgw/messenger/AndroidUtilities;->runOnUIThread(Ljava/lang/Runnable;)V
.line 519
:cond_34
sget-boolean v2, Lim/tpelyyftgw/messenger/BuildVars;->LOGS_ENABLED:Z
if-eqz v2, :cond_3e
.line 520
const-string/jumbo v2, "round camera session created"
invoke-static {v2}, Lim/tpelyyftgw/messenger/FileLog;->d(Ljava/lang/String;)V
:try_end_3e
.catch Ljava/lang/Exception; {:try_start_4 .. :try_end_3e} :catch_3f
.line 528
.end local v1 # "params":Landroid/hardware/Camera$Parameters;
:cond_3e
goto :goto_4d
.line 522
:catch_3f
move-exception v1
.line 523
.local v1, "e":Ljava/lang/Exception;
iget-object v2, p0, Lim/tpelyyftgw/messenger/camera/CameraSession;->cameraInfo:Lim/tpelyyftgw/messenger/camera/CameraInfo;
const/4 v3, 0x0
iput-object v3, v2, Lim/tpelyyftgw/messenger/camera/CameraInfo;->camera:Landroid/hardware/Camera;
.line 524
if-eqz v0, :cond_4a
.line 525
invoke-virtual {v0}, Landroid/hardware/Camera;->release()V
.line 527
:cond_4a
invoke-static {v1}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
.line 529
.end local v1 # "e":Ljava/lang/Exception;
:goto_4d
return-void
.end method
.method static synthetic lambda$startPreview$6(Lim/tpelyyftgw/messenger/camera/CameraSession;)V
.registers 5
.param p0, "session" # Lim/tpelyyftgw/messenger/camera/CameraSession;
.line 455
iget-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraSession;->cameraInfo:Lim/tpelyyftgw/messenger/camera/CameraInfo;
iget-object v0, v0, Lim/tpelyyftgw/messenger/camera/CameraInfo;->camera:Landroid/hardware/Camera;
.line 457
.local v0, "camera":Landroid/hardware/Camera;
if-nez v0, :cond_13
.line 458
:try_start_6
iget-object v1, p0, Lim/tpelyyftgw/messenger/camera/CameraSession;->cameraInfo:Lim/tpelyyftgw/messenger/camera/CameraInfo;
iget-object v2, p0, Lim/tpelyyftgw/messenger/camera/CameraSession;->cameraInfo:Lim/tpelyyftgw/messenger/camera/CameraInfo;
iget v2, v2, Lim/tpelyyftgw/messenger/camera/CameraInfo;->cameraId:I
invoke-static {v2}, Landroid/hardware/Camera;->open(I)Landroid/hardware/Camera;
move-result-object v2
iput-object v2, v1, Lim/tpelyyftgw/messenger/camera/CameraInfo;->camera:Landroid/hardware/Camera;
move-object v0, v2
.line 460
:cond_13
invoke-virtual {v0}, Landroid/hardware/Camera;->startPreview()V
:try_end_16
.catch Ljava/lang/Exception; {:try_start_6 .. :try_end_16} :catch_17
.line 467
goto :goto_25
.line 461
:catch_17
move-exception v1
.line 462
.local v1, "e":Ljava/lang/Exception;
iget-object v2, p0, Lim/tpelyyftgw/messenger/camera/CameraSession;->cameraInfo:Lim/tpelyyftgw/messenger/camera/CameraInfo;
const/4 v3, 0x0
iput-object v3, v2, Lim/tpelyyftgw/messenger/camera/CameraInfo;->camera:Landroid/hardware/Camera;
.line 463
if-eqz v0, :cond_22
.line 464
invoke-virtual {v0}, Landroid/hardware/Camera;->release()V
.line 466
:cond_22
invoke-static {v1}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
.line 468
.end local v1 # "e":Ljava/lang/Exception;
:goto_25
return-void
.end method
.method static synthetic lambda$stopPreview$7(Lim/tpelyyftgw/messenger/camera/CameraSession;)V
.registers 5
.param p0, "session" # Lim/tpelyyftgw/messenger/camera/CameraSession;
.line 476
iget-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraSession;->cameraInfo:Lim/tpelyyftgw/messenger/camera/CameraInfo;
iget-object v0, v0, Lim/tpelyyftgw/messenger/camera/CameraInfo;->camera:Landroid/hardware/Camera;
.line 478
.local v0, "camera":Landroid/hardware/Camera;
if-nez v0, :cond_13
.line 479
:try_start_6
iget-object v1, p0, Lim/tpelyyftgw/messenger/camera/CameraSession;->cameraInfo:Lim/tpelyyftgw/messenger/camera/CameraInfo;
iget-object v2, p0, Lim/tpelyyftgw/messenger/camera/CameraSession;->cameraInfo:Lim/tpelyyftgw/messenger/camera/CameraInfo;
iget v2, v2, Lim/tpelyyftgw/messenger/camera/CameraInfo;->cameraId:I
invoke-static {v2}, Landroid/hardware/Camera;->open(I)Landroid/hardware/Camera;
move-result-object v2
iput-object v2, v1, Lim/tpelyyftgw/messenger/camera/CameraInfo;->camera:Landroid/hardware/Camera;
move-object v0, v2
.line 481
:cond_13
invoke-virtual {v0}, Landroid/hardware/Camera;->stopPreview()V
:try_end_16
.catch Ljava/lang/Exception; {:try_start_6 .. :try_end_16} :catch_17
.line 488
goto :goto_25
.line 482
:catch_17
move-exception v1
.line 483
.local v1, "e":Ljava/lang/Exception;
iget-object v2, p0, Lim/tpelyyftgw/messenger/camera/CameraSession;->cameraInfo:Lim/tpelyyftgw/messenger/camera/CameraInfo;
const/4 v3, 0x0
iput-object v3, v2, Lim/tpelyyftgw/messenger/camera/CameraInfo;->camera:Landroid/hardware/Camera;
.line 484
if-eqz v0, :cond_22
.line 485
invoke-virtual {v0}, Landroid/hardware/Camera;->release()V
.line 487
:cond_22
invoke-static {v1}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
.line 489
.end local v1 # "e":Ljava/lang/Exception;
:goto_25
return-void
.end method
.method static synthetic lambda$takePicture$5(Ljava/io/File;Lim/tpelyyftgw/messenger/camera/CameraInfo;ZLjava/lang/Runnable;[BLandroid/hardware/Camera;)V
.registers 21
.param p0, "path" # Ljava/io/File;
.param p1, "info" # Lim/tpelyyftgw/messenger/camera/CameraInfo;
.param p2, "flipFront" # Z
.param p3, "callback" # Ljava/lang/Runnable;
.param p4, "data" # [B
.param p5, "camera1" # Landroid/hardware/Camera;
.line 384
move-object v1, p0
move-object/from16 v2, p4
const/4 v3, 0x0
.line 385
.local v3, "bitmap":Landroid/graphics/Bitmap;
invoke-static {}, Lim/tpelyyftgw/messenger/AndroidUtilities;->getPhotoSize()I
move-result v0
int-to-float v0, v0
sget v4, Lim/tpelyyftgw/messenger/AndroidUtilities;->density:F
div-float/2addr v0, v4
float-to-int v4, v0
.line 386
.local v4, "size":I
sget-object v0, Ljava/util/Locale;->US:Ljava/util/Locale;
const/4 v5, 0x3
new-array v5, v5, [Ljava/lang/Object;
invoke-virtual {p0}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v6
invoke-static {v6}, Lim/tpelyyftgw/messenger/Utilities;->MD5(Ljava/lang/String;)Ljava/lang/String;
move-result-object v6
const/4 v7, 0x0
aput-object v6, v5, v7
invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v6
const/4 v8, 0x1
aput-object v6, v5, v8
invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v6
const/4 v9, 0x2
aput-object v6, v5, v9
const-string v6, "%s@%d_%d"
invoke-static {v0, v6, v5}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v5
.line 388
.local v5, "key":Ljava/lang/String;
const/high16 v6, 0x3f800000 # 1.0f
:try_start_33
new-instance v0, Landroid/graphics/BitmapFactory$Options;
invoke-direct {v0}, Landroid/graphics/BitmapFactory$Options;-><init>()V
.line 389
.local v0, "options":Landroid/graphics/BitmapFactory$Options;
iput-boolean v8, v0, Landroid/graphics/BitmapFactory$Options;->inJustDecodeBounds:Z
.line 390
array-length v9, v2
invoke-static {v2, v7, v9, v0}, Landroid/graphics/BitmapFactory;->decodeByteArray([BIILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
.line 391
iget v9, v0, Landroid/graphics/BitmapFactory$Options;->outWidth:I
int-to-float v9, v9
invoke-static {}, Lim/tpelyyftgw/messenger/AndroidUtilities;->getPhotoSize()I
move-result v10
int-to-float v10, v10
div-float/2addr v9, v10
iget v10, v0, Landroid/graphics/BitmapFactory$Options;->outHeight:I
int-to-float v10, v10
invoke-static {}, Lim/tpelyyftgw/messenger/AndroidUtilities;->getPhotoSize()I
move-result v11
int-to-float v11, v11
div-float/2addr v10, v11
invoke-static {v9, v10}, Ljava/lang/Math;->max(FF)F
move-result v9
.line 392
.local v9, "scaleFactor":F
cmpg-float v10, v9, v6
if-gez v10, :cond_5a
.line 393
const/high16 v9, 0x3f800000 # 1.0f
.line 395
:cond_5a
iput-boolean v7, v0, Landroid/graphics/BitmapFactory$Options;->inJustDecodeBounds:Z
.line 396
float-to-int v10, v9
iput v10, v0, Landroid/graphics/BitmapFactory$Options;->inSampleSize:I
.line 397
iput-boolean v8, v0, Landroid/graphics/BitmapFactory$Options;->inPurgeable:Z
.line 398
array-length v8, v2
invoke-static {v2, v7, v8, v0}, Landroid/graphics/BitmapFactory;->decodeByteArray([BIILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
move-result-object v7
:try_end_66
.catchall {:try_start_33 .. :try_end_66} :catchall_68
move-object v3, v7
.line 401
.end local v0 # "options":Landroid/graphics/BitmapFactory$Options;
.end local v9 # "scaleFactor":F
goto :goto_6c
.line 399
:catchall_68
move-exception v0
.line 400
.local v0, "e":Ljava/lang/Throwable;
invoke-static {v0}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
.line 403
.end local v0 # "e":Ljava/lang/Throwable;
:goto_6c
move-object/from16 v14, p1
:try_start_6e
iget v0, v14, Lim/tpelyyftgw/messenger/camera/CameraInfo;->frontCamera:I
:try_end_70
.catch Ljava/lang/Exception; {:try_start_6e .. :try_end_70} :catch_f1
if-eqz v0, :cond_cd
if-eqz p2, :cond_cd
.line 405
:try_start_74
new-instance v0, Landroid/graphics/Matrix;
invoke-direct {v0}, Landroid/graphics/Matrix;-><init>()V
.line 406
.local v0, "matrix":Landroid/graphics/Matrix;
invoke-static/range {p4 .. p4}, Lim/tpelyyftgw/messenger/camera/CameraController;->getOrientation([B)I
move-result v7
int-to-float v7, v7
invoke-virtual {v0, v7}, Landroid/graphics/Matrix;->setRotate(F)V
.line 407
const/high16 v7, -0x40800000 # -1.0f
invoke-virtual {v0, v7, v6}, Landroid/graphics/Matrix;->postScale(FF)Z
.line 408
const/4 v8, 0x0
const/4 v9, 0x0
invoke-virtual {v3}, Landroid/graphics/Bitmap;->getWidth()I
move-result v10
invoke-virtual {v3}, Landroid/graphics/Bitmap;->getHeight()I
move-result v11
const/4 v13, 0x1
move-object v7, v3
move-object v12, v0
invoke-static/range {v7 .. v13}, Lim/tpelyyftgw/messenger/Bitmaps;->createBitmap(Landroid/graphics/Bitmap;IIIILandroid/graphics/Matrix;Z)Landroid/graphics/Bitmap;
move-result-object v6
.line 409
.local v6, "scaled":Landroid/graphics/Bitmap;
if-eq v6, v3, :cond_9c
.line 410
invoke-virtual {v3}, Landroid/graphics/Bitmap;->recycle()V
.line 412
:cond_9c
new-instance v7, Ljava/io/FileOutputStream;
invoke-direct {v7, p0}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
.line 413
.local v7, "outputStream":Ljava/io/FileOutputStream;
sget-object v8, Landroid/graphics/Bitmap$CompressFormat;->JPEG:Landroid/graphics/Bitmap$CompressFormat;
const/16 v9, 0x50
invoke-virtual {v6, v8, v9, v7}, Landroid/graphics/Bitmap;->compress(Landroid/graphics/Bitmap$CompressFormat;ILjava/io/OutputStream;)Z
.line 414
invoke-virtual {v7}, Ljava/io/FileOutputStream;->flush()V
.line 415
invoke-virtual {v7}, Ljava/io/FileOutputStream;->getFD()Ljava/io/FileDescriptor;
move-result-object v8
invoke-virtual {v8}, Ljava/io/FileDescriptor;->sync()V
.line 416
invoke-virtual {v7}, Ljava/io/FileOutputStream;->close()V
.line 417
if-eqz v6, :cond_c3
.line 418
invoke-static {}, Lim/tpelyyftgw/messenger/ImageLoader;->getInstance()Lim/tpelyyftgw/messenger/ImageLoader;
move-result-object v8
new-instance v9, Landroid/graphics/drawable/BitmapDrawable;
invoke-direct {v9, v6}, Landroid/graphics/drawable/BitmapDrawable;-><init>(Landroid/graphics/Bitmap;)V
invoke-virtual {v8, v9, v5}, Lim/tpelyyftgw/messenger/ImageLoader;->putImageToCache(Landroid/graphics/drawable/BitmapDrawable;Ljava/lang/String;)V
.line 420
:cond_c3
if-eqz p3, :cond_c8
.line 421
invoke-interface/range {p3 .. p3}, Ljava/lang/Runnable;->run()V
:try_end_c8
.catchall {:try_start_74 .. :try_end_c8} :catchall_c9
.line 423
:cond_c8
return-void
.line 424
.end local v0 # "matrix":Landroid/graphics/Matrix;
.end local v6 # "scaled":Landroid/graphics/Bitmap;
.end local v7 # "outputStream":Ljava/io/FileOutputStream;
:catchall_c9
move-exception v0
.line 425
.local v0, "e":Ljava/lang/Throwable;
:try_start_ca
invoke-static {v0}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
.line 428
.end local v0 # "e":Ljava/lang/Throwable;
:cond_cd
new-instance v0, Ljava/io/FileOutputStream;
invoke-direct {v0, p0}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
.line 429
.local v0, "outputStream":Ljava/io/FileOutputStream;
invoke-virtual {v0, v2}, Ljava/io/FileOutputStream;->write([B)V
.line 430
invoke-virtual {v0}, Ljava/io/FileOutputStream;->flush()V
.line 431
invoke-virtual {v0}, Ljava/io/FileOutputStream;->getFD()Ljava/io/FileDescriptor;
move-result-object v6
invoke-virtual {v6}, Ljava/io/FileDescriptor;->sync()V
.line 432
invoke-virtual {v0}, Ljava/io/FileOutputStream;->close()V
.line 433
if-eqz v3, :cond_f0
.line 434
invoke-static {}, Lim/tpelyyftgw/messenger/ImageLoader;->getInstance()Lim/tpelyyftgw/messenger/ImageLoader;
move-result-object v6
new-instance v7, Landroid/graphics/drawable/BitmapDrawable;
invoke-direct {v7, v3}, Landroid/graphics/drawable/BitmapDrawable;-><init>(Landroid/graphics/Bitmap;)V
invoke-virtual {v6, v7, v5}, Lim/tpelyyftgw/messenger/ImageLoader;->putImageToCache(Landroid/graphics/drawable/BitmapDrawable;Ljava/lang/String;)V
:try_end_f0
.catch Ljava/lang/Exception; {:try_start_ca .. :try_end_f0} :catch_f1
.line 438
.end local v0 # "outputStream":Ljava/io/FileOutputStream;
:cond_f0
goto :goto_f5
.line 436
:catch_f1
move-exception v0
.line 437
.local v0, "e":Ljava/lang/Exception;
invoke-static {v0}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
.line 439
.end local v0 # "e":Ljava/lang/Exception;
:goto_f5
if-eqz p3, :cond_fa
.line 440
invoke-interface/range {p3 .. p3}, Ljava/lang/Runnable;->run()V
.line 442
:cond_fa
return-void
.end method
.method private static pack([BIIZ)I
.registers 8
.param p0, "bytes" # [B
.param p1, "offset" # I
.param p2, "length" # I
.param p3, "littleEndian" # Z
.line 361
const/4 v0, 0x1
.line 362
.local v0, "step":I
if-eqz p3, :cond_7
.line 363
add-int/lit8 v1, p2, -0x1
add-int/2addr p1, v1
.line 364
const/4 v0, -0x1
.line 367
:cond_7
const/4 v1, 0x0
.line 368
.local v1, "value":I
:goto_8
add-int/lit8 v2, p2, -0x1
.end local p2 # "length":I
.local v2, "length":I
if-lez p2, :cond_17
.line 369
shl-int/lit8 p2, v1, 0x8
aget-byte v3, p0, p1
and-int/lit16 v3, v3, 0xff
or-int v1, p2, v3
.line 370
add-int/2addr p1, v0
move p2, v2
goto :goto_8
.line 372
:cond_17
return v1
.end method
# virtual methods
.method public cancelOnInitRunnable(Ljava/lang/Runnable;)V
.registers 3
.param p1, "onInitRunnable" # Ljava/lang/Runnable;
.line 85
iget-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->onFinishCameraInitRunnables:Ljava/util/ArrayList;
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
.line 86
return-void
.end method
.method public close(Lim/tpelyyftgw/messenger/camera/CameraSession;Ljava/util/concurrent/CountDownLatch;Ljava/lang/Runnable;)V
.registers 6
.param p1, "session" # Lim/tpelyyftgw/messenger/camera/CameraSession;
.param p2, "countDownLatch" # Ljava/util/concurrent/CountDownLatch;
.param p3, "beforeDestroyRunnable" # Ljava/lang/Runnable;
.line 244
invoke-virtual {p1}, Lim/tpelyyftgw/messenger/camera/CameraSession;->destroy()V
.line 245
iget-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->threadPool:Ljava/util/concurrent/ThreadPoolExecutor;
new-instance v1, Lim/tpelyyftgw/messenger/camera/-$$Lambda$CameraController$0tuuxt49fItbyIPjs9sWD2WgOlY;
invoke-direct {v1, p3, p1, p2}, Lim/tpelyyftgw/messenger/camera/-$$Lambda$CameraController$0tuuxt49fItbyIPjs9sWD2WgOlY;-><init>(Ljava/lang/Runnable;Lim/tpelyyftgw/messenger/camera/CameraSession;Ljava/util/concurrent/CountDownLatch;)V
invoke-virtual {v0, v1}, Ljava/util/concurrent/ThreadPoolExecutor;->execute(Ljava/lang/Runnable;)V
.line 268
if-eqz p2, :cond_17
.line 270
:try_start_f
invoke-virtual {p2}, Ljava/util/concurrent/CountDownLatch;->await()V
:try_end_12
.catch Ljava/lang/Exception; {:try_start_f .. :try_end_12} :catch_13
.line 273
goto :goto_17
.line 271
:catch_13
move-exception v0
.line 272
.local v0, "e":Ljava/lang/Exception;
invoke-static {v0}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
.line 275
.end local v0 # "e":Ljava/lang/Exception;
:cond_17
:goto_17
return-void
.end method
.method public getCameras()Ljava/util/ArrayList;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/ArrayList<",
"Lim/tpelyyftgw/messenger/camera/CameraInfo;",
">;"
}
.end annotation
.line 278
iget-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->cameraInfos:Ljava/util/ArrayList;
return-object v0
.end method
.method public initCamera(Ljava/lang/Runnable;)V
.registers 4
.param p1, "onInitRunnable" # Ljava/lang/Runnable;
.line 89
if-eqz p1, :cond_f
iget-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->onFinishCameraInitRunnables:Ljava/util/ArrayList;
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_f
.line 90
iget-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->onFinishCameraInitRunnables:Ljava/util/ArrayList;
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 92
:cond_f
iget-boolean v0, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->loadingCameras:Z
if-nez v0, :cond_26
iget-boolean v0, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->cameraInitied:Z
if-eqz v0, :cond_18
goto :goto_26
.line 95
:cond_18
const/4 v0, 0x1
iput-boolean v0, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->loadingCameras:Z
.line 96
iget-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->threadPool:Ljava/util/concurrent/ThreadPoolExecutor;
new-instance v1, Lim/tpelyyftgw/messenger/camera/-$$Lambda$CameraController$cmEH4eSmWXkEyLajoFoHkwDNJEg;
invoke-direct {v1, p0}, Lim/tpelyyftgw/messenger/camera/-$$Lambda$CameraController$cmEH4eSmWXkEyLajoFoHkwDNJEg;-><init>(Lim/tpelyyftgw/messenger/camera/CameraController;)V
invoke-virtual {v0, v1}, Ljava/util/concurrent/ThreadPoolExecutor;->execute(Ljava/lang/Runnable;)V
.line 233
return-void
.line 93
:cond_26
:goto_26
return-void
.end method
.method public isCameraInitied()Z
.registers 2
.line 236
iget-boolean v0, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->cameraInitied:Z
if-eqz v0, :cond_12
iget-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->cameraInfos:Ljava/util/ArrayList;
if-eqz v0, :cond_12
iget-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->cameraInfos:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->isEmpty()Z
move-result v0
if-nez v0, :cond_12
const/4 v0, 0x1
goto :goto_13
:cond_12
const/4 v0, 0x0
:goto_13
return v0
.end method
.method public synthetic lambda$finishRecordingVideo$11$CameraController(Ljava/io/File;Landroid/graphics/Bitmap;J)V
.registers 9
.param p1, "cacheFile" # Ljava/io/File;
.param p2, "bitmap" # Landroid/graphics/Bitmap;
.param p3, "durationFinal" # J
.line 664
iget-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->onVideoTakeCallback:Lim/tpelyyftgw/messenger/camera/CameraController$VideoTakeCallback;
if-eqz v0, :cond_22
.line 665
invoke-virtual {p1}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v0
.line 666
.local v0, "path":Ljava/lang/String;
if-eqz p2, :cond_1a
.line 667
invoke-static {}, Lim/tpelyyftgw/messenger/ImageLoader;->getInstance()Lim/tpelyyftgw/messenger/ImageLoader;
move-result-object v1
new-instance v2, Landroid/graphics/drawable/BitmapDrawable;
invoke-direct {v2, p2}, Landroid/graphics/drawable/BitmapDrawable;-><init>(Landroid/graphics/Bitmap;)V
invoke-static {v0}, Lim/tpelyyftgw/messenger/Utilities;->MD5(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
invoke-virtual {v1, v2, v3}, Lim/tpelyyftgw/messenger/ImageLoader;->putImageToCache(Landroid/graphics/drawable/BitmapDrawable;Ljava/lang/String;)V
.line 669
:cond_1a
iget-object v1, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->onVideoTakeCallback:Lim/tpelyyftgw/messenger/camera/CameraController$VideoTakeCallback;
invoke-interface {v1, v0, p3, p4}, Lim/tpelyyftgw/messenger/camera/CameraController$VideoTakeCallback;->onFinishVideoRecording(Ljava/lang/String;J)V
.line 670
const/4 v1, 0x0
iput-object v1, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->onVideoTakeCallback:Lim/tpelyyftgw/messenger/camera/CameraController$VideoTakeCallback;
.line 672
.end local v0 # "path":Ljava/lang/String;
:cond_22
return-void
.end method
.method public synthetic lambda$initCamera$3$CameraController()V
.registers 21
.line 98
move-object/from16 v1, p0
const-string v0, "cameraCache"
:try_start_4
iget-object v2, v1, Lim/tpelyyftgw/messenger/camera/CameraController;->cameraInfos:Ljava/util/ArrayList;
if-nez v2, :cond_26b
.line 99
invoke-static {}, Lim/tpelyyftgw/messenger/MessagesController;->getGlobalMainSettings()Landroid/content/SharedPreferences;
move-result-object v2
.line 100
.local v2, "preferences":Landroid/content/SharedPreferences;
const/4 v3, 0x0
invoke-interface {v2, v0, v3}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
.line 101
.local v3, "cache":Ljava/lang/String;
sget-object v4, Lim/tpelyyftgw/messenger/camera/-$$Lambda$CameraController$bLLryOttbdLLXl_AgwgSMTnaq5k;->INSTANCE:Lim/tpelyyftgw/messenger/camera/-$$Lambda$CameraController$bLLryOttbdLLXl_AgwgSMTnaq5k;
.line 115
.local v4, "comparator":Ljava/util/Comparator;, "Ljava/util/Comparator<Lim/tpelyyftgw/messenger/camera/Size;>;"
new-instance v5, Ljava/util/ArrayList;
invoke-direct {v5}, Ljava/util/ArrayList;-><init>()V
.line 116
.local v5, "result":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Lim/tpelyyftgw/messenger/camera/CameraInfo;>;"
const/4 v6, 0x0
if-eqz v3, :cond_88
.line 117
new-instance v0, Lim/tpelyyftgw/tgnet/SerializedData;
invoke-static {v3, v6}, Landroid/util/Base64;->decode(Ljava/lang/String;I)[B
move-result-object v7
invoke-direct {v0, v7}, Lim/tpelyyftgw/tgnet/SerializedData;-><init>([B)V
.line 118
.local v0, "serializedData":Lim/tpelyyftgw/tgnet/SerializedData;
invoke-virtual {v0, v6}, Lim/tpelyyftgw/tgnet/SerializedData;->readInt32(Z)I
move-result v7
.line 119
.local v7, "count":I
const/4 v8, 0x0
.local v8, "a":I
:goto_29
if-ge v8, v7, :cond_81
.line 120
new-instance v9, Lim/tpelyyftgw/messenger/camera/CameraInfo;
invoke-virtual {v0, v6}, Lim/tpelyyftgw/tgnet/SerializedData;->readInt32(Z)I
move-result v10
invoke-virtual {v0, v6}, Lim/tpelyyftgw/tgnet/SerializedData;->readInt32(Z)I
move-result v11
invoke-direct {v9, v10, v11}, Lim/tpelyyftgw/messenger/camera/CameraInfo;-><init>(II)V
.line 121
.local v9, "cameraInfo":Lim/tpelyyftgw/messenger/camera/CameraInfo;
invoke-virtual {v0, v6}, Lim/tpelyyftgw/tgnet/SerializedData;->readInt32(Z)I
move-result v10
.line 122
.local v10, "pCount":I
const/4 v11, 0x0
.local v11, "b":I
:goto_3d
if-ge v11, v10, :cond_54
.line 123
iget-object v12, v9, Lim/tpelyyftgw/messenger/camera/CameraInfo;->previewSizes:Ljava/util/ArrayList;
new-instance v13, Lim/tpelyyftgw/messenger/camera/Size;
invoke-virtual {v0, v6}, Lim/tpelyyftgw/tgnet/SerializedData;->readInt32(Z)I
move-result v14
invoke-virtual {v0, v6}, Lim/tpelyyftgw/tgnet/SerializedData;->readInt32(Z)I
move-result v15
invoke-direct {v13, v14, v15}, Lim/tpelyyftgw/messenger/camera/Size;-><init>(II)V
invoke-virtual {v12, v13}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 122
add-int/lit8 v11, v11, 0x1
goto :goto_3d
.line 125
.end local v11 # "b":I
:cond_54
invoke-virtual {v0, v6}, Lim/tpelyyftgw/tgnet/SerializedData;->readInt32(Z)I
move-result v11
move v10, v11
.line 126
const/4 v11, 0x0
.restart local v11 # "b":I
:goto_5a
if-ge v11, v10, :cond_71
.line 127
iget-object v12, v9, Lim/tpelyyftgw/messenger/camera/CameraInfo;->pictureSizes:Ljava/util/ArrayList;
new-instance v13, Lim/tpelyyftgw/messenger/camera/Size;
invoke-virtual {v0, v6}, Lim/tpelyyftgw/tgnet/SerializedData;->readInt32(Z)I
move-result v14
invoke-virtual {v0, v6}, Lim/tpelyyftgw/tgnet/SerializedData;->readInt32(Z)I
move-result v15
invoke-direct {v13, v14, v15}, Lim/tpelyyftgw/messenger/camera/Size;-><init>(II)V
invoke-virtual {v12, v13}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 126
add-int/lit8 v11, v11, 0x1
goto :goto_5a
.line 129
.end local v11 # "b":I
:cond_71
invoke-virtual {v5, v9}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 131
iget-object v11, v9, Lim/tpelyyftgw/messenger/camera/CameraInfo;->previewSizes:Ljava/util/ArrayList;
invoke-static {v11, v4}, Ljava/util/Collections;->sort(Ljava/util/List;Ljava/util/Comparator;)V
.line 132
iget-object v11, v9, Lim/tpelyyftgw/messenger/camera/CameraInfo;->pictureSizes:Ljava/util/ArrayList;
invoke-static {v11, v4}, Ljava/util/Collections;->sort(Ljava/util/List;Ljava/util/Comparator;)V
.line 119
.end local v9 # "cameraInfo":Lim/tpelyyftgw/messenger/camera/CameraInfo;
.end local v10 # "pCount":I
add-int/lit8 v8, v8, 0x1
goto :goto_29
.line 134
.end local v8 # "a":I
:cond_81
invoke-virtual {v0}, Lim/tpelyyftgw/tgnet/SerializedData;->cleanup()V
.line 135
.end local v0 # "serializedData":Lim/tpelyyftgw/tgnet/SerializedData;
.end local v7 # "count":I
move-object/from16 v16, v3
goto/16 :goto_262
.line 136
:cond_88
invoke-static {}, Landroid/hardware/Camera;->getNumberOfCameras()I
move-result v7
.line 137
.restart local v7 # "count":I
new-instance v8, Landroid/hardware/Camera$CameraInfo;
invoke-direct {v8}, Landroid/hardware/Camera$CameraInfo;-><init>()V
:try_end_91
.catch Ljava/lang/Exception; {:try_start_4 .. :try_end_91} :catch_274
.line 139
.local v8, "info":Landroid/hardware/Camera$CameraInfo;
const/4 v9, 0x4
.line 140
.local v9, "bufferSize":I
const/4 v10, 0x0
.local v10, "cameraId":I
:goto_93
if-ge v10, v7, :cond_1de
.line 141
:try_start_95
invoke-static {v10, v8}, Landroid/hardware/Camera;->getCameraInfo(ILandroid/hardware/Camera$CameraInfo;)V
.line 142
new-instance v11, Lim/tpelyyftgw/messenger/camera/CameraInfo;
iget v12, v8, Landroid/hardware/Camera$CameraInfo;->facing:I
invoke-direct {v11, v10, v12}, Lim/tpelyyftgw/messenger/camera/CameraInfo;-><init>(II)V
.line 144
.local v11, "cameraInfo":Lim/tpelyyftgw/messenger/camera/CameraInfo;
sget-boolean v12, Lim/tpelyyftgw/messenger/ApplicationLoader;->mainInterfacePaused:Z
:try_end_a1
.catch Ljava/lang/Exception; {:try_start_95 .. :try_end_a1} :catch_267
if-eqz v12, :cond_b0
:try_start_a3
sget-boolean v12, Lim/tpelyyftgw/messenger/ApplicationLoader;->externalInterfacePaused:Z
if-nez v12, :cond_a8
goto :goto_b0
.line 145
:cond_a8
new-instance v0, Ljava/lang/RuntimeException;
const-string v6, "app paused"
invoke-direct {v0, v6}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw v0
:try_end_b0
.catch Ljava/lang/Exception; {:try_start_a3 .. :try_end_b0} :catch_274
.line 147
:cond_b0
:goto_b0
:try_start_b0
invoke-virtual {v11}, Lim/tpelyyftgw/messenger/camera/CameraInfo;->getCameraId()I
move-result v12
invoke-static {v12}, Landroid/hardware/Camera;->open(I)Landroid/hardware/Camera;
move-result-object v12
.line 148
.local v12, "camera":Landroid/hardware/Camera;
invoke-virtual {v12}, Landroid/hardware/Camera;->getParameters()Landroid/hardware/Camera$Parameters;
move-result-object v13
.line 150
.local v13, "params":Landroid/hardware/Camera$Parameters;
invoke-virtual {v13}, Landroid/hardware/Camera$Parameters;->getSupportedPreviewSizes()Ljava/util/List;
move-result-object v14
.line 151
.local v14, "list":Ljava/util/List;, "Ljava/util/List<Landroid/hardware/Camera$Size;>;"
const/4 v15, 0x0
.local v15, "a":I
:goto_c1
invoke-interface {v14}, Ljava/util/List;->size()I
move-result v6
:try_end_c5
.catch Ljava/lang/Exception; {:try_start_b0 .. :try_end_c5} :catch_267
move-object/from16 v16, v3
.end local v3 # "cache":Ljava/lang/String;
.local v16, "cache":Ljava/lang/String;
const-string v3, " "
move-object/from16 v17, v8
.end local v8 # "info":Landroid/hardware/Camera$CameraInfo;
.local v17, "info":Landroid/hardware/Camera$CameraInfo;
if-ge v15, v6, :cond_131
.line 152
:try_start_cd
invoke-interface {v14, v15}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v6
check-cast v6, Landroid/hardware/Camera$Size;
.line 153
.local v6, "size":Landroid/hardware/Camera$Size;
iget v8, v6, Landroid/hardware/Camera$Size;->width:I
:try_end_d5
.catch Ljava/lang/Exception; {:try_start_cd .. :try_end_d5} :catch_267
move-object/from16 v18, v14
const/16 v14, 0x500
.end local v14 # "list":Ljava/util/List;, "Ljava/util/List<Landroid/hardware/Camera$Size;>;"
.local v18, "list":Ljava/util/List;, "Ljava/util/List<Landroid/hardware/Camera$Size;>;"
if-ne v8, v14, :cond_e4
:try_start_db
iget v8, v6, Landroid/hardware/Camera$Size;->height:I
:try_end_dd
.catch Ljava/lang/Exception; {:try_start_db .. :try_end_dd} :catch_274
const/16 v14, 0x2d0
if-eq v8, v14, :cond_e4
.line 154
move-object/from16 v19, v0
goto :goto_123
.line 156
:cond_e4
:try_start_e4
iget v8, v6, Landroid/hardware/Camera$Size;->height:I
const/16 v14, 0x870
if-ge v8, v14, :cond_121
iget v8, v6, Landroid/hardware/Camera$Size;->width:I
if-ge v8, v14, :cond_121
.line 157
iget-object v8, v11, Lim/tpelyyftgw/messenger/camera/CameraInfo;->previewSizes:Ljava/util/ArrayList;
new-instance v14, Lim/tpelyyftgw/messenger/camera/Size;
iget v1, v6, Landroid/hardware/Camera$Size;->width:I
move-object/from16 v19, v0
iget v0, v6, Landroid/hardware/Camera$Size;->height:I
invoke-direct {v14, v1, v0}, Lim/tpelyyftgw/messenger/camera/Size;-><init>(II)V
invoke-virtual {v8, v14}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 158
sget-boolean v0, Lim/tpelyyftgw/messenger/BuildVars;->LOGS_ENABLED:Z
if-eqz v0, :cond_123
.line 159
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "preview size = "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v1, v6, Landroid/hardware/Camera$Size;->width:I
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v1, v6, Landroid/hardware/Camera$Size;->height:I
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lim/tpelyyftgw/messenger/FileLog;->d(Ljava/lang/String;)V
goto :goto_123
.line 156
:cond_121
move-object/from16 v19, v0
.line 151
.end local v6 # "size":Landroid/hardware/Camera$Size;
:cond_123
:goto_123
add-int/lit8 v15, v15, 0x1
move-object/from16 v1, p0
move-object/from16 v3, v16
move-object/from16 v8, v17
move-object/from16 v14, v18
move-object/from16 v0, v19
const/4 v6, 0x0
goto :goto_c1
.end local v18 # "list":Ljava/util/List;, "Ljava/util/List<Landroid/hardware/Camera$Size;>;"
.restart local v14 # "list":Ljava/util/List;, "Ljava/util/List<Landroid/hardware/Camera$Size;>;"
:cond_131
move-object/from16 v19, v0
move-object/from16 v18, v14
.line 164
.end local v14 # "list":Ljava/util/List;, "Ljava/util/List<Landroid/hardware/Camera$Size;>;"
.end local v15 # "a":I
.restart local v18 # "list":Ljava/util/List;, "Ljava/util/List<Landroid/hardware/Camera$Size;>;"
invoke-virtual {v13}, Landroid/hardware/Camera$Parameters;->getSupportedPictureSizes()Ljava/util/List;
move-result-object v0
.line 165
.end local v18 # "list":Ljava/util/List;, "Ljava/util/List<Landroid/hardware/Camera$Size;>;"
.local v0, "list":Ljava/util/List;, "Ljava/util/List<Landroid/hardware/Camera$Size;>;"
const/4 v1, 0x0
.local v1, "a":I
:goto_13a
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v6
if-ge v1, v6, :cond_1ad
.line 166
invoke-interface {v0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v6
check-cast v6, Landroid/hardware/Camera$Size;
.line 167
.restart local v6 # "size":Landroid/hardware/Camera$Size;
iget v8, v6, Landroid/hardware/Camera$Size;->width:I
const/16 v14, 0x500
if-ne v8, v14, :cond_155
iget v8, v6, Landroid/hardware/Camera$Size;->height:I
const/16 v15, 0x2d0
if-eq v8, v15, :cond_157
.line 168
move-object/from16 v18, v0
goto :goto_1a8
.line 167
:cond_155
const/16 v15, 0x2d0
.line 170
:cond_157
const-string/jumbo v8, "samsung"
sget-object v14, Landroid/os/Build;->MANUFACTURER:Ljava/lang/String;
invoke-virtual {v8, v14}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v8
if-eqz v8, :cond_176
const-string v8, "jflteuc"
sget-object v14, Landroid/os/Build;->PRODUCT:Ljava/lang/String;
invoke-virtual {v8, v14}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v8
if-eqz v8, :cond_176
iget v8, v6, Landroid/hardware/Camera$Size;->width:I
const/16 v14, 0x800
if-ge v8, v14, :cond_173
goto :goto_176
:cond_173
move-object/from16 v18, v0
goto :goto_1a8
.line 171
:cond_176
:goto_176
iget-object v8, v11, Lim/tpelyyftgw/messenger/camera/CameraInfo;->pictureSizes:Ljava/util/ArrayList;
new-instance v14, Lim/tpelyyftgw/messenger/camera/Size;
iget v15, v6, Landroid/hardware/Camera$Size;->width:I
move-object/from16 v18, v0
.end local v0 # "list":Ljava/util/List;, "Ljava/util/List<Landroid/hardware/Camera$Size;>;"
.restart local v18 # "list":Ljava/util/List;, "Ljava/util/List<Landroid/hardware/Camera$Size;>;"
iget v0, v6, Landroid/hardware/Camera$Size;->height:I
invoke-direct {v14, v15, v0}, Lim/tpelyyftgw/messenger/camera/Size;-><init>(II)V
invoke-virtual {v8, v14}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 172
sget-boolean v0, Lim/tpelyyftgw/messenger/BuildVars;->LOGS_ENABLED:Z
if-eqz v0, :cond_1a8
.line 173
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v8, "picture size = "
invoke-virtual {v0, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v8, v6, Landroid/hardware/Camera$Size;->width:I
invoke-virtual {v0, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v8, v6, Landroid/hardware/Camera$Size;->height:I
invoke-virtual {v0, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lim/tpelyyftgw/messenger/FileLog;->d(Ljava/lang/String;)V
.line 165
.end local v6 # "size":Landroid/hardware/Camera$Size;
:cond_1a8
:goto_1a8
add-int/lit8 v1, v1, 0x1
move-object/from16 v0, v18
goto :goto_13a
.end local v18 # "list":Ljava/util/List;, "Ljava/util/List<Landroid/hardware/Camera$Size;>;"
.restart local v0 # "list":Ljava/util/List;, "Ljava/util/List<Landroid/hardware/Camera$Size;>;"
:cond_1ad
move-object/from16 v18, v0
.line 178
.end local v0 # "list":Ljava/util/List;, "Ljava/util/List<Landroid/hardware/Camera$Size;>;"
.end local v1 # "a":I
.restart local v18 # "list":Ljava/util/List;, "Ljava/util/List<Landroid/hardware/Camera$Size;>;"
invoke-virtual {v12}, Landroid/hardware/Camera;->release()V
.line 179
invoke-virtual {v5, v11}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 181
iget-object v0, v11, Lim/tpelyyftgw/messenger/camera/CameraInfo;->previewSizes:Ljava/util/ArrayList;
invoke-static {v0, v4}, Ljava/util/Collections;->sort(Ljava/util/List;Ljava/util/Comparator;)V
.line 182
iget-object v0, v11, Lim/tpelyyftgw/messenger/camera/CameraInfo;->pictureSizes:Ljava/util/ArrayList;
invoke-static {v0, v4}, Ljava/util/Collections;->sort(Ljava/util/List;Ljava/util/Comparator;)V
.line 184
iget-object v0, v11, Lim/tpelyyftgw/messenger/camera/CameraInfo;->previewSizes:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
move-result v0
iget-object v1, v11, Lim/tpelyyftgw/messenger/camera/CameraInfo;->pictureSizes:Ljava/util/ArrayList;
invoke-virtual {v1}, Ljava/util/ArrayList;->size()I
move-result v1
add-int/2addr v0, v1
mul-int/lit8 v0, v0, 0x8
add-int/lit8 v0, v0, 0x8
add-int/2addr v9, v0
.line 140
.end local v11 # "cameraInfo":Lim/tpelyyftgw/messenger/camera/CameraInfo;
.end local v12 # "camera":Landroid/hardware/Camera;
.end local v13 # "params":Landroid/hardware/Camera$Parameters;
.end local v18 # "list":Ljava/util/List;, "Ljava/util/List<Landroid/hardware/Camera$Size;>;"
add-int/lit8 v10, v10, 0x1
move-object/from16 v1, p0
move-object/from16 v3, v16
move-object/from16 v8, v17
move-object/from16 v0, v19
const/4 v6, 0x0
goto/16 :goto_93
.end local v16 # "cache":Ljava/lang/String;
.end local v17 # "info":Landroid/hardware/Camera$CameraInfo;
.restart local v3 # "cache":Ljava/lang/String;
.restart local v8 # "info":Landroid/hardware/Camera$CameraInfo;
:cond_1de
move-object/from16 v19, v0
move-object/from16 v16, v3
move-object/from16 v17, v8
.line 187
.end local v3 # "cache":Ljava/lang/String;
.end local v8 # "info":Landroid/hardware/Camera$CameraInfo;
.end local v10 # "cameraId":I
.restart local v16 # "cache":Ljava/lang/String;
.restart local v17 # "info":Landroid/hardware/Camera$CameraInfo;
new-instance v0, Lim/tpelyyftgw/tgnet/SerializedData;
invoke-direct {v0, v9}, Lim/tpelyyftgw/tgnet/SerializedData;-><init>(I)V
.line 188
.local v0, "serializedData":Lim/tpelyyftgw/tgnet/SerializedData;
invoke-virtual {v5}, Ljava/util/ArrayList;->size()I
move-result v1
invoke-virtual {v0, v1}, Lim/tpelyyftgw/tgnet/SerializedData;->writeInt32(I)V
.line 189
const/4 v1, 0x0
.restart local v1 # "a":I
:goto_1f1
if-ge v1, v7, :cond_249
.line 190
invoke-virtual {v5, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Lim/tpelyyftgw/messenger/camera/CameraInfo;
.line 191
.local v3, "cameraInfo":Lim/tpelyyftgw/messenger/camera/CameraInfo;
iget v6, v3, Lim/tpelyyftgw/messenger/camera/CameraInfo;->cameraId:I
invoke-virtual {v0, v6}, Lim/tpelyyftgw/tgnet/SerializedData;->writeInt32(I)V
.line 192
iget v6, v3, Lim/tpelyyftgw/messenger/camera/CameraInfo;->frontCamera:I
invoke-virtual {v0, v6}, Lim/tpelyyftgw/tgnet/SerializedData;->writeInt32(I)V
.line 194
iget-object v6, v3, Lim/tpelyyftgw/messenger/camera/CameraInfo;->previewSizes:Ljava/util/ArrayList;
invoke-virtual {v6}, Ljava/util/ArrayList;->size()I
move-result v6
.line 195
.local v6, "pCount":I
invoke-virtual {v0, v6}, Lim/tpelyyftgw/tgnet/SerializedData;->writeInt32(I)V
.line 196
const/4 v8, 0x0
.local v8, "b":I
:goto_20d
if-ge v8, v6, :cond_224
.line 197
iget-object v10, v3, Lim/tpelyyftgw/messenger/camera/CameraInfo;->previewSizes:Ljava/util/ArrayList;
invoke-virtual {v10, v8}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v10
check-cast v10, Lim/tpelyyftgw/messenger/camera/Size;
.line 198
.local v10, "size":Lim/tpelyyftgw/messenger/camera/Size;
iget v11, v10, Lim/tpelyyftgw/messenger/camera/Size;->mWidth:I
invoke-virtual {v0, v11}, Lim/tpelyyftgw/tgnet/SerializedData;->writeInt32(I)V
.line 199
iget v11, v10, Lim/tpelyyftgw/messenger/camera/Size;->mHeight:I
invoke-virtual {v0, v11}, Lim/tpelyyftgw/tgnet/SerializedData;->writeInt32(I)V
.line 196
.end local v10 # "size":Lim/tpelyyftgw/messenger/camera/Size;
add-int/lit8 v8, v8, 0x1
goto :goto_20d
.line 201
.end local v8 # "b":I
:cond_224
iget-object v8, v3, Lim/tpelyyftgw/messenger/camera/CameraInfo;->pictureSizes:Ljava/util/ArrayList;
invoke-virtual {v8}, Ljava/util/ArrayList;->size()I
move-result v8
move v6, v8
.line 202
invoke-virtual {v0, v6}, Lim/tpelyyftgw/tgnet/SerializedData;->writeInt32(I)V
.line 203
const/4 v8, 0x0
.restart local v8 # "b":I
:goto_22f
if-ge v8, v6, :cond_246
.line 204
iget-object v10, v3, Lim/tpelyyftgw/messenger/camera/CameraInfo;->pictureSizes:Ljava/util/ArrayList;
invoke-virtual {v10, v8}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v10
check-cast v10, Lim/tpelyyftgw/messenger/camera/Size;
.line 205
.restart local v10 # "size":Lim/tpelyyftgw/messenger/camera/Size;
iget v11, v10, Lim/tpelyyftgw/messenger/camera/Size;->mWidth:I
invoke-virtual {v0, v11}, Lim/tpelyyftgw/tgnet/SerializedData;->writeInt32(I)V
.line 206
iget v11, v10, Lim/tpelyyftgw/messenger/camera/Size;->mHeight:I
invoke-virtual {v0, v11}, Lim/tpelyyftgw/tgnet/SerializedData;->writeInt32(I)V
.line 203
.end local v10 # "size":Lim/tpelyyftgw/messenger/camera/Size;
add-int/lit8 v8, v8, 0x1
goto :goto_22f
.line 189
.end local v3 # "cameraInfo":Lim/tpelyyftgw/messenger/camera/CameraInfo;
.end local v6 # "pCount":I
.end local v8 # "b":I
:cond_246
add-int/lit8 v1, v1, 0x1
goto :goto_1f1
.line 209
.end local v1 # "a":I
:cond_249
invoke-interface {v2}, Landroid/content/SharedPreferences;->edit()Landroid/content/SharedPreferences$Editor;
move-result-object v1
invoke-virtual {v0}, Lim/tpelyyftgw/tgnet/SerializedData;->toByteArray()[B
move-result-object v3
const/4 v6, 0x0
invoke-static {v3, v6}, Landroid/util/Base64;->encodeToString([BI)Ljava/lang/String;
move-result-object v3
move-object/from16 v6, v19
invoke-interface {v1, v6, v3}, Landroid/content/SharedPreferences$Editor;->putString(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SharedPreferences$Editor;
move-result-object v1
invoke-interface {v1}, Landroid/content/SharedPreferences$Editor;->commit()Z
.line 210
invoke-virtual {v0}, Lim/tpelyyftgw/tgnet/SerializedData;->cleanup()V
:try_end_262
.catch Ljava/lang/Exception; {:try_start_e4 .. :try_end_262} :catch_267
.line 212
.end local v0 # "serializedData":Lim/tpelyyftgw/tgnet/SerializedData;
.end local v7 # "count":I
.end local v9 # "bufferSize":I
.end local v17 # "info":Landroid/hardware/Camera$CameraInfo;
:goto_262
move-object/from16 v1, p0
:try_start_264
iput-object v5, v1, Lim/tpelyyftgw/messenger/camera/CameraController;->cameraInfos:Ljava/util/ArrayList;
goto :goto_26b
.line 225
.end local v2 # "preferences":Landroid/content/SharedPreferences;
.end local v4 # "comparator":Ljava/util/Comparator;, "Ljava/util/Comparator<Lim/tpelyyftgw/messenger/camera/Size;>;"
.end local v5 # "result":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Lim/tpelyyftgw/messenger/camera/CameraInfo;>;"
.end local v16 # "cache":Ljava/lang/String;
:catch_267
move-exception v0
move-object/from16 v1, p0
goto :goto_275
.line 214
:cond_26b
:goto_26b
new-instance v0, Lim/tpelyyftgw/messenger/camera/-$$Lambda$CameraController$04b4edG1zIZJfLDJlCXnVOXS97g;
invoke-direct {v0, v1}, Lim/tpelyyftgw/messenger/camera/-$$Lambda$CameraController$04b4edG1zIZJfLDJlCXnVOXS97g;-><init>(Lim/tpelyyftgw/messenger/camera/CameraController;)V
invoke-static {v0}, Lim/tpelyyftgw/messenger/AndroidUtilities;->runOnUIThread(Ljava/lang/Runnable;)V
:try_end_273
.catch Ljava/lang/Exception; {:try_start_264 .. :try_end_273} :catch_274
.line 231
goto :goto_27d
.line 225
:catch_274
move-exception v0
.line 226
.local v0, "e":Ljava/lang/Exception;
:goto_275
new-instance v2, Lim/tpelyyftgw/messenger/camera/-$$Lambda$CameraController$Xa3G264vE1q1MTyl28HSh5nyLKw;
invoke-direct {v2, v1}, Lim/tpelyyftgw/messenger/camera/-$$Lambda$CameraController$Xa3G264vE1q1MTyl28HSh5nyLKw;-><init>(Lim/tpelyyftgw/messenger/camera/CameraController;)V
invoke-static {v2}, Lim/tpelyyftgw/messenger/AndroidUtilities;->runOnUIThread(Ljava/lang/Runnable;)V
.line 232
.end local v0 # "e":Ljava/lang/Exception;
:goto_27d
return-void
.end method
.method public synthetic lambda$null$1$CameraController()V
.registers 4
.line 215
const/4 v0, 0x0
iput-boolean v0, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->loadingCameras:Z
.line 216
const/4 v1, 0x1
iput-boolean v1, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->cameraInitied:Z
.line 217
iget-object v1, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->onFinishCameraInitRunnables:Ljava/util/ArrayList;
invoke-virtual {v1}, Ljava/util/ArrayList;->isEmpty()Z
move-result v1
if-nez v1, :cond_2a
.line 218
const/4 v1, 0x0
.local v1, "a":I
:goto_f
iget-object v2, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->onFinishCameraInitRunnables:Ljava/util/ArrayList;
invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
move-result v2
if-ge v1, v2, :cond_25
.line 219
iget-object v2, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->onFinishCameraInitRunnables:Ljava/util/ArrayList;
invoke-virtual {v2, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/Runnable;
invoke-interface {v2}, Ljava/lang/Runnable;->run()V
.line 218
add-int/lit8 v1, v1, 0x1
goto :goto_f
.line 221
.end local v1 # "a":I
:cond_25
iget-object v1, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->onFinishCameraInitRunnables:Ljava/util/ArrayList;
invoke-virtual {v1}, Ljava/util/ArrayList;->clear()V
.line 223
:cond_2a
invoke-static {}, Lim/tpelyyftgw/messenger/NotificationCenter;->getGlobalInstance()Lim/tpelyyftgw/messenger/NotificationCenter;
move-result-object v1
sget v2, Lim/tpelyyftgw/messenger/NotificationCenter;->cameraInitied:I
new-array v0, v0, [Ljava/lang/Object;
invoke-virtual {v1, v2, v0}, Lim/tpelyyftgw/messenger/NotificationCenter;->postNotificationName(I[Ljava/lang/Object;)V
.line 224
return-void
.end method
.method public synthetic lambda$null$2$CameraController()V
.registers 2
.line 227
iget-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->onFinishCameraInitRunnables:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->clear()V
.line 228
const/4 v0, 0x0
iput-boolean v0, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->loadingCameras:Z
.line 229
iput-boolean v0, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->cameraInitied:Z
.line 230
return-void
.end method
.method public synthetic lambda$open$9$CameraController(Lim/tpelyyftgw/messenger/camera/CameraSession;Ljava/lang/Runnable;Landroid/graphics/SurfaceTexture;Ljava/lang/Runnable;)V
.registers 11
.param p1, "session" # Lim/tpelyyftgw/messenger/camera/CameraSession;
.param p2, "prestartCallback" # Ljava/lang/Runnable;
.param p3, "texture" # Landroid/graphics/SurfaceTexture;
.param p4, "callback" # Ljava/lang/Runnable;
.line 537
iget-object v0, p1, Lim/tpelyyftgw/messenger/camera/CameraSession;->cameraInfo:Lim/tpelyyftgw/messenger/camera/CameraInfo;
iget-object v0, v0, Lim/tpelyyftgw/messenger/camera/CameraInfo;->camera:Landroid/hardware/Camera;
.line 539
.local v0, "camera":Landroid/hardware/Camera;
if-nez v0, :cond_13
.line 540
:try_start_6
iget-object v1, p1, Lim/tpelyyftgw/messenger/camera/CameraSession;->cameraInfo:Lim/tpelyyftgw/messenger/camera/CameraInfo;
iget-object v2, p1, Lim/tpelyyftgw/messenger/camera/CameraSession;->cameraInfo:Lim/tpelyyftgw/messenger/camera/CameraInfo;
iget v2, v2, Lim/tpelyyftgw/messenger/camera/CameraInfo;->cameraId:I
invoke-static {v2}, Landroid/hardware/Camera;->open(I)Landroid/hardware/Camera;
move-result-object v2
iput-object v2, v1, Lim/tpelyyftgw/messenger/camera/CameraInfo;->camera:Landroid/hardware/Camera;
move-object v0, v2
.line 542
:cond_13
invoke-virtual {v0}, Landroid/hardware/Camera;->getParameters()Landroid/hardware/Camera$Parameters;
move-result-object v1
.line 543
.local v1, "params":Landroid/hardware/Camera$Parameters;
invoke-virtual {v1}, Landroid/hardware/Camera$Parameters;->getSupportedFlashModes()Ljava/util/List;
move-result-object v2
.line 545
.local v2, "rawFlashModes":Ljava/util/List;, "Ljava/util/List<Ljava/lang/String;>;"
iget-object v3, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->availableFlashModes:Ljava/util/ArrayList;
invoke-virtual {v3}, Ljava/util/ArrayList;->clear()V
.line 546
if-eqz v2, :cond_5b
.line 547
const/4 v3, 0x0
.local v3, "a":I
:goto_23
invoke-interface {v2}, Ljava/util/List;->size()I
move-result v4
if-ge v3, v4, :cond_4f
.line 548
invoke-interface {v2, v3}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v4
check-cast v4, Ljava/lang/String;
.line 549
.local v4, "rawFlashMode":Ljava/lang/String;
const-string v5, "off"
invoke-virtual {v4, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v5
if-nez v5, :cond_47
const-string v5, "on"
invoke-virtual {v4, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v5
if-nez v5, :cond_47
const-string v5, "auto"
invoke-virtual {v4, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v5
if-eqz v5, :cond_4c
.line 550
:cond_47
iget-object v5, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->availableFlashModes:Ljava/util/ArrayList;
invoke-virtual {v5, v4}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 547
.end local v4 # "rawFlashMode":Ljava/lang/String;
:cond_4c
add-int/lit8 v3, v3, 0x1
goto :goto_23
.line 553
.end local v3 # "a":I
:cond_4f
iget-object v3, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->availableFlashModes:Ljava/util/ArrayList;
const/4 v4, 0x0
invoke-virtual {v3, v4}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/lang/String;
invoke-virtual {p1, v3}, Lim/tpelyyftgw/messenger/camera/CameraSession;->checkFlashMode(Ljava/lang/String;)V
.line 556
:cond_5b
if-eqz p2, :cond_60
.line 557
invoke-interface {p2}, Ljava/lang/Runnable;->run()V
.line 560
:cond_60
invoke-virtual {p1}, Lim/tpelyyftgw/messenger/camera/CameraSession;->configurePhotoCamera()V
.line 561
invoke-virtual {v0, p3}, Landroid/hardware/Camera;->setPreviewTexture(Landroid/graphics/SurfaceTexture;)V
.line 562
invoke-virtual {v0}, Landroid/hardware/Camera;->startPreview()V
.line 563
if-eqz p4, :cond_6e
.line 564
invoke-static {p4}, Lim/tpelyyftgw/messenger/AndroidUtilities;->runOnUIThread(Ljava/lang/Runnable;)V
:try_end_6e
.catch Ljava/lang/Exception; {:try_start_6 .. :try_end_6e} :catch_6f
.line 572
.end local v1 # "params":Landroid/hardware/Camera$Parameters;
.end local v2 # "rawFlashModes":Ljava/util/List;, "Ljava/util/List<Ljava/lang/String;>;"
:cond_6e
goto :goto_7d
.line 566
:catch_6f
move-exception v1
.line 567
.local v1, "e":Ljava/lang/Exception;
iget-object v2, p1, Lim/tpelyyftgw/messenger/camera/CameraSession;->cameraInfo:Lim/tpelyyftgw/messenger/camera/CameraInfo;
const/4 v3, 0x0
iput-object v3, v2, Lim/tpelyyftgw/messenger/camera/CameraInfo;->camera:Landroid/hardware/Camera;
.line 568
if-eqz v0, :cond_7a
.line 569
invoke-virtual {v0}, Landroid/hardware/Camera;->release()V
.line 571
:cond_7a
invoke-static {v1}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
.line 573
.end local v1 # "e":Ljava/lang/Exception;
:goto_7d
return-void
.end method
.method public synthetic lambda$recordVideo$10$CameraController(Landroid/hardware/Camera;Lim/tpelyyftgw/messenger/camera/CameraSession;Ljava/io/File;Lim/tpelyyftgw/messenger/camera/CameraInfo;Lim/tpelyyftgw/messenger/camera/CameraController$VideoTakeCallback;Ljava/lang/Runnable;)V
.registers 11
.param p1, "camera" # Landroid/hardware/Camera;
.param p2, "session" # Lim/tpelyyftgw/messenger/camera/CameraSession;
.param p3, "path" # Ljava/io/File;
.param p4, "info" # Lim/tpelyyftgw/messenger/camera/CameraInfo;
.param p5, "callback" # Lim/tpelyyftgw/messenger/camera/CameraController$VideoTakeCallback;
.param p6, "onVideoStartRecord" # Ljava/lang/Runnable;
.line 585
if-eqz p1, :cond_b9
.line 587
:try_start_2
invoke-virtual {p1}, Landroid/hardware/Camera;->getParameters()Landroid/hardware/Camera$Parameters;
move-result-object v0
.line 588
.local v0, "params":Landroid/hardware/Camera$Parameters;
invoke-virtual {p2}, Lim/tpelyyftgw/messenger/camera/CameraSession;->getCurrentFlashMode()Ljava/lang/String;
move-result-object v1
const-string v2, "on"
invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_16
const-string/jumbo v1, "torch"
goto :goto_18
:cond_16
const-string v1, "off"
:goto_18
invoke-virtual {v0, v1}, Landroid/hardware/Camera$Parameters;->setFlashMode(Ljava/lang/String;)V
.line 589
invoke-virtual {p1, v0}, Landroid/hardware/Camera;->setParameters(Landroid/hardware/Camera$Parameters;)V
:try_end_1e
.catch Ljava/lang/Exception; {:try_start_2 .. :try_end_1e} :catch_1f
.line 592
.end local v0 # "params":Landroid/hardware/Camera$Parameters;
goto :goto_23
.line 590
:catch_1f
move-exception v0
.line 591
.local v0, "e":Ljava/lang/Exception;
:try_start_20
invoke-static {v0}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
.line 593
.end local v0 # "e":Ljava/lang/Exception;
:goto_23
invoke-virtual {p1}, Landroid/hardware/Camera;->unlock()V
:try_end_26
.catch Ljava/lang/Exception; {:try_start_20 .. :try_end_26} :catch_b4
.line 596
:try_start_26
new-instance v0, Landroid/media/MediaRecorder;
invoke-direct {v0}, Landroid/media/MediaRecorder;-><init>()V
iput-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->recorder:Landroid/media/MediaRecorder;
.line 597
invoke-virtual {v0, p1}, Landroid/media/MediaRecorder;->setCamera(Landroid/hardware/Camera;)V
.line 598
iget-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->recorder:Landroid/media/MediaRecorder;
const/4 v1, 0x1
invoke-virtual {v0, v1}, Landroid/media/MediaRecorder;->setVideoSource(I)V
.line 599
iget-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->recorder:Landroid/media/MediaRecorder;
const/4 v2, 0x5
invoke-virtual {v0, v2}, Landroid/media/MediaRecorder;->setAudioSource(I)V
.line 600
iget-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->recorder:Landroid/media/MediaRecorder;
invoke-virtual {p2, v1, v0}, Lim/tpelyyftgw/messenger/camera/CameraSession;->configureRecorder(ILandroid/media/MediaRecorder;)V
.line 601
iget-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->recorder:Landroid/media/MediaRecorder;
invoke-virtual {p3}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Landroid/media/MediaRecorder;->setOutputFile(Ljava/lang/String;)V
.line 602
iget-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->recorder:Landroid/media/MediaRecorder;
const-wide/32 v1, 0x40000000
invoke-virtual {v0, v1, v2}, Landroid/media/MediaRecorder;->setMaxFileSize(J)V
.line 603
iget-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->recorder:Landroid/media/MediaRecorder;
const/16 v1, 0x1e
invoke-virtual {v0, v1}, Landroid/media/MediaRecorder;->setVideoFrameRate(I)V
.line 604
iget-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->recorder:Landroid/media/MediaRecorder;
const/4 v1, 0x0
invoke-virtual {v0, v1}, Landroid/media/MediaRecorder;->setMaxDuration(I)V
.line 606
new-instance v0, Lim/tpelyyftgw/messenger/camera/Size;
const/16 v1, 0x10
const/16 v2, 0x9
invoke-direct {v0, v1, v2}, Lim/tpelyyftgw/messenger/camera/Size;-><init>(II)V
.line 607
.local v0, "pictureSize":Lim/tpelyyftgw/messenger/camera/Size;
invoke-virtual {p4}, Lim/tpelyyftgw/messenger/camera/CameraInfo;->getPictureSizes()Ljava/util/ArrayList;
move-result-object v1
const/16 v2, 0x2d0
const/16 v3, 0x1e0
invoke-static {v1, v2, v3, v0}, Lim/tpelyyftgw/messenger/camera/CameraController;->chooseOptimalSize(Ljava/util/List;IILim/tpelyyftgw/messenger/camera/Size;)Lim/tpelyyftgw/messenger/camera/Size;
move-result-object v1
move-object v0, v1
.line 608
iget-object v1, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->recorder:Landroid/media/MediaRecorder;
const v2, 0x1b7740
invoke-virtual {v1, v2}, Landroid/media/MediaRecorder;->setVideoEncodingBitRate(I)V
.line 609
iget-object v1, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->recorder:Landroid/media/MediaRecorder;
invoke-virtual {v0}, Lim/tpelyyftgw/messenger/camera/Size;->getWidth()I
move-result v2
invoke-virtual {v0}, Lim/tpelyyftgw/messenger/camera/Size;->getHeight()I
move-result v3
invoke-virtual {v1, v2, v3}, Landroid/media/MediaRecorder;->setVideoSize(II)V
.line 610
iget-object v1, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->recorder:Landroid/media/MediaRecorder;
invoke-virtual {v1, p0}, Landroid/media/MediaRecorder;->setOnInfoListener(Landroid/media/MediaRecorder$OnInfoListener;)V
.line 611
iget-object v1, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->recorder:Landroid/media/MediaRecorder;
invoke-virtual {v1}, Landroid/media/MediaRecorder;->prepare()V
.line 612
iget-object v1, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->recorder:Landroid/media/MediaRecorder;
invoke-virtual {v1}, Landroid/media/MediaRecorder;->start()V
.line 614
iput-object p5, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->onVideoTakeCallback:Lim/tpelyyftgw/messenger/camera/CameraController$VideoTakeCallback;
.line 615
invoke-virtual {p3}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v1
iput-object v1, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->recordedFile:Ljava/lang/String;
.line 616
if-eqz p6, :cond_a6
.line 617
invoke-static {p6}, Lim/tpelyyftgw/messenger/AndroidUtilities;->runOnUIThread(Ljava/lang/Runnable;)V
:try_end_a6
.catch Ljava/lang/Exception; {:try_start_26 .. :try_end_a6} :catch_a7
.line 623
.end local v0 # "pictureSize":Lim/tpelyyftgw/messenger/camera/Size;
:cond_a6
goto :goto_b9
.line 619
:catch_a7
move-exception v0
.line 620
.local v0, "e":Ljava/lang/Exception;
:try_start_a8
iget-object v1, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->recorder:Landroid/media/MediaRecorder;
invoke-virtual {v1}, Landroid/media/MediaRecorder;->release()V
.line 621
const/4 v1, 0x0
iput-object v1, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->recorder:Landroid/media/MediaRecorder;
.line 622
invoke-static {v0}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
:try_end_b3
.catch Ljava/lang/Exception; {:try_start_a8 .. :try_end_b3} :catch_b4
goto :goto_b9
.line 625
.end local v0 # "e":Ljava/lang/Exception;
:catch_b4
move-exception v0
.line 626
.restart local v0 # "e":Ljava/lang/Exception;
invoke-static {v0}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
goto :goto_ba
.line 627
.end local v0 # "e":Ljava/lang/Exception;
:cond_b9
:goto_b9
nop
.line 628
:goto_ba
return-void
.end method
.method public synthetic lambda$stopVideoRecording$13$CameraController(Lim/tpelyyftgw/messenger/camera/CameraSession;Z)V
.registers 8
.param p1, "session" # Lim/tpelyyftgw/messenger/camera/CameraSession;
.param p2, "abandon" # Z
.line 693
:try_start_0
iget-object v0, p1, Lim/tpelyyftgw/messenger/camera/CameraSession;->cameraInfo:Lim/tpelyyftgw/messenger/camera/CameraInfo;
.line 694
.local v0, "info":Lim/tpelyyftgw/messenger/camera/CameraInfo;
iget-object v1, v0, Lim/tpelyyftgw/messenger/camera/CameraInfo;->camera:Landroid/hardware/Camera;
.line 695
.local v1, "camera":Landroid/hardware/Camera;
const/4 v2, 0x0
if-eqz v1, :cond_32
iget-object v3, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->recorder:Landroid/media/MediaRecorder;
if-eqz v3, :cond_32
.line 696
iget-object v3, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->recorder:Landroid/media/MediaRecorder;
.line 697
.local v3, "tempRecorder":Landroid/media/MediaRecorder;
iput-object v2, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->recorder:Landroid/media/MediaRecorder;
:try_end_f
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_f} :catch_5a
.line 699
:try_start_f
invoke-virtual {v3}, Landroid/media/MediaRecorder;->stop()V
:try_end_12
.catch Ljava/lang/Exception; {:try_start_f .. :try_end_12} :catch_13
.line 702
goto :goto_17
.line 700
:catch_13
move-exception v4
.line 701
.local v4, "e":Ljava/lang/Exception;
:try_start_14
invoke-static {v4}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
:try_end_17
.catch Ljava/lang/Exception; {:try_start_14 .. :try_end_17} :catch_5a
.line 704
.end local v4 # "e":Ljava/lang/Exception;
:goto_17
:try_start_17
invoke-virtual {v3}, Landroid/media/MediaRecorder;->release()V
:try_end_1a
.catch Ljava/lang/Exception; {:try_start_17 .. :try_end_1a} :catch_1b
.line 707
goto :goto_1f
.line 705
:catch_1b
move-exception v4
.line 706
.restart local v4 # "e":Ljava/lang/Exception;
:try_start_1c
invoke-static {v4}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
:try_end_1f
.catch Ljava/lang/Exception; {:try_start_1c .. :try_end_1f} :catch_5a
.line 709
.end local v4 # "e":Ljava/lang/Exception;
:goto_1f
:try_start_1f
invoke-virtual {v1}, Landroid/hardware/Camera;->reconnect()V
.line 710
invoke-virtual {v1}, Landroid/hardware/Camera;->startPreview()V
:try_end_25
.catch Ljava/lang/Exception; {:try_start_1f .. :try_end_25} :catch_26
.line 713
goto :goto_2a
.line 711
:catch_26
move-exception v4
.line 712
.restart local v4 # "e":Ljava/lang/Exception;
:try_start_27
invoke-static {v4}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
:try_end_2a
.catch Ljava/lang/Exception; {:try_start_27 .. :try_end_2a} :catch_5a
.line 715
.end local v4 # "e":Ljava/lang/Exception;
:goto_2a
:try_start_2a
invoke-virtual {p1}, Lim/tpelyyftgw/messenger/camera/CameraSession;->stopVideoRecording()V
:try_end_2d
.catch Ljava/lang/Exception; {:try_start_2a .. :try_end_2d} :catch_2e
.line 718
goto :goto_32
.line 716
:catch_2e
move-exception v4
.line 717
.restart local v4 # "e":Ljava/lang/Exception;
:try_start_2f
invoke-static {v4}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
:try_end_32
.catch Ljava/lang/Exception; {:try_start_2f .. :try_end_32} :catch_5a
.line 721
.end local v3 # "tempRecorder":Landroid/media/MediaRecorder;
.end local v4 # "e":Ljava/lang/Exception;
:cond_32
:goto_32
:try_start_32
invoke-virtual {v1}, Landroid/hardware/Camera;->getParameters()Landroid/hardware/Camera$Parameters;
move-result-object v3
.line 722
.local v3, "params":Landroid/hardware/Camera$Parameters;
const-string v4, "off"
invoke-virtual {v3, v4}, Landroid/hardware/Camera$Parameters;->setFlashMode(Ljava/lang/String;)V
.line 723
invoke-virtual {v1, v3}, Landroid/hardware/Camera;->setParameters(Landroid/hardware/Camera$Parameters;)V
:try_end_3e
.catch Ljava/lang/Exception; {:try_start_32 .. :try_end_3e} :catch_3f
.line 726
.end local v3 # "params":Landroid/hardware/Camera$Parameters;
goto :goto_43
.line 724
:catch_3f
move-exception v3
.line 725
.local v3, "e":Ljava/lang/Exception;
:try_start_40
invoke-static {v3}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
.line 727
.end local v3 # "e":Ljava/lang/Exception;
:goto_43
iget-object v3, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->threadPool:Ljava/util/concurrent/ThreadPoolExecutor;
new-instance v4, Lim/tpelyyftgw/messenger/camera/-$$Lambda$CameraController$O0BZ91tfX7NTgj3Z18l9QNyRAww;
invoke-direct {v4, v1, p1}, Lim/tpelyyftgw/messenger/camera/-$$Lambda$CameraController$O0BZ91tfX7NTgj3Z18l9QNyRAww;-><init>(Landroid/hardware/Camera;Lim/tpelyyftgw/messenger/camera/CameraSession;)V
invoke-virtual {v3, v4}, Ljava/util/concurrent/ThreadPoolExecutor;->execute(Ljava/lang/Runnable;)V
.line 736
if-nez p2, :cond_57
iget-object v3, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->onVideoTakeCallback:Lim/tpelyyftgw/messenger/camera/CameraController$VideoTakeCallback;
if-eqz v3, :cond_57
.line 737
invoke-direct {p0}, Lim/tpelyyftgw/messenger/camera/CameraController;->finishRecordingVideo()V
goto :goto_59
.line 739
:cond_57
iput-object v2, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->onVideoTakeCallback:Lim/tpelyyftgw/messenger/camera/CameraController$VideoTakeCallback;
:try_end_59
.catch Ljava/lang/Exception; {:try_start_40 .. :try_end_59} :catch_5a
.line 742
.end local v0 # "info":Lim/tpelyyftgw/messenger/camera/CameraInfo;
.end local v1 # "camera":Landroid/hardware/Camera;
:goto_59
goto :goto_5b
.line 741
:catch_5a
move-exception v0
.line 743
:goto_5b
return-void
.end method
.method public onInfo(Landroid/media/MediaRecorder;II)V
.registers 6
.param p1, "mediaRecorder" # Landroid/media/MediaRecorder;
.param p2, "what" # I
.param p3, "extra" # I
.line 677
const/16 v0, 0x320
if-eq p2, v0, :cond_b
const/16 v0, 0x321
if-eq p2, v0, :cond_b
const/4 v0, 0x1
if-ne p2, v0, :cond_1f
.line 678
:cond_b
iget-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->recorder:Landroid/media/MediaRecorder;
.line 679
.local v0, "tempRecorder":Landroid/media/MediaRecorder;
const/4 v1, 0x0
iput-object v1, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->recorder:Landroid/media/MediaRecorder;
.line 680
if-eqz v0, :cond_18
.line 681
invoke-virtual {v0}, Landroid/media/MediaRecorder;->stop()V
.line 682
invoke-virtual {v0}, Landroid/media/MediaRecorder;->release()V
.line 684
:cond_18
iget-object v1, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->onVideoTakeCallback:Lim/tpelyyftgw/messenger/camera/CameraController$VideoTakeCallback;
if-eqz v1, :cond_1f
.line 685
invoke-direct {p0}, Lim/tpelyyftgw/messenger/camera/CameraController;->finishRecordingVideo()V
.line 688
.end local v0 # "tempRecorder":Landroid/media/MediaRecorder;
:cond_1f
return-void
.end method
.method public open(Lim/tpelyyftgw/messenger/camera/CameraSession;Landroid/graphics/SurfaceTexture;Ljava/lang/Runnable;Ljava/lang/Runnable;)V
.registers 13
.param p1, "session" # Lim/tpelyyftgw/messenger/camera/CameraSession;
.param p2, "texture" # Landroid/graphics/SurfaceTexture;
.param p3, "callback" # Ljava/lang/Runnable;
.param p4, "prestartCallback" # Ljava/lang/Runnable;
.line 533
if-eqz p1, :cond_16
if-nez p2, :cond_5
goto :goto_16
.line 536
:cond_5
iget-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->threadPool:Ljava/util/concurrent/ThreadPoolExecutor;
new-instance v7, Lim/tpelyyftgw/messenger/camera/-$$Lambda$CameraController$Bv6W5yfuQWzRcVbhltcdTXk4wzo;
move-object v1, v7
move-object v2, p0
move-object v3, p1
move-object v4, p4
move-object v5, p2
move-object v6, p3
invoke-direct/range {v1 .. v6}, Lim/tpelyyftgw/messenger/camera/-$$Lambda$CameraController$Bv6W5yfuQWzRcVbhltcdTXk4wzo;-><init>(Lim/tpelyyftgw/messenger/camera/CameraController;Lim/tpelyyftgw/messenger/camera/CameraSession;Ljava/lang/Runnable;Landroid/graphics/SurfaceTexture;Ljava/lang/Runnable;)V
invoke-virtual {v0, v7}, Ljava/util/concurrent/ThreadPoolExecutor;->execute(Ljava/lang/Runnable;)V
.line 574
return-void
.line 534
:cond_16
:goto_16
return-void
.end method
.method public openRound(Lim/tpelyyftgw/messenger/camera/CameraSession;Landroid/graphics/SurfaceTexture;Ljava/lang/Runnable;Ljava/lang/Runnable;)V
.registers 7
.param p1, "session" # Lim/tpelyyftgw/messenger/camera/CameraSession;
.param p2, "texture" # Landroid/graphics/SurfaceTexture;
.param p3, "callback" # Ljava/lang/Runnable;
.param p4, "configureCallback" # Ljava/lang/Runnable;
.line 493
if-eqz p1, :cond_10
if-nez p2, :cond_5
goto :goto_10
.line 499
:cond_5
iget-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->threadPool:Ljava/util/concurrent/ThreadPoolExecutor;
new-instance v1, Lim/tpelyyftgw/messenger/camera/-$$Lambda$CameraController$13ofWMPcpo-LyMtifHuFGRWl8T0;
invoke-direct {v1, p1, p4, p2, p3}, Lim/tpelyyftgw/messenger/camera/-$$Lambda$CameraController$13ofWMPcpo-LyMtifHuFGRWl8T0;-><init>(Lim/tpelyyftgw/messenger/camera/CameraSession;Ljava/lang/Runnable;Landroid/graphics/SurfaceTexture;Ljava/lang/Runnable;)V
invoke-virtual {v0, v1}, Ljava/util/concurrent/ThreadPoolExecutor;->execute(Ljava/lang/Runnable;)V
.line 530
return-void
.line 494
:cond_10
:goto_10
sget-boolean v0, Lim/tpelyyftgw/messenger/BuildVars;->LOGS_ENABLED:Z
if-eqz v0, :cond_30
.line 495
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "failed to open round "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, " tex = "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lim/tpelyyftgw/messenger/FileLog;->d(Ljava/lang/String;)V
.line 497
:cond_30
return-void
.end method
.method public recordVideo(Lim/tpelyyftgw/messenger/camera/CameraSession;Ljava/io/File;Lim/tpelyyftgw/messenger/camera/CameraController$VideoTakeCallback;Ljava/lang/Runnable;)V
.registers 19
.param p1, "session" # Lim/tpelyyftgw/messenger/camera/CameraSession;
.param p2, "path" # Ljava/io/File;
.param p3, "callback" # Lim/tpelyyftgw/messenger/camera/CameraController$VideoTakeCallback;
.param p4, "onVideoStartRecord" # Ljava/lang/Runnable;
.line 577
move-object v8, p1
if-nez v8, :cond_4
.line 578
return-void
.line 581
:cond_4
iget-object v9, v8, Lim/tpelyyftgw/messenger/camera/CameraSession;->cameraInfo:Lim/tpelyyftgw/messenger/camera/CameraInfo;
.line 582
.local v9, "info":Lim/tpelyyftgw/messenger/camera/CameraInfo;
iget-object v10, v9, Lim/tpelyyftgw/messenger/camera/CameraInfo;->camera:Landroid/hardware/Camera;
.line 583
.local v10, "camera":Landroid/hardware/Camera;
move-object v11, p0
iget-object v12, v11, Lim/tpelyyftgw/messenger/camera/CameraController;->threadPool:Ljava/util/concurrent/ThreadPoolExecutor;
new-instance v13, Lim/tpelyyftgw/messenger/camera/-$$Lambda$CameraController$PrPy6xBW8srmQRfT2q3tXcK0XhA;
move-object v0, v13
move-object v1, p0
move-object v2, v10
move-object v3, p1
move-object/from16 v4, p2
move-object v5, v9
move-object/from16 v6, p3
move-object/from16 v7, p4
invoke-direct/range {v0 .. v7}, Lim/tpelyyftgw/messenger/camera/-$$Lambda$CameraController$PrPy6xBW8srmQRfT2q3tXcK0XhA;-><init>(Lim/tpelyyftgw/messenger/camera/CameraController;Landroid/hardware/Camera;Lim/tpelyyftgw/messenger/camera/CameraSession;Ljava/io/File;Lim/tpelyyftgw/messenger/camera/CameraInfo;Lim/tpelyyftgw/messenger/camera/CameraController$VideoTakeCallback;Ljava/lang/Runnable;)V
invoke-virtual {v12, v13}, Ljava/util/concurrent/ThreadPoolExecutor;->execute(Ljava/lang/Runnable;)V
.line 629
return-void
.end method
.method public runOnThreadPool(Ljava/lang/Runnable;)V
.registers 3
.param p1, "runnable" # Ljava/lang/Runnable;
.line 240
iget-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->threadPool:Ljava/util/concurrent/ThreadPoolExecutor;
invoke-virtual {v0, p1}, Ljava/util/concurrent/ThreadPoolExecutor;->execute(Ljava/lang/Runnable;)V
.line 241
return-void
.end method
.method public startPreview(Lim/tpelyyftgw/messenger/camera/CameraSession;)V
.registers 4
.param p1, "session" # Lim/tpelyyftgw/messenger/camera/CameraSession;
.line 451
if-nez p1, :cond_3
.line 452
return-void
.line 454
:cond_3
iget-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->threadPool:Ljava/util/concurrent/ThreadPoolExecutor;
new-instance v1, Lim/tpelyyftgw/messenger/camera/-$$Lambda$CameraController$izvycCDtcpWQUEQSha1eiWvmot4;
invoke-direct {v1, p1}, Lim/tpelyyftgw/messenger/camera/-$$Lambda$CameraController$izvycCDtcpWQUEQSha1eiWvmot4;-><init>(Lim/tpelyyftgw/messenger/camera/CameraSession;)V
invoke-virtual {v0, v1}, Ljava/util/concurrent/ThreadPoolExecutor;->execute(Ljava/lang/Runnable;)V
.line 469
return-void
.end method
.method public stopPreview(Lim/tpelyyftgw/messenger/camera/CameraSession;)V
.registers 4
.param p1, "session" # Lim/tpelyyftgw/messenger/camera/CameraSession;
.line 472
if-nez p1, :cond_3
.line 473
return-void
.line 475
:cond_3
iget-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->threadPool:Ljava/util/concurrent/ThreadPoolExecutor;
new-instance v1, Lim/tpelyyftgw/messenger/camera/-$$Lambda$CameraController$VxLl4APudG1uhLsuDm5vKUi7RyA;
invoke-direct {v1, p1}, Lim/tpelyyftgw/messenger/camera/-$$Lambda$CameraController$VxLl4APudG1uhLsuDm5vKUi7RyA;-><init>(Lim/tpelyyftgw/messenger/camera/CameraSession;)V
invoke-virtual {v0, v1}, Ljava/util/concurrent/ThreadPoolExecutor;->execute(Ljava/lang/Runnable;)V
.line 490
return-void
.end method
.method public stopVideoRecording(Lim/tpelyyftgw/messenger/camera/CameraSession;Z)V
.registers 5
.param p1, "session" # Lim/tpelyyftgw/messenger/camera/CameraSession;
.param p2, "abandon" # Z
.line 691
iget-object v0, p0, Lim/tpelyyftgw/messenger/camera/CameraController;->threadPool:Ljava/util/concurrent/ThreadPoolExecutor;
new-instance v1, Lim/tpelyyftgw/messenger/camera/-$$Lambda$CameraController$Eh5EMgQyNsdaQkNWvVcMbHfSA1Q;
invoke-direct {v1, p0, p1, p2}, Lim/tpelyyftgw/messenger/camera/-$$Lambda$CameraController$Eh5EMgQyNsdaQkNWvVcMbHfSA1Q;-><init>(Lim/tpelyyftgw/messenger/camera/CameraController;Lim/tpelyyftgw/messenger/camera/CameraSession;Z)V
invoke-virtual {v0, v1}, Ljava/util/concurrent/ThreadPoolExecutor;->execute(Ljava/lang/Runnable;)V
.line 744
return-void
.end method
.method public takePicture(Ljava/io/File;Lim/tpelyyftgw/messenger/camera/CameraSession;Ljava/lang/Runnable;)Z
.registers 10
.param p1, "path" # Ljava/io/File;
.param p2, "session" # Lim/tpelyyftgw/messenger/camera/CameraSession;
.param p3, "callback" # Ljava/lang/Runnable;
.line 376
const/4 v0, 0x0
if-nez p2, :cond_4
.line 377
return v0
.line 379
:cond_4
iget-object v1, p2, Lim/tpelyyftgw/messenger/camera/CameraSession;->cameraInfo:Lim/tpelyyftgw/messenger/camera/CameraInfo;
.line 380
.local v1, "info":Lim/tpelyyftgw/messenger/camera/CameraInfo;
invoke-virtual {p2}, Lim/tpelyyftgw/messenger/camera/CameraSession;->isFlipFront()Z
move-result v2
.line 381
.local v2, "flipFront":Z
iget-object v3, v1, Lim/tpelyyftgw/messenger/camera/CameraInfo;->camera:Landroid/hardware/Camera;
.line 383
.local v3, "camera":Landroid/hardware/Camera;
:try_start_c
new-instance v4, Lim/tpelyyftgw/messenger/camera/-$$Lambda$CameraController$tABGoaa2zjI4u-QHcUPia4VDMmg;
invoke-direct {v4, p1, v1, v2, p3}, Lim/tpelyyftgw/messenger/camera/-$$Lambda$CameraController$tABGoaa2zjI4u-QHcUPia4VDMmg;-><init>(Ljava/io/File;Lim/tpelyyftgw/messenger/camera/CameraInfo;ZLjava/lang/Runnable;)V
const/4 v5, 0x0
invoke-virtual {v3, v5, v5, v4}, Landroid/hardware/Camera;->takePicture(Landroid/hardware/Camera$ShutterCallback;Landroid/hardware/Camera$PictureCallback;Landroid/hardware/Camera$PictureCallback;)V
:try_end_15
.catch Ljava/lang/Exception; {:try_start_c .. :try_end_15} :catch_17
.line 443
const/4 v0, 0x1
return v0
.line 444
:catch_17
move-exception v4
.line 445
.local v4, "e":Ljava/lang/Exception;
invoke-static {v4}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
.line 447
.end local v4 # "e":Ljava/lang/Exception;
return v0
.end method