public final class android.os.Looper
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: android.os.Looper
  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: "Looper"

  static final java.lang.ThreadLocal<android.os.Looper> sThreadLocal;
    descriptor: Ljava/lang/ThreadLocal;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/ThreadLocal<Landroid/os/Looper;>;

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

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

  final java.lang.Thread mThread;
    descriptor: Ljava/lang/Thread;
    flags: (0x0010) ACC_FINAL

  private android.util.Printer mLogging;
    descriptor: Landroid/util/Printer;
    flags: (0x0002) ACC_PRIVATE

  private long mTraceTag;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private long mSlowDispatchThresholdMs;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private long mSlowDeliveryThresholdMs;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 71
            new java.lang.ThreadLocal
            dup
            invokespecial java.lang.ThreadLocal.<init>:()V
            putstatic android.os.Looper.sThreadLocal:Ljava/lang/ThreadLocal;
         1: .line 72
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static void prepare();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 98
            iconst_1
            invokestatic android.os.Looper.prepare:(Z)V
         1: .line 99
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void prepare(boolean);
    descriptor: (Z)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // boolean quitAllowed
         0: .line 102
            getstatic android.os.Looper.sThreadLocal:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            ifnull 2
         1: .line 103
            new java.lang.RuntimeException
            dup
            ldc "Only one Looper may be created per thread"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 105
      StackMap locals:
      StackMap stack:
            getstatic android.os.Looper.sThreadLocal:Ljava/lang/ThreadLocal;
            new android.os.Looper
            dup
            iload 0 /* quitAllowed */
            invokespecial android.os.Looper.<init>:(Z)V
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
         3: .line 106
            return
        end local 0 // boolean quitAllowed
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0  quitAllowed  Z
    MethodParameters:
             Name  Flags
      quitAllowed  

  public static void prepareMainLooper();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 115
            iconst_0
            invokestatic android.os.Looper.prepare:(Z)V
         1: .line 116
            ldc Landroid/os/Looper;
            dup
            astore 0
            monitorenter
         2: .line 117
            getstatic android.os.Looper.sMainLooper:Landroid/os/Looper;
            ifnull 4
         3: .line 118
            new java.lang.IllegalStateException
            dup
            ldc "The main Looper has already been prepared."
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 120
      StackMap locals: java.lang.Class
      StackMap stack:
            invokestatic android.os.Looper.myLooper:()Landroid/os/Looper;
            putstatic android.os.Looper.sMainLooper:Landroid/os/Looper;
         5: .line 116
            aload 0
            monitorexit
         6: goto 9
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: aload 0
            monitorexit
         8: athrow
         9: .line 122
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     6       7  any
           7     8       7  any

  public static android.os.Looper getMainLooper();
    descriptor: ()Landroid/os/Looper;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 128
            ldc Landroid/os/Looper;
            dup
            astore 0
            monitorenter
         1: .line 129
            getstatic android.os.Looper.sMainLooper:Landroid/os/Looper;
            aload 0
            monitorexit
         2: areturn
         3: .line 128
      StackMap locals: java.lang.Class
      StackMap stack: java.lang.Throwable
            aload 0
            monitorexit
         4: athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           1     2       3  any
           3     4       3  any

  public static void loop();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=24, args_size=0
         0: .line 138
            invokestatic android.os.Looper.myLooper:()Landroid/os/Looper;
            astore 0 /* me */
        start local 0 // android.os.Looper me
         1: .line 139
            aload 0 /* me */
            ifnonnull 3
         2: .line 140
            new java.lang.RuntimeException
            dup
            ldc "No Looper; Looper.prepare() wasn't called on this thread."
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 142
      StackMap locals: android.os.Looper
      StackMap stack:
            aload 0 /* me */
            getfield android.os.Looper.mQueue:Landroid/os/MessageQueue;
            astore 1 /* queue */
        start local 1 // android.os.MessageQueue queue
         4: .line 146
            invokestatic android.os.Binder.clearCallingIdentity:()J
            pop2
         5: .line 147
            invokestatic android.os.Binder.clearCallingIdentity:()J
            lstore 2 /* ident */
        start local 2 // long ident
         6: .line 152
            new java.lang.StringBuilder
            dup
            ldc "log.looper."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         7: .line 153
            invokestatic android.os.Process.myUid:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 154
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 155
            ldc ".slow"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 152
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 155
            iconst_0
        12: .line 152
            invokestatic android.os.SystemProperties.getInt:(Ljava/lang/String;I)I
        13: .line 151
            istore 4 /* thresholdOverride */
        start local 4 // int thresholdOverride
        14: .line 157
            iconst_0
            istore 5 /* slowDeliveryDetected */
        start local 5 // boolean slowDeliveryDetected
        15: .line 160
      StackMap locals: android.os.Looper android.os.MessageQueue long int int
      StackMap stack:
            aload 1 /* queue */
            invokevirtual android.os.MessageQueue.next:()Landroid/os/Message;
            astore 6 /* msg */
        start local 6 // android.os.Message msg
        16: .line 161
            aload 6 /* msg */
            ifnonnull 18
        17: .line 163
            return
        18: .line 167
      StackMap locals: android.os.Message
      StackMap stack:
            aload 0 /* me */
            getfield android.os.Looper.mLogging:Landroid/util/Printer;
            astore 7 /* logging */
        start local 7 // android.util.Printer logging
        19: .line 168
            aload 7 /* logging */
            ifnull 23
        20: .line 169
            aload 7 /* logging */
            new java.lang.StringBuilder
            dup
            ldc ">>>>> Dispatching to "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* msg */
            getfield android.os.Message.target:Landroid/os/Handler;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        21: .line 170
            aload 6 /* msg */
            getfield android.os.Message.callback:Ljava/lang/Runnable;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* msg */
            getfield android.os.Message.what:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        22: .line 169
            invokeinterface android.util.Printer.println:(Ljava/lang/String;)V
        23: .line 173
      StackMap locals: android.util.Printer
      StackMap stack:
            aload 0 /* me */
            getfield android.os.Looper.mTraceTag:J
            lstore 8 /* traceTag */
        start local 8 // long traceTag
        24: .line 174
            aload 0 /* me */
            getfield android.os.Looper.mSlowDispatchThresholdMs:J
            lstore 10 /* slowDispatchThresholdMs */
        start local 10 // long slowDispatchThresholdMs
        25: .line 175
            aload 0 /* me */
            getfield android.os.Looper.mSlowDeliveryThresholdMs:J
            lstore 12 /* slowDeliveryThresholdMs */
        start local 12 // long slowDeliveryThresholdMs
        26: .line 176
            iload 4 /* thresholdOverride */
            ifle 29
        27: .line 177
            iload 4 /* thresholdOverride */
            i2l
            lstore 10 /* slowDispatchThresholdMs */
        28: .line 178
            iload 4 /* thresholdOverride */
            i2l
            lstore 12 /* slowDeliveryThresholdMs */
        29: .line 180
      StackMap locals: long long long
      StackMap stack:
            lload 12 /* slowDeliveryThresholdMs */
            lconst_0
            lcmp
            ifle 30
            aload 6 /* msg */
            getfield android.os.Message.when:J
            lconst_0
            lcmp
            ifle 30
            iconst_1
            goto 31
      StackMap locals:
      StackMap stack:
        30: iconst_0
      StackMap locals:
      StackMap stack: int
        31: istore 14 /* logSlowDelivery */
        start local 14 // boolean logSlowDelivery
        32: .line 181
            lload 10 /* slowDispatchThresholdMs */
            lconst_0
            lcmp
            ifle 33
            iconst_1
            goto 34
      StackMap locals: int
      StackMap stack:
        33: iconst_0
      StackMap locals:
      StackMap stack: int
        34: istore 15 /* logSlowDispatch */
        start local 15 // boolean logSlowDispatch
        35: .line 183
            iload 14 /* logSlowDelivery */
            ifne 36
            iload 15 /* logSlowDispatch */
            ifne 36
            iconst_0
            goto 37
      StackMap locals: int
      StackMap stack:
        36: iconst_1
      StackMap locals:
      StackMap stack: int
        37: istore 16 /* needStartTime */
        start local 16 // boolean needStartTime
        38: .line 184
            iload 15 /* logSlowDispatch */
            istore 17 /* needEndTime */
        start local 17 // boolean needEndTime
        39: .line 186
            lload 8 /* traceTag */
            lconst_0
            lcmp
            ifeq 41
            lload 8 /* traceTag */
            invokestatic android.os.Trace.isTagEnabled:(J)Z
            ifeq 41
        40: .line 187
            lload 8 /* traceTag */
            aload 6 /* msg */
            getfield android.os.Message.target:Landroid/os/Handler;
            aload 6 /* msg */
            invokevirtual android.os.Handler.getTraceName:(Landroid/os/Message;)Ljava/lang/String;
            invokestatic android.os.Trace.traceBegin:(JLjava/lang/String;)V
        41: .line 190
      StackMap locals: int int
      StackMap stack:
            iload 16 /* needStartTime */
            ifeq 42
            invokestatic android.os.SystemClock.uptimeMillis:()J
            goto 43
      StackMap locals:
      StackMap stack:
        42: lconst_0
      StackMap locals:
      StackMap stack: long
        43: lstore 18 /* dispatchStart */
        start local 18 // long dispatchStart
        44: .line 193
            aload 6 /* msg */
            getfield android.os.Message.target:Landroid/os/Handler;
            aload 6 /* msg */
            invokevirtual android.os.Handler.dispatchMessage:(Landroid/os/Message;)V
        45: .line 194
            iload 17 /* needEndTime */
            ifeq 46
            invokestatic android.os.SystemClock.uptimeMillis:()J
            goto 47
      StackMap locals: long
      StackMap stack:
        46: lconst_0
      StackMap locals:
      StackMap stack: long
        47: lstore 20 /* dispatchEnd */
        start local 20 // long dispatchEnd
        48: .line 195
            goto 53
        end local 20 // long dispatchEnd
      StackMap locals:
      StackMap stack: java.lang.Throwable
        49: astore 22
        50: .line 196
            lload 8 /* traceTag */
            lconst_0
            lcmp
            ifeq 52
        51: .line 197
            lload 8 /* traceTag */
            invokestatic android.os.Trace.traceEnd:(J)V
        52: .line 199
      StackMap locals: android.os.Looper android.os.MessageQueue long int int android.os.Message android.util.Printer long long long int int int int long top top java.lang.Throwable
      StackMap stack:
            aload 22
            athrow
        start local 20 // long dispatchEnd
        53: .line 196
      StackMap locals: android.os.Looper android.os.MessageQueue long int int android.os.Message android.util.Printer long long long int int int int long long
      StackMap stack:
            lload 8 /* traceTag */
            lconst_0
            lcmp
            ifeq 55
        54: .line 197
            lload 8 /* traceTag */
            invokestatic android.os.Trace.traceEnd:(J)V
        55: .line 200
      StackMap locals:
      StackMap stack:
            iload 14 /* logSlowDelivery */
            ifeq 66
        56: .line 201
            iload 5 /* slowDeliveryDetected */
            ifeq 61
        57: .line 202
            lload 18 /* dispatchStart */
            aload 6 /* msg */
            getfield android.os.Message.when:J
            lsub
            ldc 10
            lcmp
            ifgt 66
        58: .line 203
            ldc "Looper"
            ldc "Drained"
            invokestatic android.util.Slog.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        59: .line 204
            iconst_0
            istore 5 /* slowDeliveryDetected */
        60: .line 206
            goto 66
        61: .line 207
      StackMap locals:
      StackMap stack:
            lload 12 /* slowDeliveryThresholdMs */
            aload 6 /* msg */
            getfield android.os.Message.when:J
            lload 18 /* dispatchStart */
            ldc "delivery"
        62: .line 208
            aload 6 /* msg */
        63: .line 207
            invokestatic android.os.Looper.showSlowLog:(JJJLjava/lang/String;Landroid/os/Message;)Z
        64: .line 208
            ifeq 66
        65: .line 210
            iconst_1
            istore 5 /* slowDeliveryDetected */
        66: .line 214
      StackMap locals:
      StackMap stack:
            iload 15 /* logSlowDispatch */
            ifeq 68
        67: .line 215
            lload 10 /* slowDispatchThresholdMs */
            lload 18 /* dispatchStart */
            lload 20 /* dispatchEnd */
            ldc "dispatch"
            aload 6 /* msg */
            invokestatic android.os.Looper.showSlowLog:(JJJLjava/lang/String;Landroid/os/Message;)Z
            pop
        68: .line 218
      StackMap locals:
      StackMap stack:
            aload 7 /* logging */
            ifnull 70
        69: .line 219
            aload 7 /* logging */
            new java.lang.StringBuilder
            dup
            ldc "<<<<< Finished to "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* msg */
            getfield android.os.Message.target:Landroid/os/Handler;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* msg */
            getfield android.os.Message.callback:Ljava/lang/Runnable;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface android.util.Printer.println:(Ljava/lang/String;)V
        70: .line 224
      StackMap locals:
      StackMap stack:
            invokestatic android.os.Binder.clearCallingIdentity:()J
            lstore 22 /* newIdent */
        start local 22 // long newIdent
        71: .line 225
            lload 2 /* ident */
            lload 22 /* newIdent */
            lcmp
            ifeq 78
        72: .line 226
            ldc "Looper"
            new java.lang.StringBuilder
            dup
            ldc "Thread identity changed from 0x"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        73: .line 227
            lload 2 /* ident */
            invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " to 0x"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        74: .line 228
            lload 22 /* newIdent */
            invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " while dispatching to "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        75: .line 229
            aload 6 /* msg */
            getfield android.os.Message.target:Landroid/os/Handler;
            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;
        76: .line 230
            aload 6 /* msg */
            getfield android.os.Message.callback:Ljava/lang/Runnable;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " what="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* msg */
            getfield android.os.Message.what:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        77: .line 226
            invokestatic android.util.Log.wtf:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        78: .line 233
      StackMap locals: long
      StackMap stack:
            aload 6 /* msg */
            invokevirtual android.os.Message.recycleUnchecked:()V
        end local 22 // long newIdent
        end local 20 // long dispatchEnd
        end local 18 // long dispatchStart
        end local 17 // boolean needEndTime
        end local 16 // boolean needStartTime
        end local 15 // boolean logSlowDispatch
        end local 14 // boolean logSlowDelivery
        end local 12 // long slowDeliveryThresholdMs
        end local 10 // long slowDispatchThresholdMs
        end local 8 // long traceTag
        end local 7 // android.util.Printer logging
        end local 6 // android.os.Message msg
        79: .line 159
            goto 15
        end local 5 // boolean slowDeliveryDetected
        end local 4 // int thresholdOverride
        end local 2 // long ident
        end local 1 // android.os.MessageQueue queue
        end local 0 // android.os.Looper me
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            1   80     0                       me  Landroid/os/Looper;
            4   80     1                    queue  Landroid/os/MessageQueue;
            6   80     2                    ident  J
           14   80     4        thresholdOverride  I
           15   80     5     slowDeliveryDetected  Z
           16   79     6                      msg  Landroid/os/Message;
           19   79     7                  logging  Landroid/util/Printer;
           24   79     8                 traceTag  J
           25   79    10  slowDispatchThresholdMs  J
           26   79    12  slowDeliveryThresholdMs  J
           32   79    14          logSlowDelivery  Z
           35   79    15          logSlowDispatch  Z
           38   79    16            needStartTime  Z
           39   79    17              needEndTime  Z
           44   79    18            dispatchStart  J
           48   49    20              dispatchEnd  J
           53   79    20              dispatchEnd  J
           71   79    22                 newIdent  J
      Exception table:
        from    to  target  type
          44    49      49  any

  private static boolean showSlowLog(long, long, long, java.lang.String, android.os.Message);
    descriptor: (JJJLjava/lang/String;Landroid/os/Message;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=10, args_size=5
        start local 0 // long threshold
        start local 2 // long measureStart
        start local 4 // long measureEnd
        start local 6 // java.lang.String what
        start local 7 // android.os.Message msg
         0: .line 239
            lload 4 /* measureEnd */
            lload 2 /* measureStart */
            lsub
            lstore 8 /* actualTime */
        start local 8 // long actualTime
         1: .line 240
            lload 8 /* actualTime */
            lload 0 /* threshold */
            lcmp
            ifge 3
         2: .line 241
            iconst_0
            ireturn
         3: .line 244
      StackMap locals: long
      StackMap stack:
            ldc "Looper"
            new java.lang.StringBuilder
            dup
            ldc "Slow "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* what */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " took "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 8 /* actualTime */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc "ms "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 245
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " h="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 246
            aload 7 /* msg */
            getfield android.os.Message.target:Landroid/os/Handler;
            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 " c="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* msg */
            getfield android.os.Message.callback:Ljava/lang/Runnable;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " m="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* msg */
            getfield android.os.Message.what:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 244
            invokestatic android.util.Slog.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         7: .line 247
            iconst_1
            ireturn
        end local 8 // long actualTime
        end local 7 // android.os.Message msg
        end local 6 // java.lang.String what
        end local 4 // long measureEnd
        end local 2 // long measureStart
        end local 0 // long threshold
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0     threshold  J
            0    8     2  measureStart  J
            0    8     4    measureEnd  J
            0    8     6          what  Ljava/lang/String;
            0    8     7           msg  Landroid/os/Message;
            1    8     8    actualTime  J
    MethodParameters:
              Name  Flags
      threshold     
      measureStart  
      measureEnd    
      what          
      msg           

  public static android.os.Looper myLooper();
    descriptor: ()Landroid/os/Looper;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 255
            getstatic android.os.Looper.sThreadLocal:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast android.os.Looper
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static android.os.MessageQueue myQueue();
    descriptor: ()Landroid/os/MessageQueue;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 264
            invokestatic android.os.Looper.myLooper:()Landroid/os/Looper;
            getfield android.os.Looper.mQueue:Landroid/os/MessageQueue;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(boolean);
    descriptor: (Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.os.Looper this
        start local 1 // boolean quitAllowed
         0: .line 267
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 268
            aload 0 /* this */
            new android.os.MessageQueue
            dup
            iload 1 /* quitAllowed */
            invokespecial android.os.MessageQueue.<init>:(Z)V
            putfield android.os.Looper.mQueue:Landroid/os/MessageQueue;
         2: .line 269
            aload 0 /* this */
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            putfield android.os.Looper.mThread:Ljava/lang/Thread;
         3: .line 270
            return
        end local 1 // boolean quitAllowed
        end local 0 // android.os.Looper this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Landroid/os/Looper;
            0    4     1  quitAllowed  Z
    MethodParameters:
             Name  Flags
      quitAllowed  

  public boolean isCurrentThread();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.os.Looper this
         0: .line 276
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            aload 0 /* this */
            getfield android.os.Looper.mThread:Ljava/lang/Thread;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // android.os.Looper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/os/Looper;

  public void setMessageLogging(android.util.Printer);
    descriptor: (Landroid/util/Printer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.os.Looper this
        start local 1 // android.util.Printer printer
         0: .line 289
            aload 0 /* this */
            aload 1 /* printer */
            putfield android.os.Looper.mLogging:Landroid/util/Printer;
         1: .line 290
            return
        end local 1 // android.util.Printer printer
        end local 0 // android.os.Looper this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Landroid/os/Looper;
            0    2     1  printer  Landroid/util/Printer;
    MethodParameters:
         Name  Flags
      printer  

  public void setTraceTag(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.os.Looper this
        start local 1 // long traceTag
         0: .line 294
            aload 0 /* this */
            lload 1 /* traceTag */
            putfield android.os.Looper.mTraceTag:J
         1: .line 295
            return
        end local 1 // long traceTag
        end local 0 // android.os.Looper this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Landroid/os/Looper;
            0    2     1  traceTag  J
    MethodParameters:
          Name  Flags
      traceTag  

  public void setSlowLogThresholdMs(long, long);
    descriptor: (JJ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // android.os.Looper this
        start local 1 // long slowDispatchThresholdMs
        start local 3 // long slowDeliveryThresholdMs
         0: .line 302
            aload 0 /* this */
            lload 1 /* slowDispatchThresholdMs */
            putfield android.os.Looper.mSlowDispatchThresholdMs:J
         1: .line 303
            aload 0 /* this */
            lload 3 /* slowDeliveryThresholdMs */
            putfield android.os.Looper.mSlowDeliveryThresholdMs:J
         2: .line 304
            return
        end local 3 // long slowDeliveryThresholdMs
        end local 1 // long slowDispatchThresholdMs
        end local 0 // android.os.Looper this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    3     0                     this  Landroid/os/Looper;
            0    3     1  slowDispatchThresholdMs  J
            0    3     3  slowDeliveryThresholdMs  J
    MethodParameters:
                         Name  Flags
      slowDispatchThresholdMs  
      slowDeliveryThresholdMs  

  public void quit();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.os.Looper this
         0: .line 323
            aload 0 /* this */
            getfield android.os.Looper.mQueue:Landroid/os/MessageQueue;
            iconst_0
            invokevirtual android.os.MessageQueue.quit:(Z)V
         1: .line 324
            return
        end local 0 // android.os.Looper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/os/Looper;

  public void quitSafely();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.os.Looper this
         0: .line 339
            aload 0 /* this */
            getfield android.os.Looper.mQueue:Landroid/os/MessageQueue;
            iconst_1
            invokevirtual android.os.MessageQueue.quit:(Z)V
         1: .line 340
            return
        end local 0 // android.os.Looper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/os/Looper;

  public java.lang.Thread getThread();
    descriptor: ()Ljava/lang/Thread;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.os.Looper this
         0: .line 348
            aload 0 /* this */
            getfield android.os.Looper.mThread:Ljava/lang/Thread;
            areturn
        end local 0 // android.os.Looper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/os/Looper;

  public android.os.MessageQueue getQueue();
    descriptor: ()Landroid/os/MessageQueue;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.os.Looper this
         0: .line 357
            aload 0 /* this */
            getfield android.os.Looper.mQueue:Landroid/os/MessageQueue;
            areturn
        end local 0 // android.os.Looper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/os/Looper;

  public void dump(android.util.Printer, java.lang.String);
    descriptor: (Landroid/util/Printer;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // android.os.Looper this
        start local 1 // android.util.Printer pw
        start local 2 // java.lang.String prefix
         0: .line 367
            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 android.os.Looper.toString:()Ljava/lang/String;
            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
         1: .line 368
            aload 0 /* this */
            getfield android.os.Looper.mQueue:Landroid/os/MessageQueue;
            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;
            aconst_null
            invokevirtual android.os.MessageQueue.dump:(Landroid/util/Printer;Ljava/lang/String;Landroid/os/Handler;)V
         2: .line 369
            return
        end local 2 // java.lang.String prefix
        end local 1 // android.util.Printer pw
        end local 0 // android.os.Looper this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Landroid/os/Looper;
            0    3     1      pw  Landroid/util/Printer;
            0    3     2  prefix  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      pw      
      prefix  

  public void dump(android.util.Printer, java.lang.String, android.os.Handler);
    descriptor: (Landroid/util/Printer;Ljava/lang/String;Landroid/os/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // android.os.Looper this
        start local 1 // android.util.Printer pw
        start local 2 // java.lang.String prefix
        start local 3 // android.os.Handler handler
         0: .line 380
            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 android.os.Looper.toString:()Ljava/lang/String;
            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
         1: .line 381
            aload 0 /* this */
            getfield android.os.Looper.mQueue:Landroid/os/MessageQueue;
            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 3 /* handler */
            invokevirtual android.os.MessageQueue.dump:(Landroid/util/Printer;Ljava/lang/String;Landroid/os/Handler;)V
         2: .line 382
            return
        end local 3 // android.os.Handler handler
        end local 2 // java.lang.String prefix
        end local 1 // android.util.Printer pw
        end local 0 // android.os.Looper this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Landroid/os/Looper;
            0    3     1       pw  Landroid/util/Printer;
            0    3     2   prefix  Ljava/lang/String;
            0    3     3  handler  Landroid/os/Handler;
    MethodParameters:
         Name  Flags
      pw       
      prefix   
      handler  

  public void writeToProto(android.util.proto.ProtoOutputStream, long);
    descriptor: (Landroid/util/proto/ProtoOutputStream;J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // android.os.Looper this
         0: .line 387
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tLooperProto cannot be resolved to a variable\n\tLooperProto cannot be resolved to a variable\n\tLooperProto cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.os.Looper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/os/Looper;
    MethodParameters:
         Name  Flags
      proto    
      fieldId  

  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.Looper this
         0: .line 395
            new java.lang.StringBuilder
            dup
            ldc "Looper ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield android.os.Looper.mThread:Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ", tid "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield android.os.Looper.mThread:Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getId:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
         1: .line 396
            ldc ") {"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            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;
            ldc "}"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 395
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // android.os.Looper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/os/Looper;
}
SourceFile: "Looper.java"