public abstract class android.accounts.AbstractAccountAuthenticator
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: android.accounts.AbstractAccountAuthenticator
  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: "AccountAuthenticator"

  public static final java.lang.String KEY_CUSTOM_TOKEN_EXPIRY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "android.accounts.expiry"

  private static final java.lang.String KEY_AUTH_TOKEN_TYPE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "android.accounts.AbstractAccountAuthenticato.KEY_AUTH_TOKEN_TYPE"

  private static final java.lang.String KEY_REQUIRED_FEATURES;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "android.accounts.AbstractAccountAuthenticator.KEY_REQUIRED_FEATURES"

  private static final java.lang.String KEY_OPTIONS;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "android.accounts.AbstractAccountAuthenticator.KEY_OPTIONS"

  private static final java.lang.String KEY_ACCOUNT;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "android.accounts.AbstractAccountAuthenticator.KEY_ACCOUNT"

  private final android.content.Context mContext;
    descriptor: Landroid/content/Context;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private android.accounts.AbstractAccountAuthenticator$Transport mTransport;
    descriptor: Landroid/accounts/AbstractAccountAuthenticator$Transport;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(android.content.Context);
    descriptor: (Landroid/content/Context;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.accounts.AbstractAccountAuthenticator this
        start local 1 // android.content.Context context
         0: .line 150
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 521
            aload 0 /* this */
            new android.accounts.AbstractAccountAuthenticator$Transport
            dup
            aload 0 /* this */
            invokespecial android.accounts.AbstractAccountAuthenticator$Transport.<init>:(Landroid/accounts/AbstractAccountAuthenticator;)V
            putfield android.accounts.AbstractAccountAuthenticator.mTransport:Landroid/accounts/AbstractAccountAuthenticator$Transport;
         2: .line 151
            aload 0 /* this */
            aload 1 /* context */
            putfield android.accounts.AbstractAccountAuthenticator.mContext:Landroid/content/Context;
         3: .line 152
            return
        end local 1 // android.content.Context context
        end local 0 // android.accounts.AbstractAccountAuthenticator this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Landroid/accounts/AbstractAccountAuthenticator;
            0    4     1  context  Landroid/content/Context;
    MethodParameters:
         Name  Flags
      context  

  private void handleException(android.accounts.IAccountAuthenticatorResponse, java.lang.String, java.lang.String, java.lang.Exception);
    descriptor: (Landroid/accounts/IAccountAuthenticatorResponse;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Exception;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // android.accounts.AbstractAccountAuthenticator this
        start local 1 // android.accounts.IAccountAuthenticatorResponse response
        start local 2 // java.lang.String method
        start local 3 // java.lang.String data
        start local 4 // java.lang.Exception e
         0: .line 489
            aload 4 /* e */
            instanceof android.accounts.NetworkErrorException
            ifeq 5
         1: .line 490
            ldc "AccountAuthenticator"
            iconst_2
            invokestatic android.util.Log.isLoggable:(Ljava/lang/String;I)Z
            ifeq 3
         2: .line 491
            ldc "AccountAuthenticator"
            new java.lang.StringBuilder
            dup
            aload 2 /* method */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* data */
            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;
            aload 4 /* e */
            invokestatic android.util.Log.v:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            pop
         3: .line 493
      StackMap locals:
      StackMap stack:
            aload 1 /* response */
            iconst_3
            aload 4 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokeinterface android.accounts.IAccountAuthenticatorResponse.onError:(ILjava/lang/String;)V
         4: .line 494
            goto 23
      StackMap locals:
      StackMap stack:
         5: aload 4 /* e */
            instanceof java.lang.UnsupportedOperationException
            ifeq 12
         6: .line 495
            ldc "AccountAuthenticator"
            iconst_2
            invokestatic android.util.Log.isLoggable:(Ljava/lang/String;I)Z
            ifeq 8
         7: .line 496
            ldc "AccountAuthenticator"
            new java.lang.StringBuilder
            dup
            aload 2 /* method */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* data */
            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;
            aload 4 /* e */
            invokestatic android.util.Log.v:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            pop
         8: .line 498
      StackMap locals:
      StackMap stack:
            aload 1 /* response */
            bipush 6
         9: .line 499
            new java.lang.StringBuilder
            dup
            aload 2 /* method */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " not supported"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        10: .line 498
            invokeinterface android.accounts.IAccountAuthenticatorResponse.onError:(ILjava/lang/String;)V
        11: .line 500
            goto 23
      StackMap locals:
      StackMap stack:
        12: aload 4 /* e */
            instanceof java.lang.IllegalArgumentException
            ifeq 19
        13: .line 501
            ldc "AccountAuthenticator"
            iconst_2
            invokestatic android.util.Log.isLoggable:(Ljava/lang/String;I)Z
            ifeq 15
        14: .line 502
            ldc "AccountAuthenticator"
            new java.lang.StringBuilder
            dup
            aload 2 /* method */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* data */
            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;
            aload 4 /* e */
            invokestatic android.util.Log.v:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            pop
        15: .line 504
      StackMap locals:
      StackMap stack:
            aload 1 /* response */
            bipush 7
        16: .line 505
            new java.lang.StringBuilder
            dup
            aload 2 /* method */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " not supported"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        17: .line 504
            invokeinterface android.accounts.IAccountAuthenticatorResponse.onError:(ILjava/lang/String;)V
        18: .line 506
            goto 23
        19: .line 507
      StackMap locals:
      StackMap stack:
            ldc "AccountAuthenticator"
            new java.lang.StringBuilder
            dup
            aload 2 /* method */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* data */
            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;
            aload 4 /* e */
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            pop
        20: .line 508
            aload 1 /* response */
            iconst_1
        21: .line 509
            new java.lang.StringBuilder
            dup
            aload 2 /* method */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " failed"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        22: .line 508
            invokeinterface android.accounts.IAccountAuthenticatorResponse.onError:(ILjava/lang/String;)V
        23: .line 511
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.Exception e
        end local 3 // java.lang.String data
        end local 2 // java.lang.String method
        end local 1 // android.accounts.IAccountAuthenticatorResponse response
        end local 0 // android.accounts.AbstractAccountAuthenticator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   24     0      this  Landroid/accounts/AbstractAccountAuthenticator;
            0   24     1  response  Landroid/accounts/IAccountAuthenticatorResponse;
            0   24     2    method  Ljava/lang/String;
            0   24     3      data  Ljava/lang/String;
            0   24     4         e  Ljava/lang/Exception;
    Exceptions:
      throws android.os.RemoteException
    MethodParameters:
          Name  Flags
      response  
      method    
      data      
      e         

  private void checkBinderPermission();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.accounts.AbstractAccountAuthenticator this
         0: .line 515
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tManifest cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.accounts.AbstractAccountAuthenticator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/accounts/AbstractAccountAuthenticator;

  public final android.os.IBinder getIBinder();
    descriptor: ()Landroid/os/IBinder;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.accounts.AbstractAccountAuthenticator this
         0: .line 527
            aload 0 /* this */
            getfield android.accounts.AbstractAccountAuthenticator.mTransport:Landroid/accounts/AbstractAccountAuthenticator$Transport;
            invokevirtual android.accounts.AbstractAccountAuthenticator$Transport.asBinder:()Landroid/os/IBinder;
            areturn
        end local 0 // android.accounts.AbstractAccountAuthenticator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/accounts/AbstractAccountAuthenticator;

  public abstract android.os.Bundle editProperties(android.accounts.AccountAuthenticatorResponse, java.lang.String);
    descriptor: (Landroid/accounts/AccountAuthenticatorResponse;Ljava/lang/String;)Landroid/os/Bundle;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      response     
      accountType  

  public abstract android.os.Bundle addAccount(android.accounts.AccountAuthenticatorResponse, java.lang.String, java.lang.String, java.lang.String[], android.os.Bundle);
    descriptor: (Landroid/accounts/AccountAuthenticatorResponse;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws android.accounts.NetworkErrorException
    MethodParameters:
                  Name  Flags
      response          
      accountType       
      authTokenType     
      requiredFeatures  
      options           

  public abstract android.os.Bundle confirmCredentials(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, android.os.Bundle);
    descriptor: (Landroid/accounts/AccountAuthenticatorResponse;Landroid/accounts/Account;Landroid/os/Bundle;)Landroid/os/Bundle;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws android.accounts.NetworkErrorException
    MethodParameters:
          Name  Flags
      response  
      account   
      options   

  public abstract android.os.Bundle getAuthToken(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, java.lang.String, android.os.Bundle);
    descriptor: (Landroid/accounts/AccountAuthenticatorResponse;Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws android.accounts.NetworkErrorException
    MethodParameters:
               Name  Flags
      response       
      account        
      authTokenType  
      options        

  public abstract java.lang.String getAuthTokenLabel(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
               Name  Flags
      authTokenType  

  public abstract android.os.Bundle updateCredentials(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, java.lang.String, android.os.Bundle);
    descriptor: (Landroid/accounts/AccountAuthenticatorResponse;Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws android.accounts.NetworkErrorException
    MethodParameters:
               Name  Flags
      response       
      account        
      authTokenType  
      options        

  public abstract android.os.Bundle hasFeatures(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, java.lang.String[]);
    descriptor: (Landroid/accounts/AccountAuthenticatorResponse;Landroid/accounts/Account;[Ljava/lang/String;)Landroid/os/Bundle;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws android.accounts.NetworkErrorException
    MethodParameters:
          Name  Flags
      response  
      account   
      features  

  public android.os.Bundle getAccountRemovalAllowed(android.accounts.AccountAuthenticatorResponse, android.accounts.Account);
    descriptor: (Landroid/accounts/AccountAuthenticatorResponse;Landroid/accounts/Account;)Landroid/os/Bundle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // android.accounts.AbstractAccountAuthenticator this
        start local 1 // android.accounts.AccountAuthenticatorResponse response
        start local 2 // android.accounts.Account account
         0: .line 703
            new android.os.Bundle
            dup
            invokespecial android.os.Bundle.<init>:()V
            astore 3 /* result */
        start local 3 // android.os.Bundle result
         1: .line 704
            aload 3 /* result */
            ldc "booleanResult"
            iconst_1
            invokevirtual android.os.Bundle.putBoolean:(Ljava/lang/String;Z)V
         2: .line 705
            aload 3 /* result */
            areturn
        end local 3 // android.os.Bundle result
        end local 2 // android.accounts.Account account
        end local 1 // android.accounts.AccountAuthenticatorResponse response
        end local 0 // android.accounts.AbstractAccountAuthenticator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Landroid/accounts/AbstractAccountAuthenticator;
            0    3     1  response  Landroid/accounts/AccountAuthenticatorResponse;
            0    3     2   account  Landroid/accounts/Account;
            1    3     3    result  Landroid/os/Bundle;
    Exceptions:
      throws android.accounts.NetworkErrorException
    MethodParameters:
          Name  Flags
      response  
      account   

  public android.os.Bundle getAccountCredentialsForCloning(android.accounts.AccountAuthenticatorResponse, android.accounts.Account);
    descriptor: (Landroid/accounts/AccountAuthenticatorResponse;Landroid/accounts/Account;)Landroid/os/Bundle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // android.accounts.AbstractAccountAuthenticator this
        start local 1 // android.accounts.AccountAuthenticatorResponse response
        start local 2 // android.accounts.Account account
         0: .line 721
            new java.lang.Thread
            dup
            new android.accounts.AbstractAccountAuthenticator$1
            dup
            aload 0 /* this */
            aload 1 /* response */
            invokespecial android.accounts.AbstractAccountAuthenticator$1.<init>:(Landroid/accounts/AbstractAccountAuthenticator;Landroid/accounts/AccountAuthenticatorResponse;)V
            invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;)V
         1: .line 728
            invokevirtual java.lang.Thread.start:()V
         2: .line 729
            aconst_null
            areturn
        end local 2 // android.accounts.Account account
        end local 1 // android.accounts.AccountAuthenticatorResponse response
        end local 0 // android.accounts.AbstractAccountAuthenticator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Landroid/accounts/AbstractAccountAuthenticator;
            0    3     1  response  Landroid/accounts/AccountAuthenticatorResponse;
            0    3     2   account  Landroid/accounts/Account;
    Exceptions:
      throws android.accounts.NetworkErrorException
    MethodParameters:
          Name  Flags
      response  final
      account   final

  public android.os.Bundle addAccountFromCredentials(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, android.os.Bundle);
    descriptor: (Landroid/accounts/AccountAuthenticatorResponse;Landroid/accounts/Account;Landroid/os/Bundle;)Landroid/os/Bundle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // android.accounts.AbstractAccountAuthenticator this
        start local 1 // android.accounts.AccountAuthenticatorResponse response
        start local 2 // android.accounts.Account account
        start local 3 // android.os.Bundle accountCredentials
         0: .line 747
            new java.lang.Thread
            dup
            new android.accounts.AbstractAccountAuthenticator$2
            dup
            aload 0 /* this */
            aload 1 /* response */
            invokespecial android.accounts.AbstractAccountAuthenticator$2.<init>:(Landroid/accounts/AbstractAccountAuthenticator;Landroid/accounts/AccountAuthenticatorResponse;)V
            invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;)V
         1: .line 754
            invokevirtual java.lang.Thread.start:()V
         2: .line 755
            aconst_null
            areturn
        end local 3 // android.os.Bundle accountCredentials
        end local 2 // android.accounts.Account account
        end local 1 // android.accounts.AccountAuthenticatorResponse response
        end local 0 // android.accounts.AbstractAccountAuthenticator this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    3     0                this  Landroid/accounts/AbstractAccountAuthenticator;
            0    3     1            response  Landroid/accounts/AccountAuthenticatorResponse;
            0    3     2             account  Landroid/accounts/Account;
            0    3     3  accountCredentials  Landroid/os/Bundle;
    Exceptions:
      throws android.accounts.NetworkErrorException
    MethodParameters:
                    Name  Flags
      response            final
      account             
      accountCredentials  

  public android.os.Bundle startAddAccountSession(android.accounts.AccountAuthenticatorResponse, java.lang.String, java.lang.String, java.lang.String[], android.os.Bundle);
    descriptor: (Landroid/accounts/AccountAuthenticatorResponse;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=6, args_size=6
        start local 0 // android.accounts.AbstractAccountAuthenticator this
        start local 1 // android.accounts.AccountAuthenticatorResponse response
        start local 2 // java.lang.String accountType
        start local 3 // java.lang.String authTokenType
        start local 4 // java.lang.String[] requiredFeatures
        start local 5 // android.os.Bundle options
         0: .line 800
            new java.lang.Thread
            dup
            new android.accounts.AbstractAccountAuthenticator$3
            dup
            aload 0 /* this */
            aload 3 /* authTokenType */
            aload 4 /* requiredFeatures */
            aload 5 /* options */
            aload 1 /* response */
            invokespecial android.accounts.AbstractAccountAuthenticator$3.<init>:(Landroid/accounts/AbstractAccountAuthenticator;Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;Landroid/accounts/AccountAuthenticatorResponse;)V
            invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;)V
         1: .line 812
            invokevirtual java.lang.Thread.start:()V
         2: .line 813
            aconst_null
            areturn
        end local 5 // android.os.Bundle options
        end local 4 // java.lang.String[] requiredFeatures
        end local 3 // java.lang.String authTokenType
        end local 2 // java.lang.String accountType
        end local 1 // android.accounts.AccountAuthenticatorResponse response
        end local 0 // android.accounts.AbstractAccountAuthenticator this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0              this  Landroid/accounts/AbstractAccountAuthenticator;
            0    3     1          response  Landroid/accounts/AccountAuthenticatorResponse;
            0    3     2       accountType  Ljava/lang/String;
            0    3     3     authTokenType  Ljava/lang/String;
            0    3     4  requiredFeatures  [Ljava/lang/String;
            0    3     5           options  Landroid/os/Bundle;
    Exceptions:
      throws android.accounts.NetworkErrorException
    MethodParameters:
                  Name  Flags
      response          final
      accountType       final
      authTokenType     final
      requiredFeatures  final
      options           final

  public android.os.Bundle startUpdateCredentialsSession(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, java.lang.String, android.os.Bundle);
    descriptor: (Landroid/accounts/AccountAuthenticatorResponse;Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=5, args_size=5
        start local 0 // android.accounts.AbstractAccountAuthenticator this
        start local 1 // android.accounts.AccountAuthenticatorResponse response
        start local 2 // android.accounts.Account account
        start local 3 // java.lang.String authTokenType
        start local 4 // android.os.Bundle options
         0: .line 854
            new java.lang.Thread
            dup
            new android.accounts.AbstractAccountAuthenticator$4
            dup
            aload 0 /* this */
            aload 3 /* authTokenType */
            aload 2 /* account */
            aload 4 /* options */
            aload 1 /* response */
            invokespecial android.accounts.AbstractAccountAuthenticator$4.<init>:(Landroid/accounts/AbstractAccountAuthenticator;Ljava/lang/String;Landroid/accounts/Account;Landroid/os/Bundle;Landroid/accounts/AccountAuthenticatorResponse;)V
            invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;)V
         1: .line 866
            invokevirtual java.lang.Thread.start:()V
         2: .line 867
            aconst_null
            areturn
        end local 4 // android.os.Bundle options
        end local 3 // java.lang.String authTokenType
        end local 2 // android.accounts.Account account
        end local 1 // android.accounts.AccountAuthenticatorResponse response
        end local 0 // android.accounts.AbstractAccountAuthenticator this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Landroid/accounts/AbstractAccountAuthenticator;
            0    3     1       response  Landroid/accounts/AccountAuthenticatorResponse;
            0    3     2        account  Landroid/accounts/Account;
            0    3     3  authTokenType  Ljava/lang/String;
            0    3     4        options  Landroid/os/Bundle;
    Exceptions:
      throws android.accounts.NetworkErrorException
    MethodParameters:
               Name  Flags
      response       final
      account        final
      authTokenType  final
      options        final

  public android.os.Bundle finishSession(android.accounts.AccountAuthenticatorResponse, java.lang.String, android.os.Bundle);
    descriptor: (Landroid/accounts/AccountAuthenticatorResponse;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=10, args_size=4
        start local 0 // android.accounts.AbstractAccountAuthenticator this
        start local 1 // android.accounts.AccountAuthenticatorResponse response
        start local 2 // java.lang.String accountType
        start local 3 // android.os.Bundle sessionBundle
         0: .line 908
            aload 2 /* accountType */
            invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
            ifeq 8
         1: .line 909
            ldc "AccountAuthenticator"
            ldc "Account type cannot be empty."
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         2: .line 910
            new android.os.Bundle
            dup
            invokespecial android.os.Bundle.<init>:()V
            astore 4 /* result */
        start local 4 // android.os.Bundle result
         3: .line 911
            aload 4 /* result */
            ldc "errorCode"
            bipush 7
            invokevirtual android.os.Bundle.putInt:(Ljava/lang/String;I)V
         4: .line 912
            aload 4 /* result */
            ldc "errorMessage"
         5: .line 913
            ldc "accountType cannot be empty."
         6: .line 912
            invokevirtual android.os.Bundle.putString:(Ljava/lang/String;Ljava/lang/String;)V
         7: .line 914
            aload 4 /* result */
            areturn
        end local 4 // android.os.Bundle result
         8: .line 917
      StackMap locals:
      StackMap stack:
            aload 3 /* sessionBundle */
            ifnonnull 16
         9: .line 918
            ldc "AccountAuthenticator"
            ldc "Session bundle cannot be null."
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        10: .line 919
            new android.os.Bundle
            dup
            invokespecial android.os.Bundle.<init>:()V
            astore 4 /* result */
        start local 4 // android.os.Bundle result
        11: .line 920
            aload 4 /* result */
            ldc "errorCode"
            bipush 7
            invokevirtual android.os.Bundle.putInt:(Ljava/lang/String;I)V
        12: .line 921
            aload 4 /* result */
            ldc "errorMessage"
        13: .line 922
            ldc "sessionBundle cannot be null."
        14: .line 921
            invokevirtual android.os.Bundle.putString:(Ljava/lang/String;Ljava/lang/String;)V
        15: .line 923
            aload 4 /* result */
            areturn
        end local 4 // android.os.Bundle result
        16: .line 926
      StackMap locals:
      StackMap stack:
            aload 3 /* sessionBundle */
            ldc "android.accounts.AbstractAccountAuthenticato.KEY_AUTH_TOKEN_TYPE"
            invokevirtual android.os.Bundle.containsKey:(Ljava/lang/String;)Z
            ifne 26
        17: .line 929
            new android.os.Bundle
            dup
            invokespecial android.os.Bundle.<init>:()V
            astore 4 /* result */
        start local 4 // android.os.Bundle result
        18: .line 930
            aload 4 /* result */
            ldc "errorCode"
        19: .line 931
            bipush 6
        20: .line 930
            invokevirtual android.os.Bundle.putInt:(Ljava/lang/String;I)V
        21: .line 932
            aload 4 /* result */
            ldc "errorMessage"
        22: .line 933
            ldc "Authenticator must override finishSession if startAddAccountSession or startUpdateCredentialsSession is overridden."
        23: .line 932
            invokevirtual android.os.Bundle.putString:(Ljava/lang/String;Ljava/lang/String;)V
        24: .line 935
            aload 1 /* response */
            aload 4 /* result */
            invokevirtual android.accounts.AccountAuthenticatorResponse.onResult:(Landroid/os/Bundle;)V
        25: .line 936
            aload 4 /* result */
            areturn
        end local 4 // android.os.Bundle result
        26: .line 938
      StackMap locals:
      StackMap stack:
            aload 3 /* sessionBundle */
            ldc "android.accounts.AbstractAccountAuthenticato.KEY_AUTH_TOKEN_TYPE"
            invokevirtual android.os.Bundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* authTokenType */
        start local 4 // java.lang.String authTokenType
        27: .line 939
            aload 3 /* sessionBundle */
            ldc "android.accounts.AbstractAccountAuthenticator.KEY_OPTIONS"
            invokevirtual android.os.Bundle.getBundle:(Ljava/lang/String;)Landroid/os/Bundle;
            astore 5 /* options */
        start local 5 // android.os.Bundle options
        28: .line 940
            aload 3 /* sessionBundle */
            ldc "android.accounts.AbstractAccountAuthenticator.KEY_REQUIRED_FEATURES"
            invokevirtual android.os.Bundle.getStringArray:(Ljava/lang/String;)[Ljava/lang/String;
            astore 6 /* requiredFeatures */
        start local 6 // java.lang.String[] requiredFeatures
        29: .line 941
            aload 3 /* sessionBundle */
            ldc "android.accounts.AbstractAccountAuthenticator.KEY_ACCOUNT"
            invokevirtual android.os.Bundle.getParcelable:(Ljava/lang/String;)Landroid/os/Parcelable;
            checkcast android.accounts.Account
            astore 7 /* account */
        start local 7 // android.accounts.Account account
        30: .line 942
            aload 3 /* sessionBundle */
            ldc "android.accounts.AbstractAccountAuthenticator.KEY_ACCOUNT"
            invokevirtual android.os.Bundle.containsKey:(Ljava/lang/String;)Z
            istore 8 /* containsKeyAccount */
        start local 8 // boolean containsKeyAccount
        31: .line 945
            new android.os.Bundle
            dup
            aload 3 /* sessionBundle */
            invokespecial android.os.Bundle.<init>:(Landroid/os/Bundle;)V
            astore 9 /* sessionOptions */
        start local 9 // android.os.Bundle sessionOptions
        32: .line 948
            aload 9 /* sessionOptions */
            ldc "android.accounts.AbstractAccountAuthenticato.KEY_AUTH_TOKEN_TYPE"
            invokevirtual android.os.Bundle.remove:(Ljava/lang/String;)V
        33: .line 949
            aload 9 /* sessionOptions */
            ldc "android.accounts.AbstractAccountAuthenticator.KEY_REQUIRED_FEATURES"
            invokevirtual android.os.Bundle.remove:(Ljava/lang/String;)V
        34: .line 950
            aload 9 /* sessionOptions */
            ldc "android.accounts.AbstractAccountAuthenticator.KEY_OPTIONS"
            invokevirtual android.os.Bundle.remove:(Ljava/lang/String;)V
        35: .line 951
            aload 9 /* sessionOptions */
            ldc "android.accounts.AbstractAccountAuthenticator.KEY_ACCOUNT"
            invokevirtual android.os.Bundle.remove:(Ljava/lang/String;)V
        36: .line 953
            aload 5 /* options */
            ifnull 39
        37: .line 958
            aload 5 /* options */
            aload 9 /* sessionOptions */
            invokevirtual android.os.Bundle.putAll:(Landroid/os/Bundle;)V
        38: .line 959
            aload 5 /* options */
            astore 9 /* sessionOptions */
        39: .line 964
      StackMap locals: android.accounts.AbstractAccountAuthenticator android.accounts.AccountAuthenticatorResponse java.lang.String android.os.Bundle java.lang.String android.os.Bundle java.lang.String[] android.accounts.Account int android.os.Bundle
      StackMap stack:
            iload 8 /* containsKeyAccount */
            ifeq 41
        40: .line 965
            aload 0 /* this */
            aload 1 /* response */
            aload 7 /* account */
            aload 4 /* authTokenType */
            aload 5 /* options */
            invokevirtual android.accounts.AbstractAccountAuthenticator.updateCredentials:(Landroid/accounts/AccountAuthenticatorResponse;Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
            areturn
        41: .line 968
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* response */
            aload 2 /* accountType */
            aload 4 /* authTokenType */
            aload 6 /* requiredFeatures */
            aload 9 /* sessionOptions */
            invokevirtual android.accounts.AbstractAccountAuthenticator.addAccount:(Landroid/accounts/AccountAuthenticatorResponse;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
            areturn
        end local 9 // android.os.Bundle sessionOptions
        end local 8 // boolean containsKeyAccount
        end local 7 // android.accounts.Account account
        end local 6 // java.lang.String[] requiredFeatures
        end local 5 // android.os.Bundle options
        end local 4 // java.lang.String authTokenType
        end local 3 // android.os.Bundle sessionBundle
        end local 2 // java.lang.String accountType
        end local 1 // android.accounts.AccountAuthenticatorResponse response
        end local 0 // android.accounts.AbstractAccountAuthenticator this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   42     0                this  Landroid/accounts/AbstractAccountAuthenticator;
            0   42     1            response  Landroid/accounts/AccountAuthenticatorResponse;
            0   42     2         accountType  Ljava/lang/String;
            0   42     3       sessionBundle  Landroid/os/Bundle;
            3    8     4              result  Landroid/os/Bundle;
           11   16     4              result  Landroid/os/Bundle;
           18   26     4              result  Landroid/os/Bundle;
           27   42     4       authTokenType  Ljava/lang/String;
           28   42     5             options  Landroid/os/Bundle;
           29   42     6    requiredFeatures  [Ljava/lang/String;
           30   42     7             account  Landroid/accounts/Account;
           31   42     8  containsKeyAccount  Z
           32   42     9      sessionOptions  Landroid/os/Bundle;
    Exceptions:
      throws android.accounts.NetworkErrorException
    MethodParameters:
               Name  Flags
      response       final
      accountType    final
      sessionBundle  final

  public android.os.Bundle isCredentialsUpdateSuggested(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, java.lang.String);
    descriptor: (Landroid/accounts/AccountAuthenticatorResponse;Landroid/accounts/Account;Ljava/lang/String;)Landroid/os/Bundle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // android.accounts.AbstractAccountAuthenticator this
        start local 1 // android.accounts.AccountAuthenticatorResponse response
        start local 2 // android.accounts.Account account
        start local 3 // java.lang.String statusToken
         0: .line 992
            new android.os.Bundle
            dup
            invokespecial android.os.Bundle.<init>:()V
            astore 4 /* result */
        start local 4 // android.os.Bundle result
         1: .line 993
            aload 4 /* result */
            ldc "booleanResult"
            iconst_0
            invokevirtual android.os.Bundle.putBoolean:(Ljava/lang/String;Z)V
         2: .line 994
            aload 4 /* result */
            areturn
        end local 4 // android.os.Bundle result
        end local 3 // java.lang.String statusToken
        end local 2 // android.accounts.Account account
        end local 1 // android.accounts.AccountAuthenticatorResponse response
        end local 0 // android.accounts.AbstractAccountAuthenticator this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Landroid/accounts/AbstractAccountAuthenticator;
            0    3     1     response  Landroid/accounts/AccountAuthenticatorResponse;
            0    3     2      account  Landroid/accounts/Account;
            0    3     3  statusToken  Ljava/lang/String;
            1    3     4       result  Landroid/os/Bundle;
    Exceptions:
      throws android.accounts.NetworkErrorException
    MethodParameters:
             Name  Flags
      response     final
      account      
      statusToken  
}
SourceFile: "AbstractAccountAuthenticator.java"
NestMembers:
  android.accounts.AbstractAccountAuthenticator$1  android.accounts.AbstractAccountAuthenticator$2  android.accounts.AbstractAccountAuthenticator$3  android.accounts.AbstractAccountAuthenticator$4  android.accounts.AbstractAccountAuthenticator$Transport
InnerClasses:
  android.accounts.AbstractAccountAuthenticator$1
  android.accounts.AbstractAccountAuthenticator$2
  android.accounts.AbstractAccountAuthenticator$3
  android.accounts.AbstractAccountAuthenticator$4
  private Transport = android.accounts.AbstractAccountAuthenticator$Transport of android.accounts.AbstractAccountAuthenticator