public class com.android.sharedstoragebackup.SharedStorageAgent extends android.app.backup.FullBackupAgent
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.android.sharedstoragebackup.SharedStorageAgent
super_class: android.app.backup.FullBackupAgent
{
static final java.lang.String TAG;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "SharedStorageAgent"
static final boolean DEBUG;
descriptor: Z
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1
android.os.storage.StorageVolume[] mVolumes;
descriptor: [Landroid/os/storage/StorageVolume;
flags: (0x0000)
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial android.app.backup.FullBackupAgent.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/sharedstoragebackup/SharedStorageAgent;
public void onCreate();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
ldc "storage"
invokevirtual com.android.sharedstoragebackup.SharedStorageAgent.getSystemService:(Ljava/lang/String;)Ljava/lang/Object;
checkcast android.os.storage.StorageManager
astore 1
start local 1 1: aload 1
ifnull 4
2: aload 0
aload 1
invokevirtual android.os.storage.StorageManager.getVolumeList:()[Landroid/os/storage/StorageVolume;
putfield com.android.sharedstoragebackup.SharedStorageAgent.mVolumes:[Landroid/os/storage/StorageVolume;
3: goto 5
4: StackMap locals: android.os.storage.StorageManager
StackMap stack:
ldc "SharedStorageAgent"
ldc "Unable to access Storage Manager"
invokestatic android.util.Slog.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/android/sharedstoragebackup/SharedStorageAgent;
1 6 1 mgr Landroid/os/storage/StorageManager;
public void onFullBackup(android.app.backup.FullBackupDataOutput);
descriptor: (Landroid/app/backup/FullBackupDataOutput;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield com.android.sharedstoragebackup.SharedStorageAgent.mVolumes:[Landroid/os/storage/StorageVolume;
ifnull 17
1: ldc "SharedStorageAgent"
new java.lang.StringBuilder
dup
ldc "Backing up "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.android.sharedstoragebackup.SharedStorageAgent.mVolumes:[Landroid/os/storage/StorageVolume;
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " shared volumes"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Slog.i:(Ljava/lang/String;Ljava/lang/String;)I
pop
2: new android.util.ArraySet
dup
invokespecial android.util.ArraySet.<init>:()V
astore 2
start local 2 3: new java.io.File
dup
invokestatic android.os.Environment.getExternalStorageDirectory:()Ljava/io/File;
4: ldc "Android"
5: invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
astore 3
start local 3 6: aload 2
aload 3
invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
invokevirtual android.util.ArraySet.add:(Ljava/lang/Object;)Z
pop
7: iconst_0
istore 4
start local 4 8: goto 16
9: StackMap locals: android.util.ArraySet java.io.File int
StackMap stack:
aload 0
getfield com.android.sharedstoragebackup.SharedStorageAgent.mVolumes:[Landroid/os/storage/StorageVolume;
iload 4
aaload
astore 5
start local 5 10: new java.lang.StringBuilder
dup
ldc "shared/"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
start local 6 11: aload 0
aconst_null
aload 6
aload 5
invokevirtual android.os.storage.StorageVolume.getPath:()Ljava/lang/String;
12: aconst_null
13: aload 2
aload 1
14: invokevirtual com.android.sharedstoragebackup.SharedStorageAgent.fullBackupFileTree:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/util/ArraySet;Landroid/util/ArraySet;Landroid/app/backup/FullBackupDataOutput;)V
end local 6 end local 5 15: iinc 4 1
StackMap locals:
StackMap stack:
16: iload 4
aload 0
getfield com.android.sharedstoragebackup.SharedStorageAgent.mVolumes:[Landroid/os/storage/StorageVolume;
arraylength
if_icmplt 9
end local 4 end local 3 end local 2 17: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/android/sharedstoragebackup/SharedStorageAgent;
0 18 1 output Landroid/app/backup/FullBackupDataOutput;
3 17 2 externalFilesDirFilter Landroid/util/ArraySet<Ljava/lang/String;>;
6 17 3 externalAndroidRoot Ljava/io/File;
8 17 4 i I
10 15 5 v Landroid/os/storage/StorageVolume;
11 15 6 domain Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
output
public void onRestoreFile(android.os.ParcelFileDescriptor, long, int, java.lang.String, java.lang.String, long, long);
descriptor: (Landroid/os/ParcelFileDescriptor;JILjava/lang/String;Ljava/lang/String;JJ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=14, args_size=8
start local 0 start local 1 start local 2 start local 4 start local 5 start local 6 start local 7 start local 9 0: ldc "SharedStorageAgent"
new java.lang.StringBuilder
dup
ldc "Shared restore: [ "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " : "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Slog.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
1: aconst_null
astore 11
start local 11 2: aload 6
bipush 47
invokevirtual java.lang.String.indexOf:(I)I
istore 12
start local 12 3: iload 12
ifle 14
4: aload 6
iconst_0
iload 12
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 13
start local 13 5: iload 13
aload 0
getfield com.android.sharedstoragebackup.SharedStorageAgent.mVolumes:[Landroid/os/storage/StorageVolume;
arraylength
if_icmpgt 9
6: new java.io.File
dup
aload 0
getfield com.android.sharedstoragebackup.SharedStorageAgent.mVolumes:[Landroid/os/storage/StorageVolume;
iload 13
aaload
invokevirtual android.os.storage.StorageVolume.getPath:()Ljava/lang/String;
aload 6
iload 12
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 11
7: ldc "SharedStorageAgent"
new java.lang.StringBuilder
dup
ldc " => "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 11
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Slog.i:(Ljava/lang/String;Ljava/lang/String;)I
pop
8: goto 15
9: StackMap locals: java.io.File int int
StackMap stack:
ldc "SharedStorageAgent"
new java.lang.StringBuilder
dup
ldc "Cannot restore data for unavailable volume "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 13
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Slog.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
end local 13 10: goto 15
StackMap locals: com.android.sharedstoragebackup.SharedStorageAgent android.os.ParcelFileDescriptor long int java.lang.String java.lang.String long long java.io.File int
StackMap stack: java.lang.NumberFormatException
11: pop
12: ldc "SharedStorageAgent"
new java.lang.StringBuilder
dup
ldc "Bad volume number token: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
iconst_0
iload 12
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Slog.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
13: goto 15
14: StackMap locals:
StackMap stack:
ldc "SharedStorageAgent"
ldc "Can't find volume-number token"
invokestatic android.util.Slog.i:(Ljava/lang/String;Ljava/lang/String;)I
pop
15: StackMap locals:
StackMap stack:
aload 11
ifnonnull 17
16: ldc "SharedStorageAgent"
new java.lang.StringBuilder
dup
ldc "Skipping data with malformed path "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Slog.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
17: StackMap locals:
StackMap stack:
aload 1
lload 2
iload 4
ldc -1
lload 9
aload 11
invokestatic android.app.backup.FullBackup.restoreFile:(Landroid/os/ParcelFileDescriptor;JIJJLjava/io/File;)V
18: return
end local 12 end local 11 end local 9 end local 7 end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/android/sharedstoragebackup/SharedStorageAgent;
0 19 1 data Landroid/os/ParcelFileDescriptor;
0 19 2 size J
0 19 4 type I
0 19 5 domain Ljava/lang/String;
0 19 6 relpath Ljava/lang/String;
0 19 7 mode J
0 19 9 mtime J
2 19 11 outFile Ljava/io/File;
3 19 12 slash I
5 10 13 i I
Exception table:
from to target type
4 10 11 Class java.lang.NumberFormatException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
data
size
type
domain
relpath
mode
mtime
}
SourceFile: "SharedStorageAgent.java"
InnerClasses:
public BackupScheme = android.app.backup.FullBackup$BackupScheme of android.app.backup.FullBackup
public PathWithRequiredFlags = android.app.backup.FullBackup$BackupScheme$PathWithRequiredFlags of android.app.backup.FullBackup$BackupScheme