Merge "Change SipMessage API name" am: bb05a11104
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1657802 Change-Id: I3f3315e48071972373cff7b7acb666a34cd7e635
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user