Loading api/system-current.txt +3 −1 Original line number Diff line number Diff line Loading @@ -4721,6 +4721,7 @@ package android.telephony.ims { } public final class ImsSuppServiceNotification implements android.os.Parcelable { ctor public ImsSuppServiceNotification(int, int, int, int, java.lang.String, java.lang.String[]); method public int describeContents(); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator<android.telephony.ims.ImsSuppServiceNotification> CREATOR; Loading Loading @@ -4788,7 +4789,6 @@ package android.telephony.ims.feature { public abstract class ImsFeature { ctor public ImsFeature(); method public abstract void changeEnabledCapabilities(android.telephony.ims.feature.CapabilityChangeRequest, android.telephony.ims.feature.ImsFeature.CapabilityCallbackProxy); method public final int getFeatureState(); method public abstract void onFeatureReady(); method public abstract void onFeatureRemoved(); method public final void setFeatureState(int); Loading Loading @@ -4817,10 +4817,12 @@ package android.telephony.ims.feature { method public android.telephony.ims.stub.ImsUtImplBase getUt(); method public final void notifyCapabilitiesStatusChanged(android.telephony.ims.feature.MmTelFeature.MmTelCapabilities); method public final void notifyIncomingCall(android.telephony.ims.stub.ImsCallSessionImplBase, android.os.Bundle); method public final void notifyVoiceMessageCountUpdate(int); method public void onFeatureReady(); method public void onFeatureRemoved(); method public boolean queryCapabilityConfiguration(int, int); method public final android.telephony.ims.feature.MmTelFeature.MmTelCapabilities queryCapabilityStatus(); method public void setUiTtyMode(int, android.os.Message); method public int shouldProcessCall(java.lang.String[]); field public static final int PROCESS_CALL_CSFB = 1; // 0x1 field public static final int PROCESS_CALL_EMERGENCY_CSFB = 2; // 0x2 Loading telephony/java/android/telephony/ims/ImsReasonInfo.java +3 −3 Original line number Diff line number Diff line Loading @@ -421,13 +421,13 @@ public final class ImsReasonInfo implements Parcelable { // For main reason code /** @hide */ public final int mCode; public int mCode; // For the extra code value; it depends on the code value. /** @hide */ public final int mExtraCode; public int mExtraCode; // For the additional message of the reason info. /** @hide */ public final String mExtraMessage; public String mExtraMessage; /** @hide */ public ImsReasonInfo() { Loading telephony/java/android/telephony/ims/ImsSuppServiceNotification.java +11 −0 Original line number Diff line number Diff line Loading @@ -46,6 +46,17 @@ public final class ImsSuppServiceNotification implements Parcelable { /** List of forwarded numbers, if any */ public final String[] history; public ImsSuppServiceNotification(int notificationType, int code, int index, int type, String number, String[] history) { this.notificationType = notificationType; this.code = code; this.index = index; this.type = type; this.number = number; this.history = history; } /** @hide */ public ImsSuppServiceNotification(Parcel in) { notificationType = in.readInt(); Loading telephony/java/android/telephony/ims/compat/feature/MMTelFeature.java +17 −8 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.os.RemoteException; import android.telephony.ims.ImsCallProfile; import com.android.ims.internal.IImsCallSession; import com.android.ims.internal.IImsCallSessionListener; import com.android.ims.internal.IImsConfig; import com.android.ims.internal.IImsEcbm; import com.android.ims.internal.IImsMMTelFeature; Loading @@ -29,6 +30,10 @@ import com.android.ims.internal.IImsMultiEndpoint; import com.android.ims.internal.IImsRegistrationListener; import com.android.ims.internal.IImsUt; import android.telephony.ims.ImsCallSession; import android.telephony.ims.compat.stub.ImsCallSessionImplBase; import android.telephony.ims.stub.ImsEcbmImplBase; import android.telephony.ims.stub.ImsMultiEndpointImplBase; import android.telephony.ims.stub.ImsUtImplBase; /** * Base implementation for MMTel. Loading Loading @@ -110,7 +115,7 @@ public class MMTelFeature extends ImsFeature { public IImsCallSession createCallSession(int sessionId, ImsCallProfile profile) throws RemoteException { synchronized (mLock) { return MMTelFeature.this.createCallSession(sessionId, profile); return MMTelFeature.this.createCallSession(sessionId, profile, null); } } Loading @@ -125,7 +130,8 @@ public class MMTelFeature extends ImsFeature { @Override public IImsUt getUtInterface() throws RemoteException { synchronized (mLock) { return MMTelFeature.this.getUtInterface(); ImsUtImplBase implBase = MMTelFeature.this.getUtInterface(); return implBase != null ? implBase.getInterface() : null; } } Loading Loading @@ -153,7 +159,8 @@ public class MMTelFeature extends ImsFeature { @Override public IImsEcbm getEcbmInterface() throws RemoteException { synchronized (mLock) { return MMTelFeature.this.getEcbmInterface(); ImsEcbmImplBase implBase = MMTelFeature.this.getEcbmInterface(); return implBase != null ? implBase.getImsEcbm() : null; } } Loading @@ -167,7 +174,8 @@ public class MMTelFeature extends ImsFeature { @Override public IImsMultiEndpoint getMultiEndpointInterface() throws RemoteException { synchronized (mLock) { return MMTelFeature.this.getMultiEndpointInterface(); ImsMultiEndpointImplBase implBase = MMTelFeature.this.getMultiEndpointInterface(); return implBase != null ? implBase.getIImsMultiEndpoint() : null; } } }; Loading Loading @@ -281,7 +289,8 @@ public class MMTelFeature extends ImsFeature { * @param sessionId a session id which is obtained from {@link #startSession} * @param profile a call profile to make the call */ public IImsCallSession createCallSession(int sessionId, ImsCallProfile profile) { public IImsCallSession createCallSession(int sessionId, ImsCallProfile profile, IImsCallSessionListener listener) { return null; } Loading @@ -298,7 +307,7 @@ public class MMTelFeature extends ImsFeature { /** * @return The Ut interface for the supplementary service configuration. */ public IImsUt getUtInterface() { public ImsUtImplBase getUtInterface() { return null; } Loading @@ -324,7 +333,7 @@ public class MMTelFeature extends ImsFeature { /** * @return The Emergency call-back mode interface for emergency VoLTE calls that support it. */ public IImsEcbm getEcbmInterface() { public ImsEcbmImplBase getEcbmInterface() { return null; } Loading @@ -339,7 +348,7 @@ public class MMTelFeature extends ImsFeature { /** * @return MultiEndpoint interface for DEP notifications */ public IImsMultiEndpoint getMultiEndpointInterface() { public ImsMultiEndpointImplBase getMultiEndpointInterface() { return null; } Loading telephony/java/android/telephony/ims/compat/stub/ImsCallSessionImplBase.java +317 −8 Original line number Diff line number Diff line Loading @@ -16,16 +16,18 @@ package android.telephony.ims.compat.stub; import android.os.Message; import android.os.RemoteException; import android.telephony.ims.ImsCallSessionListener; import android.telephony.ims.ImsCallProfile; import android.telephony.ims.ImsConferenceState; import android.telephony.ims.ImsReasonInfo; import android.telephony.ims.ImsStreamMediaProfile; import android.telephony.ims.ImsSuppServiceNotification; import android.telephony.ims.aidl.IImsCallSessionListener; import com.android.ims.internal.IImsCallSession; import com.android.ims.internal.IImsCallSessionListener; import com.android.ims.internal.IImsVideoCallProvider; import android.telephony.ims.ImsCallSession; /** Loading @@ -37,10 +39,12 @@ import android.telephony.ims.ImsCallSession; * @hide */ public class ImsCallSessionImplBase extends android.telephony.ims.stub.ImsCallSessionImplBase { public class ImsCallSessionImplBase extends IImsCallSession.Stub { @Override public final void setListener(ImsCallSessionListener listener) { // convert to old implementation of listener public final void setListener(IImsCallSessionListener listener) throws RemoteException { setListener(new ImsCallSessionListenerConverter(listener)); } Loading @@ -51,8 +55,312 @@ public class ImsCallSessionImplBase extends android.telephony.ims.stub.ImsCallSe * * @param listener to listen to the session events of this object */ public void setListener(IImsCallSessionListener listener) { public void setListener(com.android.ims.internal.IImsCallSessionListener listener) { } /** * Closes the object. This {@link ImsCallSessionImplBase} is not usable after being closed. */ @Override public void close() { } /** * @return A String containing the unique call ID of this {@link ImsCallSessionImplBase}. */ @Override public String getCallId() { return null; } /** * @return The {@link ImsCallProfile} that this {@link ImsCallSessionImplBase} is associated * with. */ @Override public ImsCallProfile getCallProfile() { return null; } /** * @return The local {@link ImsCallProfile} that this {@link ImsCallSessionImplBase} is * associated with. */ @Override public ImsCallProfile getLocalCallProfile() { return null; } /** * @return The remote {@link ImsCallProfile} that this {@link ImsCallSessionImplBase} is * associated with. */ @Override public ImsCallProfile getRemoteCallProfile() { return null; } /** * @param name The String extra key. * @return The string extra value associated with the specified property. */ @Override public String getProperty(String name) { return null; } /** * @return The {@link ImsCallSessionImplBase} state. */ @Override public int getState() { return -1; } /** * @return true if the {@link ImsCallSessionImplBase} is in a call, false otherwise. */ @Override public boolean isInCall() { return false; } /** * Mutes or unmutes the mic for the active call. * * @param muted true if the call should be muted, false otherwise. */ @Override public void setMute(boolean muted) { } /** * Initiates an IMS call with the specified number and call profile. * The session listener set in {@link #setListener(IImsCallSessionListener)} is called back upon * defined session events. * Only valid to call when the session state is in * {@link ImsCallSession.State#IDLE}. * * @param callee dialed string to make the call to * @param profile call profile to make the call with the specified service type, * call type and media information * @see {@link ImsCallSession.Listener#callSessionStarted}, * {@link ImsCallSession.Listener#callSessionStartFailed} */ @Override public void start(String callee, ImsCallProfile profile) { } /** * Initiates an IMS call with the specified participants and call profile. * The session listener set in {@link #setListener(IImsCallSessionListener)} is called back upon * defined session events. * The method is only valid to call when the session state is in * {@link ImsCallSession.State#IDLE}. * * @param participants participant list to initiate an IMS conference call * @param profile call profile to make the call with the specified service type, * call type and media information * @see {@link ImsCallSession.Listener#callSessionStarted}, * {@link ImsCallSession.Listener#callSessionStartFailed} */ @Override public void startConference(String[] participants, ImsCallProfile profile) { } /** * Accepts an incoming call or session update. * * @param callType call type specified in {@link ImsCallProfile} to be answered * @param profile stream media profile {@link ImsStreamMediaProfile} to be answered * @see {@link ImsCallSession.Listener#callSessionStarted} */ @Override public void accept(int callType, ImsStreamMediaProfile profile) { } /** * Rejects an incoming call or session update. * * @param reason reason code to reject an incoming call, defined in {@link ImsReasonInfo}. * {@link ImsCallSession.Listener#callSessionStartFailed} */ @Override public void reject(int reason) { } /** * Terminates a call. * * @param reason reason code to terminate a call, defined in {@link ImsReasonInfo}. * * @see {@link ImsCallSession.Listener#callSessionTerminated} */ @Override public void terminate(int reason) { } /** * Puts a call on hold. When it succeeds, {@link ImsCallSession.Listener#callSessionHeld} is * called. * * @param profile stream media profile {@link ImsStreamMediaProfile} to hold the call * @see {@link ImsCallSession.Listener#callSessionHeld}, * {@link ImsCallSession.Listener#callSessionHoldFailed} */ @Override public void hold(ImsStreamMediaProfile profile) { } /** * Continues a call that's on hold. When it succeeds, * {@link ImsCallSession.Listener#callSessionResumed} is called. * * @param profile stream media profile with {@link ImsStreamMediaProfile} to resume the call * @see {@link ImsCallSession.Listener#callSessionResumed}, * {@link ImsCallSession.Listener#callSessionResumeFailed} */ @Override public void resume(ImsStreamMediaProfile profile) { } /** * Merges the active and held call. When the merge starts, * {@link ImsCallSession.Listener#callSessionMergeStarted} is called. * {@link ImsCallSession.Listener#callSessionMergeComplete} is called if the merge is * successful, and {@link ImsCallSession.Listener#callSessionMergeFailed} is called if the merge * fails. * * @see {@link ImsCallSession.Listener#callSessionMergeStarted}, * {@link ImsCallSession.Listener#callSessionMergeComplete}, * {@link ImsCallSession.Listener#callSessionMergeFailed} */ @Override public void merge() { } /** * Updates the current call's properties (ex. call mode change: video upgrade / downgrade). * * @param callType call type specified in {@link ImsCallProfile} to be updated * @param profile stream media profile {@link ImsStreamMediaProfile} to be updated * @see {@link ImsCallSession.Listener#callSessionUpdated}, * {@link ImsCallSession.Listener#callSessionUpdateFailed} */ @Override public void update(int callType, ImsStreamMediaProfile profile) { } /** * Extends this call to the conference call with the specified recipients. * * @param participants participant list to be invited to the conference call after extending the * call * @see {@link ImsCallSession.Listener#callSessionConferenceExtended}, * {@link ImsCallSession.Listener#callSessionConferenceExtendFailed} */ @Override public void extendToConference(String[] participants) { } /** * Requests the conference server to invite an additional participants to the conference. * * @param participants participant list to be invited to the conference call * @see {@link ImsCallSession.Listener#callSessionInviteParticipantsRequestDelivered}, * {@link ImsCallSession.Listener#callSessionInviteParticipantsRequestFailed} */ @Override public void inviteParticipants(String[] participants) { } /** * Requests the conference server to remove the specified participants from the conference. * * @param participants participant list to be removed from the conference call * @see {@link ImsCallSession.Listener#callSessionRemoveParticipantsRequestDelivered}, * {@link ImsCallSession.Listener#callSessionRemoveParticipantsRequestFailed} */ @Override public void removeParticipants(String[] participants) { } /** * Sends a DTMF code. According to <a href="http://tools.ietf.org/html/rfc2833">RFC 2833</a>, * event 0 ~ 9 maps to decimal value 0 ~ 9, '*' to 10, '#' to 11, event 'A' ~ 'D' to 12 ~ 15, * and event flash to 16. Currently, event flash is not supported. * * @param c the DTMF to send. '0' ~ '9', 'A' ~ 'D', '*', '#' are valid inputs. */ @Override public void sendDtmf(char c, Message result) { } /** * Start a DTMF code. According to <a href="http://tools.ietf.org/html/rfc2833">RFC 2833</a>, * event 0 ~ 9 maps to decimal value 0 ~ 9, '*' to 10, '#' to 11, event 'A' ~ 'D' to 12 ~ 15, * and event flash to 16. Currently, event flash is not supported. * * @param c the DTMF to send. '0' ~ '9', 'A' ~ 'D', '*', '#' are valid inputs. */ @Override public void startDtmf(char c) { } /** * Stop a DTMF code. */ @Override public void stopDtmf() { } /** * Sends an USSD message. * * @param ussdMessage USSD message to send */ @Override public void sendUssd(String ussdMessage) { } @Override public IImsVideoCallProvider getVideoCallProvider() { return null; } /** * Determines if the current session is multiparty. * @return {@code True} if the session is multiparty. */ @Override public boolean isMultiparty() { return false; } /** * Device issues RTT modify request * @param toProfile The profile with requested changes made */ @Override public void sendRttModifyRequest(ImsCallProfile toProfile) { } /** * Device responds to Remote RTT modify request * @param status true if the the request was accepted or false of the request is defined. */ @Override public void sendRttModifyResponse(boolean status) { } /** * Device sends RTT message * @param rttMessage RTT message to be sent */ @Override public void sendRttMessage(String rttMessage) { } /** Loading @@ -61,11 +369,12 @@ public class ImsCallSessionImplBase extends android.telephony.ims.stub.ImsCallSe * "new" version of the Listener android.telephony.ims.ImsCallSessionListener when calling * back to the framework. */ private class ImsCallSessionListenerConverter extends IImsCallSessionListener.Stub { private class ImsCallSessionListenerConverter extends com.android.ims.internal.IImsCallSessionListener.Stub { private final ImsCallSessionListener mNewListener; private final IImsCallSessionListener mNewListener; public ImsCallSessionListenerConverter(ImsCallSessionListener listener) { public ImsCallSessionListenerConverter(IImsCallSessionListener listener) { mNewListener = listener; } Loading Loading
api/system-current.txt +3 −1 Original line number Diff line number Diff line Loading @@ -4721,6 +4721,7 @@ package android.telephony.ims { } public final class ImsSuppServiceNotification implements android.os.Parcelable { ctor public ImsSuppServiceNotification(int, int, int, int, java.lang.String, java.lang.String[]); method public int describeContents(); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator<android.telephony.ims.ImsSuppServiceNotification> CREATOR; Loading Loading @@ -4788,7 +4789,6 @@ package android.telephony.ims.feature { public abstract class ImsFeature { ctor public ImsFeature(); method public abstract void changeEnabledCapabilities(android.telephony.ims.feature.CapabilityChangeRequest, android.telephony.ims.feature.ImsFeature.CapabilityCallbackProxy); method public final int getFeatureState(); method public abstract void onFeatureReady(); method public abstract void onFeatureRemoved(); method public final void setFeatureState(int); Loading Loading @@ -4817,10 +4817,12 @@ package android.telephony.ims.feature { method public android.telephony.ims.stub.ImsUtImplBase getUt(); method public final void notifyCapabilitiesStatusChanged(android.telephony.ims.feature.MmTelFeature.MmTelCapabilities); method public final void notifyIncomingCall(android.telephony.ims.stub.ImsCallSessionImplBase, android.os.Bundle); method public final void notifyVoiceMessageCountUpdate(int); method public void onFeatureReady(); method public void onFeatureRemoved(); method public boolean queryCapabilityConfiguration(int, int); method public final android.telephony.ims.feature.MmTelFeature.MmTelCapabilities queryCapabilityStatus(); method public void setUiTtyMode(int, android.os.Message); method public int shouldProcessCall(java.lang.String[]); field public static final int PROCESS_CALL_CSFB = 1; // 0x1 field public static final int PROCESS_CALL_EMERGENCY_CSFB = 2; // 0x2 Loading
telephony/java/android/telephony/ims/ImsReasonInfo.java +3 −3 Original line number Diff line number Diff line Loading @@ -421,13 +421,13 @@ public final class ImsReasonInfo implements Parcelable { // For main reason code /** @hide */ public final int mCode; public int mCode; // For the extra code value; it depends on the code value. /** @hide */ public final int mExtraCode; public int mExtraCode; // For the additional message of the reason info. /** @hide */ public final String mExtraMessage; public String mExtraMessage; /** @hide */ public ImsReasonInfo() { Loading
telephony/java/android/telephony/ims/ImsSuppServiceNotification.java +11 −0 Original line number Diff line number Diff line Loading @@ -46,6 +46,17 @@ public final class ImsSuppServiceNotification implements Parcelable { /** List of forwarded numbers, if any */ public final String[] history; public ImsSuppServiceNotification(int notificationType, int code, int index, int type, String number, String[] history) { this.notificationType = notificationType; this.code = code; this.index = index; this.type = type; this.number = number; this.history = history; } /** @hide */ public ImsSuppServiceNotification(Parcel in) { notificationType = in.readInt(); Loading
telephony/java/android/telephony/ims/compat/feature/MMTelFeature.java +17 −8 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.os.RemoteException; import android.telephony.ims.ImsCallProfile; import com.android.ims.internal.IImsCallSession; import com.android.ims.internal.IImsCallSessionListener; import com.android.ims.internal.IImsConfig; import com.android.ims.internal.IImsEcbm; import com.android.ims.internal.IImsMMTelFeature; Loading @@ -29,6 +30,10 @@ import com.android.ims.internal.IImsMultiEndpoint; import com.android.ims.internal.IImsRegistrationListener; import com.android.ims.internal.IImsUt; import android.telephony.ims.ImsCallSession; import android.telephony.ims.compat.stub.ImsCallSessionImplBase; import android.telephony.ims.stub.ImsEcbmImplBase; import android.telephony.ims.stub.ImsMultiEndpointImplBase; import android.telephony.ims.stub.ImsUtImplBase; /** * Base implementation for MMTel. Loading Loading @@ -110,7 +115,7 @@ public class MMTelFeature extends ImsFeature { public IImsCallSession createCallSession(int sessionId, ImsCallProfile profile) throws RemoteException { synchronized (mLock) { return MMTelFeature.this.createCallSession(sessionId, profile); return MMTelFeature.this.createCallSession(sessionId, profile, null); } } Loading @@ -125,7 +130,8 @@ public class MMTelFeature extends ImsFeature { @Override public IImsUt getUtInterface() throws RemoteException { synchronized (mLock) { return MMTelFeature.this.getUtInterface(); ImsUtImplBase implBase = MMTelFeature.this.getUtInterface(); return implBase != null ? implBase.getInterface() : null; } } Loading Loading @@ -153,7 +159,8 @@ public class MMTelFeature extends ImsFeature { @Override public IImsEcbm getEcbmInterface() throws RemoteException { synchronized (mLock) { return MMTelFeature.this.getEcbmInterface(); ImsEcbmImplBase implBase = MMTelFeature.this.getEcbmInterface(); return implBase != null ? implBase.getImsEcbm() : null; } } Loading @@ -167,7 +174,8 @@ public class MMTelFeature extends ImsFeature { @Override public IImsMultiEndpoint getMultiEndpointInterface() throws RemoteException { synchronized (mLock) { return MMTelFeature.this.getMultiEndpointInterface(); ImsMultiEndpointImplBase implBase = MMTelFeature.this.getMultiEndpointInterface(); return implBase != null ? implBase.getIImsMultiEndpoint() : null; } } }; Loading Loading @@ -281,7 +289,8 @@ public class MMTelFeature extends ImsFeature { * @param sessionId a session id which is obtained from {@link #startSession} * @param profile a call profile to make the call */ public IImsCallSession createCallSession(int sessionId, ImsCallProfile profile) { public IImsCallSession createCallSession(int sessionId, ImsCallProfile profile, IImsCallSessionListener listener) { return null; } Loading @@ -298,7 +307,7 @@ public class MMTelFeature extends ImsFeature { /** * @return The Ut interface for the supplementary service configuration. */ public IImsUt getUtInterface() { public ImsUtImplBase getUtInterface() { return null; } Loading @@ -324,7 +333,7 @@ public class MMTelFeature extends ImsFeature { /** * @return The Emergency call-back mode interface for emergency VoLTE calls that support it. */ public IImsEcbm getEcbmInterface() { public ImsEcbmImplBase getEcbmInterface() { return null; } Loading @@ -339,7 +348,7 @@ public class MMTelFeature extends ImsFeature { /** * @return MultiEndpoint interface for DEP notifications */ public IImsMultiEndpoint getMultiEndpointInterface() { public ImsMultiEndpointImplBase getMultiEndpointInterface() { return null; } Loading
telephony/java/android/telephony/ims/compat/stub/ImsCallSessionImplBase.java +317 −8 Original line number Diff line number Diff line Loading @@ -16,16 +16,18 @@ package android.telephony.ims.compat.stub; import android.os.Message; import android.os.RemoteException; import android.telephony.ims.ImsCallSessionListener; import android.telephony.ims.ImsCallProfile; import android.telephony.ims.ImsConferenceState; import android.telephony.ims.ImsReasonInfo; import android.telephony.ims.ImsStreamMediaProfile; import android.telephony.ims.ImsSuppServiceNotification; import android.telephony.ims.aidl.IImsCallSessionListener; import com.android.ims.internal.IImsCallSession; import com.android.ims.internal.IImsCallSessionListener; import com.android.ims.internal.IImsVideoCallProvider; import android.telephony.ims.ImsCallSession; /** Loading @@ -37,10 +39,12 @@ import android.telephony.ims.ImsCallSession; * @hide */ public class ImsCallSessionImplBase extends android.telephony.ims.stub.ImsCallSessionImplBase { public class ImsCallSessionImplBase extends IImsCallSession.Stub { @Override public final void setListener(ImsCallSessionListener listener) { // convert to old implementation of listener public final void setListener(IImsCallSessionListener listener) throws RemoteException { setListener(new ImsCallSessionListenerConverter(listener)); } Loading @@ -51,8 +55,312 @@ public class ImsCallSessionImplBase extends android.telephony.ims.stub.ImsCallSe * * @param listener to listen to the session events of this object */ public void setListener(IImsCallSessionListener listener) { public void setListener(com.android.ims.internal.IImsCallSessionListener listener) { } /** * Closes the object. This {@link ImsCallSessionImplBase} is not usable after being closed. */ @Override public void close() { } /** * @return A String containing the unique call ID of this {@link ImsCallSessionImplBase}. */ @Override public String getCallId() { return null; } /** * @return The {@link ImsCallProfile} that this {@link ImsCallSessionImplBase} is associated * with. */ @Override public ImsCallProfile getCallProfile() { return null; } /** * @return The local {@link ImsCallProfile} that this {@link ImsCallSessionImplBase} is * associated with. */ @Override public ImsCallProfile getLocalCallProfile() { return null; } /** * @return The remote {@link ImsCallProfile} that this {@link ImsCallSessionImplBase} is * associated with. */ @Override public ImsCallProfile getRemoteCallProfile() { return null; } /** * @param name The String extra key. * @return The string extra value associated with the specified property. */ @Override public String getProperty(String name) { return null; } /** * @return The {@link ImsCallSessionImplBase} state. */ @Override public int getState() { return -1; } /** * @return true if the {@link ImsCallSessionImplBase} is in a call, false otherwise. */ @Override public boolean isInCall() { return false; } /** * Mutes or unmutes the mic for the active call. * * @param muted true if the call should be muted, false otherwise. */ @Override public void setMute(boolean muted) { } /** * Initiates an IMS call with the specified number and call profile. * The session listener set in {@link #setListener(IImsCallSessionListener)} is called back upon * defined session events. * Only valid to call when the session state is in * {@link ImsCallSession.State#IDLE}. * * @param callee dialed string to make the call to * @param profile call profile to make the call with the specified service type, * call type and media information * @see {@link ImsCallSession.Listener#callSessionStarted}, * {@link ImsCallSession.Listener#callSessionStartFailed} */ @Override public void start(String callee, ImsCallProfile profile) { } /** * Initiates an IMS call with the specified participants and call profile. * The session listener set in {@link #setListener(IImsCallSessionListener)} is called back upon * defined session events. * The method is only valid to call when the session state is in * {@link ImsCallSession.State#IDLE}. * * @param participants participant list to initiate an IMS conference call * @param profile call profile to make the call with the specified service type, * call type and media information * @see {@link ImsCallSession.Listener#callSessionStarted}, * {@link ImsCallSession.Listener#callSessionStartFailed} */ @Override public void startConference(String[] participants, ImsCallProfile profile) { } /** * Accepts an incoming call or session update. * * @param callType call type specified in {@link ImsCallProfile} to be answered * @param profile stream media profile {@link ImsStreamMediaProfile} to be answered * @see {@link ImsCallSession.Listener#callSessionStarted} */ @Override public void accept(int callType, ImsStreamMediaProfile profile) { } /** * Rejects an incoming call or session update. * * @param reason reason code to reject an incoming call, defined in {@link ImsReasonInfo}. * {@link ImsCallSession.Listener#callSessionStartFailed} */ @Override public void reject(int reason) { } /** * Terminates a call. * * @param reason reason code to terminate a call, defined in {@link ImsReasonInfo}. * * @see {@link ImsCallSession.Listener#callSessionTerminated} */ @Override public void terminate(int reason) { } /** * Puts a call on hold. When it succeeds, {@link ImsCallSession.Listener#callSessionHeld} is * called. * * @param profile stream media profile {@link ImsStreamMediaProfile} to hold the call * @see {@link ImsCallSession.Listener#callSessionHeld}, * {@link ImsCallSession.Listener#callSessionHoldFailed} */ @Override public void hold(ImsStreamMediaProfile profile) { } /** * Continues a call that's on hold. When it succeeds, * {@link ImsCallSession.Listener#callSessionResumed} is called. * * @param profile stream media profile with {@link ImsStreamMediaProfile} to resume the call * @see {@link ImsCallSession.Listener#callSessionResumed}, * {@link ImsCallSession.Listener#callSessionResumeFailed} */ @Override public void resume(ImsStreamMediaProfile profile) { } /** * Merges the active and held call. When the merge starts, * {@link ImsCallSession.Listener#callSessionMergeStarted} is called. * {@link ImsCallSession.Listener#callSessionMergeComplete} is called if the merge is * successful, and {@link ImsCallSession.Listener#callSessionMergeFailed} is called if the merge * fails. * * @see {@link ImsCallSession.Listener#callSessionMergeStarted}, * {@link ImsCallSession.Listener#callSessionMergeComplete}, * {@link ImsCallSession.Listener#callSessionMergeFailed} */ @Override public void merge() { } /** * Updates the current call's properties (ex. call mode change: video upgrade / downgrade). * * @param callType call type specified in {@link ImsCallProfile} to be updated * @param profile stream media profile {@link ImsStreamMediaProfile} to be updated * @see {@link ImsCallSession.Listener#callSessionUpdated}, * {@link ImsCallSession.Listener#callSessionUpdateFailed} */ @Override public void update(int callType, ImsStreamMediaProfile profile) { } /** * Extends this call to the conference call with the specified recipients. * * @param participants participant list to be invited to the conference call after extending the * call * @see {@link ImsCallSession.Listener#callSessionConferenceExtended}, * {@link ImsCallSession.Listener#callSessionConferenceExtendFailed} */ @Override public void extendToConference(String[] participants) { } /** * Requests the conference server to invite an additional participants to the conference. * * @param participants participant list to be invited to the conference call * @see {@link ImsCallSession.Listener#callSessionInviteParticipantsRequestDelivered}, * {@link ImsCallSession.Listener#callSessionInviteParticipantsRequestFailed} */ @Override public void inviteParticipants(String[] participants) { } /** * Requests the conference server to remove the specified participants from the conference. * * @param participants participant list to be removed from the conference call * @see {@link ImsCallSession.Listener#callSessionRemoveParticipantsRequestDelivered}, * {@link ImsCallSession.Listener#callSessionRemoveParticipantsRequestFailed} */ @Override public void removeParticipants(String[] participants) { } /** * Sends a DTMF code. According to <a href="http://tools.ietf.org/html/rfc2833">RFC 2833</a>, * event 0 ~ 9 maps to decimal value 0 ~ 9, '*' to 10, '#' to 11, event 'A' ~ 'D' to 12 ~ 15, * and event flash to 16. Currently, event flash is not supported. * * @param c the DTMF to send. '0' ~ '9', 'A' ~ 'D', '*', '#' are valid inputs. */ @Override public void sendDtmf(char c, Message result) { } /** * Start a DTMF code. According to <a href="http://tools.ietf.org/html/rfc2833">RFC 2833</a>, * event 0 ~ 9 maps to decimal value 0 ~ 9, '*' to 10, '#' to 11, event 'A' ~ 'D' to 12 ~ 15, * and event flash to 16. Currently, event flash is not supported. * * @param c the DTMF to send. '0' ~ '9', 'A' ~ 'D', '*', '#' are valid inputs. */ @Override public void startDtmf(char c) { } /** * Stop a DTMF code. */ @Override public void stopDtmf() { } /** * Sends an USSD message. * * @param ussdMessage USSD message to send */ @Override public void sendUssd(String ussdMessage) { } @Override public IImsVideoCallProvider getVideoCallProvider() { return null; } /** * Determines if the current session is multiparty. * @return {@code True} if the session is multiparty. */ @Override public boolean isMultiparty() { return false; } /** * Device issues RTT modify request * @param toProfile The profile with requested changes made */ @Override public void sendRttModifyRequest(ImsCallProfile toProfile) { } /** * Device responds to Remote RTT modify request * @param status true if the the request was accepted or false of the request is defined. */ @Override public void sendRttModifyResponse(boolean status) { } /** * Device sends RTT message * @param rttMessage RTT message to be sent */ @Override public void sendRttMessage(String rttMessage) { } /** Loading @@ -61,11 +369,12 @@ public class ImsCallSessionImplBase extends android.telephony.ims.stub.ImsCallSe * "new" version of the Listener android.telephony.ims.ImsCallSessionListener when calling * back to the framework. */ private class ImsCallSessionListenerConverter extends IImsCallSessionListener.Stub { private class ImsCallSessionListenerConverter extends com.android.ims.internal.IImsCallSessionListener.Stub { private final ImsCallSessionListener mNewListener; private final IImsCallSessionListener mNewListener; public ImsCallSessionListenerConverter(ImsCallSessionListener listener) { public ImsCallSessionListenerConverter(IImsCallSessionListener listener) { mNewListener = listener; } Loading