Loading telephony/java/android/telephony/ims/ImsService.java +22 −0 Original line number Diff line number Diff line Loading @@ -41,6 +41,9 @@ import com.android.ims.internal.IImsServiceFeatureListener; import com.android.ims.internal.IImsUt; import com.android.internal.annotations.VisibleForTesting; import static android.Manifest.permission.MODIFY_PHONE_STATE; import static android.Manifest.permission.READ_PHONE_STATE; /** * Main ImsService implementation, which binds via the Telephony ImsResolver. Services that extend * ImsService must register the service in their AndroidManifest to be detected by the framework. Loading Loading @@ -94,6 +97,7 @@ public abstract class ImsService extends ImsServiceBase { public void createImsFeature(int slotId, int feature, IImsFeatureStatusCallback c) throws RemoteException { synchronized (mFeatures) { enforceCallingOrSelfPermission(MODIFY_PHONE_STATE, "createImsFeature"); onCreateImsFeatureInternal(slotId, feature, c); } } Loading @@ -101,6 +105,7 @@ public abstract class ImsService extends ImsServiceBase { @Override public void removeImsFeature(int slotId, int feature) throws RemoteException { synchronized (mFeatures) { enforceCallingOrSelfPermission(MODIFY_PHONE_STATE, "removeImsFeature"); onRemoveImsFeatureInternal(slotId, feature); } } Loading @@ -108,6 +113,7 @@ public abstract class ImsService extends ImsServiceBase { @Override public int startSession(int slotId, int featureType, PendingIntent incomingCallIntent, IImsRegistrationListener listener) throws RemoteException { enforceCallingOrSelfPermission(MODIFY_PHONE_STATE, "startSession"); synchronized (mFeatures) { MMTelFeature feature = resolveMMTelFeature(slotId, featureType); if (feature != null) { Loading @@ -120,6 +126,7 @@ public abstract class ImsService extends ImsServiceBase { @Override public void endSession(int slotId, int featureType, int sessionId) throws RemoteException { synchronized (mFeatures) { enforceCallingOrSelfPermission(MODIFY_PHONE_STATE, "endSession"); MMTelFeature feature = resolveMMTelFeature(slotId, featureType); if (feature != null) { feature.endSession(sessionId); Loading @@ -130,6 +137,7 @@ public abstract class ImsService extends ImsServiceBase { @Override public boolean isConnected(int slotId, int featureType, int callSessionType, int callType) throws RemoteException { enforceCallingOrSelfPermission(READ_PHONE_STATE, "isConnected"); synchronized (mFeatures) { MMTelFeature feature = resolveMMTelFeature(slotId, featureType); if (feature != null) { Loading @@ -141,6 +149,7 @@ public abstract class ImsService extends ImsServiceBase { @Override public boolean isOpened(int slotId, int featureType) throws RemoteException { enforceCallingOrSelfPermission(READ_PHONE_STATE, "isOpened"); synchronized (mFeatures) { MMTelFeature feature = resolveMMTelFeature(slotId, featureType); if (feature != null) { Loading @@ -152,6 +161,7 @@ public abstract class ImsService extends ImsServiceBase { @Override public int getFeatureStatus(int slotId, int featureType) throws RemoteException { enforceCallingOrSelfPermission(READ_PHONE_STATE, "getFeatureStatus"); int status = ImsFeature.STATE_NOT_AVAILABLE; synchronized (mFeatures) { SparseArray<ImsFeature> featureMap = mFeatures.get(slotId); Loading @@ -168,6 +178,7 @@ public abstract class ImsService extends ImsServiceBase { @Override public void addRegistrationListener(int slotId, int featureType, IImsRegistrationListener listener) throws RemoteException { enforceCallingOrSelfPermission(READ_PHONE_STATE, "addRegistrationListener"); synchronized (mFeatures) { MMTelFeature feature = resolveMMTelFeature(slotId, featureType); if (feature != null) { Loading @@ -179,6 +190,7 @@ public abstract class ImsService extends ImsServiceBase { @Override public void removeRegistrationListener(int slotId, int featureType, IImsRegistrationListener listener) throws RemoteException { enforceCallingOrSelfPermission(READ_PHONE_STATE, "removeRegistrationListener"); synchronized (mFeatures) { MMTelFeature feature = resolveMMTelFeature(slotId, featureType); if (feature != null) { Loading @@ -190,6 +202,7 @@ public abstract class ImsService extends ImsServiceBase { @Override public ImsCallProfile createCallProfile(int slotId, int featureType, int sessionId, int callSessionType, int callType) throws RemoteException { enforceCallingOrSelfPermission(MODIFY_PHONE_STATE, "createCallProfile"); synchronized (mFeatures) { MMTelFeature feature = resolveMMTelFeature(slotId, featureType); if (feature != null) { Loading @@ -202,6 +215,7 @@ public abstract class ImsService extends ImsServiceBase { @Override public IImsCallSession createCallSession(int slotId, int featureType, int sessionId, ImsCallProfile profile, IImsCallSessionListener listener) throws RemoteException { enforceCallingOrSelfPermission(MODIFY_PHONE_STATE, "createCallSession"); synchronized (mFeatures) { MMTelFeature feature = resolveMMTelFeature(slotId, featureType); if (feature != null) { Loading @@ -214,6 +228,7 @@ public abstract class ImsService extends ImsServiceBase { @Override public IImsCallSession getPendingCallSession(int slotId, int featureType, int sessionId, String callId) throws RemoteException { enforceCallingOrSelfPermission(MODIFY_PHONE_STATE, "getPendingCallSession"); synchronized (mFeatures) { MMTelFeature feature = resolveMMTelFeature(slotId, featureType); if (feature != null) { Loading @@ -226,6 +241,7 @@ public abstract class ImsService extends ImsServiceBase { @Override public IImsUt getUtInterface(int slotId, int featureType) throws RemoteException { enforceCallingOrSelfPermission(MODIFY_PHONE_STATE, "getUtInterface"); synchronized (mFeatures) { MMTelFeature feature = resolveMMTelFeature(slotId, featureType); if (feature != null) { Loading @@ -238,6 +254,7 @@ public abstract class ImsService extends ImsServiceBase { @Override public IImsConfig getConfigInterface(int slotId, int featureType) throws RemoteException { enforceCallingOrSelfPermission(MODIFY_PHONE_STATE, "getConfigInterface"); synchronized (mFeatures) { MMTelFeature feature = resolveMMTelFeature(slotId, featureType); if (feature != null) { Loading @@ -249,6 +266,7 @@ public abstract class ImsService extends ImsServiceBase { @Override public void turnOnIms(int slotId, int featureType) throws RemoteException { enforceCallingOrSelfPermission(MODIFY_PHONE_STATE, "turnOnIms"); synchronized (mFeatures) { MMTelFeature feature = resolveMMTelFeature(slotId, featureType); if (feature != null) { Loading @@ -259,6 +277,7 @@ public abstract class ImsService extends ImsServiceBase { @Override public void turnOffIms(int slotId, int featureType) throws RemoteException { enforceCallingOrSelfPermission(MODIFY_PHONE_STATE, "turnOffIms"); synchronized (mFeatures) { MMTelFeature feature = resolveMMTelFeature(slotId, featureType); if (feature != null) { Loading @@ -270,6 +289,7 @@ public abstract class ImsService extends ImsServiceBase { @Override public IImsEcbm getEcbmInterface(int slotId, int featureType) throws RemoteException { enforceCallingOrSelfPermission(MODIFY_PHONE_STATE, "getEcbmInterface"); synchronized (mFeatures) { MMTelFeature feature = resolveMMTelFeature(slotId, featureType); if (feature != null) { Loading @@ -282,6 +302,7 @@ public abstract class ImsService extends ImsServiceBase { @Override public void setUiTTYMode(int slotId, int featureType, int uiTtyMode, Message onComplete) throws RemoteException { enforceCallingOrSelfPermission(MODIFY_PHONE_STATE, "setUiTTYMode"); synchronized (mFeatures) { MMTelFeature feature = resolveMMTelFeature(slotId, featureType); if (feature != null) { Loading @@ -293,6 +314,7 @@ public abstract class ImsService extends ImsServiceBase { @Override public IImsMultiEndpoint getMultiEndpointInterface(int slotId, int featureType) throws RemoteException { enforceCallingOrSelfPermission(MODIFY_PHONE_STATE, "getMultiEndpointInterface"); synchronized (mFeatures) { MMTelFeature feature = resolveMMTelFeature(slotId, featureType); if (feature != null) { Loading Loading
telephony/java/android/telephony/ims/ImsService.java +22 −0 Original line number Diff line number Diff line Loading @@ -41,6 +41,9 @@ import com.android.ims.internal.IImsServiceFeatureListener; import com.android.ims.internal.IImsUt; import com.android.internal.annotations.VisibleForTesting; import static android.Manifest.permission.MODIFY_PHONE_STATE; import static android.Manifest.permission.READ_PHONE_STATE; /** * Main ImsService implementation, which binds via the Telephony ImsResolver. Services that extend * ImsService must register the service in their AndroidManifest to be detected by the framework. Loading Loading @@ -94,6 +97,7 @@ public abstract class ImsService extends ImsServiceBase { public void createImsFeature(int slotId, int feature, IImsFeatureStatusCallback c) throws RemoteException { synchronized (mFeatures) { enforceCallingOrSelfPermission(MODIFY_PHONE_STATE, "createImsFeature"); onCreateImsFeatureInternal(slotId, feature, c); } } Loading @@ -101,6 +105,7 @@ public abstract class ImsService extends ImsServiceBase { @Override public void removeImsFeature(int slotId, int feature) throws RemoteException { synchronized (mFeatures) { enforceCallingOrSelfPermission(MODIFY_PHONE_STATE, "removeImsFeature"); onRemoveImsFeatureInternal(slotId, feature); } } Loading @@ -108,6 +113,7 @@ public abstract class ImsService extends ImsServiceBase { @Override public int startSession(int slotId, int featureType, PendingIntent incomingCallIntent, IImsRegistrationListener listener) throws RemoteException { enforceCallingOrSelfPermission(MODIFY_PHONE_STATE, "startSession"); synchronized (mFeatures) { MMTelFeature feature = resolveMMTelFeature(slotId, featureType); if (feature != null) { Loading @@ -120,6 +126,7 @@ public abstract class ImsService extends ImsServiceBase { @Override public void endSession(int slotId, int featureType, int sessionId) throws RemoteException { synchronized (mFeatures) { enforceCallingOrSelfPermission(MODIFY_PHONE_STATE, "endSession"); MMTelFeature feature = resolveMMTelFeature(slotId, featureType); if (feature != null) { feature.endSession(sessionId); Loading @@ -130,6 +137,7 @@ public abstract class ImsService extends ImsServiceBase { @Override public boolean isConnected(int slotId, int featureType, int callSessionType, int callType) throws RemoteException { enforceCallingOrSelfPermission(READ_PHONE_STATE, "isConnected"); synchronized (mFeatures) { MMTelFeature feature = resolveMMTelFeature(slotId, featureType); if (feature != null) { Loading @@ -141,6 +149,7 @@ public abstract class ImsService extends ImsServiceBase { @Override public boolean isOpened(int slotId, int featureType) throws RemoteException { enforceCallingOrSelfPermission(READ_PHONE_STATE, "isOpened"); synchronized (mFeatures) { MMTelFeature feature = resolveMMTelFeature(slotId, featureType); if (feature != null) { Loading @@ -152,6 +161,7 @@ public abstract class ImsService extends ImsServiceBase { @Override public int getFeatureStatus(int slotId, int featureType) throws RemoteException { enforceCallingOrSelfPermission(READ_PHONE_STATE, "getFeatureStatus"); int status = ImsFeature.STATE_NOT_AVAILABLE; synchronized (mFeatures) { SparseArray<ImsFeature> featureMap = mFeatures.get(slotId); Loading @@ -168,6 +178,7 @@ public abstract class ImsService extends ImsServiceBase { @Override public void addRegistrationListener(int slotId, int featureType, IImsRegistrationListener listener) throws RemoteException { enforceCallingOrSelfPermission(READ_PHONE_STATE, "addRegistrationListener"); synchronized (mFeatures) { MMTelFeature feature = resolveMMTelFeature(slotId, featureType); if (feature != null) { Loading @@ -179,6 +190,7 @@ public abstract class ImsService extends ImsServiceBase { @Override public void removeRegistrationListener(int slotId, int featureType, IImsRegistrationListener listener) throws RemoteException { enforceCallingOrSelfPermission(READ_PHONE_STATE, "removeRegistrationListener"); synchronized (mFeatures) { MMTelFeature feature = resolveMMTelFeature(slotId, featureType); if (feature != null) { Loading @@ -190,6 +202,7 @@ public abstract class ImsService extends ImsServiceBase { @Override public ImsCallProfile createCallProfile(int slotId, int featureType, int sessionId, int callSessionType, int callType) throws RemoteException { enforceCallingOrSelfPermission(MODIFY_PHONE_STATE, "createCallProfile"); synchronized (mFeatures) { MMTelFeature feature = resolveMMTelFeature(slotId, featureType); if (feature != null) { Loading @@ -202,6 +215,7 @@ public abstract class ImsService extends ImsServiceBase { @Override public IImsCallSession createCallSession(int slotId, int featureType, int sessionId, ImsCallProfile profile, IImsCallSessionListener listener) throws RemoteException { enforceCallingOrSelfPermission(MODIFY_PHONE_STATE, "createCallSession"); synchronized (mFeatures) { MMTelFeature feature = resolveMMTelFeature(slotId, featureType); if (feature != null) { Loading @@ -214,6 +228,7 @@ public abstract class ImsService extends ImsServiceBase { @Override public IImsCallSession getPendingCallSession(int slotId, int featureType, int sessionId, String callId) throws RemoteException { enforceCallingOrSelfPermission(MODIFY_PHONE_STATE, "getPendingCallSession"); synchronized (mFeatures) { MMTelFeature feature = resolveMMTelFeature(slotId, featureType); if (feature != null) { Loading @@ -226,6 +241,7 @@ public abstract class ImsService extends ImsServiceBase { @Override public IImsUt getUtInterface(int slotId, int featureType) throws RemoteException { enforceCallingOrSelfPermission(MODIFY_PHONE_STATE, "getUtInterface"); synchronized (mFeatures) { MMTelFeature feature = resolveMMTelFeature(slotId, featureType); if (feature != null) { Loading @@ -238,6 +254,7 @@ public abstract class ImsService extends ImsServiceBase { @Override public IImsConfig getConfigInterface(int slotId, int featureType) throws RemoteException { enforceCallingOrSelfPermission(MODIFY_PHONE_STATE, "getConfigInterface"); synchronized (mFeatures) { MMTelFeature feature = resolveMMTelFeature(slotId, featureType); if (feature != null) { Loading @@ -249,6 +266,7 @@ public abstract class ImsService extends ImsServiceBase { @Override public void turnOnIms(int slotId, int featureType) throws RemoteException { enforceCallingOrSelfPermission(MODIFY_PHONE_STATE, "turnOnIms"); synchronized (mFeatures) { MMTelFeature feature = resolveMMTelFeature(slotId, featureType); if (feature != null) { Loading @@ -259,6 +277,7 @@ public abstract class ImsService extends ImsServiceBase { @Override public void turnOffIms(int slotId, int featureType) throws RemoteException { enforceCallingOrSelfPermission(MODIFY_PHONE_STATE, "turnOffIms"); synchronized (mFeatures) { MMTelFeature feature = resolveMMTelFeature(slotId, featureType); if (feature != null) { Loading @@ -270,6 +289,7 @@ public abstract class ImsService extends ImsServiceBase { @Override public IImsEcbm getEcbmInterface(int slotId, int featureType) throws RemoteException { enforceCallingOrSelfPermission(MODIFY_PHONE_STATE, "getEcbmInterface"); synchronized (mFeatures) { MMTelFeature feature = resolveMMTelFeature(slotId, featureType); if (feature != null) { Loading @@ -282,6 +302,7 @@ public abstract class ImsService extends ImsServiceBase { @Override public void setUiTTYMode(int slotId, int featureType, int uiTtyMode, Message onComplete) throws RemoteException { enforceCallingOrSelfPermission(MODIFY_PHONE_STATE, "setUiTTYMode"); synchronized (mFeatures) { MMTelFeature feature = resolveMMTelFeature(slotId, featureType); if (feature != null) { Loading @@ -293,6 +314,7 @@ public abstract class ImsService extends ImsServiceBase { @Override public IImsMultiEndpoint getMultiEndpointInterface(int slotId, int featureType) throws RemoteException { enforceCallingOrSelfPermission(MODIFY_PHONE_STATE, "getMultiEndpointInterface"); synchronized (mFeatures) { MMTelFeature feature = resolveMMTelFeature(slotId, featureType); if (feature != null) { Loading