final class android.printservice.PrintService$ServiceHandler extends android.os.Handler
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: android.printservice.PrintService$ServiceHandler
  super_class: android.os.Handler
{
  public static final int MSG_CREATE_PRINTER_DISCOVERY_SESSION;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int MSG_DESTROY_PRINTER_DISCOVERY_SESSION;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int MSG_START_PRINTER_DISCOVERY;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  public static final int MSG_STOP_PRINTER_DISCOVERY;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  public static final int MSG_VALIDATE_PRINTERS;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  public static final int MSG_START_PRINTER_STATE_TRACKING;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  public static final int MSG_REQUEST_CUSTOM_PRINTER_ICON;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 7

  public static final int MSG_STOP_PRINTER_STATE_TRACKING;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  public static final int MSG_ON_PRINTJOB_QUEUED;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 9

  public static final int MSG_ON_REQUEST_CANCEL_PRINTJOB;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 10

  public static final int MSG_SET_CLIENT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 11

  final android.printservice.PrintService this$0;
    descriptor: Landroid/printservice/PrintService;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

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

  public void handleMessage(android.os.Message);
    descriptor: (Landroid/os/Message;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // android.printservice.PrintService$ServiceHandler this
        start local 1 // android.os.Message message
         0: .line 474
            aload 1 /* message */
            getfield android.os.Message.what:I
            istore 2 /* action */
        start local 2 // int action
         1: .line 475
            iload 2 /* action */
            tableswitch { // 1 - 11
                    1: 2
                    2: 11
                    3: 15
                    4: 19
                    5: 22
                    6: 26
                    7: 30
                    8: 34
                    9: 41
                   10: 38
                   11: 44
              default: 50
          }
         2: .line 481
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.printservice.PrintService$ServiceHandler.this$0:Landroid/printservice/PrintService;
            invokevirtual android.printservice.PrintService.onCreatePrinterDiscoverySession:()Landroid/printservice/PrinterDiscoverySession;
            astore 3 /* session */
        start local 3 // android.printservice.PrinterDiscoverySession session
         3: .line 482
            aload 3 /* session */
            ifnonnull 5
         4: .line 483
            new java.lang.NullPointerException
            dup
            ldc "session cannot be null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 485
      StackMap locals: android.printservice.PrinterDiscoverySession
      StackMap stack:
            aload 3 /* session */
            invokevirtual android.printservice.PrinterDiscoverySession.getId:()I
            aload 0 /* this */
            getfield android.printservice.PrintService$ServiceHandler.this$0:Landroid/printservice/PrintService;
            getfield android.printservice.PrintService.mLastSessionId:I
            if_icmpne 7
         6: .line 486
            new java.lang.IllegalStateException
            dup
            ldc "cannot reuse session instances"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 488
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.printservice.PrintService$ServiceHandler.this$0:Landroid/printservice/PrintService;
            aload 3 /* session */
            putfield android.printservice.PrintService.mDiscoverySession:Landroid/printservice/PrinterDiscoverySession;
         8: .line 489
            aload 0 /* this */
            getfield android.printservice.PrintService$ServiceHandler.this$0:Landroid/printservice/PrintService;
            aload 3 /* session */
            invokevirtual android.printservice.PrinterDiscoverySession.getId:()I
            putfield android.printservice.PrintService.mLastSessionId:I
         9: .line 490
            aload 3 /* session */
            aload 0 /* this */
            getfield android.printservice.PrintService$ServiceHandler.this$0:Landroid/printservice/PrintService;
            getfield android.printservice.PrintService.mClient:Landroid/printservice/IPrintServiceClient;
            invokevirtual android.printservice.PrinterDiscoverySession.setObserver:(Landroid/printservice/IPrintServiceClient;)V
        end local 3 // android.printservice.PrinterDiscoverySession session
        10: .line 491
            goto 51
        11: .line 498
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.printservice.PrintService$ServiceHandler.this$0:Landroid/printservice/PrintService;
            getfield android.printservice.PrintService.mDiscoverySession:Landroid/printservice/PrinterDiscoverySession;
            ifnull 51
        12: .line 499
            aload 0 /* this */
            getfield android.printservice.PrintService$ServiceHandler.this$0:Landroid/printservice/PrintService;
            getfield android.printservice.PrintService.mDiscoverySession:Landroid/printservice/PrinterDiscoverySession;
            invokevirtual android.printservice.PrinterDiscoverySession.destroy:()V
        13: .line 500
            aload 0 /* this */
            getfield android.printservice.PrintService$ServiceHandler.this$0:Landroid/printservice/PrintService;
            aconst_null
            putfield android.printservice.PrintService.mDiscoverySession:Landroid/printservice/PrinterDiscoverySession;
        14: .line 502
            goto 51
        15: .line 509
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.printservice.PrintService$ServiceHandler.this$0:Landroid/printservice/PrintService;
            getfield android.printservice.PrintService.mDiscoverySession:Landroid/printservice/PrinterDiscoverySession;
            ifnull 51
        16: .line 510
            aload 1 /* message */
            getfield android.os.Message.obj:Ljava/lang/Object;
            checkcast java.util.ArrayList
            astore 3 /* priorityList */
        start local 3 // java.util.List priorityList
        17: .line 511
            aload 0 /* this */
            getfield android.printservice.PrintService$ServiceHandler.this$0:Landroid/printservice/PrintService;
            getfield android.printservice.PrintService.mDiscoverySession:Landroid/printservice/PrinterDiscoverySession;
            aload 3 /* priorityList */
            invokevirtual android.printservice.PrinterDiscoverySession.startPrinterDiscovery:(Ljava/util/List;)V
        end local 3 // java.util.List priorityList
        18: .line 513
            goto 51
        19: .line 520
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.printservice.PrintService$ServiceHandler.this$0:Landroid/printservice/PrintService;
            getfield android.printservice.PrintService.mDiscoverySession:Landroid/printservice/PrinterDiscoverySession;
            ifnull 51
        20: .line 521
            aload 0 /* this */
            getfield android.printservice.PrintService$ServiceHandler.this$0:Landroid/printservice/PrintService;
            getfield android.printservice.PrintService.mDiscoverySession:Landroid/printservice/PrinterDiscoverySession;
            invokevirtual android.printservice.PrinterDiscoverySession.stopPrinterDiscovery:()V
        21: .line 523
            goto 51
        22: .line 530
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.printservice.PrintService$ServiceHandler.this$0:Landroid/printservice/PrintService;
            getfield android.printservice.PrintService.mDiscoverySession:Landroid/printservice/PrinterDiscoverySession;
            ifnull 51
        23: .line 531
            aload 1 /* message */
            getfield android.os.Message.obj:Ljava/lang/Object;
            checkcast java.util.List
            astore 3 /* printerIds */
        start local 3 // java.util.List printerIds
        24: .line 532
            aload 0 /* this */
            getfield android.printservice.PrintService$ServiceHandler.this$0:Landroid/printservice/PrintService;
            getfield android.printservice.PrintService.mDiscoverySession:Landroid/printservice/PrinterDiscoverySession;
            aload 3 /* printerIds */
            invokevirtual android.printservice.PrinterDiscoverySession.validatePrinters:(Ljava/util/List;)V
        end local 3 // java.util.List printerIds
        25: .line 534
            goto 51
        26: .line 541
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.printservice.PrintService$ServiceHandler.this$0:Landroid/printservice/PrintService;
            getfield android.printservice.PrintService.mDiscoverySession:Landroid/printservice/PrinterDiscoverySession;
            ifnull 51
        27: .line 542
            aload 1 /* message */
            getfield android.os.Message.obj:Ljava/lang/Object;
            checkcast android.print.PrinterId
            astore 3 /* printerId */
        start local 3 // android.print.PrinterId printerId
        28: .line 543
            aload 0 /* this */
            getfield android.printservice.PrintService$ServiceHandler.this$0:Landroid/printservice/PrintService;
            getfield android.printservice.PrintService.mDiscoverySession:Landroid/printservice/PrinterDiscoverySession;
            aload 3 /* printerId */
            invokevirtual android.printservice.PrinterDiscoverySession.startPrinterStateTracking:(Landroid/print/PrinterId;)V
        end local 3 // android.print.PrinterId printerId
        29: .line 545
            goto 51
        30: .line 552
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.printservice.PrintService$ServiceHandler.this$0:Landroid/printservice/PrintService;
            getfield android.printservice.PrintService.mDiscoverySession:Landroid/printservice/PrinterDiscoverySession;
            ifnull 51
        31: .line 553
            aload 1 /* message */
            getfield android.os.Message.obj:Ljava/lang/Object;
            checkcast android.print.PrinterId
            astore 3 /* printerId */
        start local 3 // android.print.PrinterId printerId
        32: .line 554
            aload 0 /* this */
            getfield android.printservice.PrintService$ServiceHandler.this$0:Landroid/printservice/PrintService;
            getfield android.printservice.PrintService.mDiscoverySession:Landroid/printservice/PrinterDiscoverySession;
            aload 3 /* printerId */
            invokevirtual android.printservice.PrinterDiscoverySession.requestCustomPrinterIcon:(Landroid/print/PrinterId;)V
        end local 3 // android.print.PrinterId printerId
        33: .line 556
            goto 51
        34: .line 563
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.printservice.PrintService$ServiceHandler.this$0:Landroid/printservice/PrintService;
            getfield android.printservice.PrintService.mDiscoverySession:Landroid/printservice/PrinterDiscoverySession;
            ifnull 51
        35: .line 564
            aload 1 /* message */
            getfield android.os.Message.obj:Ljava/lang/Object;
            checkcast android.print.PrinterId
            astore 3 /* printerId */
        start local 3 // android.print.PrinterId printerId
        36: .line 565
            aload 0 /* this */
            getfield android.printservice.PrintService$ServiceHandler.this$0:Landroid/printservice/PrintService;
            getfield android.printservice.PrintService.mDiscoverySession:Landroid/printservice/PrinterDiscoverySession;
            aload 3 /* printerId */
            invokevirtual android.printservice.PrinterDiscoverySession.stopPrinterStateTracking:(Landroid/print/PrinterId;)V
        end local 3 // android.print.PrinterId printerId
        37: .line 567
            goto 51
        38: .line 574
      StackMap locals:
      StackMap stack:
            aload 1 /* message */
            getfield android.os.Message.obj:Ljava/lang/Object;
            checkcast android.print.PrintJobInfo
            astore 3 /* printJobInfo */
        start local 3 // android.print.PrintJobInfo printJobInfo
        39: .line 575
            aload 0 /* this */
            getfield android.printservice.PrintService$ServiceHandler.this$0:Landroid/printservice/PrintService;
            new android.printservice.PrintJob
            dup
            aload 0 /* this */
            getfield android.printservice.PrintService$ServiceHandler.this$0:Landroid/printservice/PrintService;
            aload 3 /* printJobInfo */
            aload 0 /* this */
            getfield android.printservice.PrintService$ServiceHandler.this$0:Landroid/printservice/PrintService;
            getfield android.printservice.PrintService.mClient:Landroid/printservice/IPrintServiceClient;
            invokespecial android.printservice.PrintJob.<init>:(Landroid/content/Context;Landroid/print/PrintJobInfo;Landroid/printservice/IPrintServiceClient;)V
            invokevirtual android.printservice.PrintService.onRequestCancelPrintJob:(Landroid/printservice/PrintJob;)V
        end local 3 // android.print.PrintJobInfo printJobInfo
        40: .line 576
            goto 51
        41: .line 583
      StackMap locals:
      StackMap stack:
            aload 1 /* message */
            getfield android.os.Message.obj:Ljava/lang/Object;
            checkcast android.print.PrintJobInfo
            astore 3 /* printJobInfo */
        start local 3 // android.print.PrintJobInfo printJobInfo
        42: .line 587
            aload 0 /* this */
            getfield android.printservice.PrintService$ServiceHandler.this$0:Landroid/printservice/PrintService;
            new android.printservice.PrintJob
            dup
            aload 0 /* this */
            getfield android.printservice.PrintService$ServiceHandler.this$0:Landroid/printservice/PrintService;
            aload 3 /* printJobInfo */
            aload 0 /* this */
            getfield android.printservice.PrintService$ServiceHandler.this$0:Landroid/printservice/PrintService;
            getfield android.printservice.PrintService.mClient:Landroid/printservice/IPrintServiceClient;
            invokespecial android.printservice.PrintJob.<init>:(Landroid/content/Context;Landroid/print/PrintJobInfo;Landroid/printservice/IPrintServiceClient;)V
            invokevirtual android.printservice.PrintService.onPrintJobQueued:(Landroid/printservice/PrintJob;)V
        end local 3 // android.print.PrintJobInfo printJobInfo
        43: .line 588
            goto 51
        44: .line 595
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.printservice.PrintService$ServiceHandler.this$0:Landroid/printservice/PrintService;
            aload 1 /* message */
            getfield android.os.Message.obj:Ljava/lang/Object;
            checkcast android.printservice.IPrintServiceClient
            putfield android.printservice.PrintService.mClient:Landroid/printservice/IPrintServiceClient;
        45: .line 596
            aload 0 /* this */
            getfield android.printservice.PrintService$ServiceHandler.this$0:Landroid/printservice/PrintService;
            getfield android.printservice.PrintService.mClient:Landroid/printservice/IPrintServiceClient;
            ifnull 48
        46: .line 597
            aload 0 /* this */
            getfield android.printservice.PrintService$ServiceHandler.this$0:Landroid/printservice/PrintService;
            invokevirtual android.printservice.PrintService.onConnected:()V
        47: .line 598
            goto 51
        48: .line 599
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.printservice.PrintService$ServiceHandler.this$0:Landroid/printservice/PrintService;
            invokevirtual android.printservice.PrintService.onDisconnected:()V
        49: .line 601
            goto 51
        50: .line 604
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown message: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* action */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        51: .line 607
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int action
        end local 1 // android.os.Message message
        end local 0 // android.printservice.PrintService$ServiceHandler this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   52     0          this  Landroid/printservice/PrintService$ServiceHandler;
            0   52     1       message  Landroid/os/Message;
            1   52     2        action  I
            3   10     3       session  Landroid/printservice/PrinterDiscoverySession;
           17   18     3  priorityList  Ljava/util/List<Landroid/print/PrinterId;>;
           24   25     3    printerIds  Ljava/util/List<Landroid/print/PrinterId;>;
           28   29     3     printerId  Landroid/print/PrinterId;
           32   33     3     printerId  Landroid/print/PrinterId;
           36   37     3     printerId  Landroid/print/PrinterId;
           39   40     3  printJobInfo  Landroid/print/PrintJobInfo;
           42   43     3  printJobInfo  Landroid/print/PrintJobInfo;
    MethodParameters:
         Name  Flags
      message  
}
SourceFile: "PrintService.java"
NestHost: android.printservice.PrintService
InnerClasses:
  public abstract Callback = android.os.Handler$Callback of android.os.Handler
  private final ServiceHandler = android.printservice.PrintService$ServiceHandler of android.printservice.PrintService