class com.android.mtp.Mapper
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.android.mtp.Mapper
super_class: java.lang.Object
{
private static final java.lang.String[] EMPTY_ARGS;
descriptor: [Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final com.android.mtp.MtpDatabase mDatabase;
descriptor: Lcom/android/mtp/MtpDatabase;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Set<java.lang.String> mInMappingIds;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Ljava/lang/String;>;
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lcom/android/mtp/Mapper;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic com.android.mtp.Mapper.$assertionsDisabled:Z
3: iconst_0
anewarray java.lang.String
putstatic com.android.mtp.Mapper.EMPTY_ARGS:[Ljava/lang/String;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(com.android.mtp.MtpDatabase);
descriptor: (Lcom/android/mtp/MtpDatabase;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new android.util.ArraySet
dup
invokespecial android.util.ArraySet.<init>:()V
putfield com.android.mtp.Mapper.mInMappingIds:Ljava/util/Set;
2: aload 0
aload 1
putfield com.android.mtp.Mapper.mDatabase:Lcom/android/mtp/MtpDatabase;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/android/mtp/Mapper;
0 4 1 database Lcom/android/mtp/MtpDatabase;
MethodParameters:
Name Flags
database
synchronized boolean putDeviceDocument(com.android.mtp.MtpDeviceRecord);
descriptor: (Lcom/android/mtp/MtpDeviceRecord;)Z
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=10, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield com.android.mtp.Mapper.mDatabase:Lcom/android/mtp/MtpDatabase;
invokevirtual com.android.mtp.MtpDatabase.getSQLiteDatabase:()Landroid/database/sqlite/SQLiteDatabase;
astore 2
start local 2 1: aload 2
invokevirtual android.database.sqlite.SQLiteDatabase.beginTransaction:()V
2: iconst_1
anewarray android.content.ContentValues
astore 3
start local 3 3: iconst_1
anewarray android.content.ContentValues
astore 4
start local 4 4: aload 3
iconst_0
new android.content.ContentValues
dup
invokespecial android.content.ContentValues.<init>:()V
aastore
5: aload 4
iconst_0
new android.content.ContentValues
dup
invokespecial android.content.ContentValues.<init>:()V
aastore
6: aload 3
iconst_0
aaload
aload 4
iconst_0
aaload
aload 1
invokestatic com.android.mtp.MtpDatabase.getDeviceDocumentValues:(Landroid/content/ContentValues;Landroid/content/ContentValues;Lcom/android/mtp/MtpDeviceRecord;)V
7: aload 0
8: aconst_null
9: aload 3
10: aload 4
11: ldc "parent_document_id IS NULL"
12: getstatic com.android.mtp.Mapper.EMPTY_ARGS:[Ljava/lang/String;
iconst_2
anewarray java.lang.Object
dup
iconst_0
13: ldc "device_id"
aastore
dup
iconst_1
ldc "mapping_key"
aastore
invokestatic com.android.mtp.MtpDatabase.strings:([Ljava/lang/Object;)[Ljava/lang/String;
14: invokevirtual com.android.mtp.Mapper.putDocuments:(Ljava/lang/String;[Landroid/content/ContentValues;[Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Z
istore 5
start local 5 15: aload 2
invokevirtual android.database.sqlite.SQLiteDatabase.setTransactionSuccessful:()V
16: iload 5
istore 7
17: aload 2
invokevirtual android.database.sqlite.SQLiteDatabase.endTransaction:()V
18: iload 7
ireturn
end local 5 end local 4 end local 3 19: StackMap locals: com.android.mtp.Mapper com.android.mtp.MtpDeviceRecord android.database.sqlite.SQLiteDatabase
StackMap stack: java.lang.Throwable
astore 6
20: aload 2
invokevirtual android.database.sqlite.SQLiteDatabase.endTransaction:()V
21: aload 6
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lcom/android/mtp/Mapper;
0 22 1 device Lcom/android/mtp/MtpDeviceRecord;
1 22 2 database Landroid/database/sqlite/SQLiteDatabase;
3 19 3 valuesList [Landroid/content/ContentValues;
4 19 4 extraValuesList [Landroid/content/ContentValues;
15 19 5 changed Z
Exception table:
from to target type
2 17 19 any
Exceptions:
throws java.io.FileNotFoundException
MethodParameters:
Name Flags
device
synchronized boolean putStorageDocuments(java.lang.String, int[], com.android.mtp.MtpRoot[]);
descriptor: (Ljava/lang/String;[I[Lcom/android/mtp/MtpRoot;)Z
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=10, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.android.mtp.Mapper.mDatabase:Lcom/android/mtp/MtpDatabase;
invokevirtual com.android.mtp.MtpDatabase.getSQLiteDatabase:()Landroid/database/sqlite/SQLiteDatabase;
astore 4
start local 4 1: aload 4
invokevirtual android.database.sqlite.SQLiteDatabase.beginTransaction:()V
2: aload 3
arraylength
anewarray android.content.ContentValues
astore 5
start local 5 3: aload 3
arraylength
anewarray android.content.ContentValues
astore 6
start local 6 4: iconst_0
istore 7
start local 7 5: goto 15
6: StackMap locals: com.android.mtp.Mapper java.lang.String int[] com.android.mtp.MtpRoot[] android.database.sqlite.SQLiteDatabase android.content.ContentValues[] android.content.ContentValues[] int
StackMap stack:
aload 5
iload 7
new android.content.ContentValues
dup
invokespecial android.content.ContentValues.<init>:()V
aastore
7: aload 6
iload 7
new android.content.ContentValues
dup
invokespecial android.content.ContentValues.<init>:()V
aastore
8: aload 5
iload 7
aaload
9: aload 6
iload 7
aaload
10: aload 1
11: aload 2
12: aload 3
iload 7
aaload
13: invokestatic com.android.mtp.MtpDatabase.getStorageDocumentValues:(Landroid/content/ContentValues;Landroid/content/ContentValues;Ljava/lang/String;[ILcom/android/mtp/MtpRoot;)V
14: iinc 7 1
StackMap locals:
StackMap stack:
15: iload 7
aload 3
arraylength
if_icmplt 6
end local 7 16: aload 0
17: aload 1
18: aload 5
19: aload 6
20: ldc "parent_document_id = ?"
iconst_1
anewarray java.lang.Object
dup
iconst_0
21: aload 1
aastore
invokestatic com.android.mtp.MtpDatabase.strings:([Ljava/lang/Object;)[Ljava/lang/String;
iconst_2
anewarray java.lang.Object
dup
iconst_0
22: ldc "storage_id"
aastore
dup
iconst_1
ldc "_display_name"
aastore
invokestatic com.android.mtp.MtpDatabase.strings:([Ljava/lang/Object;)[Ljava/lang/String;
23: invokevirtual com.android.mtp.Mapper.putDocuments:(Ljava/lang/String;[Landroid/content/ContentValues;[Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Z
istore 7
start local 7 24: aload 4
invokevirtual android.database.sqlite.SQLiteDatabase.setTransactionSuccessful:()V
25: iload 7
istore 9
26: aload 4
invokevirtual android.database.sqlite.SQLiteDatabase.endTransaction:()V
27: iload 9
ireturn
end local 7 end local 6 end local 5 28: StackMap locals: com.android.mtp.Mapper java.lang.String int[] com.android.mtp.MtpRoot[] android.database.sqlite.SQLiteDatabase
StackMap stack: java.lang.Throwable
astore 8
29: aload 4
invokevirtual android.database.sqlite.SQLiteDatabase.endTransaction:()V
30: aload 8
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lcom/android/mtp/Mapper;
0 31 1 parentDocumentId Ljava/lang/String;
0 31 2 operationsSupported [I
0 31 3 roots [Lcom/android/mtp/MtpRoot;
1 31 4 database Landroid/database/sqlite/SQLiteDatabase;
3 28 5 valuesList [Landroid/content/ContentValues;
4 28 6 extraValuesList [Landroid/content/ContentValues;
5 16 7 i I
24 28 7 changed Z
Exception table:
from to target type
2 26 28 any
Exceptions:
throws java.io.FileNotFoundException
MethodParameters:
Name Flags
parentDocumentId
operationsSupported
roots
synchronized void putChildDocuments(int, java.lang.String, int[], android.mtp.MtpObjectInfo[], long[]);
descriptor: (ILjava/lang/String;[I[Landroid/mtp/MtpObjectInfo;[J)V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=10, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: getstatic com.android.mtp.Mapper.$assertionsDisabled:Z
ifne 1
aload 4
arraylength
aload 5
arraylength
if_icmpeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 4
arraylength
anewarray android.content.ContentValues
astore 6
start local 6 2: iconst_0
istore 7
start local 7 3: goto 13
4: StackMap locals: android.content.ContentValues[] int
StackMap stack:
aload 6
iload 7
new android.content.ContentValues
dup
invokespecial android.content.ContentValues.<init>:()V
aastore
5: aload 6
iload 7
aaload
6: iload 1
7: aload 2
8: aload 3
9: aload 4
iload 7
aaload
10: aload 5
iload 7
laload
11: invokestatic com.android.mtp.MtpDatabase.getObjectDocumentValues:(Landroid/content/ContentValues;ILjava/lang/String;[ILandroid/mtp/MtpObjectInfo;J)V
12: iinc 7 1
StackMap locals:
StackMap stack:
13: iload 7
aload 4
arraylength
if_icmplt 4
end local 7 14: aload 0
15: aload 2
16: aload 6
17: aconst_null
18: ldc "parent_document_id = ?"
iconst_1
anewarray java.lang.Object
dup
iconst_0
19: aload 2
aastore
invokestatic com.android.mtp.MtpDatabase.strings:([Ljava/lang/Object;)[Ljava/lang/String;
iconst_2
anewarray java.lang.Object
dup
iconst_0
20: ldc "object_handle"
aastore
dup
iconst_1
ldc "_display_name"
aastore
invokestatic com.android.mtp.MtpDatabase.strings:([Ljava/lang/Object;)[Ljava/lang/String;
21: invokevirtual com.android.mtp.Mapper.putDocuments:(Ljava/lang/String;[Landroid/content/ContentValues;[Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Z
pop
22: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lcom/android/mtp/Mapper;
0 23 1 deviceId I
0 23 2 parentId Ljava/lang/String;
0 23 3 operationsSupported [I
0 23 4 documents [Landroid/mtp/MtpObjectInfo;
0 23 5 documentSizes [J
2 23 6 valuesList [Landroid/content/ContentValues;
3 14 7 i I
Exceptions:
throws java.io.FileNotFoundException
MethodParameters:
Name Flags
deviceId
parentId
operationsSupported
documents
documentSizes
void clearMapping();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
getfield com.android.mtp.Mapper.mDatabase:Lcom/android/mtp/MtpDatabase;
invokevirtual com.android.mtp.MtpDatabase.getSQLiteDatabase:()Landroid/database/sqlite/SQLiteDatabase;
astore 1
start local 1 1: aload 1
invokevirtual android.database.sqlite.SQLiteDatabase.beginTransaction:()V
2: aload 0
getfield com.android.mtp.Mapper.mInMappingIds:Ljava/util/Set;
invokeinterface java.util.Set.clear:()V
3: aload 0
aconst_null
invokevirtual com.android.mtp.Mapper.startAddingDocuments:(Ljava/lang/String;)V
4: aload 0
aconst_null
invokevirtual com.android.mtp.Mapper.stopAddingDocuments:(Ljava/lang/String;)Z
pop
5: goto 9
StackMap locals: com.android.mtp.Mapper android.database.sqlite.SQLiteDatabase
StackMap stack: java.io.FileNotFoundException
6: astore 2
start local 2 7: ldc "MtpDocumentsProvider"
ldc "Unexpected FileNotFoundException."
aload 2
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
8: new java.lang.RuntimeException
dup
aload 2
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 9: StackMap locals:
StackMap stack:
aload 1
invokevirtual android.database.sqlite.SQLiteDatabase.setTransactionSuccessful:()V
10: goto 14
StackMap locals:
StackMap stack: java.lang.Throwable
11: astore 3
12: aload 1
invokevirtual android.database.sqlite.SQLiteDatabase.endTransaction:()V
13: aload 3
athrow
14: StackMap locals:
StackMap stack:
aload 1
invokevirtual android.database.sqlite.SQLiteDatabase.endTransaction:()V
15: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/android/mtp/Mapper;
1 16 1 database Landroid/database/sqlite/SQLiteDatabase;
7 9 2 exception Ljava/io/FileNotFoundException;
Exception table:
from to target type
3 5 6 Class java.io.FileNotFoundException
2 11 11 any
void startAddingDocuments(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=9, locals=7, args_size=2
start local 0 start local 1 0: aload 1
ifnull 4
1: ldc "parent_document_id = ?"
astore 2
start local 2 2: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokestatic com.android.mtp.MtpDatabase.strings:([Ljava/lang/Object;)[Ljava/lang/String;
astore 3
start local 3 3: goto 6
end local 3 end local 2 4: StackMap locals:
StackMap stack:
ldc "parent_document_id IS NULL"
astore 2
start local 2 5: getstatic com.android.mtp.Mapper.EMPTY_ARGS:[Ljava/lang/String;
astore 3
start local 3 6: StackMap locals: java.lang.String java.lang.String[]
StackMap stack:
aload 0
getfield com.android.mtp.Mapper.mDatabase:Lcom/android/mtp/MtpDatabase;
invokevirtual com.android.mtp.MtpDatabase.getSQLiteDatabase:()Landroid/database/sqlite/SQLiteDatabase;
astore 4
start local 4 7: aload 4
invokevirtual android.database.sqlite.SQLiteDatabase.beginTransaction:()V
8: aload 0
aload 1
invokevirtual com.android.mtp.Mapper.getParentOrHaltMapping:(Ljava/lang/String;)Lcom/android/mtp/Identifier;
pop
9: aload 0
getfield com.android.mtp.Mapper.mInMappingIds:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 10
iconst_0
goto 11
StackMap locals: android.database.sqlite.SQLiteDatabase
StackMap stack:
10: iconst_1
StackMap locals:
StackMap stack: int
11: invokestatic com.android.internal.util.Preconditions.checkState:(Z)V
12: new android.content.ContentValues
dup
invokespecial android.content.ContentValues.<init>:()V
astore 5
start local 5 13: aload 5
ldc "row_state"
iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual android.content.ContentValues.put:(Ljava/lang/String;Ljava/lang/Integer;)V
14: aload 4
15: ldc "Documents"
16: aload 5
17: 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
ldc " AND "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "row_state"
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;
18: aload 3
iconst_1
anewarray java.lang.Object
dup
iconst_0
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic com.android.mtp.MtpDatabase.strings:([Ljava/lang/Object;)[Ljava/lang/String;
invokestatic android.database.DatabaseUtils.appendSelectionArgs:([Ljava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;
19: invokevirtual android.database.sqlite.SQLiteDatabase.update:(Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
pop
20: aload 4
invokevirtual android.database.sqlite.SQLiteDatabase.setTransactionSuccessful:()V
21: aload 0
getfield com.android.mtp.Mapper.mInMappingIds:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 5 22: goto 26
StackMap locals:
StackMap stack: java.lang.Throwable
23: astore 6
24: aload 4
invokevirtual android.database.sqlite.SQLiteDatabase.endTransaction:()V
25: aload 6
athrow
26: StackMap locals:
StackMap stack:
aload 4
invokevirtual android.database.sqlite.SQLiteDatabase.endTransaction:()V
27: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lcom/android/mtp/Mapper;
0 28 1 parentDocumentId Ljava/lang/String;
2 4 2 selection Ljava/lang/String;
5 28 2 selection Ljava/lang/String;
3 4 3 args [Ljava/lang/String;
6 28 3 args [Ljava/lang/String;
7 28 4 database Landroid/database/sqlite/SQLiteDatabase;
13 22 5 values Landroid/content/ContentValues;
Exception table:
from to target type
8 23 23 any
Exceptions:
throws java.io.FileNotFoundException
MethodParameters:
Name Flags
parentDocumentId
private boolean putDocuments(java.lang.String, android.content.ContentValues[], android.content.ContentValues[], java.lang.String, java.lang.String[], java.lang.String[]);
descriptor: (Ljava/lang/String;[Landroid/content/ContentValues;[Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=21, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
getfield com.android.mtp.Mapper.mDatabase:Lcom/android/mtp/MtpDatabase;
invokevirtual com.android.mtp.MtpDatabase.getSQLiteDatabase:()Landroid/database/sqlite/SQLiteDatabase;
astore 7
start local 7 1: iconst_0
istore 8
start local 8 2: aload 7
invokevirtual android.database.sqlite.SQLiteDatabase.beginTransaction:()V
3: aload 0
aload 1
invokevirtual com.android.mtp.Mapper.getParentOrHaltMapping:(Ljava/lang/String;)Lcom/android/mtp/Identifier;
pop
4: aload 0
getfield com.android.mtp.Mapper.mInMappingIds:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
invokestatic com.android.internal.util.Preconditions.checkState:(Z)V
5: new android.content.ContentValues
dup
invokespecial android.content.ContentValues.<init>:()V
astore 9
start local 9 6: new android.content.ContentValues
dup
invokespecial android.content.ContentValues.<init>:()V
astore 10
start local 10 7: iconst_0
istore 11
start local 11 8: goto 47
9: StackMap locals: com.android.mtp.Mapper java.lang.String android.content.ContentValues[] android.content.ContentValues[] java.lang.String java.lang.String[] java.lang.String[] android.database.sqlite.SQLiteDatabase int android.content.ContentValues android.content.ContentValues int
StackMap stack:
aload 2
iload 11
aaload
astore 12
start local 12 10: aload 3
ifnull 13
11: aload 3
iload 11
aaload
astore 13
start local 13 12: goto 14
end local 13 13: StackMap locals: android.content.ContentValues
StackMap stack:
aconst_null
astore 13
start local 13 14: StackMap locals: android.content.ContentValues
StackMap stack:
aconst_null
astore 14
aconst_null
astore 15
15: aload 0
aload 4
aload 5
aload 6
aload 12
invokevirtual com.android.mtp.Mapper.queryCandidate:(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;Landroid/content/ContentValues;)Landroid/database/Cursor;
16: astore 16
start local 16 17: aload 16
ifnonnull 21
18: aload 7
ldc "Documents"
aconst_null
aload 12
invokevirtual android.database.sqlite.SQLiteDatabase.insert:(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
lstore 17
start local 17 19: iconst_1
istore 8
20: goto 31
end local 17 21: StackMap locals: java.lang.Throwable java.lang.Throwable android.database.Cursor
StackMap stack:
aload 16
invokeinterface android.database.Cursor.moveToNext:()Z
pop
22: aload 16
iconst_0
invokeinterface android.database.Cursor.getLong:(I)J
lstore 17
start local 17 23: iload 8
ifne 25
24: aload 0
getfield com.android.mtp.Mapper.mDatabase:Lcom/android/mtp/MtpDatabase;
lload 17
invokestatic java.lang.String.valueOf:(J)Ljava/lang/String;
aload 9
invokevirtual com.android.mtp.MtpDatabase.writeRowSnapshot:(Ljava/lang/String;Landroid/content/ContentValues;)V
25: StackMap locals: long
StackMap stack:
aload 7
26: ldc "Documents"
27: aload 12
28: ldc "document_id = ?"
iconst_1
anewarray java.lang.Object
dup
iconst_0
29: lload 17
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokestatic com.android.mtp.MtpDatabase.strings:([Ljava/lang/Object;)[Ljava/lang/String;
30: invokevirtual android.database.sqlite.SQLiteDatabase.update:(Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
pop
31: StackMap locals:
StackMap stack:
aload 12
ldc "document_id"
lload 17
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokevirtual android.content.ContentValues.put:(Ljava/lang/String;Ljava/lang/Long;)V
32: aload 13
ifnull 35
33: aload 13
ldc "root_id"
lload 17
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokevirtual android.content.ContentValues.put:(Ljava/lang/String;Ljava/lang/Long;)V
34: aload 7
ldc "RootExtra"
aconst_null
aload 13
invokevirtual android.database.sqlite.SQLiteDatabase.replace:(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
pop2
35: StackMap locals:
StackMap stack:
iload 8
ifne 40
36: aload 0
getfield com.android.mtp.Mapper.mDatabase:Lcom/android/mtp/MtpDatabase;
lload 17
invokestatic java.lang.String.valueOf:(J)Ljava/lang/String;
aload 10
invokevirtual com.android.mtp.MtpDatabase.writeRowSnapshot:(Ljava/lang/String;Landroid/content/ContentValues;)V
37: aload 9
ldc "row_state"
iconst_0
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokevirtual android.content.ContentValues.put:(Ljava/lang/String;Ljava/lang/String;)V
38: aload 9
aload 10
invokevirtual android.content.ContentValues.equals:(Ljava/lang/Object;)Z
ifne 40
39: iconst_1
istore 8
end local 17 40: StackMap locals:
StackMap stack:
aload 16
ifnull 46
aload 16
invokeinterface android.database.Cursor.close:()V
goto 46
StackMap locals:
StackMap stack: java.lang.Throwable
41: astore 14
aload 16
ifnull 42
aload 16
invokeinterface android.database.Cursor.close:()V
end local 16 StackMap locals:
StackMap stack:
42: aload 14
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
43: astore 15
aload 14
ifnonnull 44
aload 15
astore 14
goto 45
StackMap locals:
StackMap stack:
44: aload 14
aload 15
if_acmpeq 45
aload 14
aload 15
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
45: aload 14
athrow
end local 13 end local 12 46: StackMap locals: com.android.mtp.Mapper java.lang.String android.content.ContentValues[] android.content.ContentValues[] java.lang.String java.lang.String[] java.lang.String[] android.database.sqlite.SQLiteDatabase int android.content.ContentValues android.content.ContentValues int
StackMap stack:
iinc 11 1
StackMap locals:
StackMap stack:
47: iload 11
aload 2
arraylength
if_icmplt 9
end local 11 48: aload 7
invokevirtual android.database.sqlite.SQLiteDatabase.setTransactionSuccessful:()V
49: iload 8
istore 20
50: aload 7
invokevirtual android.database.sqlite.SQLiteDatabase.endTransaction:()V
51: iload 20
ireturn
end local 10 end local 9 52: StackMap locals: com.android.mtp.Mapper java.lang.String android.content.ContentValues[] android.content.ContentValues[] java.lang.String java.lang.String[] java.lang.String[] android.database.sqlite.SQLiteDatabase int
StackMap stack: java.lang.Throwable
astore 19
53: aload 7
invokevirtual android.database.sqlite.SQLiteDatabase.endTransaction:()V
54: aload 19
athrow
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 55 0 this Lcom/android/mtp/Mapper;
0 55 1 parentId Ljava/lang/String;
0 55 2 valuesList [Landroid/content/ContentValues;
0 55 3 rootExtraValuesList [Landroid/content/ContentValues;
0 55 4 selection Ljava/lang/String;
0 55 5 args [Ljava/lang/String;
0 55 6 mappingKeys [Ljava/lang/String;
1 55 7 database Landroid/database/sqlite/SQLiteDatabase;
2 55 8 changed Z
6 52 9 oldRowSnapshot Landroid/content/ContentValues;
7 52 10 newRowSnapshot Landroid/content/ContentValues;
8 48 11 i I
10 46 12 values Landroid/content/ContentValues;
12 13 13 rootExtraValues Landroid/content/ContentValues;
14 46 13 rootExtraValues Landroid/content/ContentValues;
17 42 16 candidateCursor Landroid/database/Cursor;
19 21 17 rowId J
23 40 17 rowId J
Exception table:
from to target type
17 40 41 any
15 43 43 any
3 50 52 any
Exceptions:
throws java.io.FileNotFoundException
MethodParameters:
Name Flags
parentId
valuesList
rootExtraValuesList
selection
args
mappingKeys
boolean stopAddingDocuments(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0000)
Code:
stack=6, locals=10, args_size=2
start local 0 start local 1 0: aload 1
ifnull 4
1: ldc "parent_document_id = ?"
astore 2
start local 2 2: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokestatic com.android.mtp.MtpDatabase.strings:([Ljava/lang/Object;)[Ljava/lang/String;
astore 3
start local 3 3: goto 6
end local 3 end local 2 4: StackMap locals:
StackMap stack:
ldc "parent_document_id IS NULL"
astore 2
start local 2 5: getstatic com.android.mtp.Mapper.EMPTY_ARGS:[Ljava/lang/String;
astore 3
start local 3 6: StackMap locals: java.lang.String java.lang.String[]
StackMap stack:
aload 0
getfield com.android.mtp.Mapper.mDatabase:Lcom/android/mtp/MtpDatabase;
invokevirtual com.android.mtp.MtpDatabase.getSQLiteDatabase:()Landroid/database/sqlite/SQLiteDatabase;
astore 4
start local 4 7: aload 4
invokevirtual android.database.sqlite.SQLiteDatabase.beginTransaction:()V
8: aload 0
aload 1
invokevirtual com.android.mtp.Mapper.getParentOrHaltMapping:(Ljava/lang/String;)Lcom/android/mtp/Identifier;
astore 5
start local 5 9: aload 0
getfield com.android.mtp.Mapper.mInMappingIds:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
invokestatic com.android.internal.util.Preconditions.checkState:(Z)V
10: aload 0
getfield com.android.mtp.Mapper.mInMappingIds:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
11: iconst_0
istore 6
start local 6 12: aload 5
ifnull 15
13: aload 5
getfield com.android.mtp.Identifier.mDocumentType:I
ifeq 15
14: iconst_0
goto 16
StackMap locals: android.database.sqlite.SQLiteDatabase com.android.mtp.Identifier int
StackMap stack:
15: iconst_1
StackMap locals:
StackMap stack: int
16: istore 7
start local 7 17: iload 7
ifeq 25
18: aload 0
getfield com.android.mtp.Mapper.mDatabase:Lcom/android/mtp/MtpDatabase;
19: new java.lang.StringBuilder
dup
ldc "row_state = ? AND "
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;
iconst_1
anewarray java.lang.Object
dup
iconst_0
20: iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic com.android.mtp.MtpDatabase.strings:([Ljava/lang/Object;)[Ljava/lang/String;
aload 3
invokestatic android.database.DatabaseUtils.appendSelectionArgs:([Ljava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;
21: invokevirtual com.android.mtp.MtpDatabase.disconnectDocumentsRecursively:(Ljava/lang/String;[Ljava/lang/String;)Z
22: ifeq 32
23: iconst_1
istore 6
24: goto 32
25: StackMap locals: int
StackMap stack:
aload 0
getfield com.android.mtp.Mapper.mDatabase:Lcom/android/mtp/MtpDatabase;
26: new java.lang.StringBuilder
dup
ldc "row_state IN (?, ?) AND "
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;
iconst_2
anewarray java.lang.Object
dup
iconst_0
27: iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
iconst_2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic com.android.mtp.MtpDatabase.strings:([Ljava/lang/Object;)[Ljava/lang/String;
aload 3
28: invokestatic android.database.DatabaseUtils.appendSelectionArgs:([Ljava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;
29: invokevirtual com.android.mtp.MtpDatabase.deleteDocumentsAndRootsRecursively:(Ljava/lang/String;[Ljava/lang/String;)Z
30: ifeq 32
31: iconst_1
istore 6
32: StackMap locals:
StackMap stack:
aload 4
invokevirtual android.database.sqlite.SQLiteDatabase.setTransactionSuccessful:()V
33: iload 6
istore 9
34: aload 4
invokevirtual android.database.sqlite.SQLiteDatabase.endTransaction:()V
35: iload 9
ireturn
end local 7 end local 6 end local 5 36: StackMap locals: com.android.mtp.Mapper java.lang.String java.lang.String java.lang.String[] android.database.sqlite.SQLiteDatabase
StackMap stack: java.lang.Throwable
astore 8
37: aload 4
invokevirtual android.database.sqlite.SQLiteDatabase.endTransaction:()V
38: aload 8
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 39 0 this Lcom/android/mtp/Mapper;
0 39 1 parentId Ljava/lang/String;
2 4 2 selection Ljava/lang/String;
5 39 2 selection Ljava/lang/String;
3 4 3 args [Ljava/lang/String;
6 39 3 args [Ljava/lang/String;
7 39 4 database Landroid/database/sqlite/SQLiteDatabase;
9 36 5 parentIdentifier Lcom/android/mtp/Identifier;
12 36 6 changed Z
17 36 7 keepUnmatchedDocument Z
Exception table:
from to target type
8 34 36 any
Exceptions:
throws java.io.FileNotFoundException
MethodParameters:
Name Flags
parentId
void cancelAddingDocuments(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=9, locals=7, args_size=2
start local 0 start local 1 0: aload 1
ifnull 4
1: ldc "parent_document_id = ?"
astore 2
start local 2 2: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokestatic com.android.mtp.MtpDatabase.strings:([Ljava/lang/Object;)[Ljava/lang/String;
astore 3
start local 3 3: goto 6
end local 3 end local 2 4: StackMap locals:
StackMap stack:
ldc "parent_document_id IS NULL"
astore 2
start local 2 5: getstatic com.android.mtp.Mapper.EMPTY_ARGS:[Ljava/lang/String;
astore 3
start local 3 6: StackMap locals: java.lang.String java.lang.String[]
StackMap stack:
aload 0
getfield com.android.mtp.Mapper.mDatabase:Lcom/android/mtp/MtpDatabase;
invokevirtual com.android.mtp.MtpDatabase.getSQLiteDatabase:()Landroid/database/sqlite/SQLiteDatabase;
astore 4
start local 4 7: aload 4
invokevirtual android.database.sqlite.SQLiteDatabase.beginTransaction:()V
8: aload 0
getfield com.android.mtp.Mapper.mInMappingIds:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 11
9: aload 4
invokevirtual android.database.sqlite.SQLiteDatabase.endTransaction:()V
10: return
11: StackMap locals: android.database.sqlite.SQLiteDatabase
StackMap stack:
aload 0
getfield com.android.mtp.Mapper.mInMappingIds:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
12: new android.content.ContentValues
dup
invokespecial android.content.ContentValues.<init>:()V
astore 5
start local 5 13: aload 5
ldc "row_state"
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual android.content.ContentValues.put:(Ljava/lang/String;Ljava/lang/Integer;)V
14: aload 0
getfield com.android.mtp.Mapper.mDatabase:Lcom/android/mtp/MtpDatabase;
invokevirtual com.android.mtp.MtpDatabase.getSQLiteDatabase:()Landroid/database/sqlite/SQLiteDatabase;
15: ldc "Documents"
16: aload 5
17: 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
ldc " AND "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "row_state"
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;
18: aload 3
iconst_1
anewarray java.lang.Object
dup
iconst_0
iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic com.android.mtp.MtpDatabase.strings:([Ljava/lang/Object;)[Ljava/lang/String;
invokestatic android.database.DatabaseUtils.appendSelectionArgs:([Ljava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;
19: invokevirtual android.database.sqlite.SQLiteDatabase.update:(Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
pop
20: aload 4
invokevirtual android.database.sqlite.SQLiteDatabase.setTransactionSuccessful:()V
end local 5 21: goto 25
StackMap locals:
StackMap stack: java.lang.Throwable
22: astore 6
23: aload 4
invokevirtual android.database.sqlite.SQLiteDatabase.endTransaction:()V
24: aload 6
athrow
25: StackMap locals:
StackMap stack:
aload 4
invokevirtual android.database.sqlite.SQLiteDatabase.endTransaction:()V
26: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lcom/android/mtp/Mapper;
0 27 1 parentId Ljava/lang/String;
2 4 2 selection Ljava/lang/String;
5 27 2 selection Ljava/lang/String;
3 4 3 args [Ljava/lang/String;
6 27 3 args [Ljava/lang/String;
7 27 4 database Landroid/database/sqlite/SQLiteDatabase;
13 21 5 values Landroid/content/ContentValues;
Exception table:
from to target type
8 9 22 any
11 22 22 any
MethodParameters:
Name Flags
parentId
private android.database.Cursor queryCandidate(java.lang.String, java.lang.String[], java.lang.String[], android.content.ContentValues);
descriptor: (Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;Landroid/content/ContentValues;)Landroid/database/Cursor;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 8
StackMap locals: com.android.mtp.Mapper java.lang.String java.lang.String[] java.lang.String[] android.content.ContentValues top int int java.lang.String[]
StackMap stack:
1: aload 8
iload 6
aaload
astore 5
start local 5 2: aload 0
aload 1
aload 2
aload 5
aload 4
invokevirtual com.android.mtp.Mapper.queryCandidate:(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)Landroid/database/Cursor;
astore 9
start local 9 3: aload 9
invokeinterface android.database.Cursor.getCount:()I
ifne 6
4: aload 9
invokeinterface android.database.Cursor.close:()V
5: goto 7
6: StackMap locals: com.android.mtp.Mapper java.lang.String java.lang.String[] java.lang.String[] android.content.ContentValues java.lang.String int int java.lang.String[] android.database.Cursor
StackMap stack:
aload 9
areturn
end local 9 end local 5 7: StackMap locals: com.android.mtp.Mapper java.lang.String java.lang.String[] java.lang.String[] android.content.ContentValues top int int java.lang.String[]
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
8: iload 6
iload 7
if_icmplt 1
9: aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/android/mtp/Mapper;
0 10 1 selection Ljava/lang/String;
0 10 2 args [Ljava/lang/String;
0 10 3 mappingKeys [Ljava/lang/String;
0 10 4 values Landroid/content/ContentValues;
2 7 5 mappingKey Ljava/lang/String;
3 7 9 candidateCursor Landroid/database/Cursor;
MethodParameters:
Name Flags
selection
args
mappingKeys
values
private android.database.Cursor queryCandidate(java.lang.String, java.lang.String[], java.lang.String, android.content.ContentValues);
descriptor: (Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)Landroid/database/Cursor;
flags: (0x0002) ACC_PRIVATE
Code:
stack=10, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield com.android.mtp.Mapper.mDatabase:Lcom/android/mtp/MtpDatabase;
invokevirtual com.android.mtp.MtpDatabase.getSQLiteDatabase:()Landroid/database/sqlite/SQLiteDatabase;
astore 5
start local 5 1: aload 5
2: ldc "Documents"
iconst_1
anewarray java.lang.Object
dup
iconst_0
3: ldc "document_id"
aastore
invokestatic com.android.mtp.MtpDatabase.strings:([Ljava/lang/Object;)[Ljava/lang/String;
4: 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 " AND "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: ldc "row_state"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " IN (?, ?) AND "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " = ?"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: aload 2
iconst_3
anewarray java.lang.Object
dup
iconst_0
9: iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
10: iconst_2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
11: aload 4
aload 3
invokevirtual android.content.ContentValues.getAsString:(Ljava/lang/String;)Ljava/lang/String;
aastore
12: invokestatic com.android.mtp.MtpDatabase.strings:([Ljava/lang/Object;)[Ljava/lang/String;
13: invokestatic android.database.DatabaseUtils.appendSelectionArgs:([Ljava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;
14: aconst_null
15: aconst_null
16: aconst_null
17: ldc "1"
18: invokevirtual android.database.sqlite.SQLiteDatabase.query:(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/android/mtp/Mapper;
0 19 1 selection Ljava/lang/String;
0 19 2 args [Ljava/lang/String;
0 19 3 mappingKey Ljava/lang/String;
0 19 4 values Landroid/content/ContentValues;
1 19 5 database Landroid/database/sqlite/SQLiteDatabase;
MethodParameters:
Name Flags
selection
args
mappingKey
values
private com.android.mtp.Identifier getParentOrHaltMapping(java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/android/mtp/Identifier;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.android.mtp.Mapper.mDatabase:Lcom/android/mtp/MtpDatabase;
aload 1
invokevirtual com.android.mtp.MtpDatabase.createIdentifier:(Ljava/lang/String;)Lcom/android/mtp/Identifier;
3: areturn
4: StackMap locals:
StackMap stack: java.io.FileNotFoundException
astore 2
start local 2 5: aload 0
getfield com.android.mtp.Mapper.mInMappingIds:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
6: aload 2
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/android/mtp/Mapper;
0 7 1 parentId Ljava/lang/String;
5 7 2 error Ljava/io/FileNotFoundException;
Exception table:
from to target type
2 3 4 Class java.io.FileNotFoundException
Exceptions:
throws java.io.FileNotFoundException
MethodParameters:
Name Flags
parentId
}
SourceFile: "Mapper.java"