2020-04-11 15:34:05 +00:00
.class public final L f/k/a/b/k1/v ;
.super L f/k/a/b/k1/g ;
2020-04-10 14:32:51 +00:00
.source "FileDataSource.java"
2019-07-24 11:27:29 +00:00
# annotations
2020-04-10 14:32:51 +00:00
.annotation system L dalvik/annotation/MemberClasses ;
2019-07-24 11:27:29 +00:00
value = {
2020-04-11 15:34:05 +00:00
L f/k/a/b/k1/v$a ;
2019-07-24 11:27:29 +00:00
}
.end annotation
2020-04-10 14:32:51 +00:00
# instance fields
.field public e : L java/io/RandomAccessFile ;
.annotation build L androidx/annotation/Nullable ;
.end annotation
.end field
.field public f : L android/net/Uri ;
.annotation build L androidx/annotation/Nullable ;
.end annotation
.end field
.field public g : J
.field public h : Z
# direct methods
.method public constructor <init> ( ) V
.locals 1
const/4 v0 , 0x0
2020-04-11 15:34:05 +00:00
invoke-direct { p0 , v0 } , L f/k/a/b/k1/g ;-> <init> ( Z ) V
2020-04-10 14:32:51 +00:00
return-void
.end method
.method public static a ( L android/net/Uri ;) L java/io/RandomAccessFile ;
.locals 5
.annotation system L dalvik/annotation/Throws ;
value = {
2020-04-11 15:34:05 +00:00
L f/k/a/b/k1/v$a ;
2020-04-10 14:32:51 +00:00
}
.end annotation
:try_start_0
new-instance v0 , L java/io/RandomAccessFile ;
invoke-virtual { p0 } , L android/net/Uri ;-> getPath ( ) L java/lang/String ;
move-result-object v1
2020-04-11 15:34:05 +00:00
invoke-static { v1 } , L f/k/a/b/l1/e ;-> a ( L java/lang/Object ;) L java/lang/Object ;
2020-04-10 14:32:51 +00:00
check-cast v1 , L java/lang/String ;
const-string v2 , "r"
invoke-direct { v0 , v1 , v2 } , L java/io/RandomAccessFile ;-> <init> ( L java/lang/String ;L java/lang/String ;) V
:try_end_0
.catch L java/io/FileNotFoundException ; { :try_start_0 . . :try_end_0 } :catch_0
return-object v0
:catch_0
move-exception v0
invoke-virtual { p0 } , L android/net/Uri ;-> getQuery ( ) L java/lang/String ;
move-result-object v1
invoke-static { v1 } , L android/text/TextUtils ;-> isEmpty ( L java/lang/CharSequence ;) Z
move-result v1
if-eqz v1 , :cond_1
invoke-virtual { p0 } , L android/net/Uri ;-> getFragment ( ) L java/lang/String ;
move-result-object v1
invoke-static { v1 } , L android/text/TextUtils ;-> isEmpty ( L java/lang/CharSequence ;) Z
move-result v1
if-nez v1 , :cond_0
goto :goto_0
:cond_0
2020-04-11 15:34:05 +00:00
new-instance p0 , L f/k/a/b/k1/v$a ;
2020-04-10 14:32:51 +00:00
2020-04-11 15:34:05 +00:00
invoke-direct { p0 , v0 } , L f/k/a/b/k1/v$a ;-> <init> ( L java/io/IOException ;) V
2020-04-10 14:32:51 +00:00
throw p0
:cond_1
:goto_0
2020-04-11 15:34:05 +00:00
new-instance v1 , L f/k/a/b/k1/v$a ;
2020-04-10 14:32:51 +00:00
const/4 v2 , 0x3
new-array v2 , v2 , [ L java/lang/Object ;
const/4 v3 , 0x0
invoke-virtual { p0 } , L android/net/Uri ;-> getPath ( ) L java/lang/String ;
move-result-object v4
aput-object v4 , v2 , v3
const/4 v3 , 0x1
invoke-virtual { p0 } , L android/net/Uri ;-> getQuery ( ) L java/lang/String ;
move-result-object v4
aput-object v4 , v2 , v3
const/4 v3 , 0x2
invoke-virtual { p0 } , L android/net/Uri ;-> getFragment ( ) L java/lang/String ;
move-result-object p0
aput-object p0 , v2 , v3
const-string p0 , "uri has query and/or fragment, which are not supported. Did you call Uri.parse() on a string containing \'?\' or \'#\'? Use Uri.fromFile(new File(path)) to avoid this. path=%s,query=%s,fragment=%s"
invoke-static { p0 , v2 } , L java/lang/String ;-> format ( L java/lang/String ;[ L java/lang/Object ;) L java/lang/String ;
move-result-object p0
2020-04-11 15:34:05 +00:00
invoke-direct { v1 , p0 , v0 } , L f/k/a/b/k1/v$a ;-> <init> ( L java/lang/String ;L java/io/IOException ;) V
2020-04-10 14:32:51 +00:00
throw v1
.end method
2019-07-24 11:27:29 +00:00
# virtual methods
2020-04-11 15:34:05 +00:00
.method public a ( L f/k/a/b/k1/n ;) J
2020-04-10 14:32:51 +00:00
.locals 5
.annotation system L dalvik/annotation/Throws ;
value = {
2020-04-11 15:34:05 +00:00
L f/k/a/b/k1/v$a ;
2020-04-10 14:32:51 +00:00
}
.end annotation
:try_start_0
2020-04-11 15:34:05 +00:00
iget-object v0 , p1 , L f/k/a/b/k1/n ;-> a : L android/net/Uri ;
2020-04-10 14:32:51 +00:00
2020-04-11 15:34:05 +00:00
iput-object v0 , p0 , L f/k/a/b/k1/v ;-> f : L android/net/Uri ;
2020-04-10 14:32:51 +00:00
2020-04-11 15:34:05 +00:00
invoke-virtual { p0 , p1 } , L f/k/a/b/k1/g ;-> b ( L f/k/a/b/k1/n ;) V
2020-04-10 14:32:51 +00:00
2020-04-11 15:34:05 +00:00
invoke-static { v0 } , L f/k/a/b/k1/v ;-> a ( L android/net/Uri ;) L java/io/RandomAccessFile ;
2020-04-10 14:32:51 +00:00
move-result-object v0
2020-04-11 15:34:05 +00:00
iput-object v0 , p0 , L f/k/a/b/k1/v ;-> e : L java/io/RandomAccessFile ;
2020-04-10 14:32:51 +00:00
2020-04-11 15:34:05 +00:00
iget-object v0 , p0 , L f/k/a/b/k1/v ;-> e : L java/io/RandomAccessFile ;
2020-04-10 14:32:51 +00:00
2020-04-11 15:34:05 +00:00
iget-wide v1 , p1 , L f/k/a/b/k1/n ;-> f : J
2020-04-10 14:32:51 +00:00
invoke-virtual { v0 , v1 , v2 } , L java/io/RandomAccessFile ;-> seek ( J ) V
2020-04-11 15:34:05 +00:00
iget-wide v0 , p1 , L f/k/a/b/k1/n ;-> g : J
2020-04-10 14:32:51 +00:00
const-wide/16 v2 , - 0x1
cmp-long v4 , v0 , v2
if-nez v4 , :cond_0
2020-04-11 15:34:05 +00:00
iget-object v0 , p0 , L f/k/a/b/k1/v ;-> e : L java/io/RandomAccessFile ;
2020-04-10 14:32:51 +00:00
invoke-virtual { v0 } , L java/io/RandomAccessFile ;-> length ( ) J
move-result-wide v0
2020-04-11 15:34:05 +00:00
iget-wide v2 , p1 , L f/k/a/b/k1/n ;-> f : J
2020-04-10 14:32:51 +00:00
sub-long/2addr v0 , v2
:cond_0
2020-04-11 15:34:05 +00:00
iput-wide v0 , p0 , L f/k/a/b/k1/v ;-> g : J
2020-04-10 14:32:51 +00:00
2020-04-11 15:34:05 +00:00
iget-wide v0 , p0 , L f/k/a/b/k1/v ;-> g : J
2020-04-10 14:32:51 +00:00
:try_end_0
.catch L java/io/IOException ; { :try_start_0 . . :try_end_0 } :catch_0
const-wide/16 v2 , 0x0
cmp-long v4 , v0 , v2
if-ltz v4 , :cond_1
const/4 v0 , 0x1
2020-04-11 15:34:05 +00:00
iput-boolean v0 , p0 , L f/k/a/b/k1/v ;-> h : Z
2020-04-10 14:32:51 +00:00
2020-04-11 15:34:05 +00:00
invoke-virtual { p0 , p1 } , L f/k/a/b/k1/g ;-> c ( L f/k/a/b/k1/n ;) V
2020-04-10 14:32:51 +00:00
2020-04-11 15:34:05 +00:00
iget-wide v0 , p0 , L f/k/a/b/k1/v ;-> g : J
2020-04-10 14:32:51 +00:00
return-wide v0
:cond_1
:try_start_1
new-instance p1 , L java/io/EOFException ;
invoke-direct { p1 } , L java/io/EOFException ;-> <init> ( ) V
throw p1
:try_end_1
.catch L java/io/IOException ; { :try_start_1 . . :try_end_1 } :catch_0
:catch_0
move-exception p1
2020-04-11 15:34:05 +00:00
new-instance v0 , L f/k/a/b/k1/v$a ;
2020-04-10 14:32:51 +00:00
2020-04-11 15:34:05 +00:00
invoke-direct { v0 , p1 } , L f/k/a/b/k1/v$a ;-> <init> ( L java/io/IOException ;) V
2020-04-10 14:32:51 +00:00
throw v0
.end method
.method public b ( ) L android/net/Uri ;
.locals 1
.annotation build L androidx/annotation/Nullable ;
.end annotation
2020-04-11 15:34:05 +00:00
iget-object v0 , p0 , L f/k/a/b/k1/v ;-> f : L android/net/Uri ;
2020-04-10 14:32:51 +00:00
return-object v0
.end method
.method public close ( ) V
.locals 4
.annotation system L dalvik/annotation/Throws ;
2019-07-24 11:27:29 +00:00
value = {
2020-04-11 15:34:05 +00:00
L f/k/a/b/k1/v$a ;
2019-07-24 11:27:29 +00:00
}
.end annotation
2020-04-10 14:32:51 +00:00
const/4 v0 , 0x0
2020-04-11 15:34:05 +00:00
iput-object v0 , p0 , L f/k/a/b/k1/v ;-> f : L android/net/Uri ;
2020-04-10 14:32:51 +00:00
const/4 v1 , 0x0
:try_start_0
2020-04-11 15:34:05 +00:00
iget-object v2 , p0 , L f/k/a/b/k1/v ;-> e : L java/io/RandomAccessFile ;
2020-04-10 14:32:51 +00:00
if-eqz v2 , :cond_0
2020-04-11 15:34:05 +00:00
iget-object v2 , p0 , L f/k/a/b/k1/v ;-> e : L java/io/RandomAccessFile ;
2020-04-10 14:32:51 +00:00
invoke-virtual { v2 } , L java/io/RandomAccessFile ;-> close ( ) V
:try_end_0
.catch L java/io/IOException ; { :try_start_0 . . :try_end_0 } :catch_0
.catchall { :try_start_0 . . :try_end_0 } :catchall_0
:cond_0
2020-04-11 15:34:05 +00:00
iput-object v0 , p0 , L f/k/a/b/k1/v ;-> e : L java/io/RandomAccessFile ;
2020-04-10 14:32:51 +00:00
2020-04-11 15:34:05 +00:00
iget-boolean v0 , p0 , L f/k/a/b/k1/v ;-> h : Z
2020-04-10 14:32:51 +00:00
if-eqz v0 , :cond_1
2020-04-11 15:34:05 +00:00
iput-boolean v1 , p0 , L f/k/a/b/k1/v ;-> h : Z
2020-04-10 14:32:51 +00:00
2020-04-11 15:34:05 +00:00
invoke-virtual { p0 } , L f/k/a/b/k1/g ;-> c ( ) V
2020-04-10 14:32:51 +00:00
:cond_1
return-void
:catchall_0
move-exception v2
goto :goto_0
:catch_0
move-exception v2
:try_start_1
2020-04-11 15:34:05 +00:00
new-instance v3 , L f/k/a/b/k1/v$a ;
2020-04-10 14:32:51 +00:00
2020-04-11 15:34:05 +00:00
invoke-direct { v3 , v2 } , L f/k/a/b/k1/v$a ;-> <init> ( L java/io/IOException ;) V
2020-04-10 14:32:51 +00:00
throw v3
:try_end_1
.catchall { :try_start_1 . . :try_end_1 } :catchall_0
:goto_0
2020-04-11 15:34:05 +00:00
iput-object v0 , p0 , L f/k/a/b/k1/v ;-> e : L java/io/RandomAccessFile ;
2020-04-10 14:32:51 +00:00
2020-04-11 15:34:05 +00:00
iget-boolean v0 , p0 , L f/k/a/b/k1/v ;-> h : Z
2020-04-10 14:32:51 +00:00
if-eqz v0 , :cond_2
2020-04-11 15:34:05 +00:00
iput-boolean v1 , p0 , L f/k/a/b/k1/v ;-> h : Z
2020-04-10 14:32:51 +00:00
2020-04-11 15:34:05 +00:00
invoke-virtual { p0 } , L f/k/a/b/k1/g ;-> c ( ) V
2020-04-10 14:32:51 +00:00
:cond_2
throw v2
.end method
.method public read ( [BII ) I
.locals 5
.annotation system L dalvik/annotation/Throws ;
value = {
2020-04-11 15:34:05 +00:00
L f/k/a/b/k1/v$a ;
2020-04-10 14:32:51 +00:00
}
.end annotation
if-nez p3 , :cond_0
const/4 p1 , 0x0
return p1
:cond_0
2020-04-11 15:34:05 +00:00
iget-wide v0 , p0 , L f/k/a/b/k1/v ;-> g : J
2020-04-10 14:32:51 +00:00
const-wide/16 v2 , 0x0
cmp-long v4 , v0 , v2
if-nez v4 , :cond_1
const/4 p1 , - 0x1
return p1
:cond_1
:try_start_0
2020-04-11 15:34:05 +00:00
iget-object v0 , p0 , L f/k/a/b/k1/v ;-> e : L java/io/RandomAccessFile ;
2020-04-10 14:32:51 +00:00
2020-04-11 15:34:05 +00:00
invoke-static { v0 } , L f/k/a/b/l1/f0 ;-> a ( L java/lang/Object ;) L java/lang/Object ;
2020-04-10 14:32:51 +00:00
check-cast v0 , L java/io/RandomAccessFile ;
2020-04-11 15:34:05 +00:00
iget-wide v1 , p0 , L f/k/a/b/k1/v ;-> g : J
2020-04-10 14:32:51 +00:00
int-to-long v3 , p3
invoke-static { v1 , v2 , v3 , v4 } , L java/lang/Math ;-> min ( JJ ) J
move-result-wide v1
long-to-int p3 , v1
invoke-virtual { v0 , p1 , p2 , p3 } , L java/io/RandomAccessFile ;-> read ( [BII ) I
move-result p1
:try_end_0
.catch L java/io/IOException ; { :try_start_0 . . :try_end_0 } :catch_0
if-lez p1 , :cond_2
2020-04-11 15:34:05 +00:00
iget-wide p2 , p0 , L f/k/a/b/k1/v ;-> g : J
2020-04-10 14:32:51 +00:00
int-to-long v0 , p1
sub-long/2addr p2 , v0
2020-04-11 15:34:05 +00:00
iput-wide p2 , p0 , L f/k/a/b/k1/v ;-> g : J
2020-04-10 14:32:51 +00:00
2020-04-11 15:34:05 +00:00
invoke-virtual { p0 , p1 } , L f/k/a/b/k1/g ;-> a ( I ) V
2020-04-10 14:32:51 +00:00
:cond_2
return p1
:catch_0
move-exception p1
2020-04-11 15:34:05 +00:00
new-instance p2 , L f/k/a/b/k1/v$a ;
2020-04-10 14:32:51 +00:00
2020-04-11 15:34:05 +00:00
invoke-direct { p2 , p1 } , L f/k/a/b/k1/v$a ;-> <init> ( L java/io/IOException ;) V
2020-04-10 14:32:51 +00:00
throw p2
2019-07-24 11:27:29 +00:00
.end method