public abstract class android.telecom.CallScreeningService extends android.app.Service
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: android.telecom.CallScreeningService
  super_class: android.app.Service
{
  public static final java.lang.String SERVICE_INTERFACE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "android.telecom.CallScreeningService"

  private static final int MSG_SCREEN_CALL;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private final android.os.Handler mHandler;
    descriptor: Landroid/os/Handler;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private com.android.internal.telecom.ICallScreeningAdapter mCallScreeningAdapter;
    descriptor: Lcom/android/internal/telecom/ICallScreeningAdapter;
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // android.telecom.CallScreeningService this
         0: .line 194
            aload 0 /* this */
            invokespecial android.app.Service.<init>:()V
         1: .line 58
            aload 0 /* this */
            new android.telecom.CallScreeningService$1
            dup
            aload 0 /* this */
            invokestatic android.os.Looper.getMainLooper:()Landroid/os/Looper;
            invokespecial android.telecom.CallScreeningService$1.<init>:(Landroid/telecom/CallScreeningService;Landroid/os/Looper;)V
            putfield android.telecom.CallScreeningService.mHandler:Landroid/os/Handler;
         2: .line 195
            return
        end local 0 // android.telecom.CallScreeningService this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/telecom/CallScreeningService;

  public android.os.IBinder onBind(android.content.Intent);
    descriptor: (Landroid/content/Intent;)Landroid/os/IBinder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.telecom.CallScreeningService this
        start local 1 // android.content.Intent intent
         0: .line 199
            aload 0 /* this */
            ldc "onBind"
            iconst_0
            anewarray java.lang.Object
            invokestatic android.telecom.Log.v:(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
         1: .line 200
            new android.telecom.CallScreeningService$CallScreeningBinder
            dup
            aload 0 /* this */
            invokespecial android.telecom.CallScreeningService$CallScreeningBinder.<init>:(Landroid/telecom/CallScreeningService;)V
            areturn
        end local 1 // android.content.Intent intent
        end local 0 // android.telecom.CallScreeningService this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Landroid/telecom/CallScreeningService;
            0    2     1  intent  Landroid/content/Intent;
    MethodParameters:
        Name  Flags
      intent  

  public boolean onUnbind(android.content.Intent);
    descriptor: (Landroid/content/Intent;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.telecom.CallScreeningService this
        start local 1 // android.content.Intent intent
         0: .line 205
            aload 0 /* this */
            ldc "onUnbind"
            iconst_0
            anewarray java.lang.Object
            invokestatic android.telecom.Log.v:(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
         1: .line 206
            iconst_0
            ireturn
        end local 1 // android.content.Intent intent
        end local 0 // android.telecom.CallScreeningService this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Landroid/telecom/CallScreeningService;
            0    2     1  intent  Landroid/content/Intent;
    MethodParameters:
        Name  Flags
      intent  

  public abstract void onScreenCall(android.telecom.Call$Details);
    descriptor: (Landroid/telecom/Call$Details;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      callDetails  

  public final void respondToCall(android.telecom.Call$Details, android.telecom.CallScreeningService$CallResponse);
    descriptor: (Landroid/telecom/Call$Details;Landroid/telecom/CallScreeningService$CallResponse;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // android.telecom.CallScreeningService this
        start local 1 // android.telecom.Call$Details callDetails
        start local 2 // android.telecom.CallScreeningService$CallResponse response
         0: .line 227
            aload 2 /* response */
            invokevirtual android.telecom.CallScreeningService$CallResponse.getDisallowCall:()Z
            ifeq 10
         1: .line 228
            aload 0 /* this */
            getfield android.telecom.CallScreeningService.mCallScreeningAdapter:Lcom/android/internal/telecom/ICallScreeningAdapter;
         2: .line 229
            aload 1 /* callDetails */
            invokevirtual android.telecom.Call$Details.getTelecomCallId:()Ljava/lang/String;
         3: .line 230
            aload 2 /* response */
            invokevirtual android.telecom.CallScreeningService$CallResponse.getRejectCall:()Z
         4: .line 231
            aload 2 /* response */
            invokevirtual android.telecom.CallScreeningService$CallResponse.getSkipCallLog:()Z
            ifeq 5
            iconst_0
            goto 6
      StackMap locals: android.telecom.CallScreeningService android.telecom.Call$Details android.telecom.CallScreeningService$CallResponse
      StackMap stack: com.android.internal.telecom.ICallScreeningAdapter java.lang.String int
         5: iconst_1
         6: .line 232
      StackMap locals: android.telecom.CallScreeningService android.telecom.Call$Details android.telecom.CallScreeningService$CallResponse
      StackMap stack: com.android.internal.telecom.ICallScreeningAdapter java.lang.String int int
            aload 2 /* response */
            invokevirtual android.telecom.CallScreeningService$CallResponse.getSkipNotification:()Z
            ifeq 7
            iconst_0
            goto 8
      StackMap locals: android.telecom.CallScreeningService android.telecom.Call$Details android.telecom.CallScreeningService$CallResponse
      StackMap stack: com.android.internal.telecom.ICallScreeningAdapter java.lang.String int int
         7: iconst_1
         8: .line 228
      StackMap locals: android.telecom.CallScreeningService android.telecom.Call$Details android.telecom.CallScreeningService$CallResponse
      StackMap stack: com.android.internal.telecom.ICallScreeningAdapter java.lang.String int int int
            invokeinterface com.android.internal.telecom.ICallScreeningAdapter.disallowCall:(Ljava/lang/String;ZZZ)V
         9: .line 233
            goto 13
        10: .line 234
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.telecom.CallScreeningService.mCallScreeningAdapter:Lcom/android/internal/telecom/ICallScreeningAdapter;
            aload 1 /* callDetails */
            invokevirtual android.telecom.Call$Details.getTelecomCallId:()Ljava/lang/String;
            invokeinterface com.android.internal.telecom.ICallScreeningAdapter.allowCall:(Ljava/lang/String;)V
        11: .line 236
            goto 13
      StackMap locals:
      StackMap stack: android.os.RemoteException
        12: pop
        13: .line 238
      StackMap locals:
      StackMap stack:
            return
        end local 2 // android.telecom.CallScreeningService$CallResponse response
        end local 1 // android.telecom.Call$Details callDetails
        end local 0 // android.telecom.CallScreeningService this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   14     0         this  Landroid/telecom/CallScreeningService;
            0   14     1  callDetails  Landroid/telecom/Call$Details;
            0   14     2     response  Landroid/telecom/CallScreeningService$CallResponse;
      Exception table:
        from    to  target  type
           0    11      12  Class android.os.RemoteException
    MethodParameters:
             Name  Flags
      callDetails  
      response     
}
SourceFile: "CallScreeningService.java"
NestMembers:
  android.telecom.CallScreeningService$1  android.telecom.CallScreeningService$CallResponse  android.telecom.CallScreeningService$CallResponse$Builder  android.telecom.CallScreeningService$CallScreeningBinder
InnerClasses:
  public Details = android.telecom.Call$Details of android.telecom.Call
  android.telecom.CallScreeningService$1
  public CallResponse = android.telecom.CallScreeningService$CallResponse of android.telecom.CallScreeningService
  private final CallScreeningBinder = android.telecom.CallScreeningService$CallScreeningBinder of android.telecom.CallScreeningService