FileStreamLoadOperation.smali
.class public Lim/tpelyyftgw/messenger/FileStreamLoadOperation;
.super Lcom/google/android/exoplayer2/upstream/BaseDataSource;
.source "FileStreamLoadOperation.java"
# interfaces
.implements Lim/tpelyyftgw/messenger/FileLoadOperationStream;
# instance fields
.field private bytesRemaining:J
.field private countDownLatch:Ljava/util/concurrent/CountDownLatch;
.field private currentAccount:I
.field private currentOffset:I
.field private document:Lim/tpelyyftgw/tgnet/TLRPC$Document;
.field private file:Ljava/io/RandomAccessFile;
.field private loadOperation:Lim/tpelyyftgw/messenger/FileLoadOperation;
.field private opened:Z
.field private parentObject:Ljava/lang/Object;
.field private uri:Landroid/net/Uri;
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>()V
.registers 2
.line 35
const/4 v0, 0x0
invoke-direct {p0, v0}, Lcom/google/android/exoplayer2/upstream/BaseDataSource;-><init>(Z)V
.line 36
return-void
.end method
.method public constructor <init>(Lcom/google/android/exoplayer2/upstream/TransferListener;)V
.registers 2
.param p1, "listener" # Lcom/google/android/exoplayer2/upstream/TransferListener;
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 40
invoke-direct {p0}, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;-><init>()V
.line 41
if-eqz p1, :cond_8
.line 42
invoke-virtual {p0, p1}, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->addTransferListener(Lcom/google/android/exoplayer2/upstream/TransferListener;)V
.line 44
:cond_8
return-void
.end method
# virtual methods
.method public close()V
.registers 3
.line 121
iget-object v0, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->loadOperation:Lim/tpelyyftgw/messenger/FileLoadOperation;
if-eqz v0, :cond_7
.line 122
invoke-virtual {v0, p0}, Lim/tpelyyftgw/messenger/FileLoadOperation;->removeStreamListener(Lim/tpelyyftgw/messenger/FileLoadOperationStream;)V
.line 124
:cond_7
iget-object v0, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->file:Ljava/io/RandomAccessFile;
const/4 v1, 0x0
if-eqz v0, :cond_16
.line 126
:try_start_c
invoke-virtual {v0}, Ljava/io/RandomAccessFile;->close()V
:try_end_f
.catch Ljava/lang/Exception; {:try_start_c .. :try_end_f} :catch_10
.line 129
goto :goto_14
.line 127
:catch_10
move-exception v0
.line 128
.local v0, "e":Ljava/lang/Exception;
invoke-static {v0}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
.line 130
.end local v0 # "e":Ljava/lang/Exception;
:goto_14
iput-object v1, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->file:Ljava/io/RandomAccessFile;
.line 132
:cond_16
iput-object v1, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->uri:Landroid/net/Uri;
.line 133
iget-boolean v0, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->opened:Z
if-eqz v0, :cond_22
.line 134
const/4 v0, 0x0
iput-boolean v0, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->opened:Z
.line 135
invoke-virtual {p0}, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->transferEnded()V
.line 137
:cond_22
iget-object v0, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->countDownLatch:Ljava/util/concurrent/CountDownLatch;
if-eqz v0, :cond_29
.line 138
invoke-virtual {v0}, Ljava/util/concurrent/CountDownLatch;->countDown()V
.line 140
:cond_29
return-void
.end method
.method public getUri()Landroid/net/Uri;
.registers 2
.line 116
iget-object v0, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->uri:Landroid/net/Uri;
return-object v0
.end method
.method public newDataAvailable()V
.registers 2
.line 144
iget-object v0, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->countDownLatch:Ljava/util/concurrent/CountDownLatch;
if-eqz v0, :cond_7
.line 145
invoke-virtual {v0}, Ljava/util/concurrent/CountDownLatch;->countDown()V
.line 147
:cond_7
return-void
.end method
.method public open(Lcom/google/android/exoplayer2/upstream/DataSpec;)J
.registers 10
.param p1, "dataSpec" # Lcom/google/android/exoplayer2/upstream/DataSpec;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 48
iget-object v0, p1, Lcom/google/android/exoplayer2/upstream/DataSpec;->uri:Landroid/net/Uri;
iput-object v0, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->uri:Landroid/net/Uri;
.line 49
const-string v1, "account"
invoke-virtual {v0, v1}, Landroid/net/Uri;->getQueryParameter(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lim/tpelyyftgw/messenger/Utilities;->parseInt(Ljava/lang/CharSequence;)Ljava/lang/Integer;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
move-result v0
iput v0, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->currentAccount:I
.line 50
invoke-static {v0}, Lim/tpelyyftgw/messenger/FileLoader;->getInstance(I)Lim/tpelyyftgw/messenger/FileLoader;
move-result-object v0
iget-object v1, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->uri:Landroid/net/Uri;
const-string/jumbo v2, "rid"
invoke-virtual {v1, v2}, Landroid/net/Uri;->getQueryParameter(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Lim/tpelyyftgw/messenger/Utilities;->parseInt(Ljava/lang/CharSequence;)Ljava/lang/Integer;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
move-result v1
invoke-virtual {v0, v1}, Lim/tpelyyftgw/messenger/FileLoader;->getParentObject(I)Ljava/lang/Object;
move-result-object v0
iput-object v0, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->parentObject:Ljava/lang/Object;
.line 51
new-instance v0, Lim/tpelyyftgw/tgnet/TLRPC$TL_document;
invoke-direct {v0}, Lim/tpelyyftgw/tgnet/TLRPC$TL_document;-><init>()V
iput-object v0, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->document:Lim/tpelyyftgw/tgnet/TLRPC$Document;
.line 52
iget-object v1, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->uri:Landroid/net/Uri;
const-string v2, "hash"
invoke-virtual {v1, v2}, Landroid/net/Uri;->getQueryParameter(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Lim/tpelyyftgw/messenger/Utilities;->parseLong(Ljava/lang/String;)Ljava/lang/Long;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Long;->longValue()J
move-result-wide v1
iput-wide v1, v0, Lim/tpelyyftgw/tgnet/TLRPC$Document;->access_hash:J
.line 53
iget-object v0, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->document:Lim/tpelyyftgw/tgnet/TLRPC$Document;
iget-object v1, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->uri:Landroid/net/Uri;
const-string v2, "id"
invoke-virtual {v1, v2}, Landroid/net/Uri;->getQueryParameter(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Lim/tpelyyftgw/messenger/Utilities;->parseLong(Ljava/lang/String;)Ljava/lang/Long;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Long;->longValue()J
move-result-wide v1
iput-wide v1, v0, Lim/tpelyyftgw/tgnet/TLRPC$Document;->id:J
.line 54
iget-object v0, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->document:Lim/tpelyyftgw/tgnet/TLRPC$Document;
iget-object v1, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->uri:Landroid/net/Uri;
const-string/jumbo v2, "size"
invoke-virtual {v1, v2}, Landroid/net/Uri;->getQueryParameter(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Lim/tpelyyftgw/messenger/Utilities;->parseInt(Ljava/lang/CharSequence;)Ljava/lang/Integer;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
move-result v1
iput v1, v0, Lim/tpelyyftgw/tgnet/TLRPC$Document;->size:I
.line 55
iget-object v0, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->document:Lim/tpelyyftgw/tgnet/TLRPC$Document;
iget-object v1, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->uri:Landroid/net/Uri;
const-string v2, "dc"
invoke-virtual {v1, v2}, Landroid/net/Uri;->getQueryParameter(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Lim/tpelyyftgw/messenger/Utilities;->parseInt(Ljava/lang/CharSequence;)Ljava/lang/Integer;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
move-result v1
iput v1, v0, Lim/tpelyyftgw/tgnet/TLRPC$Document;->dc_id:I
.line 56
iget-object v0, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->document:Lim/tpelyyftgw/tgnet/TLRPC$Document;
iget-object v1, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->uri:Landroid/net/Uri;
const-string v2, "mime"
invoke-virtual {v1, v2}, Landroid/net/Uri;->getQueryParameter(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
iput-object v1, v0, Lim/tpelyyftgw/tgnet/TLRPC$Document;->mime_type:Ljava/lang/String;
.line 57
iget-object v0, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->document:Lim/tpelyyftgw/tgnet/TLRPC$Document;
iget-object v1, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->uri:Landroid/net/Uri;
const-string/jumbo v2, "reference"
invoke-virtual {v1, v2}, Landroid/net/Uri;->getQueryParameter(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Lim/tpelyyftgw/messenger/Utilities;->hexToBytes(Ljava/lang/String;)[B
move-result-object v1
iput-object v1, v0, Lim/tpelyyftgw/tgnet/TLRPC$Document;->file_reference:[B
.line 58
new-instance v0, Lim/tpelyyftgw/tgnet/TLRPC$TL_documentAttributeFilename;
invoke-direct {v0}, Lim/tpelyyftgw/tgnet/TLRPC$TL_documentAttributeFilename;-><init>()V
.line 59
.local v0, "filename":Lim/tpelyyftgw/tgnet/TLRPC$TL_documentAttributeFilename;
iget-object v1, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->uri:Landroid/net/Uri;
const-string v2, "name"
invoke-virtual {v1, v2}, Landroid/net/Uri;->getQueryParameter(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
iput-object v1, v0, Lim/tpelyyftgw/tgnet/TLRPC$TL_documentAttributeFilename;->file_name:Ljava/lang/String;
.line 60
iget-object v1, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->document:Lim/tpelyyftgw/tgnet/TLRPC$Document;
iget-object v1, v1, Lim/tpelyyftgw/tgnet/TLRPC$Document;->attributes:Ljava/util/ArrayList;
invoke-virtual {v1, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 61
iget-object v1, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->document:Lim/tpelyyftgw/tgnet/TLRPC$Document;
iget-object v1, v1, Lim/tpelyyftgw/tgnet/TLRPC$Document;->mime_type:Ljava/lang/String;
const-string/jumbo v2, "video"
invoke-virtual {v1, v2}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_d2
.line 62
iget-object v1, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->document:Lim/tpelyyftgw/tgnet/TLRPC$Document;
iget-object v1, v1, Lim/tpelyyftgw/tgnet/TLRPC$Document;->attributes:Ljava/util/ArrayList;
new-instance v2, Lim/tpelyyftgw/tgnet/TLRPC$TL_documentAttributeVideo;
invoke-direct {v2}, Lim/tpelyyftgw/tgnet/TLRPC$TL_documentAttributeVideo;-><init>()V
invoke-virtual {v1, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto :goto_ea
.line 63
:cond_d2
iget-object v1, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->document:Lim/tpelyyftgw/tgnet/TLRPC$Document;
iget-object v1, v1, Lim/tpelyyftgw/tgnet/TLRPC$Document;->mime_type:Ljava/lang/String;
const-string v2, "audio"
invoke-virtual {v1, v2}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_ea
.line 64
iget-object v1, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->document:Lim/tpelyyftgw/tgnet/TLRPC$Document;
iget-object v1, v1, Lim/tpelyyftgw/tgnet/TLRPC$Document;->attributes:Ljava/util/ArrayList;
new-instance v2, Lim/tpelyyftgw/tgnet/TLRPC$TL_documentAttributeAudio;
invoke-direct {v2}, Lim/tpelyyftgw/tgnet/TLRPC$TL_documentAttributeAudio;-><init>()V
invoke-virtual {v1, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 66
:cond_ea
:goto_ea
iget v1, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->currentAccount:I
invoke-static {v1}, Lim/tpelyyftgw/messenger/FileLoader;->getInstance(I)Lim/tpelyyftgw/messenger/FileLoader;
move-result-object v2
iget-object v4, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->document:Lim/tpelyyftgw/tgnet/TLRPC$Document;
iget-object v5, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->parentObject:Ljava/lang/Object;
iget-wide v6, p1, Lcom/google/android/exoplayer2/upstream/DataSpec;->position:J
long-to-int v6, v6
iput v6, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->currentOffset:I
const/4 v7, 0x0
move-object v3, p0
invoke-virtual/range {v2 .. v7}, Lim/tpelyyftgw/messenger/FileLoader;->loadStreamFile(Lim/tpelyyftgw/messenger/FileLoadOperationStream;Lim/tpelyyftgw/tgnet/TLRPC$Document;Ljava/lang/Object;IZ)Lim/tpelyyftgw/messenger/FileLoadOperation;
move-result-object v1
iput-object v1, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->loadOperation:Lim/tpelyyftgw/messenger/FileLoadOperation;
.line 67
iget-wide v1, p1, Lcom/google/android/exoplayer2/upstream/DataSpec;->length:J
const-wide/16 v3, -0x1
cmp-long v5, v1, v3
if-nez v5, :cond_112
iget-object v1, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->document:Lim/tpelyyftgw/tgnet/TLRPC$Document;
iget v1, v1, Lim/tpelyyftgw/tgnet/TLRPC$Document;->size:I
int-to-long v1, v1
iget-wide v3, p1, Lcom/google/android/exoplayer2/upstream/DataSpec;->position:J
sub-long/2addr v1, v3
goto :goto_114
:cond_112
iget-wide v1, p1, Lcom/google/android/exoplayer2/upstream/DataSpec;->length:J
:goto_114
iput-wide v1, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->bytesRemaining:J
.line 68
const-wide/16 v3, 0x0
cmp-long v5, v1, v3
if-ltz v5, :cond_13f
.line 71
const/4 v1, 0x1
iput-boolean v1, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->opened:Z
.line 72
invoke-virtual {p0, p1}, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->transferStarted(Lcom/google/android/exoplayer2/upstream/DataSpec;)V
.line 73
iget-object v1, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->loadOperation:Lim/tpelyyftgw/messenger/FileLoadOperation;
if-eqz v1, :cond_13c
.line 74
new-instance v1, Ljava/io/RandomAccessFile;
iget-object v2, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->loadOperation:Lim/tpelyyftgw/messenger/FileLoadOperation;
invoke-virtual {v2}, Lim/tpelyyftgw/messenger/FileLoadOperation;->getCurrentFile()Ljava/io/File;
move-result-object v2
const-string/jumbo v3, "r"
invoke-direct {v1, v2, v3}, Ljava/io/RandomAccessFile;-><init>(Ljava/io/File;Ljava/lang/String;)V
iput-object v1, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->file:Ljava/io/RandomAccessFile;
.line 75
iget v2, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->currentOffset:I
int-to-long v2, v2
invoke-virtual {v1, v2, v3}, Ljava/io/RandomAccessFile;->seek(J)V
.line 77
:cond_13c
iget-wide v1, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->bytesRemaining:J
return-wide v1
.line 69
:cond_13f
new-instance v1, Ljava/io/EOFException;
invoke-direct {v1}, Ljava/io/EOFException;-><init>()V
throw v1
.end method
.method public read([BII)I
.registers 14
.param p1, "buffer" # [B
.param p2, "offset" # I
.param p3, "readLength" # I
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 82
const/4 v0, 0x0
if-nez p3, :cond_4
.line 83
return v0
.line 84
:cond_4
iget-wide v1, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->bytesRemaining:J
const-wide/16 v3, 0x0
cmp-long v5, v1, v3
if-nez v5, :cond_e
.line 85
const/4 v0, -0x1
return v0
.line 87
:cond_e
const/4 v3, 0x0
.line 89
.local v3, "availableLength":I
int-to-long v4, p3
cmp-long v6, v1, v4
if-gez v6, :cond_15
.line 90
long-to-int p3, v1
.line 92
:cond_15
:goto_15
if-nez v3, :cond_43
:try_start_17
iget-boolean v1, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->opened:Z
if-eqz v1, :cond_43
.line 93
iget-object v1, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->loadOperation:Lim/tpelyyftgw/messenger/FileLoadOperation;
iget v2, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->currentOffset:I
invoke-virtual {v1, v2, p3}, Lim/tpelyyftgw/messenger/FileLoadOperation;->getDownloadedLengthFromOffset(II)I
move-result v1
move v3, v1
.line 94
if-nez v3, :cond_15
.line 95
iget v1, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->currentAccount:I
invoke-static {v1}, Lim/tpelyyftgw/messenger/FileLoader;->getInstance(I)Lim/tpelyyftgw/messenger/FileLoader;
move-result-object v4
iget-object v6, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->document:Lim/tpelyyftgw/tgnet/TLRPC$Document;
iget-object v7, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->parentObject:Ljava/lang/Object;
iget v8, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->currentOffset:I
const/4 v9, 0x0
move-object v5, p0
invoke-virtual/range {v4 .. v9}, Lim/tpelyyftgw/messenger/FileLoader;->loadStreamFile(Lim/tpelyyftgw/messenger/FileLoadOperationStream;Lim/tpelyyftgw/tgnet/TLRPC$Document;Ljava/lang/Object;IZ)Lim/tpelyyftgw/messenger/FileLoadOperation;
.line 96
new-instance v1, Ljava/util/concurrent/CountDownLatch;
const/4 v2, 0x1
invoke-direct {v1, v2}, Ljava/util/concurrent/CountDownLatch;-><init>(I)V
iput-object v1, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->countDownLatch:Ljava/util/concurrent/CountDownLatch;
.line 97
invoke-virtual {v1}, Ljava/util/concurrent/CountDownLatch;->await()V
goto :goto_15
.line 100
:cond_43
iget-boolean v1, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->opened:Z
if-nez v1, :cond_48
.line 101
return v0
.line 103
:cond_48
iget-object v0, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->file:Ljava/io/RandomAccessFile;
invoke-virtual {v0, p1, p2, v3}, Ljava/io/RandomAccessFile;->readFully([BII)V
.line 104
iget v0, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->currentOffset:I
add-int/2addr v0, v3
iput v0, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->currentOffset:I
.line 105
iget-wide v0, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->bytesRemaining:J
int-to-long v4, v3
sub-long/2addr v0, v4
iput-wide v0, p0, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->bytesRemaining:J
.line 106
invoke-virtual {p0, v3}, Lim/tpelyyftgw/messenger/FileStreamLoadOperation;->bytesTransferred(I)V
:try_end_5b
.catch Ljava/lang/Exception; {:try_start_17 .. :try_end_5b} :catch_5d
.line 109
nop
.line 110
return v3
.line 107
:catch_5d
move-exception v0
.line 108
.local v0, "e":Ljava/lang/Exception;
new-instance v1, Ljava/io/IOException;
invoke-direct {v1, v0}, Ljava/io/IOException;-><init>(Ljava/lang/Throwable;)V
goto :goto_65
:goto_64
throw v1
:goto_65
goto :goto_64
.end method