public class android.os.Registrant
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.os.Registrant
  super_class: java.lang.Object
{
  java.lang.ref.WeakReference refH;
    descriptor: Ljava/lang/ref/WeakReference;
    flags: (0x0000) 

  int what;
    descriptor: I
    flags: (0x0000) 

  java.lang.Object userObj;
    descriptor: Ljava/lang/Object;
    flags: (0x0000) 

  public void <init>(android.os.Handler, int, java.lang.Object);
    descriptor: (Landroid/os/Handler;ILjava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // android.os.Registrant this
        start local 1 // android.os.Handler h
        start local 2 // int what
        start local 3 // java.lang.Object obj
         0: .line 28
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 30
            aload 0 /* this */
            new java.lang.ref.WeakReference
            dup
            aload 1 /* h */
            invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
            putfield android.os.Registrant.refH:Ljava/lang/ref/WeakReference;
         2: .line 31
            aload 0 /* this */
            iload 2 /* what */
            putfield android.os.Registrant.what:I
         3: .line 32
            aload 0 /* this */
            aload 3 /* obj */
            putfield android.os.Registrant.userObj:Ljava/lang/Object;
         4: .line 33
            return
        end local 3 // java.lang.Object obj
        end local 2 // int what
        end local 1 // android.os.Handler h
        end local 0 // android.os.Registrant this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Landroid/os/Registrant;
            0    5     1     h  Landroid/os/Handler;
            0    5     2  what  I
            0    5     3   obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      h     
      what  
      obj   

  public void clear();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.os.Registrant this
         0: .line 38
            aload 0 /* this */
            aconst_null
            putfield android.os.Registrant.refH:Ljava/lang/ref/WeakReference;
         1: .line 39
            aload 0 /* this */
            aconst_null
            putfield android.os.Registrant.userObj:Ljava/lang/Object;
         2: .line 40
            return
        end local 0 // android.os.Registrant this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/os/Registrant;

  public void notifyRegistrant();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.os.Registrant this
         0: .line 45
            aload 0 /* this */
            aconst_null
            aconst_null
            invokevirtual android.os.Registrant.internalNotifyRegistrant:(Ljava/lang/Object;Ljava/lang/Throwable;)V
         1: .line 46
            return
        end local 0 // android.os.Registrant this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/os/Registrant;

  public void notifyResult(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.os.Registrant this
        start local 1 // java.lang.Object result
         0: .line 51
            aload 0 /* this */
            aload 1 /* result */
            aconst_null
            invokevirtual android.os.Registrant.internalNotifyRegistrant:(Ljava/lang/Object;Ljava/lang/Throwable;)V
         1: .line 52
            return
        end local 1 // java.lang.Object result
        end local 0 // android.os.Registrant this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Landroid/os/Registrant;
            0    2     1  result  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      result  

  public void notifyException(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.os.Registrant this
        start local 1 // java.lang.Throwable exception
         0: .line 57
            aload 0 /* this */
            aconst_null
            aload 1 /* exception */
            invokevirtual android.os.Registrant.internalNotifyRegistrant:(Ljava/lang/Object;Ljava/lang/Throwable;)V
         1: .line 58
            return
        end local 1 // java.lang.Throwable exception
        end local 0 // android.os.Registrant this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Landroid/os/Registrant;
            0    2     1  exception  Ljava/lang/Throwable;
    MethodParameters:
           Name  Flags
      exception  

  public void notifyRegistrant(android.os.AsyncResult);
    descriptor: (Landroid/os/AsyncResult;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.os.Registrant this
        start local 1 // android.os.AsyncResult ar
         0: .line 66
            aload 0 /* this */
            aload 1 /* ar */
            getfield android.os.AsyncResult.result:Ljava/lang/Object;
            aload 1 /* ar */
            getfield android.os.AsyncResult.exception:Ljava/lang/Throwable;
            invokevirtual android.os.Registrant.internalNotifyRegistrant:(Ljava/lang/Object;Ljava/lang/Throwable;)V
         1: .line 67
            return
        end local 1 // android.os.AsyncResult ar
        end local 0 // android.os.Registrant this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/os/Registrant;
            0    2     1    ar  Landroid/os/AsyncResult;
    MethodParameters:
      Name  Flags
      ar    

  void internalNotifyRegistrant(java.lang.Object, java.lang.Throwable);
    descriptor: (Ljava/lang/Object;Ljava/lang/Throwable;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // android.os.Registrant this
        start local 1 // java.lang.Object result
        start local 2 // java.lang.Throwable exception
         0: .line 72
            aload 0 /* this */
            invokevirtual android.os.Registrant.getHandler:()Landroid/os/Handler;
            astore 3 /* h */
        start local 3 // android.os.Handler h
         1: .line 74
            aload 3 /* h */
            ifnonnull 4
         2: .line 75
            aload 0 /* this */
            invokevirtual android.os.Registrant.clear:()V
         3: .line 76
            goto 8
         4: .line 77
      StackMap locals: android.os.Handler
      StackMap stack:
            invokestatic android.os.Message.obtain:()Landroid/os/Message;
            astore 4 /* msg */
        start local 4 // android.os.Message msg
         5: .line 79
            aload 4 /* msg */
            aload 0 /* this */
            getfield android.os.Registrant.what:I
            putfield android.os.Message.what:I
         6: .line 81
            aload 4 /* msg */
            new android.os.AsyncResult
            dup
            aload 0 /* this */
            getfield android.os.Registrant.userObj:Ljava/lang/Object;
            aload 1 /* result */
            aload 2 /* exception */
            invokespecial android.os.AsyncResult.<init>:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Throwable;)V
            putfield android.os.Message.obj:Ljava/lang/Object;
         7: .line 83
            aload 3 /* h */
            aload 4 /* msg */
            invokevirtual android.os.Handler.sendMessage:(Landroid/os/Message;)Z
            pop
        end local 4 // android.os.Message msg
         8: .line 85
      StackMap locals:
      StackMap stack:
            return
        end local 3 // android.os.Handler h
        end local 2 // java.lang.Throwable exception
        end local 1 // java.lang.Object result
        end local 0 // android.os.Registrant this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Landroid/os/Registrant;
            0    9     1     result  Ljava/lang/Object;
            0    9     2  exception  Ljava/lang/Throwable;
            1    9     3          h  Landroid/os/Handler;
            5    8     4        msg  Landroid/os/Message;
    MethodParameters:
           Name  Flags
      result     
      exception  

  public android.os.Message messageForRegistrant();
    descriptor: ()Landroid/os/Message;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // android.os.Registrant this
         0: .line 94
            aload 0 /* this */
            invokevirtual android.os.Registrant.getHandler:()Landroid/os/Handler;
            astore 1 /* h */
        start local 1 // android.os.Handler h
         1: .line 96
            aload 1 /* h */
            ifnonnull 4
         2: .line 97
            aload 0 /* this */
            invokevirtual android.os.Registrant.clear:()V
         3: .line 99
            aconst_null
            areturn
         4: .line 101
      StackMap locals: android.os.Handler
      StackMap stack:
            aload 1 /* h */
            invokevirtual android.os.Handler.obtainMessage:()Landroid/os/Message;
            astore 2 /* msg */
        start local 2 // android.os.Message msg
         5: .line 103
            aload 2 /* msg */
            aload 0 /* this */
            getfield android.os.Registrant.what:I
            putfield android.os.Message.what:I
         6: .line 104
            aload 2 /* msg */
            aload 0 /* this */
            getfield android.os.Registrant.userObj:Ljava/lang/Object;
            putfield android.os.Message.obj:Ljava/lang/Object;
         7: .line 106
            aload 2 /* msg */
            areturn
        end local 2 // android.os.Message msg
        end local 1 // android.os.Handler h
        end local 0 // android.os.Registrant this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Landroid/os/Registrant;
            1    8     1     h  Landroid/os/Handler;
            5    8     2   msg  Landroid/os/Message;

  public android.os.Handler getHandler();
    descriptor: ()Landroid/os/Handler;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.os.Registrant this
         0: .line 113
            aload 0 /* this */
            getfield android.os.Registrant.refH:Ljava/lang/ref/WeakReference;
            ifnonnull 2
         1: .line 114
            aconst_null
            areturn
         2: .line 116
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.os.Registrant.refH:Ljava/lang/ref/WeakReference;
            invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
            checkcast android.os.Handler
            areturn
        end local 0 // android.os.Registrant this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/os/Registrant;
}
SourceFile: "Registrant.java"