ExifInterface$ByteOrderedDataInputStream.smali
.class Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;
.super Ljava/io/InputStream;
.source "ExifInterface.java"
# interfaces
.implements Ljava/io/DataInput;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/exifinterface/media/ExifInterface;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0xa
name = "ByteOrderedDataInputStream"
.end annotation
# static fields
.field private static final BIG_ENDIAN:Ljava/nio/ByteOrder;
.field private static final LITTLE_ENDIAN:Ljava/nio/ByteOrder;
# instance fields
.field private mByteOrder:Ljava/nio/ByteOrder;
.field private mDataInputStream:Ljava/io/DataInputStream;
.field final mLength:I
.field mPosition:I
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 6687
sget-object v0, Ljava/nio/ByteOrder;->LITTLE_ENDIAN:Ljava/nio/ByteOrder;
sput-object v0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->LITTLE_ENDIAN:Ljava/nio/ByteOrder;
.line 6688
sget-object v0, Ljava/nio/ByteOrder;->BIG_ENDIAN:Ljava/nio/ByteOrder;
sput-object v0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->BIG_ENDIAN:Ljava/nio/ByteOrder;
return-void
.end method
.method public constructor <init>(Ljava/io/InputStream;)V
.registers 4
.param p1, "in" # Ljava/io/InputStream;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 6697
invoke-direct {p0}, Ljava/io/InputStream;-><init>()V
.line 6691
sget-object v0, Ljava/nio/ByteOrder;->BIG_ENDIAN:Ljava/nio/ByteOrder;
iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mByteOrder:Ljava/nio/ByteOrder;
.line 6698
new-instance v0, Ljava/io/DataInputStream;
invoke-direct {v0, p1}, Ljava/io/DataInputStream;-><init>(Ljava/io/InputStream;)V
iput-object v0, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mDataInputStream:Ljava/io/DataInputStream;
.line 6699
invoke-virtual {v0}, Ljava/io/DataInputStream;->available()I
move-result v0
iput v0, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mLength:I
.line 6700
const/4 v1, 0x0
iput v1, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mPosition:I
.line 6701
iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mDataInputStream:Ljava/io/DataInputStream;
invoke-virtual {v1, v0}, Ljava/io/DataInputStream;->mark(I)V
.line 6702
return-void
.end method
.method public constructor <init>([B)V
.registers 3
.param p1, "bytes" # [B
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 6705
new-instance v0, Ljava/io/ByteArrayInputStream;
invoke-direct {v0, p1}, Ljava/io/ByteArrayInputStream;-><init>([B)V
invoke-direct {p0, v0}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;-><init>(Ljava/io/InputStream;)V
.line 6706
return-void
.end method
# virtual methods
.method public available()I
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 6732
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mDataInputStream:Ljava/io/DataInputStream;
invoke-virtual {v0}, Ljava/io/DataInputStream;->available()I
move-result v0
return v0
.end method
.method public getLength()I
.registers 2
.line 6927
iget v0, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mLength:I
return v0
.end method
.method public peek()I
.registers 2
.line 6727
iget v0, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mPosition:I
return v0
.end method
.method public read()I
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 6737
iget v0, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mPosition:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mPosition:I
.line 6738
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mDataInputStream:Ljava/io/DataInputStream;
invoke-virtual {v0}, Ljava/io/DataInputStream;->read()I
move-result v0
return v0
.end method
.method public read([BII)I
.registers 6
.param p1, "b" # [B
.param p2, "off" # I
.param p3, "len" # I
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 6743
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mDataInputStream:Ljava/io/DataInputStream;
invoke-virtual {v0, p1, p2, p3}, Ljava/io/DataInputStream;->read([BII)I
move-result v0
.line 6744
.local v0, "bytesRead":I
iget v1, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mPosition:I
add-int/2addr v1, v0
iput v1, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mPosition:I
.line 6745
return v0
.end method
.method public readBoolean()Z
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 6762
iget v0, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mPosition:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mPosition:I
.line 6763
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mDataInputStream:Ljava/io/DataInputStream;
invoke-virtual {v0}, Ljava/io/DataInputStream;->readBoolean()Z
move-result v0
return v0
.end method
.method public readByte()B
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 6802
iget v0, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mPosition:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mPosition:I
.line 6803
iget v1, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mLength:I
if-gt v0, v1, :cond_1a
.line 6806
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mDataInputStream:Ljava/io/DataInputStream;
invoke-virtual {v0}, Ljava/io/DataInputStream;->read()I
move-result v0
.line 6807
.local v0, "ch":I
if-ltz v0, :cond_14
.line 6810
int-to-byte v1, v0
return v1
.line 6808
:cond_14
new-instance v1, Ljava/io/EOFException;
invoke-direct {v1}, Ljava/io/EOFException;-><init>()V
throw v1
.line 6804
.end local v0 # "ch":I
:cond_1a
new-instance v0, Ljava/io/EOFException;
invoke-direct {v0}, Ljava/io/EOFException;-><init>()V
throw v0
.end method
.method public readChar()C
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 6768
iget v0, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mPosition:I
add-int/lit8 v0, v0, 0x2
iput v0, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mPosition:I
.line 6769
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mDataInputStream:Ljava/io/DataInputStream;
invoke-virtual {v0}, Ljava/io/DataInputStream;->readChar()C
move-result v0
return v0
.end method
.method public readDouble()D
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 6923
invoke-virtual {p0}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readLong()J
move-result-wide v0
invoke-static {v0, v1}, Ljava/lang/Double;->longBitsToDouble(J)D
move-result-wide v0
return-wide v0
.end method
.method public readFloat()F
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 6918
invoke-virtual {p0}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readInt()I
move-result v0
invoke-static {v0}, Ljava/lang/Float;->intBitsToFloat(I)F
move-result v0
return v0
.end method
.method public readFully([B)V
.registers 5
.param p1, "buffer" # [B
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 6791
iget v0, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mPosition:I
array-length v1, p1
add-int/2addr v0, v1
iput v0, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mPosition:I
.line 6792
iget v1, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mLength:I
if-gt v0, v1, :cond_1e
.line 6795
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mDataInputStream:Ljava/io/DataInputStream;
const/4 v1, 0x0
array-length v2, p1
invoke-virtual {v0, p1, v1, v2}, Ljava/io/DataInputStream;->read([BII)I
move-result v0
array-length v1, p1
if-ne v0, v1, :cond_16
.line 6798
return-void
.line 6796
:cond_16
new-instance v0, Ljava/io/IOException;
const-string v1, "Couldn\'t read up to the length of buffer"
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
.line 6793
:cond_1e
new-instance v0, Ljava/io/EOFException;
invoke-direct {v0}, Ljava/io/EOFException;-><init>()V
throw v0
.end method
.method public readFully([BII)V
.registers 6
.param p1, "buffer" # [B
.param p2, "offset" # I
.param p3, "length" # I
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 6780
iget v0, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mPosition:I
add-int/2addr v0, p3
iput v0, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mPosition:I
.line 6781
iget v1, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mLength:I
if-gt v0, v1, :cond_1a
.line 6784
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mDataInputStream:Ljava/io/DataInputStream;
invoke-virtual {v0, p1, p2, p3}, Ljava/io/DataInputStream;->read([BII)I
move-result v0
if-ne v0, p3, :cond_12
.line 6787
return-void
.line 6785
:cond_12
new-instance v0, Ljava/io/IOException;
const-string v1, "Couldn\'t read up to the length of buffer"
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
.line 6782
:cond_1a
new-instance v0, Ljava/io/EOFException;
invoke-direct {v0}, Ljava/io/EOFException;-><init>()V
throw v0
.end method
.method public readInt()I
.registers 8
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 6834
iget v0, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mPosition:I
add-int/lit8 v0, v0, 0x4
iput v0, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mPosition:I
.line 6835
iget v1, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mLength:I
if-gt v0, v1, :cond_65
.line 6838
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mDataInputStream:Ljava/io/DataInputStream;
invoke-virtual {v0}, Ljava/io/DataInputStream;->read()I
move-result v0
.line 6839
.local v0, "ch1":I
iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mDataInputStream:Ljava/io/DataInputStream;
invoke-virtual {v1}, Ljava/io/DataInputStream;->read()I
move-result v1
.line 6840
.local v1, "ch2":I
iget-object v2, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mDataInputStream:Ljava/io/DataInputStream;
invoke-virtual {v2}, Ljava/io/DataInputStream;->read()I
move-result v2
.line 6841
.local v2, "ch3":I
iget-object v3, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mDataInputStream:Ljava/io/DataInputStream;
invoke-virtual {v3}, Ljava/io/DataInputStream;->read()I
move-result v3
.line 6842
.local v3, "ch4":I
or-int v4, v0, v1
or-int/2addr v4, v2
or-int/2addr v4, v3
if-ltz v4, :cond_5f
.line 6845
iget-object v4, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mByteOrder:Ljava/nio/ByteOrder;
sget-object v5, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->LITTLE_ENDIAN:Ljava/nio/ByteOrder;
if-ne v4, v5, :cond_38
.line 6846
shl-int/lit8 v4, v3, 0x18
shl-int/lit8 v5, v2, 0x10
add-int/2addr v4, v5
shl-int/lit8 v5, v1, 0x8
add-int/2addr v4, v5
add-int/2addr v4, v0
return v4
.line 6847
:cond_38
sget-object v5, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->BIG_ENDIAN:Ljava/nio/ByteOrder;
if-ne v4, v5, :cond_46
.line 6848
shl-int/lit8 v4, v0, 0x18
shl-int/lit8 v5, v1, 0x10
add-int/2addr v4, v5
shl-int/lit8 v5, v2, 0x8
add-int/2addr v4, v5
add-int/2addr v4, v3
return v4
.line 6850
:cond_46
new-instance v4, Ljava/io/IOException;
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
const-string v6, "Invalid byte order: "
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v6, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v5
invoke-direct {v4, v5}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v4
.line 6843
:cond_5f
new-instance v4, Ljava/io/EOFException;
invoke-direct {v4}, Ljava/io/EOFException;-><init>()V
throw v4
.line 6836
.end local v0 # "ch1":I
.end local v1 # "ch2":I
.end local v2 # "ch3":I
.end local v3 # "ch4":I
:cond_65
new-instance v0, Ljava/io/EOFException;
invoke-direct {v0}, Ljava/io/EOFException;-><init>()V
throw v0
.end method
.method public readLine()Ljava/lang/String;
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 6756
const-string v0, "ExifInterface"
const-string v1, "Currently unsupported"
invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 6757
const/4 v0, 0x0
return-object v0
.end method
.method public readLong()J
.registers 20
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 6889
move-object/from16 v0, p0
iget v1, v0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mPosition:I
const/16 v2, 0x8
add-int/2addr v1, v2
iput v1, v0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mPosition:I
.line 6890
iget v3, v0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mLength:I
if-gt v1, v3, :cond_bc
.line 6893
iget-object v1, v0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mDataInputStream:Ljava/io/DataInputStream;
invoke-virtual {v1}, Ljava/io/DataInputStream;->read()I
move-result v1
.line 6894
.local v1, "ch1":I
iget-object v3, v0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mDataInputStream:Ljava/io/DataInputStream;
invoke-virtual {v3}, Ljava/io/DataInputStream;->read()I
move-result v3
.line 6895
.local v3, "ch2":I
iget-object v4, v0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mDataInputStream:Ljava/io/DataInputStream;
invoke-virtual {v4}, Ljava/io/DataInputStream;->read()I
move-result v4
.line 6896
.local v4, "ch3":I
iget-object v5, v0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mDataInputStream:Ljava/io/DataInputStream;
invoke-virtual {v5}, Ljava/io/DataInputStream;->read()I
move-result v5
.line 6897
.local v5, "ch4":I
iget-object v6, v0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mDataInputStream:Ljava/io/DataInputStream;
invoke-virtual {v6}, Ljava/io/DataInputStream;->read()I
move-result v6
.line 6898
.local v6, "ch5":I
iget-object v7, v0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mDataInputStream:Ljava/io/DataInputStream;
invoke-virtual {v7}, Ljava/io/DataInputStream;->read()I
move-result v7
.line 6899
.local v7, "ch6":I
iget-object v8, v0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mDataInputStream:Ljava/io/DataInputStream;
invoke-virtual {v8}, Ljava/io/DataInputStream;->read()I
move-result v8
.line 6900
.local v8, "ch7":I
iget-object v9, v0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mDataInputStream:Ljava/io/DataInputStream;
invoke-virtual {v9}, Ljava/io/DataInputStream;->read()I
move-result v9
.line 6901
.local v9, "ch8":I
or-int v10, v1, v3
or-int/2addr v10, v4
or-int/2addr v10, v5
or-int/2addr v10, v6
or-int/2addr v10, v7
or-int/2addr v10, v8
or-int/2addr v10, v9
if-ltz v10, :cond_b5
.line 6904
iget-object v10, v0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mByteOrder:Ljava/nio/ByteOrder;
sget-object v11, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->LITTLE_ENDIAN:Ljava/nio/ByteOrder;
const/16 v12, 0x10
const/16 v13, 0x18
const/16 v14, 0x20
const/16 v15, 0x28
const/16 v16, 0x30
const/16 v17, 0x38
if-ne v10, v11, :cond_78
.line 6905
int-to-long v10, v9
shl-long v10, v10, v17
move/from16 v18, v3
.end local v3 # "ch2":I
.local v18, "ch2":I
int-to-long v2, v8
shl-long v2, v2, v16
add-long/2addr v10, v2
int-to-long v2, v7
shl-long/2addr v2, v15
add-long/2addr v10, v2
int-to-long v2, v6
shl-long/2addr v2, v14
add-long/2addr v10, v2
int-to-long v2, v5
shl-long/2addr v2, v13
add-long/2addr v10, v2
int-to-long v2, v4
shl-long/2addr v2, v12
add-long/2addr v10, v2
move/from16 v2, v18
.end local v18 # "ch2":I
.local v2, "ch2":I
int-to-long v12, v2
const/16 v3, 0x8
shl-long/2addr v12, v3
add-long/2addr v10, v12
int-to-long v12, v1
add-long/2addr v10, v12
return-wide v10
.line 6908
.end local v2 # "ch2":I
.restart local v3 # "ch2":I
:cond_78
move v2, v3
.end local v3 # "ch2":I
.restart local v2 # "ch2":I
sget-object v3, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->BIG_ENDIAN:Ljava/nio/ByteOrder;
if-ne v10, v3, :cond_9c
.line 6909
int-to-long v10, v1
shl-long v10, v10, v17
int-to-long v12, v2
shl-long v12, v12, v16
add-long/2addr v10, v12
int-to-long v12, v4
shl-long/2addr v12, v15
add-long/2addr v10, v12
int-to-long v12, v5
shl-long/2addr v12, v14
add-long/2addr v10, v12
int-to-long v12, v6
const/16 v3, 0x18
shl-long/2addr v12, v3
add-long/2addr v10, v12
int-to-long v12, v7
const/16 v3, 0x10
shl-long/2addr v12, v3
add-long/2addr v10, v12
int-to-long v12, v8
const/16 v3, 0x8
shl-long/2addr v12, v3
add-long/2addr v10, v12
int-to-long v12, v9
add-long/2addr v10, v12
return-wide v10
.line 6913
:cond_9c
new-instance v3, Ljava/io/IOException;
new-instance v10, Ljava/lang/StringBuilder;
invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
const-string v11, "Invalid byte order: "
invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v11, v0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v10
invoke-direct {v3, v10}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v3
.line 6902
.end local v2 # "ch2":I
.restart local v3 # "ch2":I
:cond_b5
move v2, v3
.end local v3 # "ch2":I
.restart local v2 # "ch2":I
new-instance v3, Ljava/io/EOFException;
invoke-direct {v3}, Ljava/io/EOFException;-><init>()V
throw v3
.line 6891
.end local v1 # "ch1":I
.end local v2 # "ch2":I
.end local v4 # "ch3":I
.end local v5 # "ch4":I
.end local v6 # "ch5":I
.end local v7 # "ch6":I
.end local v8 # "ch7":I
.end local v9 # "ch8":I
:cond_bc
new-instance v1, Ljava/io/EOFException;
invoke-direct {v1}, Ljava/io/EOFException;-><init>()V
throw v1
.end method
.method public readShort()S
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 6815
iget v0, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mPosition:I
add-int/lit8 v0, v0, 0x2
iput v0, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mPosition:I
.line 6816
iget v1, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mLength:I
if-gt v0, v1, :cond_4d
.line 6819
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mDataInputStream:Ljava/io/DataInputStream;
invoke-virtual {v0}, Ljava/io/DataInputStream;->read()I
move-result v0
.line 6820
.local v0, "ch1":I
iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mDataInputStream:Ljava/io/DataInputStream;
invoke-virtual {v1}, Ljava/io/DataInputStream;->read()I
move-result v1
.line 6821
.local v1, "ch2":I
or-int v2, v0, v1
if-ltz v2, :cond_47
.line 6824
iget-object v2, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mByteOrder:Ljava/nio/ByteOrder;
sget-object v3, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->LITTLE_ENDIAN:Ljava/nio/ByteOrder;
if-ne v2, v3, :cond_25
.line 6825
shl-int/lit8 v2, v1, 0x8
add-int/2addr v2, v0
int-to-short v2, v2
return v2
.line 6826
:cond_25
sget-object v3, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->BIG_ENDIAN:Ljava/nio/ByteOrder;
if-ne v2, v3, :cond_2e
.line 6827
shl-int/lit8 v2, v0, 0x8
add-int/2addr v2, v1
int-to-short v2, v2
return v2
.line 6829
:cond_2e
new-instance v2, Ljava/io/IOException;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "Invalid byte order: "
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v4, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-direct {v2, v3}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v2
.line 6822
:cond_47
new-instance v2, Ljava/io/EOFException;
invoke-direct {v2}, Ljava/io/EOFException;-><init>()V
throw v2
.line 6817
.end local v0 # "ch1":I
.end local v1 # "ch2":I
:cond_4d
new-instance v0, Ljava/io/EOFException;
invoke-direct {v0}, Ljava/io/EOFException;-><init>()V
throw v0
.end method
.method public readUTF()Ljava/lang/String;
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 6774
iget v0, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mPosition:I
add-int/lit8 v0, v0, 0x2
iput v0, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mPosition:I
.line 6775
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mDataInputStream:Ljava/io/DataInputStream;
invoke-virtual {v0}, Ljava/io/DataInputStream;->readUTF()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public readUnsignedByte()I
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 6750
iget v0, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mPosition:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mPosition:I
.line 6751
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mDataInputStream:Ljava/io/DataInputStream;
invoke-virtual {v0}, Ljava/io/DataInputStream;->readUnsignedByte()I
move-result v0
return v0
.end method
.method public readUnsignedInt()J
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 6884
invoke-virtual {p0}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->readInt()I
move-result v0
int-to-long v0, v0
const-wide v2, 0xffffffffL
and-long/2addr v0, v2
return-wide v0
.end method
.method public readUnsignedShort()I
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 6866
iget v0, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mPosition:I
add-int/lit8 v0, v0, 0x2
iput v0, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mPosition:I
.line 6867
iget v1, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mLength:I
if-gt v0, v1, :cond_4b
.line 6870
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mDataInputStream:Ljava/io/DataInputStream;
invoke-virtual {v0}, Ljava/io/DataInputStream;->read()I
move-result v0
.line 6871
.local v0, "ch1":I
iget-object v1, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mDataInputStream:Ljava/io/DataInputStream;
invoke-virtual {v1}, Ljava/io/DataInputStream;->read()I
move-result v1
.line 6872
.local v1, "ch2":I
or-int v2, v0, v1
if-ltz v2, :cond_45
.line 6875
iget-object v2, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mByteOrder:Ljava/nio/ByteOrder;
sget-object v3, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->LITTLE_ENDIAN:Ljava/nio/ByteOrder;
if-ne v2, v3, :cond_24
.line 6876
shl-int/lit8 v2, v1, 0x8
add-int/2addr v2, v0
return v2
.line 6877
:cond_24
sget-object v3, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->BIG_ENDIAN:Ljava/nio/ByteOrder;
if-ne v2, v3, :cond_2c
.line 6878
shl-int/lit8 v2, v0, 0x8
add-int/2addr v2, v1
return v2
.line 6880
:cond_2c
new-instance v2, Ljava/io/IOException;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "Invalid byte order: "
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v4, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mByteOrder:Ljava/nio/ByteOrder;
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-direct {v2, v3}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v2
.line 6873
:cond_45
new-instance v2, Ljava/io/EOFException;
invoke-direct {v2}, Ljava/io/EOFException;-><init>()V
throw v2
.line 6868
.end local v0 # "ch1":I
.end local v1 # "ch2":I
:cond_4b
new-instance v0, Ljava/io/EOFException;
invoke-direct {v0}, Ljava/io/EOFException;-><init>()V
throw v0
.end method
.method public seek(J)V
.registers 7
.param p1, "byteCount" # J
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 6713
iget v0, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mPosition:I
int-to-long v1, v0
cmp-long v3, v1, p1
if-lez v3, :cond_17
.line 6714
const/4 v0, 0x0
iput v0, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mPosition:I
.line 6715
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mDataInputStream:Ljava/io/DataInputStream;
invoke-virtual {v0}, Ljava/io/DataInputStream;->reset()V
.line 6716
iget-object v0, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mDataInputStream:Ljava/io/DataInputStream;
iget v1, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mLength:I
invoke-virtual {v0, v1}, Ljava/io/DataInputStream;->mark(I)V
goto :goto_19
.line 6718
:cond_17
int-to-long v0, v0
sub-long/2addr p1, v0
.line 6721
:goto_19
long-to-int v0, p1
invoke-virtual {p0, v0}, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->skipBytes(I)I
move-result v0
long-to-int v1, p1
if-ne v0, v1, :cond_22
.line 6724
return-void
.line 6722
:cond_22
new-instance v0, Ljava/io/IOException;
const-string v1, "Couldn\'t seek up to the byteCount"
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public setByteOrder(Ljava/nio/ByteOrder;)V
.registers 2
.param p1, "byteOrder" # Ljava/nio/ByteOrder;
.line 6709
iput-object p1, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mByteOrder:Ljava/nio/ByteOrder;
.line 6710
return-void
.end method
.method public skipBytes(I)I
.registers 6
.param p1, "byteCount" # I
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 6855
iget v0, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mLength:I
iget v1, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mPosition:I
sub-int/2addr v0, v1
invoke-static {p1, v0}, Ljava/lang/Math;->min(II)I
move-result v0
.line 6856
.local v0, "totalSkip":I
const/4 v1, 0x0
.line 6857
.local v1, "skipped":I
:goto_a
if-ge v1, v0, :cond_16
.line 6858
iget-object v2, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mDataInputStream:Ljava/io/DataInputStream;
sub-int v3, v0, v1
invoke-virtual {v2, v3}, Ljava/io/DataInputStream;->skipBytes(I)I
move-result v2
add-int/2addr v1, v2
goto :goto_a
.line 6860
:cond_16
iget v2, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mPosition:I
add-int/2addr v2, v1
iput v2, p0, Landroidx/exifinterface/media/ExifInterface$ByteOrderedDataInputStream;->mPosition:I
.line 6861
return v1
.end method