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

Commit 823b97e3 authored by Allen Su's avatar Allen Su Committed by Automerger Merge Worker
Browse files

Merge "Change SipMessage API name" am: bb05a111

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1657802

Change-Id: I3f3315e48071972373cff7b7acb666a34cd7e635
parents f473395d bb05a111
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;
    }
}