Loading core/api/system-current.txt +3 −0 Original line number Diff line number Diff line Loading @@ -15737,9 +15737,12 @@ package android.telephony.ims.feature { method public void onFeatureRemoved(); method public boolean queryCapabilityConfiguration(int, int); method @NonNull public final android.telephony.ims.feature.MmTelFeature.MmTelCapabilities queryCapabilityStatus(); method public final void setCallAudioHandler(int); method public void setTerminalBasedCallWaitingStatus(boolean); method public void setUiTtyMode(int, @Nullable android.os.Message); method public int shouldProcessCall(@NonNull String[]); field public static final int AUDIO_HANDLER_ANDROID = 0; // 0x0 field public static final int AUDIO_HANDLER_BASEBAND = 1; // 0x1 field public static final String EXTRA_IS_UNKNOWN_CALL = "android.telephony.ims.feature.extra.IS_UNKNOWN_CALL"; field public static final String EXTRA_IS_USSD = "android.telephony.ims.feature.extra.IS_USSD"; field public static final int PROCESS_CALL_CSFB = 1; // 0x1 telephony/java/android/telephony/ims/aidl/IImsMmTelListener.aidl +1 −0 Original line number Diff line number Diff line Loading @@ -34,4 +34,5 @@ interface IImsMmTelListener { void onIncomingCall(IImsCallSession c, in Bundle extras); void onRejectedCall(in ImsCallProfile callProfile, in ImsReasonInfo reason); oneway void onVoiceMessageCountUpdate(int count); oneway void onAudioModeIsVoipChanged(int imsAudioHandler); } telephony/java/android/telephony/ims/feature/MmTelFeature.java +56 −0 Original line number Diff line number Diff line Loading @@ -579,6 +579,17 @@ public class MmTelFeature extends ImsFeature { public void onVoiceMessageCountUpdate(int count) { } /** * Called to set the audio handler for this connection. * @param imsAudioHandler an {@link ImsAudioHandler} used to handle the audio * for this IMS call. * @hide */ @Override public void onAudioModeIsVoipChanged(int imsAudioHandler) { } } /** Loading Loading @@ -628,6 +639,29 @@ public class MmTelFeature extends ImsFeature { public static final String EXTRA_IS_UNKNOWN_CALL = "android.telephony.ims.feature.extra.IS_UNKNOWN_CALL"; /** @hide */ @IntDef(flag = true, value = { AUDIO_HANDLER_ANDROID, AUDIO_HANDLER_BASEBAND }) @Retention(RetentionPolicy.SOURCE) public @interface ImsAudioHandler {} /** * Audio Handler - Android * @hide */ @SystemApi public static final int AUDIO_HANDLER_ANDROID = 0; /** * Audio Handler - Baseband * @hide */ @SystemApi public static final int AUDIO_HANDLER_BASEBAND = 1; private IImsMmTelListener mListener; /** Loading Loading @@ -773,6 +807,28 @@ public class MmTelFeature extends ImsFeature { } } /** * Sets the audio handler for this connection. The vendor IMS stack will invoke this API * to inform Telephony/Telecom layers about which audio handlers i.e. either Android or Modem * shall be used for handling the IMS call audio. * * @param imsAudioHandler {@link MmTelFeature#ImsAudioHandler} used to handle the audio * for this IMS call. * @hide */ @SystemApi public final void setCallAudioHandler(@ImsAudioHandler int imsAudioHandler) { IImsMmTelListener listener = getListener(); if (listener == null) { throw new IllegalStateException("Session is not available."); } try { listener.onAudioModeIsVoipChanged(imsAudioHandler); } catch (RemoteException e) { throw new RuntimeException(e); } } /** * Provides the MmTelFeature with the ability to return the framework Capability Configuration * for a provided Capability. If the framework calls {@link #changeEnabledCapabilities} and Loading Loading
core/api/system-current.txt +3 −0 Original line number Diff line number Diff line Loading @@ -15737,9 +15737,12 @@ package android.telephony.ims.feature { method public void onFeatureRemoved(); method public boolean queryCapabilityConfiguration(int, int); method @NonNull public final android.telephony.ims.feature.MmTelFeature.MmTelCapabilities queryCapabilityStatus(); method public final void setCallAudioHandler(int); method public void setTerminalBasedCallWaitingStatus(boolean); method public void setUiTtyMode(int, @Nullable android.os.Message); method public int shouldProcessCall(@NonNull String[]); field public static final int AUDIO_HANDLER_ANDROID = 0; // 0x0 field public static final int AUDIO_HANDLER_BASEBAND = 1; // 0x1 field public static final String EXTRA_IS_UNKNOWN_CALL = "android.telephony.ims.feature.extra.IS_UNKNOWN_CALL"; field public static final String EXTRA_IS_USSD = "android.telephony.ims.feature.extra.IS_USSD"; field public static final int PROCESS_CALL_CSFB = 1; // 0x1
telephony/java/android/telephony/ims/aidl/IImsMmTelListener.aidl +1 −0 Original line number Diff line number Diff line Loading @@ -34,4 +34,5 @@ interface IImsMmTelListener { void onIncomingCall(IImsCallSession c, in Bundle extras); void onRejectedCall(in ImsCallProfile callProfile, in ImsReasonInfo reason); oneway void onVoiceMessageCountUpdate(int count); oneway void onAudioModeIsVoipChanged(int imsAudioHandler); }
telephony/java/android/telephony/ims/feature/MmTelFeature.java +56 −0 Original line number Diff line number Diff line Loading @@ -579,6 +579,17 @@ public class MmTelFeature extends ImsFeature { public void onVoiceMessageCountUpdate(int count) { } /** * Called to set the audio handler for this connection. * @param imsAudioHandler an {@link ImsAudioHandler} used to handle the audio * for this IMS call. * @hide */ @Override public void onAudioModeIsVoipChanged(int imsAudioHandler) { } } /** Loading Loading @@ -628,6 +639,29 @@ public class MmTelFeature extends ImsFeature { public static final String EXTRA_IS_UNKNOWN_CALL = "android.telephony.ims.feature.extra.IS_UNKNOWN_CALL"; /** @hide */ @IntDef(flag = true, value = { AUDIO_HANDLER_ANDROID, AUDIO_HANDLER_BASEBAND }) @Retention(RetentionPolicy.SOURCE) public @interface ImsAudioHandler {} /** * Audio Handler - Android * @hide */ @SystemApi public static final int AUDIO_HANDLER_ANDROID = 0; /** * Audio Handler - Baseband * @hide */ @SystemApi public static final int AUDIO_HANDLER_BASEBAND = 1; private IImsMmTelListener mListener; /** Loading Loading @@ -773,6 +807,28 @@ public class MmTelFeature extends ImsFeature { } } /** * Sets the audio handler for this connection. The vendor IMS stack will invoke this API * to inform Telephony/Telecom layers about which audio handlers i.e. either Android or Modem * shall be used for handling the IMS call audio. * * @param imsAudioHandler {@link MmTelFeature#ImsAudioHandler} used to handle the audio * for this IMS call. * @hide */ @SystemApi public final void setCallAudioHandler(@ImsAudioHandler int imsAudioHandler) { IImsMmTelListener listener = getListener(); if (listener == null) { throw new IllegalStateException("Session is not available."); } try { listener.onAudioModeIsVoipChanged(imsAudioHandler); } catch (RemoteException e) { throw new RuntimeException(e); } } /** * Provides the MmTelFeature with the ability to return the framework Capability Configuration * for a provided Capability. If the framework calls {@link #changeEnabledCapabilities} and Loading