Check port in create peer's SIP profile.

SipURI returns port -1 when port is not present in the URI.
Don't call SipProfile.Builder.setPort() when that happens.

Bug: 3291248
Change-Id: I8e608cbc56ea82862df55fdba885f6a864db83ab
This commit is contained in:
Hung-ying Tyan
2010-12-16 20:46:50 +08:00
parent 4ea442b49c
commit 58ee2acba8
2 changed files with 7 additions and 5 deletions

View File

@@ -177,7 +177,7 @@ public class SipProfile implements Parcelable, Serializable, Cloneable {
*/
public Builder setPort(int port) throws IllegalArgumentException {
if ((port > 65535) || (port < 1000)) {
throw new IllegalArgumentException("incorrect port arugment");
throw new IllegalArgumentException("incorrect port arugment: " + port);
}
mProfile.mPort = port;
return this;

View File

@@ -1333,10 +1333,12 @@ class SipSessionGroup implements SipListener {
SipURI uri = (SipURI) address.getURI();
String username = uri.getUser();
if (username == null) username = ANONYMOUS;
return new SipProfile.Builder(username, uri.getHost())
.setPort(uri.getPort())
.setDisplayName(address.getDisplayName())
.build();
int port = uri.getPort();
SipProfile.Builder builder =
new SipProfile.Builder(username, uri.getHost())
.setDisplayName(address.getDisplayName());
if (port > 0) builder.setPort(port);
return builder.build();
} catch (IllegalArgumentException e) {
throw new SipException("createPeerProfile()", e);
} catch (ParseException e) {