public class android.telecom.RemoteConnection$VideoProvider
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.telecom.RemoteConnection$VideoProvider
  super_class: java.lang.Object
{
  private final com.android.internal.telecom.IVideoCallback mVideoCallbackDelegate;
    descriptor: Lcom/android/internal/telecom/IVideoCallback;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final android.telecom.VideoCallbackServant mVideoCallbackServant;
    descriptor: Landroid/telecom/VideoCallbackServant;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.android.internal.telecom.IVideoProvider mVideoProviderBinder;
    descriptor: Lcom/android/internal/telecom/IVideoProvider;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String mCallingPackage;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int mTargetSdkVersion;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Set<android.telecom.RemoteConnection$VideoProvider$Callback> mCallbacks;
    descriptor: Ljava/util/Set;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Set<Landroid/telecom/RemoteConnection$VideoProvider$Callback;>;

  void <init>(com.android.internal.telecom.IVideoProvider, java.lang.String, int);
    descriptor: (Lcom/android/internal/telecom/IVideoProvider;Ljava/lang/String;I)V
    flags: (0x0000) 
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // android.telecom.RemoteConnection$VideoProvider this
        start local 1 // com.android.internal.telecom.IVideoProvider videoProviderBinder
        start local 2 // java.lang.String callingPackage
        start local 3 // int targetSdkVersion
         0: .line 460
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 381
            aload 0 /* this */
            new android.telecom.RemoteConnection$VideoProvider$1
            dup
            aload 0 /* this */
            invokespecial android.telecom.RemoteConnection$VideoProvider$1.<init>:(Landroid/telecom/RemoteConnection$VideoProvider;)V
            putfield android.telecom.RemoteConnection$VideoProvider.mVideoCallbackDelegate:Lcom/android/internal/telecom/IVideoCallback;
         2: .line 443
            aload 0 /* this */
         3: .line 444
            new android.telecom.VideoCallbackServant
            dup
            aload 0 /* this */
            getfield android.telecom.RemoteConnection$VideoProvider.mVideoCallbackDelegate:Lcom/android/internal/telecom/IVideoCallback;
            invokespecial android.telecom.VideoCallbackServant.<init>:(Lcom/android/internal/telecom/IVideoCallback;)V
            putfield android.telecom.RemoteConnection$VideoProvider.mVideoCallbackServant:Landroid/telecom/VideoCallbackServant;
         4: .line 457
            aload 0 /* this */
         5: .line 458
            new java.util.concurrent.ConcurrentHashMap
            dup
            bipush 8
            ldc 0.9
            iconst_1
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:(IFI)V
         6: .line 457
            invokestatic java.util.Collections.newSetFromMap:(Ljava/util/Map;)Ljava/util/Set;
            putfield android.telecom.RemoteConnection$VideoProvider.mCallbacks:Ljava/util/Set;
         7: .line 463
            aload 0 /* this */
            aload 1 /* videoProviderBinder */
            putfield android.telecom.RemoteConnection$VideoProvider.mVideoProviderBinder:Lcom/android/internal/telecom/IVideoProvider;
         8: .line 464
            aload 0 /* this */
            aload 2 /* callingPackage */
            putfield android.telecom.RemoteConnection$VideoProvider.mCallingPackage:Ljava/lang/String;
         9: .line 465
            aload 0 /* this */
            iload 3 /* targetSdkVersion */
            putfield android.telecom.RemoteConnection$VideoProvider.mTargetSdkVersion:I
        10: .line 467
            aload 0 /* this */
            getfield android.telecom.RemoteConnection$VideoProvider.mVideoProviderBinder:Lcom/android/internal/telecom/IVideoProvider;
            aload 0 /* this */
            getfield android.telecom.RemoteConnection$VideoProvider.mVideoCallbackServant:Landroid/telecom/VideoCallbackServant;
            invokevirtual android.telecom.VideoCallbackServant.getStub:()Lcom/android/internal/telecom/IVideoCallback;
            invokeinterface com.android.internal.telecom.IVideoCallback.asBinder:()Landroid/os/IBinder;
            invokeinterface com.android.internal.telecom.IVideoProvider.addVideoCallback:(Landroid/os/IBinder;)V
        11: .line 468
            goto 13
      StackMap locals: android.telecom.RemoteConnection$VideoProvider com.android.internal.telecom.IVideoProvider java.lang.String int
      StackMap stack: android.os.RemoteException
        12: pop
        13: .line 470
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int targetSdkVersion
        end local 2 // java.lang.String callingPackage
        end local 1 // com.android.internal.telecom.IVideoProvider videoProviderBinder
        end local 0 // android.telecom.RemoteConnection$VideoProvider this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   14     0                 this  Landroid/telecom/RemoteConnection$VideoProvider;
            0   14     1  videoProviderBinder  Lcom/android/internal/telecom/IVideoProvider;
            0   14     2       callingPackage  Ljava/lang/String;
            0   14     3     targetSdkVersion  I
      Exception table:
        from    to  target  type
          10    11      12  Class android.os.RemoteException
    MethodParameters:
                     Name  Flags
      videoProviderBinder  
      callingPackage       
      targetSdkVersion     

  public void registerCallback(android.telecom.RemoteConnection$VideoProvider$Callback);
    descriptor: (Landroid/telecom/RemoteConnection$VideoProvider$Callback;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.telecom.RemoteConnection$VideoProvider this
        start local 1 // android.telecom.RemoteConnection$VideoProvider$Callback l
         0: .line 478
            aload 0 /* this */
            getfield android.telecom.RemoteConnection$VideoProvider.mCallbacks:Ljava/util/Set;
            aload 1 /* l */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         1: .line 479
            return
        end local 1 // android.telecom.RemoteConnection$VideoProvider$Callback l
        end local 0 // android.telecom.RemoteConnection$VideoProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/telecom/RemoteConnection$VideoProvider;
            0    2     1     l  Landroid/telecom/RemoteConnection$VideoProvider$Callback;
    MethodParameters:
      Name  Flags
      l     

  public void unregisterCallback(android.telecom.RemoteConnection$VideoProvider$Callback);
    descriptor: (Landroid/telecom/RemoteConnection$VideoProvider$Callback;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.telecom.RemoteConnection$VideoProvider this
        start local 1 // android.telecom.RemoteConnection$VideoProvider$Callback l
         0: .line 487
            aload 0 /* this */
            getfield android.telecom.RemoteConnection$VideoProvider.mCallbacks:Ljava/util/Set;
            aload 1 /* l */
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
         1: .line 488
            return
        end local 1 // android.telecom.RemoteConnection$VideoProvider$Callback l
        end local 0 // android.telecom.RemoteConnection$VideoProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/telecom/RemoteConnection$VideoProvider;
            0    2     1     l  Landroid/telecom/RemoteConnection$VideoProvider$Callback;
    MethodParameters:
      Name  Flags
      l     

  public void setCamera(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.telecom.RemoteConnection$VideoProvider this
        start local 1 // java.lang.String cameraId
         0: .line 500
            aload 0 /* this */
            getfield android.telecom.RemoteConnection$VideoProvider.mVideoProviderBinder:Lcom/android/internal/telecom/IVideoProvider;
            aload 1 /* cameraId */
            aload 0 /* this */
            getfield android.telecom.RemoteConnection$VideoProvider.mCallingPackage:Ljava/lang/String;
            aload 0 /* this */
            getfield android.telecom.RemoteConnection$VideoProvider.mTargetSdkVersion:I
            invokeinterface com.android.internal.telecom.IVideoProvider.setCamera:(Ljava/lang/String;Ljava/lang/String;I)V
         1: .line 501
            goto 3
      StackMap locals:
      StackMap stack: android.os.RemoteException
         2: pop
         3: .line 503
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String cameraId
        end local 0 // android.telecom.RemoteConnection$VideoProvider this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Landroid/telecom/RemoteConnection$VideoProvider;
            0    4     1  cameraId  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     1       2  Class android.os.RemoteException
    MethodParameters:
          Name  Flags
      cameraId  

  public void setPreviewSurface(android.view.Surface);
    descriptor: (Landroid/view/Surface;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.telecom.RemoteConnection$VideoProvider this
        start local 1 // android.view.Surface surface
         0: .line 514
            aload 0 /* this */
            getfield android.telecom.RemoteConnection$VideoProvider.mVideoProviderBinder:Lcom/android/internal/telecom/IVideoProvider;
            aload 1 /* surface */
            invokeinterface com.android.internal.telecom.IVideoProvider.setPreviewSurface:(Landroid/view/Surface;)V
         1: .line 515
            goto 3
      StackMap locals:
      StackMap stack: android.os.RemoteException
         2: pop
         3: .line 517
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.view.Surface surface
        end local 0 // android.telecom.RemoteConnection$VideoProvider this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Landroid/telecom/RemoteConnection$VideoProvider;
            0    4     1  surface  Landroid/view/Surface;
      Exception table:
        from    to  target  type
           0     1       2  Class android.os.RemoteException
    MethodParameters:
         Name  Flags
      surface  

  public void setDisplaySurface(android.view.Surface);
    descriptor: (Landroid/view/Surface;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.telecom.RemoteConnection$VideoProvider this
        start local 1 // android.view.Surface surface
         0: .line 528
            aload 0 /* this */
            getfield android.telecom.RemoteConnection$VideoProvider.mVideoProviderBinder:Lcom/android/internal/telecom/IVideoProvider;
            aload 1 /* surface */
            invokeinterface com.android.internal.telecom.IVideoProvider.setDisplaySurface:(Landroid/view/Surface;)V
         1: .line 529
            goto 3
      StackMap locals:
      StackMap stack: android.os.RemoteException
         2: pop
         3: .line 531
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.view.Surface surface
        end local 0 // android.telecom.RemoteConnection$VideoProvider this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Landroid/telecom/RemoteConnection$VideoProvider;
            0    4     1  surface  Landroid/view/Surface;
      Exception table:
        from    to  target  type
           0     1       2  Class android.os.RemoteException
    MethodParameters:
         Name  Flags
      surface  

  public void setDeviceOrientation(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.telecom.RemoteConnection$VideoProvider this
        start local 1 // int rotation
         0: .line 542
            aload 0 /* this */
            getfield android.telecom.RemoteConnection$VideoProvider.mVideoProviderBinder:Lcom/android/internal/telecom/IVideoProvider;
            iload 1 /* rotation */
            invokeinterface com.android.internal.telecom.IVideoProvider.setDeviceOrientation:(I)V
         1: .line 543
            goto 3
      StackMap locals:
      StackMap stack: android.os.RemoteException
         2: pop
         3: .line 545
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int rotation
        end local 0 // android.telecom.RemoteConnection$VideoProvider this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Landroid/telecom/RemoteConnection$VideoProvider;
            0    4     1  rotation  I
      Exception table:
        from    to  target  type
           0     1       2  Class android.os.RemoteException
    MethodParameters:
          Name  Flags
      rotation  

  public void setZoom(float);
    descriptor: (F)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.telecom.RemoteConnection$VideoProvider this
        start local 1 // float value
         0: .line 555
            aload 0 /* this */
            getfield android.telecom.RemoteConnection$VideoProvider.mVideoProviderBinder:Lcom/android/internal/telecom/IVideoProvider;
            fload 1 /* value */
            invokeinterface com.android.internal.telecom.IVideoProvider.setZoom:(F)V
         1: .line 556
            goto 3
      StackMap locals:
      StackMap stack: android.os.RemoteException
         2: pop
         3: .line 558
      StackMap locals:
      StackMap stack:
            return
        end local 1 // float value
        end local 0 // android.telecom.RemoteConnection$VideoProvider this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Landroid/telecom/RemoteConnection$VideoProvider;
            0    4     1  value  F
      Exception table:
        from    to  target  type
           0     1       2  Class android.os.RemoteException
    MethodParameters:
       Name  Flags
      value  

  public void sendSessionModifyRequest(android.telecom.VideoProfile, android.telecom.VideoProfile);
    descriptor: (Landroid/telecom/VideoProfile;Landroid/telecom/VideoProfile;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.telecom.RemoteConnection$VideoProvider this
        start local 1 // android.telecom.VideoProfile fromProfile
        start local 2 // android.telecom.VideoProfile toProfile
         0: .line 570
            aload 0 /* this */
            getfield android.telecom.RemoteConnection$VideoProvider.mVideoProviderBinder:Lcom/android/internal/telecom/IVideoProvider;
            aload 1 /* fromProfile */
            aload 2 /* toProfile */
            invokeinterface com.android.internal.telecom.IVideoProvider.sendSessionModifyRequest:(Landroid/telecom/VideoProfile;Landroid/telecom/VideoProfile;)V
         1: .line 571
            goto 3
      StackMap locals:
      StackMap stack: android.os.RemoteException
         2: pop
         3: .line 573
      StackMap locals:
      StackMap stack:
            return
        end local 2 // android.telecom.VideoProfile toProfile
        end local 1 // android.telecom.VideoProfile fromProfile
        end local 0 // android.telecom.RemoteConnection$VideoProvider this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Landroid/telecom/RemoteConnection$VideoProvider;
            0    4     1  fromProfile  Landroid/telecom/VideoProfile;
            0    4     2    toProfile  Landroid/telecom/VideoProfile;
      Exception table:
        from    to  target  type
           0     1       2  Class android.os.RemoteException
    MethodParameters:
             Name  Flags
      fromProfile  
      toProfile    

  public void sendSessionModifyResponse(android.telecom.VideoProfile);
    descriptor: (Landroid/telecom/VideoProfile;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.telecom.RemoteConnection$VideoProvider this
        start local 1 // android.telecom.VideoProfile responseProfile
         0: .line 584
            aload 0 /* this */
            getfield android.telecom.RemoteConnection$VideoProvider.mVideoProviderBinder:Lcom/android/internal/telecom/IVideoProvider;
            aload 1 /* responseProfile */
            invokeinterface com.android.internal.telecom.IVideoProvider.sendSessionModifyResponse:(Landroid/telecom/VideoProfile;)V
         1: .line 585
            goto 3
      StackMap locals:
      StackMap stack: android.os.RemoteException
         2: pop
         3: .line 587
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.telecom.VideoProfile responseProfile
        end local 0 // android.telecom.RemoteConnection$VideoProvider this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Landroid/telecom/RemoteConnection$VideoProvider;
            0    4     1  responseProfile  Landroid/telecom/VideoProfile;
      Exception table:
        from    to  target  type
           0     1       2  Class android.os.RemoteException
    MethodParameters:
                 Name  Flags
      responseProfile  

  public void requestCameraCapabilities();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.telecom.RemoteConnection$VideoProvider this
         0: .line 597
            aload 0 /* this */
            getfield android.telecom.RemoteConnection$VideoProvider.mVideoProviderBinder:Lcom/android/internal/telecom/IVideoProvider;
            invokeinterface com.android.internal.telecom.IVideoProvider.requestCameraCapabilities:()V
         1: .line 598
            goto 3
      StackMap locals:
      StackMap stack: android.os.RemoteException
         2: pop
         3: .line 600
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.telecom.RemoteConnection$VideoProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/telecom/RemoteConnection$VideoProvider;
      Exception table:
        from    to  target  type
           0     1       2  Class android.os.RemoteException

  public void requestCallDataUsage();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.telecom.RemoteConnection$VideoProvider this
         0: .line 610
            aload 0 /* this */
            getfield android.telecom.RemoteConnection$VideoProvider.mVideoProviderBinder:Lcom/android/internal/telecom/IVideoProvider;
            invokeinterface com.android.internal.telecom.IVideoProvider.requestCallDataUsage:()V
         1: .line 611
            goto 3
      StackMap locals:
      StackMap stack: android.os.RemoteException
         2: pop
         3: .line 613
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.telecom.RemoteConnection$VideoProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/telecom/RemoteConnection$VideoProvider;
      Exception table:
        from    to  target  type
           0     1       2  Class android.os.RemoteException

  public void setPauseImage(android.net.Uri);
    descriptor: (Landroid/net/Uri;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.telecom.RemoteConnection$VideoProvider this
        start local 1 // android.net.Uri uri
         0: .line 623
            aload 0 /* this */
            getfield android.telecom.RemoteConnection$VideoProvider.mVideoProviderBinder:Lcom/android/internal/telecom/IVideoProvider;
            aload 1 /* uri */
            invokeinterface com.android.internal.telecom.IVideoProvider.setPauseImage:(Landroid/net/Uri;)V
         1: .line 624
            goto 3
      StackMap locals:
      StackMap stack: android.os.RemoteException
         2: pop
         3: .line 626
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.net.Uri uri
        end local 0 // android.telecom.RemoteConnection$VideoProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/telecom/RemoteConnection$VideoProvider;
            0    4     1   uri  Landroid/net/Uri;
      Exception table:
        from    to  target  type
           0     1       2  Class android.os.RemoteException
    MethodParameters:
      Name  Flags
      uri   
}
SourceFile: "RemoteConnection.java"
NestHost: android.telecom.RemoteConnection
InnerClasses:
  public VideoProvider = android.telecom.RemoteConnection$VideoProvider of android.telecom.RemoteConnection
  android.telecom.RemoteConnection$VideoProvider$1
  public abstract Callback = android.telecom.RemoteConnection$VideoProvider$Callback of android.telecom.RemoteConnection$VideoProvider