public class android.os.FileUtils
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: android.os.FileUtils
super_class: java.lang.Object
{
private static final java.lang.String TAG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "FileUtils"
public static final int S_IRWXU;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 448
public static final int S_IRUSR;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 256
public static final int S_IWUSR;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 128
public static final int S_IXUSR;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 64
public static final int S_IRWXG;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 56
public static final int S_IRGRP;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 32
public static final int S_IWGRP;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 16
public static final int S_IXGRP;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 8
public static final int S_IRWXO;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 7
public static final int S_IROTH;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 4
public static final int S_IWOTH;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final int S_IXOTH;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final java.io.File[] EMPTY;
descriptor: [Ljava/io/File;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final boolean ENABLE_COPY_OPTIMIZATIONS;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final long COPY_CHECKPOINT_BYTES;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 524288
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: iconst_0
anewarray java.io.File
putstatic android.os.FileUtils.EMPTY:[Ljava/io/File;
1: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/os/FileUtils;
public static int setPermissions(java.io.File, int, int, int);
descriptor: (Ljava/io/File;III)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
iload 1
iload 2
iload 3
invokestatic android.os.FileUtils.setPermissions:(Ljava/lang/String;III)I
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 path Ljava/io/File;
0 1 1 mode I
0 1 2 uid I
0 1 3 gid I
MethodParameters:
Name Flags
path
mode
uid
gid
public static int setPermissions(java.lang.String, int, int, int);
descriptor: (Ljava/lang/String;III)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=4
0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tOs cannot be resolved\n\tErrnoException cannot be resolved to a type\n\tOs cannot be resolved\n\tErrnoException cannot be resolved to a type\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
MethodParameters:
Name Flags
path
mode
uid
gid
public static int setPermissions(java.io.FileDescriptor, int, int, int);
descriptor: (Ljava/io/FileDescriptor;III)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=4
0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tOs cannot be resolved\n\tErrnoException cannot be resolved to a type\n\tOs cannot be resolved\n\tErrnoException cannot be resolved to a type\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
MethodParameters:
Name Flags
fd
mode
uid
gid
public static void copyPermissions(java.io.File, java.io.File);
descriptor: (Ljava/io/File;Ljava/io/File;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tStructStat cannot be resolved to a type\n\tOs cannot be resolved\n\tOs cannot be resolved\n\tOs cannot be resolved\n\tErrnoException cannot be resolved to a type\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
from
to
public static int getUid(java.lang.String);
descriptor: (Ljava/lang/String;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tOs cannot be resolved\n\tErrnoException cannot be resolved to a type\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
MethodParameters:
Name Flags
path
public static boolean sync(java.io.FileOutputStream);
descriptor: (Ljava/io/FileOutputStream;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
ifnull 2
1: aload 0
invokevirtual java.io.FileOutputStream.getFD:()Ljava/io/FileDescriptor;
invokevirtual java.io.FileDescriptor.sync:()V
2: StackMap locals:
StackMap stack:
iconst_1
ireturn
3: StackMap locals:
StackMap stack: java.io.IOException
pop
4: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 stream Ljava/io/FileOutputStream;
Exception table:
from to target type
0 2 3 Class java.io.IOException
MethodParameters:
Name Flags
stream
public static boolean copyFile(java.io.File, java.io.File);
descriptor: (Ljava/io/File;Ljava/io/File;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic android.os.FileUtils.copyFileOrThrow:(Ljava/io/File;Ljava/io/File;)V
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack: java.io.IOException
pop
3: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 srcFile Ljava/io/File;
0 4 1 destFile Ljava/io/File;
Exception table:
from to target type
0 1 2 Class java.io.IOException
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
srcFile
destFile
public static void copyFileOrThrow(java.io.File, java.io.File);
descriptor: (Ljava/io/File;Ljava/io/File;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
aconst_null
astore 3
1: new java.io.FileInputStream
dup
aload 0
invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
astore 4
start local 4 2: aload 4
aload 1
invokestatic android.os.FileUtils.copyToFileOrThrow:(Ljava/io/InputStream;Ljava/io/File;)V
3: aload 4
ifnull 9
aload 4
invokevirtual java.io.InputStream.close:()V
goto 9
StackMap locals: java.io.File java.io.File java.lang.Throwable java.lang.Throwable java.io.InputStream
StackMap stack: java.lang.Throwable
4: astore 2
aload 4
ifnull 5
aload 4
invokevirtual java.io.InputStream.close:()V
end local 4 StackMap locals:
StackMap stack:
5: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
6: astore 3
aload 2
ifnonnull 7
aload 3
astore 2
goto 8
StackMap locals:
StackMap stack:
7: aload 2
aload 3
if_acmpeq 8
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
8: aload 2
athrow
9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 srcFile Ljava/io/File;
0 10 1 destFile Ljava/io/File;
2 5 4 in Ljava/io/InputStream;
Exception table:
from to target type
2 3 4 any
1 6 6 any
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
srcFile
destFile
public static boolean copyToFile(java.io.InputStream, java.io.File);
descriptor: (Ljava/io/InputStream;Ljava/io/File;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic android.os.FileUtils.copyToFileOrThrow:(Ljava/io/InputStream;Ljava/io/File;)V
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack: java.io.IOException
pop
3: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 inputStream Ljava/io/InputStream;
0 4 1 destFile Ljava/io/File;
Exception table:
from to target type
0 1 2 Class java.io.IOException
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
inputStream
destFile
public static void copyToFileOrThrow(java.io.InputStream, java.io.File);
descriptor: (Ljava/io/InputStream;Ljava/io/File;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tOs cannot be resolved\n\tErrnoException cannot be resolved to a type\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
in
destFile
public static long copy(java.io.File, java.io.File);
descriptor: (Ljava/io/File;Ljava/io/File;)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
aconst_null
invokestatic android.os.FileUtils.copy:(Ljava/io/File;Ljava/io/File;Landroid/os/FileUtils$ProgressListener;Landroid/os/CancellationSignal;)J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 from Ljava/io/File;
0 1 1 to Ljava/io/File;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
from
to
public static long copy(java.io.File, java.io.File, android.os.FileUtils$ProgressListener, android.os.CancellationSignal);
descriptor: (Ljava/io/File;Ljava/io/File;Landroid/os/FileUtils$ProgressListener;Landroid/os/CancellationSignal;)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
aconst_null
astore 5
1: new java.io.FileInputStream
dup
aload 0
invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
astore 6
start local 6 2: new java.io.FileOutputStream
dup
aload 1
invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
astore 7
start local 7 3: aload 6
aload 7
aload 2
aload 3
invokestatic android.os.FileUtils.copy:(Ljava/io/InputStream;Ljava/io/OutputStream;Landroid/os/FileUtils$ProgressListener;Landroid/os/CancellationSignal;)J
4: aload 7
ifnull 5
aload 7
invokevirtual java.io.FileOutputStream.close:()V
StackMap locals: java.io.File java.io.File android.os.FileUtils$ProgressListener android.os.CancellationSignal java.lang.Throwable java.lang.Throwable java.io.FileInputStream java.io.FileOutputStream
StackMap stack: long
5: aload 6
ifnull 6
aload 6
invokevirtual java.io.FileInputStream.close:()V
6: StackMap locals:
StackMap stack: long
lreturn
StackMap locals:
StackMap stack: java.lang.Throwable
7: astore 4
8: aload 7
ifnull 9
aload 7
invokevirtual java.io.FileOutputStream.close:()V
end local 7 StackMap locals:
StackMap stack:
9: aload 4
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
10: astore 5
aload 4
ifnonnull 11
aload 5
astore 4
goto 12
StackMap locals:
StackMap stack:
11: aload 4
aload 5
if_acmpeq 12
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
12: aload 6
ifnull 13
aload 6
invokevirtual java.io.FileInputStream.close:()V
end local 6 StackMap locals:
StackMap stack:
13: aload 4
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
14: astore 5
aload 4
ifnonnull 15
aload 5
astore 4
goto 16
StackMap locals:
StackMap stack:
15: aload 4
aload 5
if_acmpeq 16
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
16: aload 4
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 from Ljava/io/File;
0 17 1 to Ljava/io/File;
0 17 2 listener Landroid/os/FileUtils$ProgressListener;
0 17 3 signal Landroid/os/CancellationSignal;
2 13 6 in Ljava/io/FileInputStream;
3 9 7 out Ljava/io/FileOutputStream;
Exception table:
from to target type
3 4 7 any
2 5 10 any
7 10 10 any
1 6 14 any
7 14 14 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
from
to
listener
signal
public static long copy(java.io.InputStream, java.io.OutputStream);
descriptor: (Ljava/io/InputStream;Ljava/io/OutputStream;)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
aconst_null
invokestatic android.os.FileUtils.copy:(Ljava/io/InputStream;Ljava/io/OutputStream;Landroid/os/FileUtils$ProgressListener;Landroid/os/CancellationSignal;)J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 in Ljava/io/InputStream;
0 1 1 out Ljava/io/OutputStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
in
out
public static long copy(java.io.InputStream, java.io.OutputStream, android.os.FileUtils$ProgressListener, android.os.CancellationSignal);
descriptor: (Ljava/io/InputStream;Ljava/io/OutputStream;Landroid/os/FileUtils$ProgressListener;Landroid/os/CancellationSignal;)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
instanceof java.io.FileInputStream
ifeq 4
aload 1
instanceof java.io.FileOutputStream
ifeq 4
1: aload 0
checkcast java.io.FileInputStream
invokevirtual java.io.FileInputStream.getFD:()Ljava/io/FileDescriptor;
aload 1
checkcast java.io.FileOutputStream
invokevirtual java.io.FileOutputStream.getFD:()Ljava/io/FileDescriptor;
2: aload 2
aload 3
3: invokestatic android.os.FileUtils.copy:(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Landroid/os/FileUtils$ProgressListener;Landroid/os/CancellationSignal;)J
lreturn
4: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
invokestatic android.os.FileUtils.copyInternalUserspace:(Ljava/io/InputStream;Ljava/io/OutputStream;Landroid/os/FileUtils$ProgressListener;Landroid/os/CancellationSignal;)J
lreturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 in Ljava/io/InputStream;
0 5 1 out Ljava/io/OutputStream;
0 5 2 listener Landroid/os/FileUtils$ProgressListener;
0 5 3 signal Landroid/os/CancellationSignal;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
in
out
listener
signal
public static long copy(java.io.FileDescriptor, java.io.FileDescriptor);
descriptor: (Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
aconst_null
invokestatic android.os.FileUtils.copy:(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Landroid/os/FileUtils$ProgressListener;Landroid/os/CancellationSignal;)J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 in Ljava/io/FileDescriptor;
0 1 1 out Ljava/io/FileDescriptor;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
in
out
public static long copy(java.io.FileDescriptor, java.io.FileDescriptor, android.os.FileUtils$ProgressListener, android.os.CancellationSignal);
descriptor: (Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Landroid/os/FileUtils$ProgressListener;Landroid/os/CancellationSignal;)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
ldc 9223372036854775807
invokestatic android.os.FileUtils.copy:(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Landroid/os/FileUtils$ProgressListener;Landroid/os/CancellationSignal;J)J
lreturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 in Ljava/io/FileDescriptor;
0 1 1 out Ljava/io/FileDescriptor;
0 1 2 listener Landroid/os/FileUtils$ProgressListener;
0 1 3 signal Landroid/os/CancellationSignal;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
in
out
listener
signal
public static long copy(java.io.FileDescriptor, java.io.FileDescriptor, android.os.FileUtils$ProgressListener, android.os.CancellationSignal, long);
descriptor: (Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Landroid/os/FileUtils$ProgressListener;Landroid/os/CancellationSignal;J)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=6, args_size=5
0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tStructStat cannot be resolved to a type\n\tOs cannot be resolved\n\tStructStat cannot be resolved to a type\n\tOs cannot be resolved\n\tThe method copyInternalSendfile(FileDescriptor, FileDescriptor, FileUtils.ProgressListener, CancellationSignal, long) from the type FileUtils refers to the missing type ErrnoException\n\tThe method copyInternalSplice(FileDescriptor, FileDescriptor, FileUtils.ProgressListener, CancellationSignal, long) from the type FileUtils refers to the missing type ErrnoException\n\tErrnoException cannot be resolved to a type\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
in
out
listener
signal
count
public static long copyInternalSplice(java.io.FileDescriptor, java.io.FileDescriptor, android.os.FileUtils$ProgressListener, android.os.CancellationSignal, long);
descriptor: (Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Landroid/os/FileUtils$ProgressListener;Landroid/os/CancellationSignal;J)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=6, args_size=5
0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tErrnoException cannot be resolved to a type\n\tOs cannot be resolved\n\tSPLICE_F_MOVE cannot be resolved to a variable\n\tSPLICE_F_MORE cannot be resolved to a variable\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws ErrnoException
RuntimeInvisibleAnnotations:
com.android.internal.annotations.VisibleForTesting()
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
com.android.internal.annotations.VisibleForTesting()
MethodParameters:
Name Flags
in
out
listener
signal
count
public static long copyInternalSendfile(java.io.FileDescriptor, java.io.FileDescriptor, android.os.FileUtils$ProgressListener, android.os.CancellationSignal, long);
descriptor: (Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Landroid/os/FileUtils$ProgressListener;Landroid/os/CancellationSignal;J)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=6, args_size=5
0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tErrnoException cannot be resolved to a type\n\tOs cannot be resolved\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws ErrnoException
RuntimeInvisibleAnnotations:
com.android.internal.annotations.VisibleForTesting()
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
com.android.internal.annotations.VisibleForTesting()
MethodParameters:
Name Flags
in
out
listener
signal
count
public static long copyInternalUserspace(java.io.FileDescriptor, java.io.FileDescriptor, android.os.FileUtils$ProgressListener, android.os.CancellationSignal, long);
descriptor: (Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Landroid/os/FileUtils$ProgressListener;Landroid/os/CancellationSignal;J)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: lload 4
ldc 9223372036854775807
lcmp
ifeq 4
1: new com.android.internal.util.SizedInputStream
dup
new java.io.FileInputStream
dup
aload 0
invokespecial java.io.FileInputStream.<init>:(Ljava/io/FileDescriptor;)V
lload 4
invokespecial com.android.internal.util.SizedInputStream.<init>:(Ljava/io/InputStream;J)V
2: new java.io.FileOutputStream
dup
aload 1
invokespecial java.io.FileOutputStream.<init>:(Ljava/io/FileDescriptor;)V
aload 2
aload 3
3: invokestatic android.os.FileUtils.copyInternalUserspace:(Ljava/io/InputStream;Ljava/io/OutputStream;Landroid/os/FileUtils$ProgressListener;Landroid/os/CancellationSignal;)J
lreturn
4: StackMap locals:
StackMap stack:
new java.io.FileInputStream
dup
aload 0
invokespecial java.io.FileInputStream.<init>:(Ljava/io/FileDescriptor;)V
5: new java.io.FileOutputStream
dup
aload 1
invokespecial java.io.FileOutputStream.<init>:(Ljava/io/FileDescriptor;)V
aload 2
aload 3
6: invokestatic android.os.FileUtils.copyInternalUserspace:(Ljava/io/InputStream;Ljava/io/OutputStream;Landroid/os/FileUtils$ProgressListener;Landroid/os/CancellationSignal;)J
lreturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 in Ljava/io/FileDescriptor;
0 7 1 out Ljava/io/FileDescriptor;
0 7 2 listener Landroid/os/FileUtils$ProgressListener;
0 7 3 signal Landroid/os/CancellationSignal;
0 7 4 count J
Exceptions:
throws java.io.IOException
RuntimeInvisibleAnnotations:
com.android.internal.annotations.VisibleForTesting()
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
com.android.internal.annotations.VisibleForTesting()
MethodParameters:
Name Flags
in
out
listener
signal
count
public static long copyInternalUserspace(java.io.InputStream, java.io.OutputStream, android.os.FileUtils$ProgressListener, android.os.CancellationSignal);
descriptor: (Ljava/io/InputStream;Ljava/io/OutputStream;Landroid/os/FileUtils$ProgressListener;Landroid/os/CancellationSignal;)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: lconst_0
lstore 4
start local 4 1: lconst_0
lstore 6
start local 6 2: sipush 8192
newarray 8
astore 8
start local 8 3: goto 13
start local 9 4: StackMap locals: java.io.InputStream java.io.OutputStream android.os.FileUtils$ProgressListener android.os.CancellationSignal long long byte[] int
StackMap stack:
aload 1
aload 8
iconst_0
iload 9
invokevirtual java.io.OutputStream.write:([BII)V
5: lload 4
iload 9
i2l
ladd
lstore 4
6: lload 6
iload 9
i2l
ladd
lstore 6
7: lload 6
ldc 524288
lcmp
iflt 13
8: aload 3
ifnull 10
9: aload 3
invokevirtual android.os.CancellationSignal.throwIfCanceled:()V
10: StackMap locals:
StackMap stack:
aload 2
ifnull 12
11: aload 2
lload 4
invokeinterface android.os.FileUtils$ProgressListener.onProgress:(J)V
12: StackMap locals:
StackMap stack:
lconst_0
lstore 6
end local 9 13: StackMap locals:
StackMap stack:
aload 0
aload 8
invokevirtual java.io.InputStream.read:([B)I
dup
istore 9
start local 9 14: iconst_m1
if_icmpne 4
15: aload 2
ifnull 17
16: aload 2
lload 4
invokeinterface android.os.FileUtils$ProgressListener.onProgress:(J)V
17: StackMap locals: int
StackMap stack:
lload 4
lreturn
end local 9 end local 8 end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 in Ljava/io/InputStream;
0 18 1 out Ljava/io/OutputStream;
0 18 2 listener Landroid/os/FileUtils$ProgressListener;
0 18 3 signal Landroid/os/CancellationSignal;
1 18 4 progress J
2 18 6 checkpoint J
3 18 8 buffer [B
4 13 9 t I
14 18 9 t I
Exceptions:
throws java.io.IOException
RuntimeInvisibleAnnotations:
com.android.internal.annotations.VisibleForTesting()
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
com.android.internal.annotations.VisibleForTesting()
MethodParameters:
Name Flags
in
out
listener
signal
public static boolean isFilenameSafe(java.io.File);
descriptor: (Ljava/io/File;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic android.os.FileUtils$NoImagePreloadHolder.SAFE_FILENAME_PATTERN:Ljava/util/regex/Pattern;
aload 0
invokevirtual java.io.File.getPath:()Ljava/lang/String;
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
invokevirtual java.util.regex.Matcher.matches:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 file Ljava/io/File;
MethodParameters:
Name Flags
file
public static java.lang.String readTextFile(java.io.File, int, java.lang.String);
descriptor: (Ljava/io/File;ILjava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=14, args_size=3
start local 0 start local 1 start local 2 0: new java.io.FileInputStream
dup
aload 0
invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
astore 3
start local 3 1: new java.io.BufferedInputStream
dup
aload 3
invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
astore 4
start local 4 2: aload 0
invokevirtual java.io.File.length:()J
lstore 5
start local 5 3: iload 1
ifgt 4
lload 5
lconst_0
lcmp
ifle 22
iload 1
ifne 22
4: StackMap locals: java.io.InputStream java.io.BufferedInputStream long
StackMap stack:
lload 5
lconst_0
lcmp
ifle 6
iload 1
ifeq 5
lload 5
iload 1
i2l
lcmp
ifge 6
StackMap locals:
StackMap stack:
5: lload 5
l2i
istore 1
6: StackMap locals:
StackMap stack:
iload 1
iconst_1
iadd
newarray 8
astore 7
start local 7 7: aload 4
aload 7
invokevirtual java.io.BufferedInputStream.read:([B)I
istore 8
start local 8 8: iload 8
ifgt 12
9: aload 4
invokevirtual java.io.BufferedInputStream.close:()V
10: aload 3
invokevirtual java.io.InputStream.close:()V
11: ldc ""
areturn
12: StackMap locals: byte[] int
StackMap stack:
iload 8
iload 1
if_icmpgt 15
new java.lang.String
dup
aload 7
iconst_0
iload 8
invokespecial java.lang.String.<init>:([BII)V
astore 13
13: aload 4
invokevirtual java.io.BufferedInputStream.close:()V
14: aload 3
invokevirtual java.io.InputStream.close:()V
aload 13
areturn
15: StackMap locals:
StackMap stack:
aload 2
ifnonnull 18
new java.lang.String
dup
aload 7
iconst_0
iload 1
invokespecial java.lang.String.<init>:([BII)V
astore 13
16: aload 4
invokevirtual java.io.BufferedInputStream.close:()V
17: aload 3
invokevirtual java.io.InputStream.close:()V
aload 13
areturn
18: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
new java.lang.String
dup
aload 7
iconst_0
iload 1
invokespecial java.lang.String.<init>:([BII)V
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 13
19: aload 4
invokevirtual java.io.BufferedInputStream.close:()V
20: aload 3
invokevirtual java.io.InputStream.close:()V
21: aload 13
areturn
end local 8 end local 7 22: StackMap locals:
StackMap stack:
iload 1
ifge 51
23: iconst_0
istore 8
start local 8 24: aconst_null
astore 9
start local 9 25: aconst_null
astore 10
start local 10 26: StackMap locals: java.io.File int java.lang.String java.io.InputStream java.io.BufferedInputStream long top int byte[] byte[]
StackMap stack:
aload 9
ifnull 27
iconst_1
istore 8
27: StackMap locals:
StackMap stack:
aload 9
astore 11
start local 11 28: aload 10
astore 9
aload 11
astore 10
29: aload 10
ifnonnull 30
iload 1
ineg
newarray 8
astore 10
30: StackMap locals: byte[]
StackMap stack:
aload 4
aload 10
invokevirtual java.io.BufferedInputStream.read:([B)I
istore 7
end local 11 start local 7 31: iload 7
aload 10
arraylength
if_icmpeq 26
32: aload 9
ifnonnull 36
iload 7
ifgt 36
33: aload 4
invokevirtual java.io.BufferedInputStream.close:()V
34: aload 3
invokevirtual java.io.InputStream.close:()V
35: ldc ""
areturn
36: StackMap locals: java.io.File int java.lang.String java.io.InputStream java.io.BufferedInputStream long int int byte[] byte[]
StackMap stack:
aload 9
ifnonnull 39
new java.lang.String
dup
aload 10
iconst_0
iload 7
invokespecial java.lang.String.<init>:([BII)V
astore 13
37: aload 4
invokevirtual java.io.BufferedInputStream.close:()V
38: aload 3
invokevirtual java.io.InputStream.close:()V
aload 13
areturn
39: StackMap locals:
StackMap stack:
iload 7
ifle 43
40: iconst_1
istore 8
41: aload 9
iload 7
aload 9
iconst_0
aload 9
arraylength
iload 7
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
42: aload 10
iconst_0
aload 9
aload 9
arraylength
iload 7
isub
iload 7
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
43: StackMap locals:
StackMap stack:
aload 2
ifnull 44
iload 8
ifne 47
StackMap locals:
StackMap stack:
44: new java.lang.String
dup
aload 9
invokespecial java.lang.String.<init>:([B)V
astore 13
45: aload 4
invokevirtual java.io.BufferedInputStream.close:()V
46: aload 3
invokevirtual java.io.InputStream.close:()V
aload 13
areturn
47: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
new java.lang.String
dup
aload 9
invokespecial java.lang.String.<init>:([B)V
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 13
48: aload 4
invokevirtual java.io.BufferedInputStream.close:()V
49: aload 3
invokevirtual java.io.InputStream.close:()V
50: aload 13
areturn
end local 10 end local 9 end local 8 end local 7 51: StackMap locals: java.io.File int java.lang.String java.io.InputStream java.io.BufferedInputStream long
StackMap stack:
new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 7
start local 7 52: sipush 1024
newarray 8
astore 9
start local 9 53: StackMap locals: java.io.File int java.lang.String java.io.InputStream java.io.BufferedInputStream long java.io.ByteArrayOutputStream top byte[]
StackMap stack:
aload 4
aload 9
invokevirtual java.io.BufferedInputStream.read:([B)I
istore 8
start local 8 54: iload 8
ifle 55
aload 7
aload 9
iconst_0
iload 8
invokevirtual java.io.ByteArrayOutputStream.write:([BII)V
55: StackMap locals: java.io.File int java.lang.String java.io.InputStream java.io.BufferedInputStream long java.io.ByteArrayOutputStream int byte[]
StackMap stack:
iload 8
aload 9
arraylength
if_icmpeq 53
56: aload 7
invokevirtual java.io.ByteArrayOutputStream.toString:()Ljava/lang/String;
astore 13
57: aload 4
invokevirtual java.io.BufferedInputStream.close:()V
58: aload 3
invokevirtual java.io.InputStream.close:()V
59: aload 13
areturn
end local 9 end local 8 end local 7 end local 5 60: StackMap locals: java.io.File int java.lang.String java.io.InputStream java.io.BufferedInputStream
StackMap stack: java.lang.Throwable
astore 12
61: aload 4
invokevirtual java.io.BufferedInputStream.close:()V
62: aload 3
invokevirtual java.io.InputStream.close:()V
63: aload 12
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 64 0 file Ljava/io/File;
0 64 1 max I
0 64 2 ellipsis Ljava/lang/String;
1 64 3 input Ljava/io/InputStream;
2 64 4 bis Ljava/io/BufferedInputStream;
3 60 5 size J
7 22 7 data [B
8 22 8 length I
31 51 7 len I
24 51 8 rolled Z
25 51 9 last [B
26 51 10 data [B
28 31 11 tmp [B
52 60 7 contents Ljava/io/ByteArrayOutputStream;
54 60 8 len I
53 60 9 data [B
Exception table:
from to target type
2 9 60 any
12 13 60 any
15 16 60 any
18 19 60 any
22 33 60 any
36 37 60 any
39 45 60 any
47 48 60 any
51 57 60 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
file
max
ellipsis
public static void stringToFile(java.io.File, java.lang.String);
descriptor: (Ljava/io/File;Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
aload 1
invokestatic android.os.FileUtils.stringToFile:(Ljava/lang/String;Ljava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 file Ljava/io/File;
0 2 1 string Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
file
string
public static void bytesToFile(java.lang.String, byte[]);
descriptor: (Ljava/lang/String;[B)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 0
ldc "/proc/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 16
1: invokestatic android.os.StrictMode.allowThreadDiskWritesMask:()I
istore 2
start local 2 2: aconst_null
astore 3
aconst_null
astore 4
3: new java.io.FileOutputStream
dup
aload 0
invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;)V
astore 5
start local 5 4: aload 5
aload 1
invokevirtual java.io.FileOutputStream.write:([B)V
5: aload 5
ifnull 14
aload 5
invokevirtual java.io.FileOutputStream.close:()V
goto 14
StackMap locals: java.lang.String byte[] int java.lang.Throwable java.lang.Throwable java.io.FileOutputStream
StackMap stack: java.lang.Throwable
6: astore 3
aload 5
ifnull 7
aload 5
invokevirtual java.io.FileOutputStream.close:()V
end local 5 StackMap locals:
StackMap stack:
7: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
8: astore 4
aload 3
ifnonnull 9
aload 4
astore 3
goto 10
StackMap locals:
StackMap stack:
9: aload 3
aload 4
if_acmpeq 10
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
10: aload 3
athrow
StackMap locals: java.lang.String byte[] int
StackMap stack: java.lang.Throwable
11: astore 6
12: iload 2
invokestatic android.os.StrictMode.setThreadPolicyMask:(I)V
13: aload 6
athrow
14: StackMap locals:
StackMap stack:
iload 2
invokestatic android.os.StrictMode.setThreadPolicyMask:(I)V
end local 2 15: goto 25
16: StackMap locals:
StackMap stack:
aconst_null
astore 2
aconst_null
astore 3
17: new java.io.FileOutputStream
dup
aload 0
invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;)V
astore 4
start local 4 18: aload 4
aload 1
invokevirtual java.io.FileOutputStream.write:([B)V
19: aload 4
ifnull 25
aload 4
invokevirtual java.io.FileOutputStream.close:()V
goto 25
StackMap locals: java.lang.String byte[] java.lang.Throwable java.lang.Throwable java.io.FileOutputStream
StackMap stack: java.lang.Throwable
20: astore 2
aload 4
ifnull 21
aload 4
invokevirtual java.io.FileOutputStream.close:()V
end local 4 StackMap locals:
StackMap stack:
21: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
22: astore 3
aload 2
ifnonnull 23
aload 3
astore 2
goto 24
StackMap locals:
StackMap stack:
23: aload 2
aload 3
if_acmpeq 24
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
24: aload 2
athrow
25: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 filename Ljava/lang/String;
0 26 1 content [B
2 15 2 oldMask I
4 7 5 fos Ljava/io/FileOutputStream;
18 21 4 fos Ljava/io/FileOutputStream;
Exception table:
from to target type
4 5 6 any
3 8 8 any
2 11 11 any
18 19 20 any
17 22 22 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
filename
content
public static void stringToFile(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
invokestatic android.os.FileUtils.bytesToFile:(Ljava/lang/String;[B)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 filename Ljava/lang/String;
0 2 1 string Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
filename
string
public static long checksumCrc32(java.io.File);
descriptor: (Ljava/io/File;)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=7, args_size=1
start local 0 0: new java.util.zip.CRC32
dup
invokespecial java.util.zip.CRC32.<init>:()V
astore 1
start local 1 1: aconst_null
astore 2
start local 2 2: new java.util.zip.CheckedInputStream
dup
new java.io.FileInputStream
dup
aload 0
invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
aload 1
invokespecial java.util.zip.CheckedInputStream.<init>:(Ljava/io/InputStream;Ljava/util/zip/Checksum;)V
astore 2
3: sipush 128
newarray 8
astore 3
start local 3 4: StackMap locals: java.util.zip.CRC32 java.util.zip.CheckedInputStream byte[]
StackMap stack:
aload 2
aload 3
invokevirtual java.util.zip.CheckedInputStream.read:([B)I
ifge 4
5: aload 1
invokevirtual java.util.zip.CRC32.getValue:()J
lstore 5
6: aload 2
ifnull 10
7: aload 2
invokevirtual java.util.zip.CheckedInputStream.close:()V
8: goto 10
StackMap locals: java.io.File java.util.zip.CRC32 java.util.zip.CheckedInputStream byte[] top long
StackMap stack: java.io.IOException
9: pop
10: StackMap locals:
StackMap stack:
lload 5
lreturn
end local 3 11: StackMap locals: java.io.File java.util.zip.CRC32 java.util.zip.CheckedInputStream
StackMap stack: java.lang.Throwable
astore 4
12: aload 2
ifnull 16
13: aload 2
invokevirtual java.util.zip.CheckedInputStream.close:()V
14: goto 16
StackMap locals: java.io.File java.util.zip.CRC32 java.util.zip.CheckedInputStream top java.lang.Throwable
StackMap stack: java.io.IOException
15: pop
16: StackMap locals:
StackMap stack:
aload 4
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 file Ljava/io/File;
1 17 1 checkSummer Ljava/util/zip/CRC32;
2 17 2 cis Ljava/util/zip/CheckedInputStream;
4 11 3 buf [B
Exception table:
from to target type
7 8 9 Class java.io.IOException
2 6 11 any
13 14 15 Class java.io.IOException
Exceptions:
throws java.io.FileNotFoundException, java.io.IOException
MethodParameters:
Name Flags
file
public static boolean deleteOlderFiles(java.io.File, int, long);
descriptor: (Ljava/io/File;IJ)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=10, args_size=3
start local 0 start local 1 start local 2 0: iload 1
iflt 1
lload 2
lconst_0
lcmp
ifge 2
1: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Constraints must be positive or 0"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.io.File.listFiles:()[Ljava/io/File;
astore 4
start local 4 3: aload 4
ifnonnull 4
iconst_0
ireturn
4: StackMap locals: java.io.File[]
StackMap stack:
aload 4
new android.os.FileUtils$1
dup
invokespecial android.os.FileUtils$1.<init>:()V
invokestatic java.util.Arrays.sort:([Ljava/lang/Object;Ljava/util/Comparator;)V
5: iconst_0
istore 5
start local 5 6: iload 1
istore 6
start local 6 7: goto 15
8: StackMap locals: int int
StackMap stack:
aload 4
iload 6
aaload
astore 7
start local 7 9: invokestatic java.lang.System.currentTimeMillis:()J
aload 7
invokevirtual java.io.File.lastModified:()J
lsub
lstore 8
start local 8 10: lload 8
lload 2
lcmp
ifle 14
11: aload 7
invokevirtual java.io.File.delete:()Z
ifeq 14
12: ldc "FileUtils"
new java.lang.StringBuilder
dup
ldc "Deleted old file "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
13: iconst_1
istore 5
end local 8 end local 7 14: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
15: iload 6
aload 4
arraylength
if_icmplt 8
end local 6 16: iload 5
ireturn
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 dir Ljava/io/File;
0 17 1 minCount I
0 17 2 minAgeMs J
3 17 4 files [Ljava/io/File;
6 17 5 deleted Z
7 16 6 i I
9 14 7 file Ljava/io/File;
10 14 8 age J
MethodParameters:
Name Flags
dir
minCount
minAgeMs
public static boolean contains(java.io.File[], java.io.File);
descriptor: ([Ljava/io/File;Ljava/io/File;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 0
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 5
StackMap locals: java.io.File[] java.io.File top int int java.io.File[]
StackMap stack:
1: aload 5
iload 3
aaload
astore 2
start local 2 2: aload 2
aload 1
invokestatic android.os.FileUtils.contains:(Ljava/io/File;Ljava/io/File;)Z
ifeq 4
3: iconst_1
ireturn
end local 2 4: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
iload 4
if_icmplt 1
6: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 dirs [Ljava/io/File;
0 7 1 file Ljava/io/File;
2 4 2 dir Ljava/io/File;
MethodParameters:
Name Flags
dirs
file
public static boolean contains(java.io.File, java.io.File);
descriptor: (Ljava/io/File;Ljava/io/File;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ifnull 1
aload 1
ifnonnull 2
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
aload 1
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
invokestatic android.os.FileUtils.contains:(Ljava/lang/String;Ljava/lang/String;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 dir Ljava/io/File;
0 3 1 file Ljava/io/File;
MethodParameters:
Name Flags
dir
file
public static boolean contains(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
ldc "/"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 4
3: new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 0
4: StackMap locals:
StackMap stack:
aload 1
aload 0
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 dirPath Ljava/lang/String;
0 5 1 filePath Ljava/lang/String;
MethodParameters:
Name Flags
dirPath
filePath
public static boolean deleteContentsAndDir(java.io.File);
descriptor: (Ljava/io/File;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic android.os.FileUtils.deleteContents:(Ljava/io/File;)Z
ifeq 2
1: aload 0
invokevirtual java.io.File.delete:()Z
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 dir Ljava/io/File;
MethodParameters:
Name Flags
dir
public static boolean deleteContents(java.io.File);
descriptor: (Ljava/io/File;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=7, args_size=1
start local 0 0: aload 0
invokevirtual java.io.File.listFiles:()[Ljava/io/File;
astore 1
start local 1 1: iconst_1
istore 2
start local 2 2: aload 1
ifnull 12
3: aload 1
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 11
StackMap locals: java.io.File java.io.File[] int top int int java.io.File[]
StackMap stack:
4: aload 6
iload 4
aaload
astore 3
start local 3 5: aload 3
invokevirtual java.io.File.isDirectory:()Z
ifeq 7
6: iload 2
aload 3
invokestatic android.os.FileUtils.deleteContents:(Ljava/io/File;)Z
iand
istore 2
7: StackMap locals: java.io.File java.io.File[] int java.io.File int int java.io.File[]
StackMap stack:
aload 3
invokevirtual java.io.File.delete:()Z
ifne 10
8: ldc "FileUtils"
new java.lang.StringBuilder
dup
ldc "Failed to delete "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
9: iconst_0
istore 2
end local 3 10: StackMap locals: java.io.File java.io.File[] int top int int java.io.File[]
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
11: iload 4
iload 5
if_icmplt 4
12: StackMap locals: java.io.File java.io.File[] int
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 dir Ljava/io/File;
1 13 1 files [Ljava/io/File;
2 13 2 success Z
5 10 3 file Ljava/io/File;
MethodParameters:
Name Flags
dir
private static boolean isValidExtFilenameChar(char);
descriptor: (C)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
lookupswitch { // 2
0: 1
47: 1
default: 2
}
1: StackMap locals:
StackMap stack:
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 c C
MethodParameters:
Name Flags
c
public static boolean isValidExtFilename(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ifnull 1
aload 0
aload 0
invokestatic android.os.FileUtils.buildValidExtFilename:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 name Ljava/lang/String;
MethodParameters:
Name Flags
name
public static java.lang.String buildValidExtFilename(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
ifne 1
ldc "."
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 1
ldc ".."
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 2
1: StackMap locals:
StackMap stack:
ldc "(invalid)"
areturn
2: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 0
invokevirtual java.lang.String.length:()I
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 1
start local 1 3: iconst_0
istore 2
start local 2 4: goto 11
5: StackMap locals: java.lang.StringBuilder int
StackMap stack:
aload 0
iload 2
invokevirtual java.lang.String.charAt:(I)C
istore 3
start local 3 6: iload 3
invokestatic android.os.FileUtils.isValidExtFilenameChar:(C)Z
ifeq 9
7: aload 1
iload 3
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
8: goto 10
9: StackMap locals: int
StackMap stack:
aload 1
bipush 95
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 3 10: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
11: iload 2
aload 0
invokevirtual java.lang.String.length:()I
if_icmplt 5
end local 2 12: aload 1
sipush 255
invokestatic android.os.FileUtils.trimFilename:(Ljava/lang/StringBuilder;I)V
13: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 name Ljava/lang/String;
3 14 1 res Ljava/lang/StringBuilder;
4 12 2 i I
6 10 3 c C
MethodParameters:
Name Flags
name
private static boolean isValidFatFilenameChar(char);
descriptor: (C)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
iflt 2
iload 0
bipush 31
if_icmpgt 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
iload 0
lookupswitch { // 10
34: 3
42: 3
47: 3
58: 3
60: 3
62: 3
63: 3
92: 3
124: 3
127: 3
default: 4
}
3: StackMap locals:
StackMap stack:
iconst_0
ireturn
4: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 c C
MethodParameters:
Name Flags
c
public static boolean isValidFatFilename(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ifnull 1
aload 0
aload 0
invokestatic android.os.FileUtils.buildValidFatFilename:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 name Ljava/lang/String;
MethodParameters:
Name Flags
name
public static java.lang.String buildValidFatFilename(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
ifne 1
ldc "."
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 1
ldc ".."
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 2
1: StackMap locals:
StackMap stack:
ldc "(invalid)"
areturn
2: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 0
invokevirtual java.lang.String.length:()I
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 1
start local 1 3: iconst_0
istore 2
start local 2 4: goto 11
5: StackMap locals: java.lang.StringBuilder int
StackMap stack:
aload 0
iload 2
invokevirtual java.lang.String.charAt:(I)C
istore 3
start local 3 6: iload 3
invokestatic android.os.FileUtils.isValidFatFilenameChar:(C)Z
ifeq 9
7: aload 1
iload 3
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
8: goto 10
9: StackMap locals: int
StackMap stack:
aload 1
bipush 95
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 3 10: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
11: iload 2
aload 0
invokevirtual java.lang.String.length:()I
if_icmplt 5
end local 2 12: aload 1
sipush 255
invokestatic android.os.FileUtils.trimFilename:(Ljava/lang/StringBuilder;I)V
13: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 name Ljava/lang/String;
3 14 1 res Ljava/lang/StringBuilder;
4 12 2 i I
6 10 3 c C
MethodParameters:
Name Flags
name
public static java.lang.String trimFilename(java.lang.String, int);
descriptor: (Ljava/lang/String;I)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
aload 0
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 2
start local 2 1: aload 2
iload 1
invokestatic android.os.FileUtils.trimFilename:(Ljava/lang/StringBuilder;I)V
2: aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 str Ljava/lang/String;
0 3 1 maxBytes I
1 3 2 res Ljava/lang/StringBuilder;
RuntimeInvisibleAnnotations:
com.android.internal.annotations.VisibleForTesting()
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
com.android.internal.annotations.VisibleForTesting()
MethodParameters:
Name Flags
str
maxBytes
private static void trimFilename(java.lang.StringBuilder, int);
descriptor: (Ljava/lang/StringBuilder;I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
astore 2
start local 2 1: aload 2
arraylength
iload 1
if_icmple 8
2: iinc 1 -3
3: goto 6
4: StackMap locals: byte[]
StackMap stack:
aload 0
aload 0
invokevirtual java.lang.StringBuilder.length:()I
iconst_2
idiv
invokevirtual java.lang.StringBuilder.deleteCharAt:(I)Ljava/lang/StringBuilder;
pop
5: aload 0
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
astore 2
6: StackMap locals:
StackMap stack:
aload 2
arraylength
iload 1
if_icmpgt 4
7: aload 0
aload 0
invokevirtual java.lang.StringBuilder.length:()I
iconst_2
idiv
ldc "..."
invokevirtual java.lang.StringBuilder.insert:(ILjava/lang/String;)Ljava/lang/StringBuilder;
pop
8: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 res Ljava/lang/StringBuilder;
0 9 1 maxBytes I
1 9 2 raw [B
MethodParameters:
Name Flags
res
maxBytes
public static java.lang.String rewriteAfterRename(java.io.File, java.io.File, java.lang.String);
descriptor: (Ljava/io/File;Ljava/io/File;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 1
aconst_null
areturn
1: StackMap locals:
StackMap stack:
aload 0
aload 1
new java.io.File
dup
aload 2
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokestatic android.os.FileUtils.rewriteAfterRename:(Ljava/io/File;Ljava/io/File;Ljava/io/File;)Ljava/io/File;
astore 3
start local 3 2: aload 3
ifnull 3
aload 3
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
goto 4
StackMap locals: java.io.File
StackMap stack:
3: aconst_null
StackMap locals:
StackMap stack: java.lang.String
4: areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 beforeDir Ljava/io/File;
0 5 1 afterDir Ljava/io/File;
0 5 2 path Ljava/lang/String;
2 5 3 result Ljava/io/File;
MethodParameters:
Name Flags
beforeDir
afterDir
path
public static java.lang.String[] rewriteAfterRename(java.io.File, java.io.File, java.lang.String[]);
descriptor: (Ljava/io/File;Ljava/io/File;[Ljava/lang/String;)[Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 1
aconst_null
areturn
1: StackMap locals:
StackMap stack:
aload 2
arraylength
anewarray java.lang.String
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 6
4: StackMap locals: java.lang.String[] int
StackMap stack:
aload 3
iload 4
aload 0
aload 1
aload 2
iload 4
aaload
invokestatic android.os.FileUtils.rewriteAfterRename:(Ljava/io/File;Ljava/io/File;Ljava/lang/String;)Ljava/lang/String;
aastore
5: iinc 4 1
StackMap locals:
StackMap stack:
6: iload 4
aload 2
arraylength
if_icmplt 4
end local 4 7: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 beforeDir Ljava/io/File;
0 8 1 afterDir Ljava/io/File;
0 8 2 paths [Ljava/lang/String;
2 8 3 result [Ljava/lang/String;
3 7 4 i I
MethodParameters:
Name Flags
beforeDir
afterDir
paths
public static java.io.File rewriteAfterRename(java.io.File, java.io.File, java.io.File);
descriptor: (Ljava/io/File;Ljava/io/File;Ljava/io/File;)Ljava/io/File;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnull 1
aload 0
ifnull 1
aload 1
ifnonnull 2
StackMap locals:
StackMap stack:
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 2
invokestatic android.os.FileUtils.contains:(Ljava/io/File;Ljava/io/File;)Z
ifeq 7
3: aload 2
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
4: aload 0
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
invokevirtual java.lang.String.length:()I
5: invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 3
start local 3 6: new java.io.File
dup
aload 1
aload 3
invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
areturn
end local 3 7: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 beforeDir Ljava/io/File;
0 8 1 afterDir Ljava/io/File;
0 8 2 file Ljava/io/File;
6 7 3 splice Ljava/lang/String;
MethodParameters:
Name Flags
beforeDir
afterDir
file
private static java.io.File buildUniqueFileWithExtension(java.io.File, java.lang.String, java.lang.String);
descriptor: (Ljava/io/File;Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokestatic android.os.FileUtils.buildFile:(Ljava/io/File;Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
astore 3
start local 3 1: iconst_0
istore 4
start local 4 2: goto 6
3: StackMap locals: java.io.File int
StackMap stack:
iload 4
iinc 4 1
bipush 32
if_icmplt 5
4: new java.io.FileNotFoundException
dup
ldc "Failed to create unique file"
invokespecial java.io.FileNotFoundException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
invokestatic android.os.FileUtils.buildFile:(Ljava/io/File;Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
astore 3
6: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.io.File.exists:()Z
ifne 3
7: aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 parent Ljava/io/File;
0 8 1 name Ljava/lang/String;
0 8 2 ext Ljava/lang/String;
1 8 3 file Ljava/io/File;
2 8 4 n I
Exceptions:
throws java.io.FileNotFoundException
MethodParameters:
Name Flags
parent
name
ext
public static java.io.File buildUniqueFile(java.io.File, java.lang.String, java.lang.String);
descriptor: (Ljava/io/File;Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
invokestatic android.os.FileUtils.splitFileName:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
astore 3
start local 3 1: aload 0
aload 3
iconst_0
aaload
aload 3
iconst_1
aaload
invokestatic android.os.FileUtils.buildUniqueFileWithExtension:(Ljava/io/File;Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 parent Ljava/io/File;
0 2 1 mimeType Ljava/lang/String;
0 2 2 displayName Ljava/lang/String;
1 2 3 parts [Ljava/lang/String;
Exceptions:
throws java.io.FileNotFoundException
MethodParameters:
Name Flags
parent
mimeType
displayName
public static java.io.File buildUniqueFile(java.io.File, java.lang.String);
descriptor: (Ljava/io/File;Ljava/lang/String;)Ljava/io/File;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 4
start local 4 1: iload 4
iflt 5
2: aload 1
iconst_0
iload 4
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 2
start local 2 3: aload 1
iload 4
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 3
start local 3 4: goto 7
end local 3 end local 2 5: StackMap locals: java.io.File java.lang.String top top int
StackMap stack:
aload 1
astore 2
start local 2 6: aconst_null
astore 3
start local 3 7: StackMap locals: java.io.File java.lang.String java.lang.String java.lang.String int
StackMap stack:
aload 0
aload 2
aload 3
invokestatic android.os.FileUtils.buildUniqueFileWithExtension:(Ljava/io/File;Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 parent Ljava/io/File;
0 8 1 displayName Ljava/lang/String;
3 5 2 name Ljava/lang/String;
6 8 2 name Ljava/lang/String;
4 5 3 ext Ljava/lang/String;
7 8 3 ext Ljava/lang/String;
1 8 4 lastDot I
Exceptions:
throws java.io.FileNotFoundException
MethodParameters:
Name Flags
parent
displayName
public static java.lang.String[] splitFileName(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: ldc "vnd.android.document/directory"
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
1: aload 1
astore 2
start local 2 2: aconst_null
astore 3
start local 3 3: goto 23
end local 3 end local 2 4: StackMap locals:
StackMap stack:
aload 1
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 5
start local 5 5: iload 5
iflt 12
6: aload 1
iconst_0
iload 5
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 2
start local 2 7: aload 1
iload 5
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 3
start local 3 8: invokestatic android.webkit.MimeTypeMap.getSingleton:()Landroid/webkit/MimeTypeMap;
9: aload 3
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
10: invokevirtual android.webkit.MimeTypeMap.getMimeTypeFromExtension:(Ljava/lang/String;)Ljava/lang/String;
astore 4
start local 4 11: goto 15
end local 4 end local 3 end local 2 12: StackMap locals: java.lang.String java.lang.String top top top int
StackMap stack:
aload 1
astore 2
start local 2 13: aconst_null
astore 3
start local 3 14: aconst_null
astore 4
start local 4 15: StackMap locals: java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String int
StackMap stack:
aload 4
ifnonnull 17
16: ldc "application/octet-stream"
astore 4
17: StackMap locals:
StackMap stack:
invokestatic android.webkit.MimeTypeMap.getSingleton:()Landroid/webkit/MimeTypeMap;
18: aload 0
19: invokevirtual android.webkit.MimeTypeMap.getExtensionFromMimeType:(Ljava/lang/String;)Ljava/lang/String;
astore 6
start local 6 20: aload 0
aload 4
invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifne 23
aload 3
aload 6
invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifne 23
21: aload 1
astore 2
22: aload 6
astore 3
end local 6 end local 5 end local 4 23: StackMap locals:
StackMap stack:
aload 3
ifnonnull 25
24: ldc ""
astore 3
25: StackMap locals:
StackMap stack:
iconst_2
anewarray java.lang.String
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 3
aastore
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 mimeType Ljava/lang/String;
0 26 1 displayName Ljava/lang/String;
2 4 2 name Ljava/lang/String;
7 12 2 name Ljava/lang/String;
13 26 2 name Ljava/lang/String;
3 4 3 ext Ljava/lang/String;
8 12 3 ext Ljava/lang/String;
14 26 3 ext Ljava/lang/String;
11 12 4 mimeTypeFromExt Ljava/lang/String;
15 23 4 mimeTypeFromExt Ljava/lang/String;
5 23 5 lastDot I
20 23 6 extFromMimeType Ljava/lang/String;
MethodParameters:
Name Flags
mimeType
displayName
private static java.io.File buildFile(java.io.File, java.lang.String, java.lang.String);
descriptor: (Ljava/io/File;Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
ifeq 2
1: new java.io.File
dup
aload 0
aload 1
invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
areturn
2: StackMap locals:
StackMap stack:
new java.io.File
dup
aload 0
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 parent Ljava/io/File;
0 3 1 name Ljava/lang/String;
0 3 2 ext Ljava/lang/String;
MethodParameters:
Name Flags
parent
name
ext
public static java.lang.String[] listOrEmpty(java.io.File);
descriptor: (Ljava/io/File;)[Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tEmptyArray cannot be resolved to a variable\n\tEmptyArray cannot be resolved to a variable\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
MethodParameters:
Name Flags
dir
public static java.io.File[] listFilesOrEmpty(java.io.File);
descriptor: (Ljava/io/File;)[Ljava/io/File;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
ifnonnull 1
getstatic android.os.FileUtils.EMPTY:[Ljava/io/File;
areturn
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.io.File.listFiles:()[Ljava/io/File;
astore 1
start local 1 2: aload 1
ifnull 4
3: aload 1
areturn
4: StackMap locals: java.io.File[]
StackMap stack:
getstatic android.os.FileUtils.EMPTY:[Ljava/io/File;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 dir Ljava/io/File;
2 5 1 res [Ljava/io/File;
MethodParameters:
Name Flags
dir
public static java.io.File[] listFilesOrEmpty(java.io.File, java.io.FilenameFilter);
descriptor: (Ljava/io/File;Ljava/io/FilenameFilter;)[Ljava/io/File;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 1
getstatic android.os.FileUtils.EMPTY:[Ljava/io/File;
areturn
1: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual java.io.File.listFiles:(Ljava/io/FilenameFilter;)[Ljava/io/File;
astore 2
start local 2 2: aload 2
ifnull 4
3: aload 2
areturn
4: StackMap locals: java.io.File[]
StackMap stack:
getstatic android.os.FileUtils.EMPTY:[Ljava/io/File;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 dir Ljava/io/File;
0 5 1 filter Ljava/io/FilenameFilter;
2 5 2 res [Ljava/io/File;
MethodParameters:
Name Flags
dir
filter
public static java.io.File newFileOrNull(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/io/File;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ifnull 1
new java.io.File
dup
aload 0
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
StackMap locals:
StackMap stack: java.io.File
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 path Ljava/lang/String;
MethodParameters:
Name Flags
path
public static java.io.File createDir(java.io.File, java.lang.String);
descriptor: (Ljava/io/File;Ljava/lang/String;)Ljava/io/File;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: new java.io.File
dup
aload 0
aload 1
invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
astore 2
start local 2 1: aload 2
invokevirtual java.io.File.exists:()Z
ifeq 5
2: aload 2
invokevirtual java.io.File.isDirectory:()Z
ifeq 3
aload 2
goto 4
StackMap locals: java.io.File
StackMap stack:
3: aconst_null
StackMap locals:
StackMap stack: java.io.File
4: areturn
5: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.io.File.mkdir:()Z
ifeq 6
aload 2
goto 7
StackMap locals:
StackMap stack:
6: aconst_null
StackMap locals:
StackMap stack: java.io.File
7: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 baseDir Ljava/io/File;
0 8 1 name Ljava/lang/String;
1 8 2 dir Ljava/io/File;
MethodParameters:
Name Flags
baseDir
name
public static long roundStorageSize(long);
descriptor: (J)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=1
start local 0 0: lconst_1
lstore 2
start local 2 1: lconst_1
lstore 4
start local 4 2: goto 7
3: StackMap locals: long long
StackMap stack:
lload 2
iconst_1
lshl
lstore 2
4: lload 2
ldc 512
lcmp
ifle 7
5: lconst_1
lstore 2
6: lload 4
ldc 1000
lmul
lstore 4
7: StackMap locals:
StackMap stack:
lload 2
lload 4
lmul
lload 0
lcmp
iflt 3
8: lload 2
lload 4
lmul
lreturn
end local 4 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 size J
1 9 2 val J
2 9 4 pow J
MethodParameters:
Name Flags
size
}
SourceFile: "FileUtils.java"
NestMembers:
android.os.FileUtils$1 android.os.FileUtils$MemoryPipe android.os.FileUtils$NoImagePreloadHolder android.os.FileUtils$ProgressListener
InnerClasses:
android.os.FileUtils$1
public MemoryPipe = android.os.FileUtils$MemoryPipe of android.os.FileUtils
private NoImagePreloadHolder = android.os.FileUtils$NoImagePreloadHolder of android.os.FileUtils
public abstract ProgressListener = android.os.FileUtils$ProgressListener of android.os.FileUtils