public class android.telephony.ims.ImsService extends android.app.Service
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: android.telephony.ims.ImsService
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: "ImsService"
public static final java.lang.String SERVICE_INTERFACE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "android.telephony.ims.ImsService"
private final android.util.SparseArray<android.util.SparseArray<android.telephony.ims.feature.ImsFeature>> mFeaturesBySlot;
descriptor: Landroid/util/SparseArray;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Landroid/util/SparseArray<Landroid/util/SparseArray<Landroid/telephony/ims/feature/ImsFeature;>;>;
private android.telephony.ims.aidl.IImsServiceControllerListener mListener;
descriptor: Landroid/telephony/ims/aidl/IImsServiceControllerListener;
flags: (0x0002) ACC_PRIVATE
protected final android.os.IBinder mImsServiceController;
descriptor: Landroid/os/IBinder;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokespecial android.app.Service.<init>:()V
1: aload 0
new android.util.SparseArray
dup
invokespecial android.util.SparseArray.<init>:()V
putfield android.telephony.ims.ImsService.mFeaturesBySlot:Landroid/util/SparseArray;
2: aload 0
new android.telephony.ims.ImsService$1
dup
aload 0
invokespecial android.telephony.ims.ImsService$1.<init>:(Landroid/telephony/ims/ImsService;)V
putfield android.telephony.ims.ImsService.mImsServiceController:Landroid/os/IBinder;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/telephony/ims/ImsService;
public android.os.IBinder onBind(android.content.Intent);
descriptor: (Landroid/content/Intent;)Landroid/os/IBinder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: ldc "android.telephony.ims.ImsService"
aload 1
invokevirtual android.content.Intent.getAction:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 3
1: ldc "ImsService"
ldc "ImsService Bound."
invokestatic android.util.Log.i:(Ljava/lang/String;Ljava/lang/String;)I
pop
2: aload 0
getfield android.telephony.ims.ImsService.mImsServiceController:Landroid/os/IBinder;
areturn
3: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/telephony/ims/ImsService;
0 4 1 intent Landroid/content/Intent;
MethodParameters:
Name Flags
intent
public android.util.SparseArray<android.telephony.ims.feature.ImsFeature> getFeatures(int);
descriptor: (I)Landroid/util/SparseArray;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.telephony.ims.ImsService.mFeaturesBySlot:Landroid/util/SparseArray;
iload 1
invokevirtual android.util.SparseArray.get:(I)Ljava/lang/Object;
checkcast android.util.SparseArray
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/telephony/ims/ImsService;
0 1 1 slotId I
Signature: (I)Landroid/util/SparseArray<Landroid/telephony/ims/feature/ImsFeature;>;
RuntimeInvisibleAnnotations:
com.android.internal.annotations.VisibleForTesting()
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
com.android.internal.annotations.VisibleForTesting()
MethodParameters:
Name Flags
slotId
private android.telephony.ims.aidl.IImsMmTelFeature createMmTelFeatureInternal(int, com.android.ims.internal.IImsFeatureStatusCallback);
descriptor: (ILcom/android/ims/internal/IImsFeatureStatusCallback;)Landroid/telephony/ims/aidl/IImsMmTelFeature;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
invokevirtual android.telephony.ims.ImsService.createMmTelFeature:(I)Landroid/telephony/ims/feature/MmTelFeature;
astore 3
start local 3 1: aload 3
ifnull 4
2: aload 0
aload 3
iload 1
iconst_1
aload 2
invokevirtual android.telephony.ims.ImsService.setupFeature:(Landroid/telephony/ims/feature/ImsFeature;IILcom/android/ims/internal/IImsFeatureStatusCallback;)V
3: aload 3
invokevirtual android.telephony.ims.feature.MmTelFeature.getBinder:()Landroid/telephony/ims/aidl/IImsMmTelFeature;
areturn
4: StackMap locals: android.telephony.ims.feature.MmTelFeature
StackMap stack:
ldc "ImsService"
ldc "createMmTelFeatureInternal: null feature returned."
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
5: aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/telephony/ims/ImsService;
0 6 1 slotId I
0 6 2 c Lcom/android/ims/internal/IImsFeatureStatusCallback;
1 6 3 f Landroid/telephony/ims/feature/MmTelFeature;
MethodParameters:
Name Flags
slotId
c
private android.telephony.ims.aidl.IImsRcsFeature createRcsFeatureInternal(int, com.android.ims.internal.IImsFeatureStatusCallback);
descriptor: (ILcom/android/ims/internal/IImsFeatureStatusCallback;)Landroid/telephony/ims/aidl/IImsRcsFeature;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
invokevirtual android.telephony.ims.ImsService.createRcsFeature:(I)Landroid/telephony/ims/feature/RcsFeature;
astore 3
start local 3 1: aload 3
ifnull 4
2: aload 0
aload 3
iload 1
iconst_2
aload 2
invokevirtual android.telephony.ims.ImsService.setupFeature:(Landroid/telephony/ims/feature/ImsFeature;IILcom/android/ims/internal/IImsFeatureStatusCallback;)V
3: aload 3
invokevirtual android.telephony.ims.feature.RcsFeature.getBinder:()Landroid/telephony/ims/aidl/IImsRcsFeature;
areturn
4: StackMap locals: android.telephony.ims.feature.RcsFeature
StackMap stack:
ldc "ImsService"
ldc "createRcsFeatureInternal: null feature returned."
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
5: aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/telephony/ims/ImsService;
0 6 1 slotId I
0 6 2 c Lcom/android/ims/internal/IImsFeatureStatusCallback;
1 6 3 f Landroid/telephony/ims/feature/RcsFeature;
MethodParameters:
Name Flags
slotId
c
private void setupFeature(android.telephony.ims.feature.ImsFeature, int, int, com.android.ims.internal.IImsFeatureStatusCallback);
descriptor: (Landroid/telephony/ims/feature/ImsFeature;IILcom/android/ims/internal/IImsFeatureStatusCallback;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
aload 4
invokevirtual android.telephony.ims.feature.ImsFeature.addImsFeatureStatusCallback:(Lcom/android/ims/internal/IImsFeatureStatusCallback;)V
1: aload 1
aload 0
iload 2
invokevirtual android.telephony.ims.feature.ImsFeature.initialize:(Landroid/content/Context;I)V
2: aload 0
iload 2
iload 3
aload 1
invokevirtual android.telephony.ims.ImsService.addImsFeature:(IILandroid/telephony/ims/feature/ImsFeature;)V
3: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/telephony/ims/ImsService;
0 4 1 f Landroid/telephony/ims/feature/ImsFeature;
0 4 2 slotId I
0 4 3 featureType I
0 4 4 c Lcom/android/ims/internal/IImsFeatureStatusCallback;
MethodParameters:
Name Flags
f
slotId
featureType
c
private void addImsFeature(int, int, android.telephony.ims.feature.ImsFeature);
descriptor: (IILandroid/telephony/ims/feature/ImsFeature;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield android.telephony.ims.ImsService.mFeaturesBySlot:Landroid/util/SparseArray;
dup
astore 4
monitorenter
1: aload 0
getfield android.telephony.ims.ImsService.mFeaturesBySlot:Landroid/util/SparseArray;
iload 1
invokevirtual android.util.SparseArray.get:(I)Ljava/lang/Object;
checkcast android.util.SparseArray
astore 5
start local 5 2: aload 5
ifnonnull 5
3: new android.util.SparseArray
dup
invokespecial android.util.SparseArray.<init>:()V
astore 5
4: aload 0
getfield android.telephony.ims.ImsService.mFeaturesBySlot:Landroid/util/SparseArray;
iload 1
aload 5
invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
5: StackMap locals: android.util.SparseArray android.util.SparseArray
StackMap stack:
aload 5
iload 2
aload 3
invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
end local 5 6: aload 4
monitorexit
7: goto 10
StackMap locals: android.telephony.ims.ImsService int int android.telephony.ims.feature.ImsFeature android.util.SparseArray
StackMap stack: java.lang.Throwable
8: aload 4
monitorexit
9: athrow
10: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Landroid/telephony/ims/ImsService;
0 11 1 slotId I
0 11 2 featureType I
0 11 3 f Landroid/telephony/ims/feature/ImsFeature;
2 6 5 features Landroid/util/SparseArray<Landroid/telephony/ims/feature/ImsFeature;>;
Exception table:
from to target type
1 7 8 any
8 9 8 any
MethodParameters:
Name Flags
slotId
featureType
f
private void removeImsFeature(int, int, com.android.ims.internal.IImsFeatureStatusCallback);
descriptor: (IILcom/android/ims/internal/IImsFeatureStatusCallback;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield android.telephony.ims.ImsService.mFeaturesBySlot:Landroid/util/SparseArray;
dup
astore 4
monitorenter
1: aload 0
getfield android.telephony.ims.ImsService.mFeaturesBySlot:Landroid/util/SparseArray;
iload 1
invokevirtual android.util.SparseArray.get:(I)Ljava/lang/Object;
checkcast android.util.SparseArray
astore 5
start local 5 2: aload 5
ifnonnull 8
3: ldc "ImsService"
new java.lang.StringBuilder
dup
ldc "Can not remove ImsFeature. No ImsFeatures exist on slot "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
4: iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
6: aload 4
monitorexit
7: return
8: StackMap locals: android.util.SparseArray android.util.SparseArray
StackMap stack:
aload 5
iload 2
invokevirtual android.util.SparseArray.get:(I)Ljava/lang/Object;
checkcast android.telephony.ims.feature.ImsFeature
astore 6
start local 6 9: aload 6
ifnonnull 15
10: ldc "ImsService"
new java.lang.StringBuilder
dup
ldc "Can not remove ImsFeature. No feature with type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
11: iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " exists on slot "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
12: invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
13: aload 4
monitorexit
14: return
15: StackMap locals: android.telephony.ims.feature.ImsFeature
StackMap stack:
aload 6
aload 3
invokevirtual android.telephony.ims.feature.ImsFeature.removeImsFeatureStatusCallback:(Lcom/android/ims/internal/IImsFeatureStatusCallback;)V
16: aload 6
invokevirtual android.telephony.ims.feature.ImsFeature.onFeatureRemoved:()V
17: aload 5
iload 2
invokevirtual android.util.SparseArray.remove:(I)V
end local 6 end local 5 18: aload 4
monitorexit
19: goto 22
StackMap locals: android.telephony.ims.ImsService int int com.android.ims.internal.IImsFeatureStatusCallback android.util.SparseArray
StackMap stack: java.lang.Throwable
20: aload 4
monitorexit
21: athrow
22: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Landroid/telephony/ims/ImsService;
0 23 1 slotId I
0 23 2 featureType I
0 23 3 c Lcom/android/ims/internal/IImsFeatureStatusCallback;
2 18 5 features Landroid/util/SparseArray<Landroid/telephony/ims/feature/ImsFeature;>;
9 18 6 f Landroid/telephony/ims/feature/ImsFeature;
Exception table:
from to target type
1 7 20 any
8 14 20 any
15 19 20 any
20 21 20 any
MethodParameters:
Name Flags
slotId
featureType
c
public android.telephony.ims.stub.ImsFeatureConfiguration querySupportedImsFeatures();
descriptor: ()Landroid/telephony/ims/stub/ImsFeatureConfiguration;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: new android.telephony.ims.stub.ImsFeatureConfiguration
dup
invokespecial android.telephony.ims.stub.ImsFeatureConfiguration.<init>:()V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/telephony/ims/ImsService;
public final void onUpdateSupportedImsFeatures(android.telephony.ims.stub.ImsFeatureConfiguration);
descriptor: (Landroid/telephony/ims/stub/ImsFeatureConfiguration;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.telephony.ims.ImsService.mListener:Landroid/telephony/ims/aidl/IImsServiceControllerListener;
ifnonnull 2
1: new java.lang.IllegalStateException
dup
ldc "Framework is not ready"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield android.telephony.ims.ImsService.mListener:Landroid/telephony/ims/aidl/IImsServiceControllerListener;
aload 1
invokeinterface android.telephony.ims.aidl.IImsServiceControllerListener.onUpdateSupportedImsFeatures:(Landroid/telephony/ims/stub/ImsFeatureConfiguration;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/telephony/ims/ImsService;
0 4 1 c Landroid/telephony/ims/stub/ImsFeatureConfiguration;
Exceptions:
throws android.os.RemoteException
MethodParameters:
Name Flags
c
public void readyForFeatureCreation();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/telephony/ims/ImsService;
public void enableIms(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/telephony/ims/ImsService;
0 1 1 slotId I
MethodParameters:
Name Flags
slotId
public void disableIms(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/telephony/ims/ImsService;
0 1 1 slotId I
MethodParameters:
Name Flags
slotId
public android.telephony.ims.feature.MmTelFeature createMmTelFeature(int);
descriptor: (I)Landroid/telephony/ims/feature/MmTelFeature;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/telephony/ims/ImsService;
0 1 1 slotId I
MethodParameters:
Name Flags
slotId
public android.telephony.ims.feature.RcsFeature createRcsFeature(int);
descriptor: (I)Landroid/telephony/ims/feature/RcsFeature;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/telephony/ims/ImsService;
0 1 1 slotId I
MethodParameters:
Name Flags
slotId
public android.telephony.ims.stub.ImsConfigImplBase getConfig(int);
descriptor: (I)Landroid/telephony/ims/stub/ImsConfigImplBase;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: new android.telephony.ims.stub.ImsConfigImplBase
dup
invokespecial android.telephony.ims.stub.ImsConfigImplBase.<init>:()V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/telephony/ims/ImsService;
0 1 1 slotId I
MethodParameters:
Name Flags
slotId
public android.telephony.ims.stub.ImsRegistrationImplBase getRegistration(int);
descriptor: (I)Landroid/telephony/ims/stub/ImsRegistrationImplBase;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: new android.telephony.ims.stub.ImsRegistrationImplBase
dup
invokespecial android.telephony.ims.stub.ImsRegistrationImplBase.<init>:()V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/telephony/ims/ImsService;
0 1 1 slotId I
MethodParameters:
Name Flags
slotId
}
SourceFile: "ImsService.java"
NestMembers:
android.telephony.ims.ImsService$1 android.telephony.ims.ImsService$Listener
InnerClasses:
android.telephony.ims.ImsService$1
public Listener = android.telephony.ims.ImsService$Listener of android.telephony.ims.ImsService
RuntimeVisibleAnnotations:
android.annotation.SystemApi()