class android.accounts.AccountManager$19 implements java.lang.Runnable
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: android.accounts.AccountManager$19
super_class: java.lang.Object
{
final android.accounts.AccountManager this$0;
descriptor: Landroid/accounts/AccountManager;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private final android.accounts.OnAccountsUpdateListener val$listener;
descriptor: Landroid/accounts/OnAccountsUpdateListener;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final android.accounts.Account[] val$accountsCopy;
descriptor: [Landroid/accounts/Account;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(android.accounts.AccountManager, android.accounts.OnAccountsUpdateListener, android.accounts.Account[]);
descriptor: (Landroid/accounts/AccountManager;Landroid/accounts/OnAccountsUpdateListener;[Landroid/accounts/Account;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 0: aload 0
aload 1
putfield android.accounts.AccountManager$19.this$0:Landroid/accounts/AccountManager;
aload 0
aload 2
putfield android.accounts.AccountManager$19.val$listener:Landroid/accounts/OnAccountsUpdateListener;
aload 0
aload 3
putfield android.accounts.AccountManager$19.val$accountsCopy:[Landroid/accounts/Account;
aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/accounts/AccountManager$19;
MethodParameters:
Name Flags
this$0 final
val$listener final
val$accountsCopy final
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=1
start local 0 0: aload 0
getfield android.accounts.AccountManager$19.this$0:Landroid/accounts/AccountManager;
getfield android.accounts.AccountManager.mAccountsUpdatedListeners:Ljava/util/HashMap;
dup
astore 1
monitorenter
1: aload 0
getfield android.accounts.AccountManager$19.this$0:Landroid/accounts/AccountManager;
getfield android.accounts.AccountManager.mAccountsUpdatedListeners:Ljava/util/HashMap;
aload 0
getfield android.accounts.AccountManager$19.val$listener:Landroid/accounts/OnAccountsUpdateListener;
invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
ifeq 19
2: aload 0
getfield android.accounts.AccountManager$19.this$0:Landroid/accounts/AccountManager;
getfield android.accounts.AccountManager.mAccountsUpdatedListenersTypes:Ljava/util/HashMap;
aload 0
getfield android.accounts.AccountManager$19.val$listener:Landroid/accounts/OnAccountsUpdateListener;
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Set
astore 2
start local 2 3: aload 2
ifnull 15
4: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 5: aload 0
getfield android.accounts.AccountManager$19.val$accountsCopy:[Landroid/accounts/Account;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 10
StackMap locals: android.accounts.AccountManager$19 java.util.HashMap java.util.Set java.util.ArrayList top int int android.accounts.Account[]
StackMap stack:
6: aload 7
iload 5
aaload
astore 4
start local 4 7: aload 2
aload 4
getfield android.accounts.Account.type:Ljava/lang/String;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 9
8: aload 3
aload 4
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 4 9: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
10: iload 5
iload 6
if_icmplt 6
11: aload 0
getfield android.accounts.AccountManager$19.val$listener:Landroid/accounts/OnAccountsUpdateListener;
12: aload 3
aload 3
invokevirtual java.util.ArrayList.size:()I
anewarray android.accounts.Account
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast android.accounts.Account[]
13: invokeinterface android.accounts.OnAccountsUpdateListener.onAccountsUpdated:([Landroid/accounts/Account;)V
end local 3 14: goto 19
15: StackMap locals: android.accounts.AccountManager$19 java.util.HashMap java.util.Set
StackMap stack:
aload 0
getfield android.accounts.AccountManager$19.val$listener:Landroid/accounts/OnAccountsUpdateListener;
aload 0
getfield android.accounts.AccountManager$19.val$accountsCopy:[Landroid/accounts/Account;
invokeinterface android.accounts.OnAccountsUpdateListener.onAccountsUpdated:([Landroid/accounts/Account;)V
end local 2 16: goto 19
StackMap locals: android.accounts.AccountManager$19 java.util.HashMap
StackMap stack: android.database.SQLException
17: astore 2
start local 2 18: ldc "AccountManager"
ldc "Can't update accounts"
aload 2
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
end local 2 19: StackMap locals:
StackMap stack:
aload 1
monitorexit
20: goto 23
StackMap locals:
StackMap stack: java.lang.Throwable
21: aload 1
monitorexit
22: athrow
23: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Landroid/accounts/AccountManager$19;
3 16 2 types Ljava/util/Set<Ljava/lang/String;>;
5 14 3 filtered Ljava/util/ArrayList<Landroid/accounts/Account;>;
7 9 4 account Landroid/accounts/Account;
18 19 2 e Landroid/database/SQLException;
Exception table:
from to target type
1 16 17 Class android.database.SQLException
1 20 21 any
21 22 21 any
}
SourceFile: "AccountManager.java"
EnclosingMethod: android.accounts.AccountManager.postToHandler:(Landroid/os/Handler;Landroid/accounts/OnAccountsUpdateListener;[Landroid/accounts/Account;)V
NestHost: android.accounts.AccountManager
InnerClasses:
android.accounts.AccountManager$19