Merge "Add utility functions for pause and tonewait pause."

This commit is contained in:
Jaikumar Ganesh
2011-08-15 17:33:21 -07:00
committed by Android (Google) Code Review

View File

@@ -122,6 +122,17 @@ public class PhoneNumberUtils
return c == PAUSE || c == WAIT;
}
private static boolean
isPause (char c){
return c == 'p'||c == 'P';
}
private static boolean
isToneWait (char c){
return c == 'w'||c == 'W';
}
/** Returns true if ch is not dialable or alpha char */
private static boolean isSeparator(char ch) {
return !isDialable(ch) && !(('a' <= ch && ch <= 'z') || ('A' <= ch && ch <= 'Z'));
@@ -278,6 +289,32 @@ public class PhoneNumberUtils
return ret.toString();
}
/**
* Converts pause and tonewait pause characters
* to Android representation.
* RFC 3601 says pause is 'p' and tonewait is 'w'.
* @hide
*/
public static String convertPreDial(String phoneNumber) {
if (phoneNumber == null) {
return null;
}
int len = phoneNumber.length();
StringBuilder ret = new StringBuilder(len);
for (int i = 0; i < len; i++) {
char c = phoneNumber.charAt(i);
if (isPause(c)) {
c = PAUSE;
} else if (isToneWait(c)) {
c = WAIT;
}
ret.append(c);
}
return ret.toString();
}
/** or -1 if both are negative */
static private int
minPositive (int a, int b) {