Merge "Continued multi-endpoint work." into nyc-mr1-dev
am: beb8c4954d
* commit 'beb8c4954db199412a8e59b45198b0c2ac449bfd':
Continued multi-endpoint work.
Change-Id: I1090df296dd4f0824202f5173e88ba8d6570db5f
This commit is contained in:
@@ -194,6 +194,12 @@ public class DisconnectCause {
|
|||||||
*/
|
*/
|
||||||
public static final int VIDEO_CALL_NOT_ALLOWED_WHILE_TTY_ENABLED = 50;
|
public static final int VIDEO_CALL_NOT_ALLOWED_WHILE_TTY_ENABLED = 50;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The call was terminated because it was pulled to another device.
|
||||||
|
* {@hide}
|
||||||
|
*/
|
||||||
|
public static final int CALL_PULLED = 51;
|
||||||
|
|
||||||
//*********************************************************************************************
|
//*********************************************************************************************
|
||||||
// When adding a disconnect type:
|
// When adding a disconnect type:
|
||||||
// 1) Please assign the new type the next id value below.
|
// 1) Please assign the new type the next id value below.
|
||||||
@@ -318,7 +324,9 @@ public class DisconnectCause {
|
|||||||
case CDMA_ALREADY_ACTIVATED:
|
case CDMA_ALREADY_ACTIVATED:
|
||||||
return "CDMA_ALREADY_ACTIVATED";
|
return "CDMA_ALREADY_ACTIVATED";
|
||||||
case VIDEO_CALL_NOT_ALLOWED_WHILE_TTY_ENABLED:
|
case VIDEO_CALL_NOT_ALLOWED_WHILE_TTY_ENABLED:
|
||||||
return "VIDEO_CALL_NOT_ALLOWED_WHILE_TTY_ENABLED";
|
return "VIDEO_CALL_NOT_ALLOWED_WHILE_TTY_ENABLED";
|
||||||
|
case CALL_PULLED:
|
||||||
|
return "CALL_PULLED";
|
||||||
default:
|
default:
|
||||||
return "INVALID: " + cause;
|
return "INVALID: " + cause;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ import android.net.Uri;
|
|||||||
import android.os.SystemProperties;
|
import android.os.SystemProperties;
|
||||||
import android.provider.Contacts;
|
import android.provider.Contacts;
|
||||||
import android.provider.ContactsContract;
|
import android.provider.ContactsContract;
|
||||||
|
import android.telecom.PhoneAccount;
|
||||||
import android.text.Editable;
|
import android.text.Editable;
|
||||||
import android.text.Spannable;
|
import android.text.Spannable;
|
||||||
import android.text.SpannableStringBuilder;
|
import android.text.SpannableStringBuilder;
|
||||||
@@ -2598,6 +2599,48 @@ public class PhoneNumberUtils
|
|||||||
return number.substring(0, delimiterIndex);
|
return number.substring(0, delimiterIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Given a {@link Uri} with a {@code sip} scheme, attempts to build an equivalent {@code tel}
|
||||||
|
* scheme {@link Uri}. If the source {@link Uri} does not contain a valid number, or is not
|
||||||
|
* using the {@code sip} scheme, the original {@link Uri} is returned.
|
||||||
|
*
|
||||||
|
* @param source The {@link Uri} to convert.
|
||||||
|
* @return The equivalent {@code tel} scheme {@link Uri}.
|
||||||
|
*
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
public static Uri convertSipUriToTelUri(Uri source) {
|
||||||
|
// A valid SIP uri has the format: sip:user:password@host:port;uri-parameters?headers
|
||||||
|
// Per RFC3261, the "user" can be a telephone number.
|
||||||
|
// For example: sip:1650555121;phone-context=blah.com@host.com
|
||||||
|
// In this case, the phone number is in the user field of the URI, and the parameters can be
|
||||||
|
// ignored.
|
||||||
|
//
|
||||||
|
// A SIP URI can also specify a phone number in a format similar to:
|
||||||
|
// sip:+1-212-555-1212@something.com;user=phone
|
||||||
|
// In this case, the phone number is again in user field and the parameters can be ignored.
|
||||||
|
// We can get the user field in these instances by splitting the string on the @, ;, or :
|
||||||
|
// and looking at the first found item.
|
||||||
|
|
||||||
|
String scheme = source.getScheme();
|
||||||
|
|
||||||
|
if (!PhoneAccount.SCHEME_SIP.equals(scheme)) {
|
||||||
|
// Not a sip URI, bail.
|
||||||
|
return source;
|
||||||
|
}
|
||||||
|
|
||||||
|
String number = source.getSchemeSpecificPart();
|
||||||
|
String numberParts[] = number.split("[@;:]");
|
||||||
|
|
||||||
|
if (numberParts.length == 0) {
|
||||||
|
// Number not found, bail.
|
||||||
|
return source;
|
||||||
|
}
|
||||||
|
number = numberParts[0];
|
||||||
|
|
||||||
|
return Uri.fromParts(PhoneAccount.SCHEME_TEL, number, null);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This function handles the plus code conversion
|
* This function handles the plus code conversion
|
||||||
* If the number format is
|
* If the number format is
|
||||||
|
|||||||
Reference in New Issue
Block a user