final class android.telecom.RemoteConnectionService
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: android.telecom.RemoteConnectionService
super_class: java.lang.Object
{
private static final android.telecom.RemoteConnection NULL_CONNECTION;
descriptor: Landroid/telecom/RemoteConnection;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final android.telecom.RemoteConference NULL_CONFERENCE;
descriptor: Landroid/telecom/RemoteConference;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final com.android.internal.telecom.IConnectionServiceAdapter mServantDelegate;
descriptor: Lcom/android/internal/telecom/IConnectionServiceAdapter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final android.telecom.ConnectionServiceAdapterServant mServant;
descriptor: Landroid/telecom/ConnectionServiceAdapterServant;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final android.os.IBinder$DeathRecipient mDeathRecipient;
descriptor: Landroid/os/IBinder$DeathRecipient;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.android.internal.telecom.IConnectionService mOutgoingConnectionServiceRpc;
descriptor: Lcom/android/internal/telecom/IConnectionService;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final android.telecom.ConnectionService mOurConnectionServiceImpl;
descriptor: Landroid/telecom/ConnectionService;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Map<java.lang.String, android.telecom.RemoteConnection> mConnectionById;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Landroid/telecom/RemoteConnection;>;
private final java.util.Map<java.lang.String, android.telecom.RemoteConference> mConferenceById;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Landroid/telecom/RemoteConference;>;
private final java.util.Set<android.telecom.RemoteConnection> mPendingConnections;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Landroid/telecom/RemoteConnection;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=0, args_size=0
0: new android.telecom.RemoteConnection
dup
ldc "NULL"
aconst_null
aconst_null
invokespecial android.telecom.RemoteConnection.<init>:(Ljava/lang/String;Lcom/android/internal/telecom/IConnectionService;Landroid/telecom/ConnectionRequest;)V
1: putstatic android.telecom.RemoteConnectionService.NULL_CONNECTION:Landroid/telecom/RemoteConnection;
2: new android.telecom.RemoteConference
dup
ldc "NULL"
aconst_null
invokespecial android.telecom.RemoteConference.<init>:(Ljava/lang/String;Lcom/android/internal/telecom/IConnectionService;)V
3: putstatic android.telecom.RemoteConnectionService.NULL_CONFERENCE:Landroid/telecom/RemoteConference;
4: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(com.android.internal.telecom.IConnectionService, android.telecom.ConnectionService);
descriptor: (Lcom/android/internal/telecom/IConnectionService;Landroid/telecom/ConnectionService;)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new android.telecom.RemoteConnectionService$1
dup
aload 0
invokespecial android.telecom.RemoteConnectionService$1.<init>:(Landroid/telecom/RemoteConnectionService;)V
putfield android.telecom.RemoteConnectionService.mServantDelegate:Lcom/android/internal/telecom/IConnectionServiceAdapter;
2: aload 0
3: new android.telecom.ConnectionServiceAdapterServant
dup
aload 0
getfield android.telecom.RemoteConnectionService.mServantDelegate:Lcom/android/internal/telecom/IConnectionServiceAdapter;
invokespecial android.telecom.ConnectionServiceAdapterServant.<init>:(Lcom/android/internal/telecom/IConnectionServiceAdapter;)V
putfield android.telecom.RemoteConnectionService.mServant:Landroid/telecom/ConnectionServiceAdapterServant;
4: aload 0
new android.telecom.RemoteConnectionService$2
dup
aload 0
invokespecial android.telecom.RemoteConnectionService$2.<init>:(Landroid/telecom/RemoteConnectionService;)V
putfield android.telecom.RemoteConnectionService.mDeathRecipient:Landroid/os/IBinder$DeathRecipient;
5: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield android.telecom.RemoteConnectionService.mConnectionById:Ljava/util/Map;
6: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield android.telecom.RemoteConnectionService.mConferenceById:Ljava/util/Map;
7: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield android.telecom.RemoteConnectionService.mPendingConnections:Ljava/util/Set;
8: aload 0
aload 1
putfield android.telecom.RemoteConnectionService.mOutgoingConnectionServiceRpc:Lcom/android/internal/telecom/IConnectionService;
9: aload 0
getfield android.telecom.RemoteConnectionService.mOutgoingConnectionServiceRpc:Lcom/android/internal/telecom/IConnectionService;
invokeinterface com.android.internal.telecom.IConnectionService.asBinder:()Landroid/os/IBinder;
aload 0
getfield android.telecom.RemoteConnectionService.mDeathRecipient:Landroid/os/IBinder$DeathRecipient;
iconst_0
invokeinterface android.os.IBinder.linkToDeath:(Landroid/os/IBinder$DeathRecipient;I)V
10: aload 0
aload 2
putfield android.telecom.RemoteConnectionService.mOurConnectionServiceImpl:Landroid/telecom/ConnectionService;
11: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Landroid/telecom/RemoteConnectionService;
0 12 1 outgoingConnectionServiceRpc Lcom/android/internal/telecom/IConnectionService;
0 12 2 ourConnectionServiceImpl Landroid/telecom/ConnectionService;
Exceptions:
throws android.os.RemoteException
MethodParameters:
Name Flags
outgoingConnectionServiceRpc
ourConnectionServiceImpl
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "[RemoteCS - "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield android.telecom.RemoteConnectionService.mOutgoingConnectionServiceRpc:Lcom/android/internal/telecom/IConnectionService;
invokeinterface com.android.internal.telecom.IConnectionService.asBinder:()Landroid/os/IBinder;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/telecom/RemoteConnectionService;
final android.telecom.RemoteConnection createRemoteConnection(android.telecom.PhoneAccountHandle, android.telecom.ConnectionRequest, boolean);
descriptor: (Landroid/telecom/PhoneAccountHandle;Landroid/telecom/ConnectionRequest;Z)Landroid/telecom/RemoteConnection;
flags: (0x0010) ACC_FINAL
Code:
stack=7, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: invokestatic java.util.UUID.randomUUID:()Ljava/util/UUID;
invokevirtual java.util.UUID.toString:()Ljava/lang/String;
astore 4
start local 4 1: new android.telecom.ConnectionRequest$Builder
dup
invokespecial android.telecom.ConnectionRequest$Builder.<init>:()V
2: aload 2
invokevirtual android.telecom.ConnectionRequest.getAccountHandle:()Landroid/telecom/PhoneAccountHandle;
invokevirtual android.telecom.ConnectionRequest$Builder.setAccountHandle:(Landroid/telecom/PhoneAccountHandle;)Landroid/telecom/ConnectionRequest$Builder;
3: aload 2
invokevirtual android.telecom.ConnectionRequest.getAddress:()Landroid/net/Uri;
invokevirtual android.telecom.ConnectionRequest$Builder.setAddress:(Landroid/net/Uri;)Landroid/telecom/ConnectionRequest$Builder;
4: aload 2
invokevirtual android.telecom.ConnectionRequest.getExtras:()Landroid/os/Bundle;
invokevirtual android.telecom.ConnectionRequest$Builder.setExtras:(Landroid/os/Bundle;)Landroid/telecom/ConnectionRequest$Builder;
5: aload 2
invokevirtual android.telecom.ConnectionRequest.getVideoState:()I
invokevirtual android.telecom.ConnectionRequest$Builder.setVideoState:(I)Landroid/telecom/ConnectionRequest$Builder;
6: aload 2
invokevirtual android.telecom.ConnectionRequest.getRttPipeFromInCall:()Landroid/os/ParcelFileDescriptor;
invokevirtual android.telecom.ConnectionRequest$Builder.setRttPipeFromInCall:(Landroid/os/ParcelFileDescriptor;)Landroid/telecom/ConnectionRequest$Builder;
7: aload 2
invokevirtual android.telecom.ConnectionRequest.getRttPipeToInCall:()Landroid/os/ParcelFileDescriptor;
invokevirtual android.telecom.ConnectionRequest$Builder.setRttPipeToInCall:(Landroid/os/ParcelFileDescriptor;)Landroid/telecom/ConnectionRequest$Builder;
8: invokevirtual android.telecom.ConnectionRequest$Builder.build:()Landroid/telecom/ConnectionRequest;
9: astore 5
start local 5 10: aload 0
getfield android.telecom.RemoteConnectionService.mConnectionById:Ljava/util/Map;
invokeinterface java.util.Map.isEmpty:()Z
ifeq 14
11: aload 0
getfield android.telecom.RemoteConnectionService.mOutgoingConnectionServiceRpc:Lcom/android/internal/telecom/IConnectionService;
aload 0
getfield android.telecom.RemoteConnectionService.mServant:Landroid/telecom/ConnectionServiceAdapterServant;
invokevirtual android.telecom.ConnectionServiceAdapterServant.getStub:()Lcom/android/internal/telecom/IConnectionServiceAdapter;
12: aconst_null
13: invokeinterface com.android.internal.telecom.IConnectionService.addConnectionServiceAdapter:(Lcom/android/internal/telecom/IConnectionServiceAdapter;Landroid/telecom/Logging/Session$Info;)V
14: StackMap locals: java.lang.String android.telecom.ConnectionRequest
StackMap stack:
new android.telecom.RemoteConnection
dup
aload 4
aload 0
getfield android.telecom.RemoteConnectionService.mOutgoingConnectionServiceRpc:Lcom/android/internal/telecom/IConnectionService;
aload 5
invokespecial android.telecom.RemoteConnection.<init>:(Ljava/lang/String;Lcom/android/internal/telecom/IConnectionService;Landroid/telecom/ConnectionRequest;)V
15: astore 6
start local 6 16: aload 0
getfield android.telecom.RemoteConnectionService.mPendingConnections:Ljava/util/Set;
aload 6
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
17: aload 0
getfield android.telecom.RemoteConnectionService.mConnectionById:Ljava/util/Map;
aload 4
aload 6
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
18: aload 0
getfield android.telecom.RemoteConnectionService.mOutgoingConnectionServiceRpc:Lcom/android/internal/telecom/IConnectionService;
19: aload 1
20: aload 4
21: aload 5
22: iload 3
23: iconst_0
24: aconst_null
25: invokeinterface com.android.internal.telecom.IConnectionService.createConnection:(Landroid/telecom/PhoneAccountHandle;Ljava/lang/String;Landroid/telecom/ConnectionRequest;ZZLandroid/telecom/Logging/Session$Info;)V
26: aload 6
new android.telecom.RemoteConnectionService$3
dup
aload 0
aload 4
invokespecial android.telecom.RemoteConnectionService$3.<init>:(Landroid/telecom/RemoteConnectionService;Ljava/lang/String;)V
invokevirtual android.telecom.RemoteConnection.registerCallback:(Landroid/telecom/RemoteConnection$Callback;)V
27: aload 6
28: areturn
end local 6 29: StackMap locals:
StackMap stack: android.os.RemoteException
astore 6
start local 6 30: new android.telecom.DisconnectCause
dup
getstatic android.telecom.DisconnectCause.ERROR:I
aload 6
invokevirtual android.os.RemoteException.toString:()Ljava/lang/String;
invokespecial android.telecom.DisconnectCause.<init>:(ILjava/lang/String;)V
31: invokestatic android.telecom.RemoteConnection.failure:(Landroid/telecom/DisconnectCause;)Landroid/telecom/RemoteConnection;
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Landroid/telecom/RemoteConnectionService;
0 32 1 connectionManagerPhoneAccount Landroid/telecom/PhoneAccountHandle;
0 32 2 request Landroid/telecom/ConnectionRequest;
0 32 3 isIncoming Z
1 32 4 id Ljava/lang/String;
10 32 5 newRequest Landroid/telecom/ConnectionRequest;
16 29 6 connection Landroid/telecom/RemoteConnection;
30 32 6 e Landroid/os/RemoteException;
Exception table:
from to target type
10 28 29 Class android.os.RemoteException
MethodParameters:
Name Flags
connectionManagerPhoneAccount
request
isIncoming
private boolean hasConnection(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.telecom.RemoteConnectionService.mConnectionById:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/telecom/RemoteConnectionService;
0 1 1 callId Ljava/lang/String;
MethodParameters:
Name Flags
callId
private android.telecom.RemoteConnection findConnectionForAction(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Landroid/telecom/RemoteConnection;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.telecom.RemoteConnectionService.mConnectionById:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 2
1: aload 0
getfield android.telecom.RemoteConnectionService.mConnectionById:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast android.telecom.RemoteConnection
areturn
2: StackMap locals:
StackMap stack:
aload 0
ldc "%s - Cannot find Connection %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 1
aastore
invokestatic android.telecom.Log.w:(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
3: getstatic android.telecom.RemoteConnectionService.NULL_CONNECTION:Landroid/telecom/RemoteConnection;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/telecom/RemoteConnectionService;
0 4 1 callId Ljava/lang/String;
0 4 2 action Ljava/lang/String;
MethodParameters:
Name Flags
callId
action
private android.telecom.RemoteConference findConferenceForAction(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Landroid/telecom/RemoteConference;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.telecom.RemoteConnectionService.mConferenceById:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 2
1: aload 0
getfield android.telecom.RemoteConnectionService.mConferenceById:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast android.telecom.RemoteConference
areturn
2: StackMap locals:
StackMap stack:
aload 0
ldc "%s - Cannot find Conference %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 1
aastore
invokestatic android.telecom.Log.w:(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
3: getstatic android.telecom.RemoteConnectionService.NULL_CONFERENCE:Landroid/telecom/RemoteConference;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/telecom/RemoteConnectionService;
0 4 1 callId Ljava/lang/String;
0 4 2 action Ljava/lang/String;
MethodParameters:
Name Flags
callId
action
private void maybeDisconnectAdapter();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield android.telecom.RemoteConnectionService.mConnectionById:Ljava/util/Map;
invokeinterface java.util.Map.isEmpty:()Z
ifeq 6
aload 0
getfield android.telecom.RemoteConnectionService.mConferenceById:Ljava/util/Map;
invokeinterface java.util.Map.isEmpty:()Z
ifeq 6
1: aload 0
getfield android.telecom.RemoteConnectionService.mOutgoingConnectionServiceRpc:Lcom/android/internal/telecom/IConnectionService;
aload 0
getfield android.telecom.RemoteConnectionService.mServant:Landroid/telecom/ConnectionServiceAdapterServant;
invokevirtual android.telecom.ConnectionServiceAdapterServant.getStub:()Lcom/android/internal/telecom/IConnectionServiceAdapter;
2: aconst_null
3: invokeinterface com.android.internal.telecom.IConnectionService.removeConnectionServiceAdapter:(Lcom/android/internal/telecom/IConnectionServiceAdapter;Landroid/telecom/Logging/Session$Info;)V
4: goto 6
StackMap locals:
StackMap stack: android.os.RemoteException
5: pop
6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/telecom/RemoteConnectionService;
Exception table:
from to target type
1 4 5 Class android.os.RemoteException
}
SourceFile: "RemoteConnectionService.java"
NestMembers:
android.telecom.RemoteConnectionService$1 android.telecom.RemoteConnectionService$1$1 android.telecom.RemoteConnectionService$1$2 android.telecom.RemoteConnectionService$2 android.telecom.RemoteConnectionService$3
InnerClasses:
public abstract DeathRecipient = android.os.IBinder$DeathRecipient of android.os.IBinder
public final Builder = android.telecom.ConnectionRequest$Builder of android.telecom.ConnectionRequest
public Info = android.telecom.Logging.Session$Info of android.telecom.Logging.Session
public abstract Callback = android.telecom.RemoteConnection$Callback of android.telecom.RemoteConnection
android.telecom.RemoteConnectionService$1
android.telecom.RemoteConnectionService$2
android.telecom.RemoteConnectionService$3