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

Commit bb05a111 authored by Allen Su's avatar Allen Su Committed by Gerrit Code Review
Browse files

Merge "Change SipMessage API name"

parents e92c4e2d 0f9b6171
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -11985,10 +11985,11 @@ package android.telephony.ims {
    method public int describeContents();
    method @Nullable public String getCallIdParameter();
    method @NonNull public byte[] getContent();
    method @NonNull public byte[] getEncodedMessage();
    method @Deprecated @NonNull public byte[] getEncodedMessage();
    method @NonNull public String getHeaderSection();
    method @NonNull public String getStartLine();
    method @NonNull public String getViaBranchParameter();
    method @NonNull public byte[] toEncodedMessage();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.SipMessage> CREATOR;
  }
+24 −0
Original line number Diff line number Diff line
@@ -204,7 +204,9 @@ public final class SipMessage implements Parcelable {

    /**
     * @return the UTF-8 encoded SIP message.
     * @deprecated Use {@link #toEncodedMessage} instead
     */
    @Deprecated
    public @NonNull byte[] getEncodedMessage() {
        byte[] header = new StringBuilder()
                .append(mStartLine)
@@ -216,4 +218,26 @@ public final class SipMessage implements Parcelable {
        System.arraycopy(mContent, 0, sipMessage, header.length, mContent.length);
        return sipMessage;
    }

    /**
     * According RFC-3261 section 7, SIP is a text protocol and uses the UTF-8 charset. Its format
     * consists of a start-line, one or more header fields, an empty line indicating the end of the
     * header fields, and an optional message-body.
     *
     * <p>
     * Returns a byte array with UTF-8 format representation of the encoded SipMessage.
     *
     * @return byte array with UTF-8 format representation of the encoded SipMessage.
     */
    public @NonNull byte[] toEncodedMessage() {
        byte[] header = new StringBuilder()
                .append(mStartLine)
                .append(mHeaderSection)
                .append(CRLF)
                .toString().getBytes(UTF_8);
        byte[] sipMessage = new byte[header.length + mContent.length];
        System.arraycopy(header, 0, sipMessage, 0, header.length);
        System.arraycopy(mContent, 0, sipMessage, header.length, mContent.length);
        return sipMessage;
    }
}