diff options
Diffstat (limited to 'src/net/java/sip/communicator/impl/phonenumbers/PhoneNumberI18nServiceImpl.java')
-rw-r--r-- | src/net/java/sip/communicator/impl/phonenumbers/PhoneNumberI18nServiceImpl.java | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/net/java/sip/communicator/impl/phonenumbers/PhoneNumberI18nServiceImpl.java b/src/net/java/sip/communicator/impl/phonenumbers/PhoneNumberI18nServiceImpl.java index d1942b2..4d4d417 100644 --- a/src/net/java/sip/communicator/impl/phonenumbers/PhoneNumberI18nServiceImpl.java +++ b/src/net/java/sip/communicator/impl/phonenumbers/PhoneNumberI18nServiceImpl.java @@ -18,6 +18,9 @@ package net.java.sip.communicator.impl.phonenumbers; import com.google.i18n.phonenumbers.*; +import com.google.i18n.phonenumbers.PhoneNumberUtil.*; +import com.google.i18n.phonenumbers.Phonenumber.*; + import net.java.sip.communicator.service.protocol.*; import org.jitsi.service.configuration.*; @@ -183,6 +186,33 @@ public class PhoneNumberI18nServiceImpl } /** + * Tries to format the passed phone number into the international format. If + * parsing fails or the string is not recognized as a valid phone number, + * the input is returned as is. + * + * @param phoneNumber The phone number to format. + * @return the formatted phone number in the international format. + */ + public String formatForDisplay(String phoneNumber) + { + try + { + PhoneNumber pn = PhoneNumberUtil.getInstance().parse(phoneNumber, + System.getProperty("user.country")); + if (PhoneNumberUtil.getInstance().isPossibleNumber(pn)) + { + return PhoneNumberUtil.getInstance().format(pn, + PhoneNumberFormat.INTERNATIONAL); + } + } + catch (NumberParseException e) + { + } + + return phoneNumber; + } + + /** * Indicates if the given string is possibly a phone number. * * @param possibleNumber the string to be verified |