Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 39dd3d88 authored by Brad Ebinger's avatar Brad Ebinger Committed by Gerrit Code Review
Browse files

Merge "Add SipDelegateConnection#closeDialog"

parents 05c699d0 3011f5be
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -11314,6 +11314,7 @@ package android.telephony.ims {
  }
  public interface SipDelegateConnection {
    method public void closeDialog(@NonNull String);
    method public void notifyMessageReceiveError(@NonNull String, int);
    method public void notifyMessageReceived(@NonNull String);
    method public void sendMessage(@NonNull android.telephony.ims.SipMessage, long);
+8 −6
Original line number Diff line number Diff line
@@ -62,7 +62,8 @@ public final class DelegateRegistrationState implements Parcelable {
    /**
     * This feature tag is being deregistered because the PDN that the IMS registration is on is
     *changing.
     * All open SIP dialogs need to be closed before the PDN change can proceed.
     * All open SIP dialogs need to be closed before the PDN change can proceed using
     * {@link SipDelegateConnection#closeDialog(String)}.
     */
    public static final int DEREGISTERING_REASON_PDN_CHANGE = 3;

@@ -73,7 +74,8 @@ public final class DelegateRegistrationState implements Parcelable {
     * a user triggered hange, such as data being enabled/disabled.
     * <p>
     * All open SIP dialogs associated with the new deprovisioned feature tag need to be closed
     * before the IMS registration modification can proceed.
     * using {@link SipDelegateConnection#closeDialog(String)} before the IMS registration
     * modification can proceed.
     */
    public static final int DEREGISTERING_REASON_PROVISIONING_CHANGE = 4;

@@ -81,8 +83,8 @@ public final class DelegateRegistrationState implements Parcelable {
     * This feature tag is deregistering because the SipDelegate associated with this feature tag
     * needs to change its supported feature set.
     * <p>
     * All open SIP Dialogs associated with this feature tag must be closed before this operation
     * can proceed.
     * All open SIP Dialogs associated with this feature tag must be  closed
     * using {@link SipDelegateConnection#closeDialog(String)} before this operation can proceed.
     */
    public static final int DEREGISTERING_REASON_FEATURE_TAGS_CHANGING = 5;

@@ -90,8 +92,8 @@ public final class DelegateRegistrationState implements Parcelable {
     * This feature tag is deregistering because the SipDelegate is in the process of being
     * destroyed.
     * <p>
     * All open SIP Dialogs associated with this feature tag must be closed before this operation
     * can proceed.
     * All open SIP Dialogs associated with this feature tag must be closed
     * using {@link SipDelegateConnection#closeDialog(String)} before this operation can proceed.
     */
    public static final int DEREGISTERING_REASON_DESTROY_PENDING = 6;

+16 −0
Original line number Diff line number Diff line
@@ -61,6 +61,22 @@ public interface SipDelegateConnection {
     */
    void notifyMessageReceived(@NonNull String viaTransactionId);

    /**
     * The SIP Dialog associated with the provided Call-ID is being closed and routing resources
     * associated with the SIP dialog are free to be released.
     * <p>
     * Calling this method is also mandatory for situations where the framework IMS stack is waiting
     * for pending SIP dialogs to be closed before it can perform a handover or apply a provisioning
     * change. See {@link DelegateRegistrationState} for more information about
     * the scenarios where this can occur.
     * <p>
     * This method will need to be called for each SIP dialog managed by this application when it is
     * closed.
     * @param callId The call-ID header value associated with the ongoing SIP Dialog that is
     *         closing.
     */
    void closeDialog(@NonNull String callId);

    /**
     * Notify the SIP delegate that the SIP message has been received from
     * {@link DelegateMessageCallback#onMessageReceived(SipMessage)}, however there was an error
+0 −2
Original line number Diff line number Diff line
@@ -26,7 +26,5 @@ oneway interface ISipDelegate {
    void sendMessage(in SipMessage sipMessage, long configVersion);
    void notifyMessageReceived(in String viaTransactionId);
    void notifyMessageReceiveError(in String viaTransactionId, int reason);

    // only used by SipDelegate.
    void closeDialog(in String callId);
}
+13 −0
Original line number Diff line number Diff line
@@ -199,6 +199,19 @@ public class SipDelegateConnectionAidlWrapper implements SipDelegateConnection,
        }
    }

    @Override
    public void closeDialog(String callId) {
        try {
            ISipDelegate conn = getSipDelegateBinder();
            if (conn == null) {
                return;
            }
            conn.closeDialog(callId);
        } catch (RemoteException e) {
            // Nothing to do here, app will eventually get remote death callback.
        }
    }

    // Also called upon IImsRcsController death (telephony process dies).
    @Override
    public void binderDied() {
Loading