public abstract class android.printservice.PrintService extends android.app.Service
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: android.printservice.PrintService
  super_class: android.app.Service
{
  private static final java.lang.String LOG_TAG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "PrintService"

  private static final boolean DEBUG;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final java.lang.String SERVICE_INTERFACE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "android.printservice.PrintService"

  public static final java.lang.String SERVICE_META_DATA;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "android.printservice"

  public static final java.lang.String EXTRA_PRINT_JOB_INFO;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "android.intent.extra.print.PRINT_JOB_INFO"

  public static final java.lang.String EXTRA_PRINTER_INFO;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "android.intent.extra.print.EXTRA_PRINTER_INFO"

  public static final java.lang.String EXTRA_PRINT_DOCUMENT_INFO;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "android.printservice.extra.PRINT_DOCUMENT_INFO"

  public static final java.lang.String EXTRA_CAN_SELECT_PRINTER;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "android.printservice.extra.CAN_SELECT_PRINTER"

  public static final java.lang.String EXTRA_SELECT_PRINTER;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "android.printservice.extra.SELECT_PRINTER"

  private android.os.Handler mHandler;
    descriptor: Landroid/os/Handler;
    flags: (0x0002) ACC_PRIVATE

  private android.printservice.IPrintServiceClient mClient;
    descriptor: Landroid/printservice/IPrintServiceClient;
    flags: (0x0002) ACC_PRIVATE

  private int mLastSessionId;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private android.printservice.PrinterDiscoverySession mDiscoverySession;
    descriptor: Landroid/printservice/PrinterDiscoverySession;
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.printservice.PrintService this
         0: .line 161
            aload 0 /* this */
            invokespecial android.app.Service.<init>:()V
         1: .line 277
            aload 0 /* this */
            iconst_m1
            putfield android.printservice.PrintService.mLastSessionId:I
         2: .line 161
            return
        end local 0 // android.printservice.PrintService this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/printservice/PrintService;

  protected final void attachBaseContext(android.content.Context);
    descriptor: (Landroid/content/Context;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // android.printservice.PrintService this
        start local 1 // android.content.Context base
         0: .line 283
            aload 0 /* this */
            aload 1 /* base */
            invokespecial android.app.Service.attachBaseContext:(Landroid/content/Context;)V
         1: .line 284
            aload 0 /* this */
            new android.printservice.PrintService$ServiceHandler
            dup
            aload 0 /* this */
            aload 1 /* base */
            invokevirtual android.content.Context.getMainLooper:()Landroid/os/Looper;
            invokespecial android.printservice.PrintService$ServiceHandler.<init>:(Landroid/printservice/PrintService;Landroid/os/Looper;)V
            putfield android.printservice.PrintService.mHandler:Landroid/os/Handler;
         2: .line 285
            return
        end local 1 // android.content.Context base
        end local 0 // android.printservice.PrintService this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/printservice/PrintService;
            0    3     1  base  Landroid/content/Context;
    MethodParameters:
      Name  Flags
      base  

  protected void onConnected();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // android.printservice.PrintService this
         0: .line 292
            return
        end local 0 // android.printservice.PrintService this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/printservice/PrintService;

  protected void onDisconnected();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // android.printservice.PrintService this
         0: .line 299
            return
        end local 0 // android.printservice.PrintService this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/printservice/PrintService;

  protected abstract android.printservice.PrinterDiscoverySession onCreatePrinterDiscoverySession();
    descriptor: ()Landroid/printservice/PrinterDiscoverySession;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  protected abstract void onRequestCancelPrintJob(android.printservice.PrintJob);
    descriptor: (Landroid/printservice/PrintJob;)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      printJob  

  protected abstract void onPrintJobQueued(android.printservice.PrintJob);
    descriptor: (Landroid/printservice/PrintJob;)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      printJob  

  public final java.util.List<android.printservice.PrintJob> getActivePrintJobs();
    descriptor: ()Ljava/util/List;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=6, locals=5, args_size=1
        start local 0 // android.printservice.PrintService this
         0: .line 344
            invokestatic android.printservice.PrintService.throwIfNotCalledOnMainThread:()V
         1: .line 345
            aload 0 /* this */
            getfield android.printservice.PrintService.mClient:Landroid/printservice/IPrintServiceClient;
            ifnonnull 3
         2: .line 346
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
         3: .line 349
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 1 /* printJobs */
        start local 1 // java.util.List printJobs
         4: .line 350
            aload 0 /* this */
            getfield android.printservice.PrintService.mClient:Landroid/printservice/IPrintServiceClient;
            invokeinterface android.printservice.IPrintServiceClient.getPrintJobInfos:()Ljava/util/List;
            astore 2 /* printJobInfos */
        start local 2 // java.util.List printJobInfos
         5: .line 351
            aload 2 /* printJobInfos */
            ifnull 13
         6: .line 352
            aload 2 /* printJobInfos */
            invokeinterface java.util.List.size:()I
            istore 3 /* printJobInfoCount */
        start local 3 // int printJobInfoCount
         7: .line 353
            new java.util.ArrayList
            dup
            iload 3 /* printJobInfoCount */
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 1 /* printJobs */
         8: .line 354
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         9: goto 12
        10: .line 355
      StackMap locals: android.printservice.PrintService java.util.List java.util.List int int
      StackMap stack:
            aload 1 /* printJobs */
            new android.printservice.PrintJob
            dup
            aload 0 /* this */
            aload 2 /* printJobInfos */
            iload 4 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast android.print.PrintJobInfo
            aload 0 /* this */
            getfield android.printservice.PrintService.mClient:Landroid/printservice/IPrintServiceClient;
            invokespecial android.printservice.PrintJob.<init>:(Landroid/content/Context;Landroid/print/PrintJobInfo;Landroid/printservice/IPrintServiceClient;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        11: .line 354
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 4 /* i */
            iload 3 /* printJobInfoCount */
            if_icmplt 10
        end local 4 // int i
        end local 3 // int printJobInfoCount
        13: .line 358
      StackMap locals:
      StackMap stack:
            aload 1 /* printJobs */
            ifnull 18
        14: .line 359
            aload 1 /* printJobs */
        15: areturn
        end local 2 // java.util.List printJobInfos
        end local 1 // java.util.List printJobs
        16: .line 361
      StackMap locals: android.printservice.PrintService
      StackMap stack: android.os.RemoteException
            astore 1 /* re */
        start local 1 // android.os.RemoteException re
        17: .line 362
            ldc "PrintService"
            ldc "Error calling getPrintJobs()"
            aload 1 /* re */
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            pop
        end local 1 // android.os.RemoteException re
        18: .line 364
      StackMap locals:
      StackMap stack:
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
        end local 0 // android.printservice.PrintService this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   19     0               this  Landroid/printservice/PrintService;
            4   16     1          printJobs  Ljava/util/List<Landroid/printservice/PrintJob;>;
            5   16     2      printJobInfos  Ljava/util/List<Landroid/print/PrintJobInfo;>;
            7   13     3  printJobInfoCount  I
            9   13     4                  i  I
           17   18     1                 re  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           3    15      16  Class android.os.RemoteException
    Signature: ()Ljava/util/List<Landroid/printservice/PrintJob;>;

  public final android.print.PrinterId generatePrinterId(java.lang.String);
    descriptor: (Ljava/lang/String;)Landroid/print/PrinterId;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // android.printservice.PrintService this
        start local 1 // java.lang.String localId
         0: .line 374
            invokestatic android.printservice.PrintService.throwIfNotCalledOnMainThread:()V
         1: .line 375
            aload 1 /* localId */
            ldc "localId cannot be null"
            invokestatic com.android.internal.util.Preconditions.checkNotNull:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* localId */
         2: .line 376
            new android.print.PrinterId
            dup
            new android.content.ComponentName
            dup
            aload 0 /* this */
            invokevirtual android.printservice.PrintService.getPackageName:()Ljava/lang/String;
         3: .line 377
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokespecial android.content.ComponentName.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            aload 1 /* localId */
         4: .line 376
            invokespecial android.print.PrinterId.<init>:(Landroid/content/ComponentName;Ljava/lang/String;)V
            areturn
        end local 1 // java.lang.String localId
        end local 0 // android.printservice.PrintService this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Landroid/printservice/PrintService;
            0    5     1  localId  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      localId  

  static void throwIfNotCalledOnMainThread();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 381
            invokestatic android.os.Looper.getMainLooper:()Landroid/os/Looper;
            invokevirtual android.os.Looper.isCurrentThread:()Z
            ifne 2
         1: .line 382
            new java.lang.IllegalAccessError
            dup
            ldc "must be called from the main thread"
            invokespecial java.lang.IllegalAccessError.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 384
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public final android.os.IBinder onBind(android.content.Intent);
    descriptor: (Landroid/content/Intent;)Landroid/os/IBinder;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.printservice.PrintService this
        start local 1 // android.content.Intent intent
         0: .line 388
            new android.printservice.PrintService$1
            dup
            aload 0 /* this */
            invokespecial android.printservice.PrintService$1.<init>:(Landroid/printservice/PrintService;)V
            areturn
        end local 1 // android.content.Intent intent
        end local 0 // android.printservice.PrintService this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Landroid/printservice/PrintService;
            0    1     1  intent  Landroid/content/Intent;
    MethodParameters:
        Name  Flags
      intent  
}
SourceFile: "PrintService.java"
NestMembers:
  android.printservice.PrintService$1  android.printservice.PrintService$ServiceHandler
InnerClasses:
  android.printservice.PrintService$1
  private final ServiceHandler = android.printservice.PrintService$ServiceHandler of android.printservice.PrintService