summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad Fitzpatrick <bradfitz@android.com>2011-03-23 12:33:39 -0700
committerAndroid Code Review <code-review@android.com>2011-03-23 12:33:39 -0700
commit2e383bc6445b37d3b37fbc5b7620cd4716c5692c (patch)
tree5e5c3c3ceeb9cedf7013f660c596ddd3f991d71f
parent5d5a0ca5ebc3f4f60b5ad2afc161b3b8b33953e7 (diff)
parentb5c72ead014a509c0f84884d1f2dac1ff9deec8e (diff)
downloadframeworks_base-2e383bc6445b37d3b37fbc5b7620cd4716c5692c.zip
frameworks_base-2e383bc6445b37d3b37fbc5b7620cd4716c5692c.tar.gz
frameworks_base-2e383bc6445b37d3b37fbc5b7620cd4716c5692c.tar.bz2
Merge "Making it possible to call SIP calls with special allowed chars."
-rw-r--r--[-rwxr-xr-x]telephony/java/com/android/internal/telephony/sip/SipPhone.java5
-rw-r--r--voip/java/com/android/server/sip/SipHelper.java8
2 files changed, 9 insertions, 4 deletions
diff --git a/telephony/java/com/android/internal/telephony/sip/SipPhone.java b/telephony/java/com/android/internal/telephony/sip/SipPhone.java
index 461e4fb..e37afda 100755..100644
--- a/telephony/java/com/android/internal/telephony/sip/SipPhone.java
+++ b/telephony/java/com/android/internal/telephony/sip/SipPhone.java
@@ -41,6 +41,7 @@ import com.android.internal.telephony.UUSInfo;
import java.text.ParseException;
import java.util.List;
+import java.util.regex.Pattern;
/**
* {@hide}
@@ -383,8 +384,8 @@ public class SipPhone extends SipPhoneBase {
Connection dial(String originalNumber) throws SipException {
String calleeSipUri = originalNumber;
if (!calleeSipUri.contains("@")) {
- calleeSipUri = mProfile.getUriString().replaceFirst(
- mProfile.getUserName() + "@",
+ String replaceStr = Pattern.quote(mProfile.getUserName() + "@");
+ calleeSipUri = mProfile.getUriString().replaceFirst(replaceStr,
calleeSipUri + "@");
}
try {
diff --git a/voip/java/com/android/server/sip/SipHelper.java b/voip/java/com/android/server/sip/SipHelper.java
index 518543a..f24e3fb 100644
--- a/voip/java/com/android/server/sip/SipHelper.java
+++ b/voip/java/com/android/server/sip/SipHelper.java
@@ -27,6 +27,8 @@ import java.text.ParseException;
import java.util.ArrayList;
import java.util.EventObject;
import java.util.List;
+import java.util.regex.Pattern;
+
import javax.sip.ClientTransaction;
import javax.sip.Dialog;
import javax.sip.DialogTerminatedEvent;
@@ -215,9 +217,11 @@ class SipHelper {
String tag) throws ParseException, SipException {
FromHeader fromHeader = createFromHeader(userProfile, tag);
ToHeader toHeader = createToHeader(userProfile);
+
+ String replaceStr = Pattern.quote(userProfile.getUserName() + "@");
SipURI requestURI = mAddressFactory.createSipURI(
- userProfile.getUriString().replaceFirst(
- userProfile.getUserName() + "@", ""));
+ userProfile.getUriString().replaceFirst(replaceStr, ""));
+
List<ViaHeader> viaHeaders = createViaHeaders();
CallIdHeader callIdHeader = createCallIdHeader();
CSeqHeader cSeqHeader = createCSeqHeader(requestType);