class android.accounts.AccountManager$GetAuthTokenByTypeAndFeaturesTask extends android.accounts.AccountManager$AmsTask implements android.accounts.AccountManagerCallback<android.os.Bundle>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: android.accounts.AccountManager$GetAuthTokenByTypeAndFeaturesTask
  super_class: android.accounts.AccountManager$AmsTask
{
  volatile android.accounts.AccountManagerFuture<android.os.Bundle> mFuture;
    descriptor: Landroid/accounts/AccountManagerFuture;
    flags: (0x0040) ACC_VOLATILE
    Signature: Landroid/accounts/AccountManagerFuture<Landroid/os/Bundle;>;

  final java.lang.String mAccountType;
    descriptor: Ljava/lang/String;
    flags: (0x0010) ACC_FINAL

  final java.lang.String mAuthTokenType;
    descriptor: Ljava/lang/String;
    flags: (0x0010) ACC_FINAL

  final java.lang.String[] mFeatures;
    descriptor: [Ljava/lang/String;
    flags: (0x0010) ACC_FINAL

  final android.os.Bundle mAddAccountOptions;
    descriptor: Landroid/os/Bundle;
    flags: (0x0010) ACC_FINAL

  final android.os.Bundle mLoginOptions;
    descriptor: Landroid/os/Bundle;
    flags: (0x0010) ACC_FINAL

  final android.accounts.AccountManagerCallback<android.os.Bundle> mMyCallback;
    descriptor: Landroid/accounts/AccountManagerCallback;
    flags: (0x0010) ACC_FINAL
    Signature: Landroid/accounts/AccountManagerCallback<Landroid/os/Bundle;>;

  private volatile int mNumAccounts;
    descriptor: I
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  final android.accounts.AccountManager this$0;
    descriptor: Landroid/accounts/AccountManager;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(java.lang.String, java.lang.String, java.lang.String[], android.app.Activity, android.os.Bundle, android.os.Bundle, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler);
    descriptor: (Landroid/accounts/AccountManager;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Landroid/app/Activity;Landroid/os/Bundle;Landroid/os/Bundle;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=10, args_size=10
        start local 0 // android.accounts.AccountManager$GetAuthTokenByTypeAndFeaturesTask this
        start local 2 // java.lang.String accountType
        start local 3 // java.lang.String authTokenType
        start local 4 // java.lang.String[] features
        start local 5 // android.app.Activity activityForPrompting
        start local 6 // android.os.Bundle addAccountOptions
        start local 7 // android.os.Bundle loginOptions
        start local 8 // android.accounts.AccountManagerCallback callback
        start local 9 // android.os.Handler handler
         0: .line 2543
            aload 0 /* this */
            aload 1
            putfield android.accounts.AccountManager$GetAuthTokenByTypeAndFeaturesTask.this$0:Landroid/accounts/AccountManager;
         1: .line 2544
            aload 0 /* this */
            aload 1
            aload 5 /* activityForPrompting */
            aload 9 /* handler */
            aload 8 /* callback */
            invokespecial android.accounts.AccountManager$AmsTask.<init>:(Landroid/accounts/AccountManager;Landroid/app/Activity;Landroid/os/Handler;Landroid/accounts/AccountManagerCallback;)V
         2: .line 2553
            aload 0 /* this */
            aconst_null
            putfield android.accounts.AccountManager$GetAuthTokenByTypeAndFeaturesTask.mFuture:Landroid/accounts/AccountManagerFuture;
         3: .line 2560
            aload 0 /* this */
            iconst_0
            putfield android.accounts.AccountManager$GetAuthTokenByTypeAndFeaturesTask.mNumAccounts:I
         4: .line 2545
            aload 2 /* accountType */
            ifnonnull 5
            new java.lang.IllegalArgumentException
            dup
            ldc "account type is null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 2546
      StackMap locals: android.accounts.AccountManager$GetAuthTokenByTypeAndFeaturesTask android.accounts.AccountManager java.lang.String java.lang.String java.lang.String[] android.app.Activity android.os.Bundle android.os.Bundle android.accounts.AccountManagerCallback android.os.Handler
      StackMap stack:
            aload 0 /* this */
            aload 2 /* accountType */
            putfield android.accounts.AccountManager$GetAuthTokenByTypeAndFeaturesTask.mAccountType:Ljava/lang/String;
         6: .line 2547
            aload 0 /* this */
            aload 3 /* authTokenType */
            putfield android.accounts.AccountManager$GetAuthTokenByTypeAndFeaturesTask.mAuthTokenType:Ljava/lang/String;
         7: .line 2548
            aload 0 /* this */
            aload 4 /* features */
            putfield android.accounts.AccountManager$GetAuthTokenByTypeAndFeaturesTask.mFeatures:[Ljava/lang/String;
         8: .line 2549
            aload 0 /* this */
            aload 6 /* addAccountOptions */
            putfield android.accounts.AccountManager$GetAuthTokenByTypeAndFeaturesTask.mAddAccountOptions:Landroid/os/Bundle;
         9: .line 2550
            aload 0 /* this */
            aload 7 /* loginOptions */
            putfield android.accounts.AccountManager$GetAuthTokenByTypeAndFeaturesTask.mLoginOptions:Landroid/os/Bundle;
        10: .line 2551
            aload 0 /* this */
            aload 0 /* this */
            putfield android.accounts.AccountManager$GetAuthTokenByTypeAndFeaturesTask.mMyCallback:Landroid/accounts/AccountManagerCallback;
        11: .line 2552
            return
        end local 9 // android.os.Handler handler
        end local 8 // android.accounts.AccountManagerCallback callback
        end local 7 // android.os.Bundle loginOptions
        end local 6 // android.os.Bundle addAccountOptions
        end local 5 // android.app.Activity activityForPrompting
        end local 4 // java.lang.String[] features
        end local 3 // java.lang.String authTokenType
        end local 2 // java.lang.String accountType
        end local 0 // android.accounts.AccountManager$GetAuthTokenByTypeAndFeaturesTask this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   12     0                  this  Landroid/accounts/AccountManager$GetAuthTokenByTypeAndFeaturesTask;
            0   12     2           accountType  Ljava/lang/String;
            0   12     3         authTokenType  Ljava/lang/String;
            0   12     4              features  [Ljava/lang/String;
            0   12     5  activityForPrompting  Landroid/app/Activity;
            0   12     6     addAccountOptions  Landroid/os/Bundle;
            0   12     7          loginOptions  Landroid/os/Bundle;
            0   12     8              callback  Landroid/accounts/AccountManagerCallback<Landroid/os/Bundle;>;
            0   12     9               handler  Landroid/os/Handler;
    Signature: (Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Landroid/app/Activity;Landroid/os/Bundle;Landroid/os/Bundle;Landroid/accounts/AccountManagerCallback<Landroid/os/Bundle;>;Landroid/os/Handler;)V
    MethodParameters:
                      Name  Flags
      this$0                final
      accountType           final
      authTokenType         final
      features              final
      activityForPrompting  
      addAccountOptions     final
      loginOptions          final
      callback              
      handler               

  public void doWork();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // android.accounts.AccountManager$GetAuthTokenByTypeAndFeaturesTask this
         0: .line 2564
            aload 0 /* this */
            getfield android.accounts.AccountManager$GetAuthTokenByTypeAndFeaturesTask.this$0:Landroid/accounts/AccountManager;
            aload 0 /* this */
            getfield android.accounts.AccountManager$GetAuthTokenByTypeAndFeaturesTask.mAccountType:Ljava/lang/String;
            aload 0 /* this */
            getfield android.accounts.AccountManager$GetAuthTokenByTypeAndFeaturesTask.mFeatures:[Ljava/lang/String;
         1: .line 2565
            new android.accounts.AccountManager$GetAuthTokenByTypeAndFeaturesTask$1
            dup
            aload 0 /* this */
            invokespecial android.accounts.AccountManager$GetAuthTokenByTypeAndFeaturesTask$1.<init>:(Landroid/accounts/AccountManager$GetAuthTokenByTypeAndFeaturesTask;)V
         2: .line 2617
            aload 0 /* this */
            getfield android.accounts.AccountManager$GetAuthTokenByTypeAndFeaturesTask.mHandler:Landroid/os/Handler;
         3: .line 2564
            invokevirtual android.accounts.AccountManager.getAccountByTypeAndFeatures:(Ljava/lang/String;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)V
         4: .line 2618
            return
        end local 0 // android.accounts.AccountManager$GetAuthTokenByTypeAndFeaturesTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Landroid/accounts/AccountManager$GetAuthTokenByTypeAndFeaturesTask;
    Exceptions:
      throws android.os.RemoteException

  public void run(android.accounts.AccountManagerFuture<android.os.Bundle>);
    descriptor: (Landroid/accounts/AccountManagerFuture;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=2
        start local 0 // android.accounts.AccountManager$GetAuthTokenByTypeAndFeaturesTask this
        start local 1 // android.accounts.AccountManagerFuture future
         0: .line 2623
            aload 1 /* future */
            invokeinterface android.accounts.AccountManagerFuture.getResult:()Ljava/lang/Object;
            checkcast android.os.Bundle
            astore 2 /* result */
        start local 2 // android.os.Bundle result
         1: .line 2624
            aload 0 /* this */
            getfield android.accounts.AccountManager$GetAuthTokenByTypeAndFeaturesTask.mNumAccounts:I
            ifne 14
         2: .line 2625
            aload 2 /* result */
            ldc "authAccount"
            invokevirtual android.os.Bundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* accountName */
        start local 3 // java.lang.String accountName
         3: .line 2626
            aload 2 /* result */
            ldc "accountType"
            invokevirtual android.os.Bundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* accountType */
        start local 4 // java.lang.String accountType
         4: .line 2627
            aload 3 /* accountName */
            invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
            ifne 5
            aload 4 /* accountType */
            invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
            ifeq 7
         5: .line 2628
      StackMap locals: android.os.Bundle java.lang.String java.lang.String
      StackMap stack:
            aload 0 /* this */
            new android.accounts.AuthenticatorException
            dup
            ldc "account not in result"
            invokespecial android.accounts.AuthenticatorException.<init>:(Ljava/lang/String;)V
            invokevirtual android.accounts.AccountManager$GetAuthTokenByTypeAndFeaturesTask.setException:(Ljava/lang/Throwable;)V
         6: .line 2629
            return
         7: .line 2631
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            ldc "accountAccessId"
            invokevirtual android.os.Bundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* accessId */
        start local 5 // java.lang.String accessId
         8: .line 2632
            new android.accounts.Account
            dup
            aload 3 /* accountName */
            aload 4 /* accountType */
            aload 5 /* accessId */
            invokespecial android.accounts.Account.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
            astore 6 /* account */
        start local 6 // android.accounts.Account account
         9: .line 2633
            aload 0 /* this */
            iconst_1
            putfield android.accounts.AccountManager$GetAuthTokenByTypeAndFeaturesTask.mNumAccounts:I
        10: .line 2634
            aload 0 /* this */
            getfield android.accounts.AccountManager$GetAuthTokenByTypeAndFeaturesTask.this$0:Landroid/accounts/AccountManager;
            aload 6 /* account */
            aload 0 /* this */
            getfield android.accounts.AccountManager$GetAuthTokenByTypeAndFeaturesTask.mAuthTokenType:Ljava/lang/String;
            aconst_null
            aload 0 /* this */
            getfield android.accounts.AccountManager$GetAuthTokenByTypeAndFeaturesTask.mActivity:Landroid/app/Activity;
        11: .line 2635
            aload 0 /* this */
            getfield android.accounts.AccountManager$GetAuthTokenByTypeAndFeaturesTask.mMyCallback:Landroid/accounts/AccountManagerCallback;
            aload 0 /* this */
            getfield android.accounts.AccountManager$GetAuthTokenByTypeAndFeaturesTask.mHandler:Landroid/os/Handler;
        12: .line 2634
            invokevirtual android.accounts.AccountManager.getAuthToken:(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
            pop
        13: .line 2636
            return
        end local 6 // android.accounts.Account account
        end local 5 // java.lang.String accessId
        end local 4 // java.lang.String accountType
        end local 3 // java.lang.String accountName
        14: .line 2638
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* result */
            invokevirtual android.accounts.AccountManager$GetAuthTokenByTypeAndFeaturesTask.set:(Landroid/os/Bundle;)V
        end local 2 // android.os.Bundle result
        15: .line 2639
            goto 23
      StackMap locals: android.accounts.AccountManager$GetAuthTokenByTypeAndFeaturesTask android.accounts.AccountManagerFuture
      StackMap stack: android.accounts.OperationCanceledException
        16: pop
        17: .line 2640
            aload 0 /* this */
            iconst_1
            invokevirtual android.accounts.AccountManager$GetAuthTokenByTypeAndFeaturesTask.cancel:(Z)Z
            pop
            goto 23
        18: .line 2641
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 2 /* e */
        start local 2 // java.io.IOException e
        19: .line 2642
            aload 0 /* this */
            aload 2 /* e */
            invokevirtual android.accounts.AccountManager$GetAuthTokenByTypeAndFeaturesTask.setException:(Ljava/lang/Throwable;)V
        end local 2 // java.io.IOException e
        20: goto 23
        21: .line 2643
      StackMap locals:
      StackMap stack: android.accounts.AuthenticatorException
            astore 2 /* e */
        start local 2 // android.accounts.AuthenticatorException e
        22: .line 2644
            aload 0 /* this */
            aload 2 /* e */
            invokevirtual android.accounts.AccountManager$GetAuthTokenByTypeAndFeaturesTask.setException:(Ljava/lang/Throwable;)V
        end local 2 // android.accounts.AuthenticatorException e
        23: .line 2646
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.accounts.AccountManagerFuture future
        end local 0 // android.accounts.AccountManager$GetAuthTokenByTypeAndFeaturesTask this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   24     0         this  Landroid/accounts/AccountManager$GetAuthTokenByTypeAndFeaturesTask;
            0   24     1       future  Landroid/accounts/AccountManagerFuture<Landroid/os/Bundle;>;
            1   15     2       result  Landroid/os/Bundle;
            3   14     3  accountName  Ljava/lang/String;
            4   14     4  accountType  Ljava/lang/String;
            8   14     5     accessId  Ljava/lang/String;
            9   14     6      account  Landroid/accounts/Account;
           19   20     2            e  Ljava/io/IOException;
           22   23     2            e  Landroid/accounts/AuthenticatorException;
      Exception table:
        from    to  target  type
           0     6      16  Class android.accounts.OperationCanceledException
           7    13      16  Class android.accounts.OperationCanceledException
          14    15      16  Class android.accounts.OperationCanceledException
           0     6      18  Class java.io.IOException
           7    13      18  Class java.io.IOException
          14    15      18  Class java.io.IOException
           0     6      21  Class android.accounts.AuthenticatorException
           7    13      21  Class android.accounts.AuthenticatorException
          14    15      21  Class android.accounts.AuthenticatorException
    Signature: (Landroid/accounts/AccountManagerFuture<Landroid/os/Bundle;>;)V
    MethodParameters:
        Name  Flags
      future  

  static void access$0(android.accounts.AccountManager$GetAuthTokenByTypeAndFeaturesTask, java.lang.Throwable);
    descriptor: (Landroid/accounts/AccountManager$GetAuthTokenByTypeAndFeaturesTask;Ljava/lang/Throwable;)V
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual android.accounts.AccountManager$GetAuthTokenByTypeAndFeaturesTask.setException:(Ljava/lang/Throwable;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static android.accounts.AccountManager access$1(android.accounts.AccountManager$GetAuthTokenByTypeAndFeaturesTask);
    descriptor: (Landroid/accounts/AccountManager$GetAuthTokenByTypeAndFeaturesTask;)Landroid/accounts/AccountManager;
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 2538
            aload 0
            getfield android.accounts.AccountManager$GetAuthTokenByTypeAndFeaturesTask.this$0:Landroid/accounts/AccountManager;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Landroid/accounts/AccountManager$AmsTask;Landroid/accounts/AccountManagerCallback<Landroid/os/Bundle;>;
SourceFile: "AccountManager.java"
NestHost: android.accounts.AccountManager
InnerClasses:
  private abstract AmsTask = android.accounts.AccountManager$AmsTask of android.accounts.AccountManager
  private GetAuthTokenByTypeAndFeaturesTask = android.accounts.AccountManager$GetAuthTokenByTypeAndFeaturesTask of android.accounts.AccountManager
  android.accounts.AccountManager$GetAuthTokenByTypeAndFeaturesTask$1