public final class android.database.DefaultDatabaseErrorHandler implements android.database.DatabaseErrorHandler
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: android.database.DefaultDatabaseErrorHandler
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: "DefaultDatabaseErrorHandler"
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/database/DefaultDatabaseErrorHandler;
public void onCorruption(android.database.sqlite.SQLiteDatabase);
descriptor: (Landroid/database/sqlite/SQLiteDatabase;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: ldc "DefaultDatabaseErrorHandler"
new java.lang.StringBuilder
dup
ldc "Corruption reported by sqlite on database: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual android.database.sqlite.SQLiteDatabase.getPath:()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.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
1: aload 1
invokevirtual android.database.sqlite.SQLiteDatabase.isOpen:()Z
ifne 4
2: aload 0
aload 1
invokevirtual android.database.sqlite.SQLiteDatabase.getPath:()Ljava/lang/String;
invokevirtual android.database.DefaultDatabaseErrorHandler.deleteDatabaseFile:(Ljava/lang/String;)V
3: return
4: StackMap locals:
StackMap stack:
aconst_null
astore 2
start local 2 5: aload 1
invokevirtual android.database.sqlite.SQLiteDatabase.getAttachedDbs:()Ljava/util/List;
astore 2
6: goto 8
StackMap locals: android.database.DefaultDatabaseErrorHandler android.database.sqlite.SQLiteDatabase java.util.List
StackMap stack: android.database.sqlite.SQLiteException
7: pop
8: StackMap locals:
StackMap stack:
aload 1
invokevirtual android.database.sqlite.SQLiteDatabase.close:()V
9: goto 21
StackMap locals:
StackMap stack: android.database.sqlite.SQLiteException
10: pop
11: goto 21
StackMap locals:
StackMap stack: java.lang.Throwable
12: astore 3
13: aload 2
ifnull 19
14: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 17
StackMap locals: android.database.DefaultDatabaseErrorHandler android.database.sqlite.SQLiteDatabase java.util.List java.lang.Throwable top java.util.Iterator
StackMap stack:
15: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast android.util.Pair
astore 4
start local 4 16: aload 0
aload 4
getfield android.util.Pair.second:Ljava/lang/Object;
checkcast java.lang.String
invokevirtual android.database.DefaultDatabaseErrorHandler.deleteDatabaseFile:(Ljava/lang/String;)V
end local 4 17: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 15
18: goto 20
19: StackMap locals: android.database.DefaultDatabaseErrorHandler android.database.sqlite.SQLiteDatabase java.util.List java.lang.Throwable
StackMap stack:
aload 0
aload 1
invokevirtual android.database.sqlite.SQLiteDatabase.getPath:()Ljava/lang/String;
invokevirtual android.database.DefaultDatabaseErrorHandler.deleteDatabaseFile:(Ljava/lang/String;)V
20: StackMap locals:
StackMap stack:
aload 3
athrow
21: StackMap locals:
StackMap stack:
aload 2
ifnull 27
22: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 25
StackMap locals: android.database.DefaultDatabaseErrorHandler android.database.sqlite.SQLiteDatabase java.util.List top top java.util.Iterator
StackMap stack:
23: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast android.util.Pair
astore 4
start local 4 24: aload 0
aload 4
getfield android.util.Pair.second:Ljava/lang/Object;
checkcast java.lang.String
invokevirtual android.database.DefaultDatabaseErrorHandler.deleteDatabaseFile:(Ljava/lang/String;)V
end local 4 25: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 23
26: goto 28
27: StackMap locals: android.database.DefaultDatabaseErrorHandler android.database.sqlite.SQLiteDatabase java.util.List
StackMap stack:
aload 0
aload 1
invokevirtual android.database.sqlite.SQLiteDatabase.getPath:()Ljava/lang/String;
invokevirtual android.database.DefaultDatabaseErrorHandler.deleteDatabaseFile:(Ljava/lang/String;)V
28: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Landroid/database/DefaultDatabaseErrorHandler;
0 29 1 dbObj Landroid/database/sqlite/SQLiteDatabase;
5 29 2 attachedDbs Ljava/util/List<Landroid/util/Pair<Ljava/lang/String;Ljava/lang/String;>;>;
16 17 4 p Landroid/util/Pair<Ljava/lang/String;Ljava/lang/String;>;
24 25 4 p Landroid/util/Pair<Ljava/lang/String;Ljava/lang/String;>;
Exception table:
from to target type
5 6 7 Class android.database.sqlite.SQLiteException
8 9 10 Class android.database.sqlite.SQLiteException
5 12 12 any
MethodParameters:
Name Flags
dbObj
private void deleteDatabaseFile(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ldc ":memory:"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 1
aload 1
invokevirtual java.lang.String.trim:()Ljava/lang/String;
invokevirtual java.lang.String.length:()I
ifne 2
1: StackMap locals:
StackMap stack:
return
2: StackMap locals:
StackMap stack:
ldc "DefaultDatabaseErrorHandler"
new java.lang.StringBuilder
dup
ldc "deleting the database file: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
3: new java.io.File
dup
aload 1
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokestatic android.database.sqlite.SQLiteDatabase.deleteDatabase:(Ljava/io/File;)Z
pop
4: goto 7
StackMap locals:
StackMap stack: java.lang.Exception
5: astore 2
start local 2 6: ldc "DefaultDatabaseErrorHandler"
new java.lang.StringBuilder
dup
ldc "delete failed: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.Exception.getMessage:()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.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
end local 2 7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Landroid/database/DefaultDatabaseErrorHandler;
0 8 1 fileName Ljava/lang/String;
6 7 2 e Ljava/lang/Exception;
Exception table:
from to target type
3 4 5 Class java.lang.Exception
MethodParameters:
Name Flags
fileName
}
SourceFile: "DefaultDatabaseErrorHandler.java"