public class android.os.Handler
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.os.Handler
  super_class: java.lang.Object
{
  private static final boolean FIND_POTENTIAL_LEAKS;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final java.lang.String TAG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "Handler"

  private static android.os.Handler MAIN_THREAD_HANDLER;
    descriptor: Landroid/os/Handler;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  final android.os.Looper mLooper;
    descriptor: Landroid/os/Looper;
    flags: (0x0010) ACC_FINAL

  final android.os.MessageQueue mQueue;
    descriptor: Landroid/os/MessageQueue;
    flags: (0x0010) ACC_FINAL

  final android.os.Handler$Callback mCallback;
    descriptor: Landroid/os/Handler$Callback;
    flags: (0x0010) ACC_FINAL

  final boolean mAsynchronous;
    descriptor: Z
    flags: (0x0010) ACC_FINAL

  android.os.IMessenger mMessenger;
    descriptor: Landroid/os/IMessenger;
    flags: (0x0000) 

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 74
            aconst_null
            putstatic android.os.Handler.MAIN_THREAD_HANDLER:Landroid/os/Handler;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void handleMessage(android.os.Message);
    descriptor: (Landroid/os/Message;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // android.os.Handler this
        start local 1 // android.os.Message msg
         0: .line 92
            return
        end local 1 // android.os.Message msg
        end local 0 // android.os.Handler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/os/Handler;
            0    1     1   msg  Landroid/os/Message;
    MethodParameters:
      Name  Flags
      msg   

  public void dispatchMessage(android.os.Message);
    descriptor: (Landroid/os/Message;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.os.Handler this
        start local 1 // android.os.Message msg
         0: .line 98
            aload 1 /* msg */
            getfield android.os.Message.callback:Ljava/lang/Runnable;
            ifnull 3
         1: .line 99
            aload 1 /* msg */
            invokestatic android.os.Handler.handleCallback:(Landroid/os/Message;)V
         2: .line 100
            goto 7
         3: .line 101
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.os.Handler.mCallback:Landroid/os/Handler$Callback;
            ifnull 6
         4: .line 102
            aload 0 /* this */
            getfield android.os.Handler.mCallback:Landroid/os/Handler$Callback;
            aload 1 /* msg */
            invokeinterface android.os.Handler$Callback.handleMessage:(Landroid/os/Message;)Z
            ifeq 6
         5: .line 103
            return
         6: .line 106
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* msg */
            invokevirtual android.os.Handler.handleMessage:(Landroid/os/Message;)V
         7: .line 108
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.os.Message msg
        end local 0 // android.os.Handler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Landroid/os/Handler;
            0    8     1   msg  Landroid/os/Message;
    MethodParameters:
      Name  Flags
      msg   

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.os.Handler this
         0: .line 118
            aload 0 /* this */
            aconst_null
            iconst_0
            invokespecial android.os.Handler.<init>:(Landroid/os/Handler$Callback;Z)V
         1: .line 119
            return
        end local 0 // android.os.Handler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/os/Handler;

  public void <init>(android.os.Handler$Callback);
    descriptor: (Landroid/os/Handler$Callback;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.os.Handler this
        start local 1 // android.os.Handler$Callback callback
         0: .line 132
            aload 0 /* this */
            aload 1 /* callback */
            iconst_0
            invokespecial android.os.Handler.<init>:(Landroid/os/Handler$Callback;Z)V
         1: .line 133
            return
        end local 1 // android.os.Handler$Callback callback
        end local 0 // android.os.Handler this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Landroid/os/Handler;
            0    2     1  callback  Landroid/os/Handler$Callback;
    MethodParameters:
          Name  Flags
      callback  

  public void <init>(android.os.Looper);
    descriptor: (Landroid/os/Looper;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.os.Handler this
        start local 1 // android.os.Looper looper
         0: .line 141
            aload 0 /* this */
            aload 1 /* looper */
            aconst_null
            iconst_0
            invokespecial android.os.Handler.<init>:(Landroid/os/Looper;Landroid/os/Handler$Callback;Z)V
         1: .line 142
            return
        end local 1 // android.os.Looper looper
        end local 0 // android.os.Handler this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Landroid/os/Handler;
            0    2     1  looper  Landroid/os/Looper;
    MethodParameters:
        Name  Flags
      looper  

  public void <init>(android.os.Looper, android.os.Handler$Callback);
    descriptor: (Landroid/os/Looper;Landroid/os/Handler$Callback;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // android.os.Handler this
        start local 1 // android.os.Looper looper
        start local 2 // android.os.Handler$Callback callback
         0: .line 152
            aload 0 /* this */
            aload 1 /* looper */
            aload 2 /* callback */
            iconst_0
            invokespecial android.os.Handler.<init>:(Landroid/os/Looper;Landroid/os/Handler$Callback;Z)V
         1: .line 153
            return
        end local 2 // android.os.Handler$Callback callback
        end local 1 // android.os.Looper looper
        end local 0 // android.os.Handler this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Landroid/os/Handler;
            0    2     1    looper  Landroid/os/Looper;
            0    2     2  callback  Landroid/os/Handler$Callback;
    MethodParameters:
          Name  Flags
      looper    
      callback  

  public void <init>(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.os.Handler this
        start local 1 // boolean async
         0: .line 172
            aload 0 /* this */
            aconst_null
            iload 1 /* async */
            invokespecial android.os.Handler.<init>:(Landroid/os/Handler$Callback;Z)V
         1: .line 173
            return
        end local 1 // boolean async
        end local 0 // android.os.Handler this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Landroid/os/Handler;
            0    2     1  async  Z
    MethodParameters:
       Name  Flags
      async  

  public void <init>(android.os.Handler$Callback, boolean);
    descriptor: (Landroid/os/Handler$Callback;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // android.os.Handler this
        start local 1 // android.os.Handler$Callback callback
        start local 2 // boolean async
         0: .line 192
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 202
            aload 0 /* this */
            invokestatic android.os.Looper.myLooper:()Landroid/os/Looper;
            putfield android.os.Handler.mLooper:Landroid/os/Looper;
         2: .line 203
            aload 0 /* this */
            getfield android.os.Handler.mLooper:Landroid/os/Looper;
            ifnonnull 8
         3: .line 204
            new java.lang.RuntimeException
            dup
         4: .line 205
            new java.lang.StringBuilder
            dup
            ldc "Can't create handler inside thread "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         5: .line 206
            ldc " that has not called Looper.prepare()"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 205
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 204
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 208
      StackMap locals: android.os.Handler android.os.Handler$Callback int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.os.Handler.mLooper:Landroid/os/Looper;
            getfield android.os.Looper.mQueue:Landroid/os/MessageQueue;
            putfield android.os.Handler.mQueue:Landroid/os/MessageQueue;
         9: .line 209
            aload 0 /* this */
            aload 1 /* callback */
            putfield android.os.Handler.mCallback:Landroid/os/Handler$Callback;
        10: .line 210
            aload 0 /* this */
            iload 2 /* async */
            putfield android.os.Handler.mAsynchronous:Z
        11: .line 211
            return
        end local 2 // boolean async
        end local 1 // android.os.Handler$Callback callback
        end local 0 // android.os.Handler this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Landroid/os/Handler;
            0   12     1  callback  Landroid/os/Handler$Callback;
            0   12     2     async  Z
    MethodParameters:
          Name  Flags
      callback  
      async     

  public void <init>(android.os.Looper, android.os.Handler$Callback, boolean);
    descriptor: (Landroid/os/Looper;Landroid/os/Handler$Callback;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // android.os.Handler this
        start local 1 // android.os.Looper looper
        start local 2 // android.os.Handler$Callback callback
        start local 3 // boolean async
         0: .line 232
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 233
            aload 0 /* this */
            aload 1 /* looper */
            putfield android.os.Handler.mLooper:Landroid/os/Looper;
         2: .line 234
            aload 0 /* this */
            aload 1 /* looper */
            getfield android.os.Looper.mQueue:Landroid/os/MessageQueue;
            putfield android.os.Handler.mQueue:Landroid/os/MessageQueue;
         3: .line 235
            aload 0 /* this */
            aload 2 /* callback */
            putfield android.os.Handler.mCallback:Landroid/os/Handler$Callback;
         4: .line 236
            aload 0 /* this */
            iload 3 /* async */
            putfield android.os.Handler.mAsynchronous:Z
         5: .line 237
            return
        end local 3 // boolean async
        end local 2 // android.os.Handler$Callback callback
        end local 1 // android.os.Looper looper
        end local 0 // android.os.Handler this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Landroid/os/Handler;
            0    6     1    looper  Landroid/os/Looper;
            0    6     2  callback  Landroid/os/Handler$Callback;
            0    6     3     async  Z
    MethodParameters:
          Name  Flags
      looper    
      callback  
      async     

  public static android.os.Handler createAsync(android.os.Looper);
    descriptor: (Landroid/os/Looper;)Landroid/os/Handler;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // android.os.Looper looper
         0: .line 253
            aload 0 /* looper */
            ifnonnull 1
            new java.lang.NullPointerException
            dup
            ldc "looper must not be null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         1: .line 254
      StackMap locals:
      StackMap stack:
            new android.os.Handler
            dup
            aload 0 /* looper */
            aconst_null
            iconst_1
            invokespecial android.os.Handler.<init>:(Landroid/os/Looper;Landroid/os/Handler$Callback;Z)V
            areturn
        end local 0 // android.os.Looper looper
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  looper  Landroid/os/Looper;
    MethodParameters:
        Name  Flags
      looper  

  public static android.os.Handler createAsync(android.os.Looper, android.os.Handler$Callback);
    descriptor: (Landroid/os/Looper;Landroid/os/Handler$Callback;)Landroid/os/Handler;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // android.os.Looper looper
        start local 1 // android.os.Handler$Callback callback
         0: .line 271
            aload 0 /* looper */
            ifnonnull 1
            new java.lang.NullPointerException
            dup
            ldc "looper must not be null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         1: .line 272
      StackMap locals:
      StackMap stack:
            aload 1 /* callback */
            ifnonnull 2
            new java.lang.NullPointerException
            dup
            ldc "callback must not be null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 273
      StackMap locals:
      StackMap stack:
            new android.os.Handler
            dup
            aload 0 /* looper */
            aload 1 /* callback */
            iconst_1
            invokespecial android.os.Handler.<init>:(Landroid/os/Looper;Landroid/os/Handler$Callback;Z)V
            areturn
        end local 1 // android.os.Handler$Callback callback
        end local 0 // android.os.Looper looper
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0    looper  Landroid/os/Looper;
            0    3     1  callback  Landroid/os/Handler$Callback;
    MethodParameters:
          Name  Flags
      looper    
      callback  

  public static android.os.Handler getMain();
    descriptor: ()Landroid/os/Handler;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 279
            getstatic android.os.Handler.MAIN_THREAD_HANDLER:Landroid/os/Handler;
            ifnonnull 2
         1: .line 280
            new android.os.Handler
            dup
            invokestatic android.os.Looper.getMainLooper:()Landroid/os/Looper;
            invokespecial android.os.Handler.<init>:(Landroid/os/Looper;)V
            putstatic android.os.Handler.MAIN_THREAD_HANDLER:Landroid/os/Handler;
         2: .line 282
      StackMap locals:
      StackMap stack:
            getstatic android.os.Handler.MAIN_THREAD_HANDLER:Landroid/os/Handler;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static android.os.Handler mainIfNull(android.os.Handler);
    descriptor: (Landroid/os/Handler;)Landroid/os/Handler;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.os.Handler handler
         0: .line 288
            aload 0 /* handler */
            ifnonnull 1
            invokestatic android.os.Handler.getMain:()Landroid/os/Handler;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* handler */
      StackMap locals:
      StackMap stack: android.os.Handler
         2: areturn
        end local 0 // android.os.Handler handler
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  handler  Landroid/os/Handler;
    MethodParameters:
         Name  Flags
      handler  

  public java.lang.String getTraceName(android.os.Message);
    descriptor: (Landroid/os/Message;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.os.Handler this
        start local 1 // android.os.Message message
         0: .line 293
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* sb */
        start local 2 // java.lang.StringBuilder sb
         1: .line 294
            aload 2 /* sb */
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 295
            aload 1 /* message */
            getfield android.os.Message.callback:Ljava/lang/Runnable;
            ifnull 5
         3: .line 296
            aload 2 /* sb */
            aload 1 /* message */
            getfield android.os.Message.callback:Ljava/lang/Runnable;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 297
            goto 6
         5: .line 298
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 2 /* sb */
            ldc "#"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* message */
            getfield android.os.Message.what:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
         6: .line 300
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder sb
        end local 1 // android.os.Message message
        end local 0 // android.os.Handler this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Landroid/os/Handler;
            0    7     1  message  Landroid/os/Message;
            1    7     2       sb  Ljava/lang/StringBuilder;
    MethodParameters:
         Name  Flags
      message  

  public java.lang.String getMessageName(android.os.Message);
    descriptor: (Landroid/os/Message;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.os.Handler this
        start local 1 // android.os.Message message
         0: .line 312
            aload 1 /* message */
            getfield android.os.Message.callback:Ljava/lang/Runnable;
            ifnull 2
         1: .line 313
            aload 1 /* message */
            getfield android.os.Message.callback:Ljava/lang/Runnable;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            areturn
         2: .line 315
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "0x"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* message */
            getfield android.os.Message.what:I
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // android.os.Message message
        end local 0 // android.os.Handler this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Landroid/os/Handler;
            0    3     1  message  Landroid/os/Message;
    MethodParameters:
         Name  Flags
      message  

  public final android.os.Message obtainMessage();
    descriptor: ()Landroid/os/Message;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.os.Handler this
         0: .line 325
            aload 0 /* this */
            invokestatic android.os.Message.obtain:(Landroid/os/Handler;)Landroid/os/Message;
            areturn
        end local 0 // android.os.Handler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/os/Handler;

  public final android.os.Message obtainMessage(int);
    descriptor: (I)Landroid/os/Message;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.os.Handler this
        start local 1 // int what
         0: .line 336
            aload 0 /* this */
            iload 1 /* what */
            invokestatic android.os.Message.obtain:(Landroid/os/Handler;I)Landroid/os/Message;
            areturn
        end local 1 // int what
        end local 0 // android.os.Handler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/os/Handler;
            0    1     1  what  I
    MethodParameters:
      Name  Flags
      what  

  public final android.os.Message obtainMessage(int, java.lang.Object);
    descriptor: (ILjava/lang/Object;)Landroid/os/Message;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.os.Handler this
        start local 1 // int what
        start local 2 // java.lang.Object obj
         0: .line 350
            aload 0 /* this */
            iload 1 /* what */
            aload 2 /* obj */
            invokestatic android.os.Message.obtain:(Landroid/os/Handler;ILjava/lang/Object;)Landroid/os/Message;
            areturn
        end local 2 // java.lang.Object obj
        end local 1 // int what
        end local 0 // android.os.Handler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/os/Handler;
            0    1     1  what  I
            0    1     2   obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      what  
      obj   

  public final android.os.Message obtainMessage(int, int, int);
    descriptor: (III)Landroid/os/Message;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // android.os.Handler this
        start local 1 // int what
        start local 2 // int arg1
        start local 3 // int arg2
         0: .line 364
            aload 0 /* this */
            iload 1 /* what */
            iload 2 /* arg1 */
            iload 3 /* arg2 */
            invokestatic android.os.Message.obtain:(Landroid/os/Handler;III)Landroid/os/Message;
            areturn
        end local 3 // int arg2
        end local 2 // int arg1
        end local 1 // int what
        end local 0 // android.os.Handler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/os/Handler;
            0    1     1  what  I
            0    1     2  arg1  I
            0    1     3  arg2  I
    MethodParameters:
      Name  Flags
      what  
      arg1  
      arg2  

  public final android.os.Message obtainMessage(int, int, int, java.lang.Object);
    descriptor: (IIILjava/lang/Object;)Landroid/os/Message;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // android.os.Handler this
        start local 1 // int what
        start local 2 // int arg1
        start local 3 // int arg2
        start local 4 // java.lang.Object obj
         0: .line 379
            aload 0 /* this */
            iload 1 /* what */
            iload 2 /* arg1 */
            iload 3 /* arg2 */
            aload 4 /* obj */
            invokestatic android.os.Message.obtain:(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
            areturn
        end local 4 // java.lang.Object obj
        end local 3 // int arg2
        end local 2 // int arg1
        end local 1 // int what
        end local 0 // android.os.Handler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/os/Handler;
            0    1     1  what  I
            0    1     2  arg1  I
            0    1     3  arg2  I
            0    1     4   obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      what  
      arg1  
      arg2  
      obj   

  public final boolean post(java.lang.Runnable);
    descriptor: (Ljava/lang/Runnable;)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.os.Handler this
        start local 1 // java.lang.Runnable r
         0: .line 395
            aload 0 /* this */
            aload 1 /* r */
            invokestatic android.os.Handler.getPostMessage:(Ljava/lang/Runnable;)Landroid/os/Message;
            lconst_0
            invokevirtual android.os.Handler.sendMessageDelayed:(Landroid/os/Message;J)Z
            ireturn
        end local 1 // java.lang.Runnable r
        end local 0 // android.os.Handler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/os/Handler;
            0    1     1     r  Ljava/lang/Runnable;
    MethodParameters:
      Name  Flags
      r     

  public final boolean postAtTime(java.lang.Runnable, long);
    descriptor: (Ljava/lang/Runnable;J)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // android.os.Handler this
        start local 1 // java.lang.Runnable r
        start local 2 // long uptimeMillis
         0: .line 418
            aload 0 /* this */
            aload 1 /* r */
            invokestatic android.os.Handler.getPostMessage:(Ljava/lang/Runnable;)Landroid/os/Message;
            lload 2 /* uptimeMillis */
            invokevirtual android.os.Handler.sendMessageAtTime:(Landroid/os/Message;J)Z
            ireturn
        end local 2 // long uptimeMillis
        end local 1 // java.lang.Runnable r
        end local 0 // android.os.Handler this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Landroid/os/Handler;
            0    1     1             r  Ljava/lang/Runnable;
            0    1     2  uptimeMillis  J
    MethodParameters:
              Name  Flags
      r             
      uptimeMillis  

  public final boolean postAtTime(java.lang.Runnable, java.lang.Object, long);
    descriptor: (Ljava/lang/Runnable;Ljava/lang/Object;J)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // android.os.Handler this
        start local 1 // java.lang.Runnable r
        start local 2 // java.lang.Object token
        start local 3 // long uptimeMillis
         0: .line 445
            aload 0 /* this */
            aload 1 /* r */
            aload 2 /* token */
            invokestatic android.os.Handler.getPostMessage:(Ljava/lang/Runnable;Ljava/lang/Object;)Landroid/os/Message;
            lload 3 /* uptimeMillis */
            invokevirtual android.os.Handler.sendMessageAtTime:(Landroid/os/Message;J)Z
            ireturn
        end local 3 // long uptimeMillis
        end local 2 // java.lang.Object token
        end local 1 // java.lang.Runnable r
        end local 0 // android.os.Handler this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Landroid/os/Handler;
            0    1     1             r  Ljava/lang/Runnable;
            0    1     2         token  Ljava/lang/Object;
            0    1     3  uptimeMillis  J
    MethodParameters:
              Name  Flags
      r             
      token         
      uptimeMillis  

  public final boolean postDelayed(java.lang.Runnable, long);
    descriptor: (Ljava/lang/Runnable;J)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // android.os.Handler this
        start local 1 // java.lang.Runnable r
        start local 2 // long delayMillis
         0: .line 469
            aload 0 /* this */
            aload 1 /* r */
            invokestatic android.os.Handler.getPostMessage:(Ljava/lang/Runnable;)Landroid/os/Message;
            lload 2 /* delayMillis */
            invokevirtual android.os.Handler.sendMessageDelayed:(Landroid/os/Message;J)Z
            ireturn
        end local 2 // long delayMillis
        end local 1 // java.lang.Runnable r
        end local 0 // android.os.Handler this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Landroid/os/Handler;
            0    1     1            r  Ljava/lang/Runnable;
            0    1     2  delayMillis  J
    MethodParameters:
             Name  Flags
      r            
      delayMillis  

  public final boolean postDelayed(java.lang.Runnable, java.lang.Object, long);
    descriptor: (Ljava/lang/Runnable;Ljava/lang/Object;J)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // android.os.Handler this
        start local 1 // java.lang.Runnable r
        start local 2 // java.lang.Object token
        start local 3 // long delayMillis
         0: .line 495
            aload 0 /* this */
            aload 1 /* r */
            aload 2 /* token */
            invokestatic android.os.Handler.getPostMessage:(Ljava/lang/Runnable;Ljava/lang/Object;)Landroid/os/Message;
            lload 3 /* delayMillis */
            invokevirtual android.os.Handler.sendMessageDelayed:(Landroid/os/Message;J)Z
            ireturn
        end local 3 // long delayMillis
        end local 2 // java.lang.Object token
        end local 1 // java.lang.Runnable r
        end local 0 // android.os.Handler this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Landroid/os/Handler;
            0    1     1            r  Ljava/lang/Runnable;
            0    1     2        token  Ljava/lang/Object;
            0    1     3  delayMillis  J
    MethodParameters:
             Name  Flags
      r            
      token        
      delayMillis  

  public final boolean postAtFrontOfQueue(java.lang.Runnable);
    descriptor: (Ljava/lang/Runnable;)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.os.Handler this
        start local 1 // java.lang.Runnable r
         0: .line 515
            aload 0 /* this */
            aload 1 /* r */
            invokestatic android.os.Handler.getPostMessage:(Ljava/lang/Runnable;)Landroid/os/Message;
            invokevirtual android.os.Handler.sendMessageAtFrontOfQueue:(Landroid/os/Message;)Z
            ireturn
        end local 1 // java.lang.Runnable r
        end local 0 // android.os.Handler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/os/Handler;
            0    1     1     r  Ljava/lang/Runnable;
    MethodParameters:
      Name  Flags
      r     

  public final boolean runWithScissors(java.lang.Runnable, long);
    descriptor: (Ljava/lang/Runnable;J)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // android.os.Handler this
        start local 1 // java.lang.Runnable r
        start local 2 // long timeout
         0: .line 559
            aload 1 /* r */
            ifnonnull 2
         1: .line 560
            new java.lang.IllegalArgumentException
            dup
            ldc "runnable must not be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 562
      StackMap locals:
      StackMap stack:
            lload 2 /* timeout */
            lconst_0
            lcmp
            ifge 4
         3: .line 563
            new java.lang.IllegalArgumentException
            dup
            ldc "timeout must be non-negative"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 566
      StackMap locals:
      StackMap stack:
            invokestatic android.os.Looper.myLooper:()Landroid/os/Looper;
            aload 0 /* this */
            getfield android.os.Handler.mLooper:Landroid/os/Looper;
            if_acmpne 7
         5: .line 567
            aload 1 /* r */
            invokeinterface java.lang.Runnable.run:()V
         6: .line 568
            iconst_1
            ireturn
         7: .line 571
      StackMap locals:
      StackMap stack:
            new android.os.Handler$BlockingRunnable
            dup
            aload 1 /* r */
            invokespecial android.os.Handler$BlockingRunnable.<init>:(Ljava/lang/Runnable;)V
            astore 4 /* br */
        start local 4 // android.os.Handler$BlockingRunnable br
         8: .line 572
            aload 4 /* br */
            aload 0 /* this */
            lload 2 /* timeout */
            invokevirtual android.os.Handler$BlockingRunnable.postAndWait:(Landroid/os/Handler;J)Z
            ireturn
        end local 4 // android.os.Handler$BlockingRunnable br
        end local 2 // long timeout
        end local 1 // java.lang.Runnable r
        end local 0 // android.os.Handler this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Landroid/os/Handler;
            0    9     1        r  Ljava/lang/Runnable;
            0    9     2  timeout  J
            8    9     4       br  Landroid/os/Handler$BlockingRunnable;
    MethodParameters:
         Name  Flags
      r        final
      timeout  

  public final void removeCallbacks(java.lang.Runnable);
    descriptor: (Ljava/lang/Runnable;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.os.Handler this
        start local 1 // java.lang.Runnable r
         0: .line 580
            aload 0 /* this */
            getfield android.os.Handler.mQueue:Landroid/os/MessageQueue;
            aload 0 /* this */
            aload 1 /* r */
            aconst_null
            invokevirtual android.os.MessageQueue.removeMessages:(Landroid/os/Handler;Ljava/lang/Runnable;Ljava/lang/Object;)V
         1: .line 581
            return
        end local 1 // java.lang.Runnable r
        end local 0 // android.os.Handler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/os/Handler;
            0    2     1     r  Ljava/lang/Runnable;
    MethodParameters:
      Name  Flags
      r     

  public final void removeCallbacks(java.lang.Runnable, java.lang.Object);
    descriptor: (Ljava/lang/Runnable;Ljava/lang/Object;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // android.os.Handler this
        start local 1 // java.lang.Runnable r
        start local 2 // java.lang.Object token
         0: .line 590
            aload 0 /* this */
            getfield android.os.Handler.mQueue:Landroid/os/MessageQueue;
            aload 0 /* this */
            aload 1 /* r */
            aload 2 /* token */
            invokevirtual android.os.MessageQueue.removeMessages:(Landroid/os/Handler;Ljava/lang/Runnable;Ljava/lang/Object;)V
         1: .line 591
            return
        end local 2 // java.lang.Object token
        end local 1 // java.lang.Runnable r
        end local 0 // android.os.Handler this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Landroid/os/Handler;
            0    2     1      r  Ljava/lang/Runnable;
            0    2     2  token  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      r      
      token  

  public final boolean sendMessage(android.os.Message);
    descriptor: (Landroid/os/Message;)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.os.Handler this
        start local 1 // android.os.Message msg
         0: .line 604
            aload 0 /* this */
            aload 1 /* msg */
            lconst_0
            invokevirtual android.os.Handler.sendMessageDelayed:(Landroid/os/Message;J)Z
            ireturn
        end local 1 // android.os.Message msg
        end local 0 // android.os.Handler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/os/Handler;
            0    1     1   msg  Landroid/os/Message;
    MethodParameters:
      Name  Flags
      msg   

  public final boolean sendEmptyMessage(int);
    descriptor: (I)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.os.Handler this
        start local 1 // int what
         0: .line 616
            aload 0 /* this */
            iload 1 /* what */
            lconst_0
            invokevirtual android.os.Handler.sendEmptyMessageDelayed:(IJ)Z
            ireturn
        end local 1 // int what
        end local 0 // android.os.Handler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/os/Handler;
            0    1     1  what  I
    MethodParameters:
      Name  Flags
      what  

  public final boolean sendEmptyMessageDelayed(int, long);
    descriptor: (IJ)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // android.os.Handler this
        start local 1 // int what
        start local 2 // long delayMillis
         0: .line 629
            invokestatic android.os.Message.obtain:()Landroid/os/Message;
            astore 4 /* msg */
        start local 4 // android.os.Message msg
         1: .line 630
            aload 4 /* msg */
            iload 1 /* what */
            putfield android.os.Message.what:I
         2: .line 631
            aload 0 /* this */
            aload 4 /* msg */
            lload 2 /* delayMillis */
            invokevirtual android.os.Handler.sendMessageDelayed:(Landroid/os/Message;J)Z
            ireturn
        end local 4 // android.os.Message msg
        end local 2 // long delayMillis
        end local 1 // int what
        end local 0 // android.os.Handler this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Landroid/os/Handler;
            0    3     1         what  I
            0    3     2  delayMillis  J
            1    3     4          msg  Landroid/os/Message;
    MethodParameters:
             Name  Flags
      what         
      delayMillis  

  public final boolean sendEmptyMessageAtTime(int, long);
    descriptor: (IJ)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // android.os.Handler this
        start local 1 // int what
        start local 2 // long uptimeMillis
         0: .line 645
            invokestatic android.os.Message.obtain:()Landroid/os/Message;
            astore 4 /* msg */
        start local 4 // android.os.Message msg
         1: .line 646
            aload 4 /* msg */
            iload 1 /* what */
            putfield android.os.Message.what:I
         2: .line 647
            aload 0 /* this */
            aload 4 /* msg */
            lload 2 /* uptimeMillis */
            invokevirtual android.os.Handler.sendMessageAtTime:(Landroid/os/Message;J)Z
            ireturn
        end local 4 // android.os.Message msg
        end local 2 // long uptimeMillis
        end local 1 // int what
        end local 0 // android.os.Handler this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Landroid/os/Handler;
            0    3     1          what  I
            0    3     2  uptimeMillis  J
            1    3     4           msg  Landroid/os/Message;
    MethodParameters:
              Name  Flags
      what          
      uptimeMillis  

  public final boolean sendMessageDelayed(android.os.Message, long);
    descriptor: (Landroid/os/Message;J)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // android.os.Handler this
        start local 1 // android.os.Message msg
        start local 2 // long delayMillis
         0: .line 664
            lload 2 /* delayMillis */
            lconst_0
            lcmp
            ifge 2
         1: .line 665
            lconst_0
            lstore 2 /* delayMillis */
         2: .line 667
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* msg */
            invokestatic android.os.SystemClock.uptimeMillis:()J
            lload 2 /* delayMillis */
            ladd
            invokevirtual android.os.Handler.sendMessageAtTime:(Landroid/os/Message;J)Z
            ireturn
        end local 2 // long delayMillis
        end local 1 // android.os.Message msg
        end local 0 // android.os.Handler this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Landroid/os/Handler;
            0    3     1          msg  Landroid/os/Message;
            0    3     2  delayMillis  J
    MethodParameters:
             Name  Flags
      msg          
      delayMillis  

  public boolean sendMessageAtTime(android.os.Message, long);
    descriptor: (Landroid/os/Message;J)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // android.os.Handler this
        start local 1 // android.os.Message msg
        start local 2 // long uptimeMillis
         0: .line 690
            aload 0 /* this */
            getfield android.os.Handler.mQueue:Landroid/os/MessageQueue;
            astore 4 /* queue */
        start local 4 // android.os.MessageQueue queue
         1: .line 691
            aload 4 /* queue */
            ifnonnull 7
         2: .line 692
            new java.lang.RuntimeException
            dup
         3: .line 693
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* this */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " sendMessageAtTime() called with no mQueue"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 692
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            astore 5 /* e */
        start local 5 // java.lang.RuntimeException e
         5: .line 694
            ldc "Looper"
            aload 5 /* e */
            invokevirtual java.lang.RuntimeException.getMessage:()Ljava/lang/String;
            aload 5 /* e */
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            pop
         6: .line 695
            iconst_0
            ireturn
        end local 5 // java.lang.RuntimeException e
         7: .line 697
      StackMap locals: android.os.MessageQueue
      StackMap stack:
            aload 0 /* this */
            aload 4 /* queue */
            aload 1 /* msg */
            lload 2 /* uptimeMillis */
            invokevirtual android.os.Handler.enqueueMessage:(Landroid/os/MessageQueue;Landroid/os/Message;J)Z
            ireturn
        end local 4 // android.os.MessageQueue queue
        end local 2 // long uptimeMillis
        end local 1 // android.os.Message msg
        end local 0 // android.os.Handler this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Landroid/os/Handler;
            0    8     1           msg  Landroid/os/Message;
            0    8     2  uptimeMillis  J
            1    8     4         queue  Landroid/os/MessageQueue;
            5    7     5             e  Ljava/lang/RuntimeException;
    MethodParameters:
              Name  Flags
      msg           
      uptimeMillis  

  public final boolean sendMessageAtFrontOfQueue(android.os.Message);
    descriptor: (Landroid/os/Message;)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // android.os.Handler this
        start local 1 // android.os.Message msg
         0: .line 713
            aload 0 /* this */
            getfield android.os.Handler.mQueue:Landroid/os/MessageQueue;
            astore 2 /* queue */
        start local 2 // android.os.MessageQueue queue
         1: .line 714
            aload 2 /* queue */
            ifnonnull 7
         2: .line 715
            new java.lang.RuntimeException
            dup
         3: .line 716
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* this */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " sendMessageAtTime() called with no mQueue"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 715
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            astore 3 /* e */
        start local 3 // java.lang.RuntimeException e
         5: .line 717
            ldc "Looper"
            aload 3 /* e */
            invokevirtual java.lang.RuntimeException.getMessage:()Ljava/lang/String;
            aload 3 /* e */
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            pop
         6: .line 718
            iconst_0
            ireturn
        end local 3 // java.lang.RuntimeException e
         7: .line 720
      StackMap locals: android.os.MessageQueue
      StackMap stack:
            aload 0 /* this */
            aload 2 /* queue */
            aload 1 /* msg */
            lconst_0
            invokevirtual android.os.Handler.enqueueMessage:(Landroid/os/MessageQueue;Landroid/os/Message;J)Z
            ireturn
        end local 2 // android.os.MessageQueue queue
        end local 1 // android.os.Message msg
        end local 0 // android.os.Handler this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Landroid/os/Handler;
            0    8     1    msg  Landroid/os/Message;
            1    8     2  queue  Landroid/os/MessageQueue;
            5    7     3      e  Ljava/lang/RuntimeException;
    MethodParameters:
      Name  Flags
      msg   

  public final boolean executeOrSendMessage(android.os.Message);
    descriptor: (Landroid/os/Message;)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.os.Handler this
        start local 1 // android.os.Message msg
         0: .line 733
            aload 0 /* this */
            getfield android.os.Handler.mLooper:Landroid/os/Looper;
            invokestatic android.os.Looper.myLooper:()Landroid/os/Looper;
            if_acmpne 3
         1: .line 734
            aload 0 /* this */
            aload 1 /* msg */
            invokevirtual android.os.Handler.dispatchMessage:(Landroid/os/Message;)V
         2: .line 735
            iconst_1
            ireturn
         3: .line 737
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* msg */
            invokevirtual android.os.Handler.sendMessage:(Landroid/os/Message;)Z
            ireturn
        end local 1 // android.os.Message msg
        end local 0 // android.os.Handler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/os/Handler;
            0    4     1   msg  Landroid/os/Message;
    MethodParameters:
      Name  Flags
      msg   

  private boolean enqueueMessage(android.os.MessageQueue, android.os.Message, long);
    descriptor: (Landroid/os/MessageQueue;Landroid/os/Message;J)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // android.os.Handler this
        start local 1 // android.os.MessageQueue queue
        start local 2 // android.os.Message msg
        start local 3 // long uptimeMillis
         0: .line 741
            aload 2 /* msg */
            aload 0 /* this */
            putfield android.os.Message.target:Landroid/os/Handler;
         1: .line 742
            aload 0 /* this */
            getfield android.os.Handler.mAsynchronous:Z
            ifeq 3
         2: .line 743
            aload 2 /* msg */
            iconst_1
            invokevirtual android.os.Message.setAsynchronous:(Z)V
         3: .line 745
      StackMap locals:
      StackMap stack:
            aload 1 /* queue */
            aload 2 /* msg */
            lload 3 /* uptimeMillis */
            invokevirtual android.os.MessageQueue.enqueueMessage:(Landroid/os/Message;J)Z
            ireturn
        end local 3 // long uptimeMillis
        end local 2 // android.os.Message msg
        end local 1 // android.os.MessageQueue queue
        end local 0 // android.os.Handler this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Landroid/os/Handler;
            0    4     1         queue  Landroid/os/MessageQueue;
            0    4     2           msg  Landroid/os/Message;
            0    4     3  uptimeMillis  J
    MethodParameters:
              Name  Flags
      queue         
      msg           
      uptimeMillis  

  public final void removeMessages(int);
    descriptor: (I)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.os.Handler this
        start local 1 // int what
         0: .line 753
            aload 0 /* this */
            getfield android.os.Handler.mQueue:Landroid/os/MessageQueue;
            aload 0 /* this */
            iload 1 /* what */
            aconst_null
            invokevirtual android.os.MessageQueue.removeMessages:(Landroid/os/Handler;ILjava/lang/Object;)V
         1: .line 754
            return
        end local 1 // int what
        end local 0 // android.os.Handler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/os/Handler;
            0    2     1  what  I
    MethodParameters:
      Name  Flags
      what  

  public final void removeMessages(int, java.lang.Object);
    descriptor: (ILjava/lang/Object;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // android.os.Handler this
        start local 1 // int what
        start local 2 // java.lang.Object object
         0: .line 762
            aload 0 /* this */
            getfield android.os.Handler.mQueue:Landroid/os/MessageQueue;
            aload 0 /* this */
            iload 1 /* what */
            aload 2 /* object */
            invokevirtual android.os.MessageQueue.removeMessages:(Landroid/os/Handler;ILjava/lang/Object;)V
         1: .line 763
            return
        end local 2 // java.lang.Object object
        end local 1 // int what
        end local 0 // android.os.Handler this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Landroid/os/Handler;
            0    2     1    what  I
            0    2     2  object  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      what    
      object  

  public final void removeCallbacksAndMessages(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.os.Handler this
        start local 1 // java.lang.Object token
         0: .line 771
            aload 0 /* this */
            getfield android.os.Handler.mQueue:Landroid/os/MessageQueue;
            aload 0 /* this */
            aload 1 /* token */
            invokevirtual android.os.MessageQueue.removeCallbacksAndMessages:(Landroid/os/Handler;Ljava/lang/Object;)V
         1: .line 772
            return
        end local 1 // java.lang.Object token
        end local 0 // android.os.Handler this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Landroid/os/Handler;
            0    2     1  token  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      token  

  public final boolean hasMessages(int);
    descriptor: (I)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.os.Handler this
        start local 1 // int what
         0: .line 779
            aload 0 /* this */
            getfield android.os.Handler.mQueue:Landroid/os/MessageQueue;
            aload 0 /* this */
            iload 1 /* what */
            aconst_null
            invokevirtual android.os.MessageQueue.hasMessages:(Landroid/os/Handler;ILjava/lang/Object;)Z
            ireturn
        end local 1 // int what
        end local 0 // android.os.Handler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/os/Handler;
            0    1     1  what  I
    MethodParameters:
      Name  Flags
      what  

  public final boolean hasMessagesOrCallbacks();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.os.Handler this
         0: .line 787
            aload 0 /* this */
            getfield android.os.Handler.mQueue:Landroid/os/MessageQueue;
            aload 0 /* this */
            invokevirtual android.os.MessageQueue.hasMessages:(Landroid/os/Handler;)Z
            ireturn
        end local 0 // android.os.Handler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/os/Handler;

  public final boolean hasMessages(int, java.lang.Object);
    descriptor: (ILjava/lang/Object;)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // android.os.Handler this
        start local 1 // int what
        start local 2 // java.lang.Object object
         0: .line 795
            aload 0 /* this */
            getfield android.os.Handler.mQueue:Landroid/os/MessageQueue;
            aload 0 /* this */
            iload 1 /* what */
            aload 2 /* object */
            invokevirtual android.os.MessageQueue.hasMessages:(Landroid/os/Handler;ILjava/lang/Object;)Z
            ireturn
        end local 2 // java.lang.Object object
        end local 1 // int what
        end local 0 // android.os.Handler this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Landroid/os/Handler;
            0    1     1    what  I
            0    1     2  object  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      what    
      object  

  public final boolean hasCallbacks(java.lang.Runnable);
    descriptor: (Ljava/lang/Runnable;)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.os.Handler this
        start local 1 // java.lang.Runnable r
         0: .line 805
            aload 0 /* this */
            getfield android.os.Handler.mQueue:Landroid/os/MessageQueue;
            aload 0 /* this */
            aload 1 /* r */
            aconst_null
            invokevirtual android.os.MessageQueue.hasMessages:(Landroid/os/Handler;Ljava/lang/Runnable;Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.Runnable r
        end local 0 // android.os.Handler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/os/Handler;
            0    1     1     r  Ljava/lang/Runnable;
    MethodParameters:
      Name  Flags
      r     

  public final android.os.Looper getLooper();
    descriptor: ()Landroid/os/Looper;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.os.Handler this
         0: .line 811
            aload 0 /* this */
            getfield android.os.Handler.mLooper:Landroid/os/Looper;
            areturn
        end local 0 // android.os.Handler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/os/Handler;

  public final void dump(android.util.Printer, java.lang.String);
    descriptor: (Landroid/util/Printer;Ljava/lang/String;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // android.os.Handler this
        start local 1 // android.util.Printer pw
        start local 2 // java.lang.String prefix
         0: .line 815
            aload 1 /* pw */
            new java.lang.StringBuilder
            dup
            aload 2 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " @ "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokestatic android.os.SystemClock.uptimeMillis:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface android.util.Printer.println:(Ljava/lang/String;)V
         1: .line 816
            aload 0 /* this */
            getfield android.os.Handler.mLooper:Landroid/os/Looper;
            ifnonnull 4
         2: .line 817
            aload 1 /* pw */
            new java.lang.StringBuilder
            dup
            aload 2 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "looper uninitialized"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface android.util.Printer.println:(Ljava/lang/String;)V
         3: .line 818
            goto 5
         4: .line 819
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.os.Handler.mLooper:Landroid/os/Looper;
            aload 1 /* pw */
            new java.lang.StringBuilder
            dup
            aload 2 /* prefix */
            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;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual android.os.Looper.dump:(Landroid/util/Printer;Ljava/lang/String;)V
         5: .line 821
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String prefix
        end local 1 // android.util.Printer pw
        end local 0 // android.os.Handler this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Landroid/os/Handler;
            0    6     1      pw  Landroid/util/Printer;
            0    6     2  prefix  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      pw      
      prefix  

  public final void dumpMine(android.util.Printer, java.lang.String);
    descriptor: (Landroid/util/Printer;Ljava/lang/String;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // android.os.Handler this
        start local 1 // android.util.Printer pw
        start local 2 // java.lang.String prefix
         0: .line 827
            aload 1 /* pw */
            new java.lang.StringBuilder
            dup
            aload 2 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " @ "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokestatic android.os.SystemClock.uptimeMillis:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface android.util.Printer.println:(Ljava/lang/String;)V
         1: .line 828
            aload 0 /* this */
            getfield android.os.Handler.mLooper:Landroid/os/Looper;
            ifnonnull 4
         2: .line 829
            aload 1 /* pw */
            new java.lang.StringBuilder
            dup
            aload 2 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "looper uninitialized"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface android.util.Printer.println:(Ljava/lang/String;)V
         3: .line 830
            goto 5
         4: .line 831
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.os.Handler.mLooper:Landroid/os/Looper;
            aload 1 /* pw */
            new java.lang.StringBuilder
            dup
            aload 2 /* prefix */
            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;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 0 /* this */
            invokevirtual android.os.Looper.dump:(Landroid/util/Printer;Ljava/lang/String;Landroid/os/Handler;)V
         5: .line 833
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String prefix
        end local 1 // android.util.Printer pw
        end local 0 // android.os.Handler this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Landroid/os/Handler;
            0    6     1      pw  Landroid/util/Printer;
            0    6     2  prefix  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      pw      
      prefix  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.os.Handler this
         0: .line 837
            new java.lang.StringBuilder
            dup
            ldc "Handler ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ") {"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         1: .line 838
            aload 0 /* this */
            invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 839
            ldc "}"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 837
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // android.os.Handler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/os/Handler;

  final android.os.IMessenger getIMessenger();
    descriptor: ()Landroid/os/IMessenger;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // android.os.Handler this
         0: .line 843
            aload 0 /* this */
            getfield android.os.Handler.mQueue:Landroid/os/MessageQueue;
            dup
            astore 1
            monitorenter
         1: .line 844
            aload 0 /* this */
            getfield android.os.Handler.mMessenger:Landroid/os/IMessenger;
            ifnull 4
         2: .line 845
            aload 0 /* this */
            getfield android.os.Handler.mMessenger:Landroid/os/IMessenger;
            aload 1
            monitorexit
         3: areturn
         4: .line 847
      StackMap locals: android.os.MessageQueue
      StackMap stack:
            aload 0 /* this */
            new android.os.Handler$MessengerImpl
            dup
            aload 0 /* this */
            invokespecial android.os.Handler$MessengerImpl.<init>:(Landroid/os/Handler;)V
            putfield android.os.Handler.mMessenger:Landroid/os/IMessenger;
         5: .line 848
            aload 0 /* this */
            getfield android.os.Handler.mMessenger:Landroid/os/IMessenger;
            aload 1
            monitorexit
         6: areturn
         7: .line 843
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         8: athrow
        end local 0 // android.os.Handler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Landroid/os/Handler;
      Exception table:
        from    to  target  type
           1     3       7  any
           4     6       7  any
           7     8       7  any

  private static android.os.Message getPostMessage(java.lang.Runnable);
    descriptor: (Ljava/lang/Runnable;)Landroid/os/Message;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.Runnable r
         0: .line 860
            invokestatic android.os.Message.obtain:()Landroid/os/Message;
            astore 1 /* m */
        start local 1 // android.os.Message m
         1: .line 861
            aload 1 /* m */
            aload 0 /* r */
            putfield android.os.Message.callback:Ljava/lang/Runnable;
         2: .line 862
            aload 1 /* m */
            areturn
        end local 1 // android.os.Message m
        end local 0 // java.lang.Runnable r
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     r  Ljava/lang/Runnable;
            1    3     1     m  Landroid/os/Message;
    MethodParameters:
      Name  Flags
      r     

  private static android.os.Message getPostMessage(java.lang.Runnable, java.lang.Object);
    descriptor: (Ljava/lang/Runnable;Ljava/lang/Object;)Landroid/os/Message;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.Runnable r
        start local 1 // java.lang.Object token
         0: .line 866
            invokestatic android.os.Message.obtain:()Landroid/os/Message;
            astore 2 /* m */
        start local 2 // android.os.Message m
         1: .line 867
            aload 2 /* m */
            aload 1 /* token */
            putfield android.os.Message.obj:Ljava/lang/Object;
         2: .line 868
            aload 2 /* m */
            aload 0 /* r */
            putfield android.os.Message.callback:Ljava/lang/Runnable;
         3: .line 869
            aload 2 /* m */
            areturn
        end local 2 // android.os.Message m
        end local 1 // java.lang.Object token
        end local 0 // java.lang.Runnable r
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0      r  Ljava/lang/Runnable;
            0    4     1  token  Ljava/lang/Object;
            1    4     2      m  Landroid/os/Message;
    MethodParameters:
       Name  Flags
      r      
      token  

  private static void handleCallback(android.os.Message);
    descriptor: (Landroid/os/Message;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.os.Message message
         0: .line 873
            aload 0 /* message */
            getfield android.os.Message.callback:Ljava/lang/Runnable;
            invokeinterface java.lang.Runnable.run:()V
         1: .line 874
            return
        end local 0 // android.os.Message message
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  message  Landroid/os/Message;
    MethodParameters:
         Name  Flags
      message  
}
SourceFile: "Handler.java"
NestMembers:
  android.os.Handler$BlockingRunnable  android.os.Handler$Callback  android.os.Handler$MessengerImpl
InnerClasses:
  private final BlockingRunnable = android.os.Handler$BlockingRunnable of android.os.Handler
  public abstract Callback = android.os.Handler$Callback of android.os.Handler
  private final MessengerImpl = android.os.Handler$MessengerImpl of android.os.Handler