public final class com.android.internal.os.BackgroundThread extends android.os.HandlerThread
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.android.internal.os.BackgroundThread
  super_class: android.os.HandlerThread
{
  private static final long SLOW_DISPATCH_THRESHOLD_MS;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 10000

  private static final long SLOW_DELIVERY_THRESHOLD_MS;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 30000

  private static com.android.internal.os.BackgroundThread sInstance;
    descriptor: Lcom/android/internal/os/BackgroundThread;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

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

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.android.internal.os.BackgroundThread this
         0: .line 34
            aload 0 /* this */
            ldc "android.bg"
            bipush 10
            invokespecial android.os.HandlerThread.<init>:(Ljava/lang/String;I)V
         1: .line 35
            return
        end local 0 // com.android.internal.os.BackgroundThread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/android/internal/os/BackgroundThread;

  private static void ensureThreadLocked();
    descriptor: ()V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=0
         0: .line 38
            getstatic com.android.internal.os.BackgroundThread.sInstance:Lcom/android/internal/os/BackgroundThread;
            ifnonnull 9
         1: .line 39
            new com.android.internal.os.BackgroundThread
            dup
            invokespecial com.android.internal.os.BackgroundThread.<init>:()V
            putstatic com.android.internal.os.BackgroundThread.sInstance:Lcom/android/internal/os/BackgroundThread;
         2: .line 40
            getstatic com.android.internal.os.BackgroundThread.sInstance:Lcom/android/internal/os/BackgroundThread;
            invokevirtual com.android.internal.os.BackgroundThread.start:()V
         3: .line 41
            getstatic com.android.internal.os.BackgroundThread.sInstance:Lcom/android/internal/os/BackgroundThread;
            invokevirtual com.android.internal.os.BackgroundThread.getLooper:()Landroid/os/Looper;
            astore 0 /* looper */
        start local 0 // android.os.Looper looper
         4: .line 42
            aload 0 /* looper */
            ldc 524288
            invokevirtual android.os.Looper.setTraceTag:(J)V
         5: .line 43
            aload 0 /* looper */
         6: .line 44
            ldc 10000
            ldc 30000
         7: .line 43
            invokevirtual android.os.Looper.setSlowLogThresholdMs:(JJ)V
         8: .line 45
            new android.os.Handler
            dup
            getstatic com.android.internal.os.BackgroundThread.sInstance:Lcom/android/internal/os/BackgroundThread;
            invokevirtual com.android.internal.os.BackgroundThread.getLooper:()Landroid/os/Looper;
            invokespecial android.os.Handler.<init>:(Landroid/os/Looper;)V
            putstatic com.android.internal.os.BackgroundThread.sHandler:Landroid/os/Handler;
        end local 0 // android.os.Looper looper
         9: .line 47
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            4    9     0  looper  Landroid/os/Looper;

  public static com.android.internal.os.BackgroundThread get();
    descriptor: ()Lcom/android/internal/os/BackgroundThread;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 50
            ldc Lcom/android/internal/os/BackgroundThread;
            dup
            astore 0
            monitorenter
         1: .line 51
            invokestatic com.android.internal.os.BackgroundThread.ensureThreadLocked:()V
         2: .line 52
            getstatic com.android.internal.os.BackgroundThread.sInstance:Lcom/android/internal/os/BackgroundThread;
            aload 0
            monitorexit
         3: areturn
         4: .line 50
      StackMap locals: java.lang.Class
      StackMap stack: java.lang.Throwable
            aload 0
            monitorexit
         5: athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any

  public static android.os.Handler getHandler();
    descriptor: ()Landroid/os/Handler;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 57
            ldc Lcom/android/internal/os/BackgroundThread;
            dup
            astore 0
            monitorenter
         1: .line 58
            invokestatic com.android.internal.os.BackgroundThread.ensureThreadLocked:()V
         2: .line 59
            getstatic com.android.internal.os.BackgroundThread.sHandler:Landroid/os/Handler;
            aload 0
            monitorexit
         3: areturn
         4: .line 57
      StackMap locals: java.lang.Class
      StackMap stack: java.lang.Throwable
            aload 0
            monitorexit
         5: athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
}
SourceFile: "BackgroundThread.java"