Loading telephony/java/android/telephony/PhoneNumberUtils.java +36 −25 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import com.android.i18n.phonenumbers.PhoneNumberUtil.PhoneNumberFormat; import com.android.i18n.phonenumbers.Phonenumber.PhoneNumber; import com.android.i18n.phonenumbers.ShortNumberInfo; import android.annotation.IntDef; import android.content.Context; import android.content.Intent; import android.content.res.Resources; Loading @@ -42,6 +43,8 @@ import android.util.SparseIntArray; import static com.android.internal.telephony.TelephonyProperties.PROPERTY_OPERATOR_IDP_STRING; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.Locale; import java.util.regex.Matcher; import java.util.regex.Pattern; Loading @@ -49,8 +52,31 @@ import java.util.regex.Pattern; /** * Various utilities for dealing with phone number strings. */ public class PhoneNumberUtils { public class PhoneNumberUtils { /** {@hide} */ @IntDef(prefix = "BCD_EXTENDED_TYPE_", value = { BCD_EXTENDED_TYPE_EF_ADN, BCD_EXTENDED_TYPE_CALLED_PARTY, }) @Retention(RetentionPolicy.SOURCE) public @interface BcdExtendType {} /* * The BCD extended type used to determine the extended char for the digit which is greater than * 9. * * see TS 51.011 section 10.5.1 EF_ADN(Abbreviated dialling numbers) */ public static final int BCD_EXTENDED_TYPE_EF_ADN = 1; /* * The BCD extended type used to determine the extended char for the digit which is greater than * 9. * * see TS 24.008 section 10.5.4.7 Called party BCD number */ public static final int BCD_EXTENDED_TYPE_CALLED_PARTY = 2; /* * Special characters * Loading @@ -77,22 +103,6 @@ public class PhoneNumberUtils public static final int TOA_International = 0x91; public static final int TOA_Unknown = 0x81; /* * The BCD extended type used to determine the extended char for the digit which is greater than * 9. * * see TS 51.011 section 10.5.1 EF_ADN(Abbreviated dialling numbers) */ public static final int BCD_EXTENDED_TYPE_EF_ADN = 1; /* * The BCD extended type used to determine the extended char for the digit which is greater than * 9. * * see TS 24.008 section 10.5.4.7 Called party BCD number */ public static final int BCD_EXTENDED_TYPE_CALLED_PARTY = 2; static final String LOG_TAG = "PhoneNumberUtils"; private static final boolean DBG = false; Loading Loading @@ -844,7 +854,7 @@ public class PhoneNumberUtils * */ public static String calledPartyBCDToString( byte[] bytes, int offset, int length, int bcdExtType) { byte[] bytes, int offset, int length, @BcdExtendType int bcdExtType) { boolean prependPlus = false; StringBuilder ret = new StringBuilder(1 + length * 2); Loading Loading @@ -944,7 +954,8 @@ public class PhoneNumberUtils } private static void internalCalledPartyBCDFragmentToString( StringBuilder sb, byte [] bytes, int offset, int length, int bcdExtType) { StringBuilder sb, byte [] bytes, int offset, int length, @BcdExtendType int bcdExtType) { for (int i = offset ; i < length + offset ; i++) { byte b; char c; Loading Loading @@ -999,7 +1010,7 @@ public class PhoneNumberUtils * TOA byte. For example: SIM ADN extension fields */ public static String calledPartyBCDFragmentToString( byte[] bytes, int offset, int length, int bcdExtType) { byte[] bytes, int offset, int length, @BcdExtendType int bcdExtType) { StringBuilder ret = new StringBuilder(length * 2); internalCalledPartyBCDFragmentToString(ret, bytes, offset, length, bcdExtType); return ret.toString(); Loading @@ -1009,7 +1020,7 @@ public class PhoneNumberUtils * Returns the correspond character for given {@code b} based on {@code bcdExtType}, or 0 on * invalid code. */ private static char bcdToChar(byte b, int bcdExtType) { private static char bcdToChar(byte b, @BcdExtendType int bcdExtType) { if (b < 0xa) { return (char) ('0' + b); } Loading @@ -1027,7 +1038,7 @@ public class PhoneNumberUtils return extended.charAt(b - 0xa); } private static int charToBCD(char c, int bcdExtType) { private static int charToBCD(char c, @BcdExtendType int bcdExtType) { if ('0' <= c && c <= '9') { return c - '0'; } Loading Loading @@ -1134,7 +1145,7 @@ public class PhoneNumberUtils * * @return BCD byte array */ public static byte[] numberToCalledPartyBCD(String number, int bcdExtType) { public static byte[] numberToCalledPartyBCD(String number, @BcdExtendType int bcdExtType) { return numberToCalledPartyBCDHelper(number, false, bcdExtType); } Loading @@ -1143,7 +1154,7 @@ public class PhoneNumberUtils * the return array. */ private static byte[] numberToCalledPartyBCDHelper( String number, boolean includeLength, int bcdExtType) { String number, boolean includeLength, @BcdExtendType int bcdExtType) { int numberLenReal = number.length(); int numberLenEffective = numberLenReal; boolean hasPlus = number.indexOf('+') != -1; Loading Loading
telephony/java/android/telephony/PhoneNumberUtils.java +36 −25 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import com.android.i18n.phonenumbers.PhoneNumberUtil.PhoneNumberFormat; import com.android.i18n.phonenumbers.Phonenumber.PhoneNumber; import com.android.i18n.phonenumbers.ShortNumberInfo; import android.annotation.IntDef; import android.content.Context; import android.content.Intent; import android.content.res.Resources; Loading @@ -42,6 +43,8 @@ import android.util.SparseIntArray; import static com.android.internal.telephony.TelephonyProperties.PROPERTY_OPERATOR_IDP_STRING; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.Locale; import java.util.regex.Matcher; import java.util.regex.Pattern; Loading @@ -49,8 +52,31 @@ import java.util.regex.Pattern; /** * Various utilities for dealing with phone number strings. */ public class PhoneNumberUtils { public class PhoneNumberUtils { /** {@hide} */ @IntDef(prefix = "BCD_EXTENDED_TYPE_", value = { BCD_EXTENDED_TYPE_EF_ADN, BCD_EXTENDED_TYPE_CALLED_PARTY, }) @Retention(RetentionPolicy.SOURCE) public @interface BcdExtendType {} /* * The BCD extended type used to determine the extended char for the digit which is greater than * 9. * * see TS 51.011 section 10.5.1 EF_ADN(Abbreviated dialling numbers) */ public static final int BCD_EXTENDED_TYPE_EF_ADN = 1; /* * The BCD extended type used to determine the extended char for the digit which is greater than * 9. * * see TS 24.008 section 10.5.4.7 Called party BCD number */ public static final int BCD_EXTENDED_TYPE_CALLED_PARTY = 2; /* * Special characters * Loading @@ -77,22 +103,6 @@ public class PhoneNumberUtils public static final int TOA_International = 0x91; public static final int TOA_Unknown = 0x81; /* * The BCD extended type used to determine the extended char for the digit which is greater than * 9. * * see TS 51.011 section 10.5.1 EF_ADN(Abbreviated dialling numbers) */ public static final int BCD_EXTENDED_TYPE_EF_ADN = 1; /* * The BCD extended type used to determine the extended char for the digit which is greater than * 9. * * see TS 24.008 section 10.5.4.7 Called party BCD number */ public static final int BCD_EXTENDED_TYPE_CALLED_PARTY = 2; static final String LOG_TAG = "PhoneNumberUtils"; private static final boolean DBG = false; Loading Loading @@ -844,7 +854,7 @@ public class PhoneNumberUtils * */ public static String calledPartyBCDToString( byte[] bytes, int offset, int length, int bcdExtType) { byte[] bytes, int offset, int length, @BcdExtendType int bcdExtType) { boolean prependPlus = false; StringBuilder ret = new StringBuilder(1 + length * 2); Loading Loading @@ -944,7 +954,8 @@ public class PhoneNumberUtils } private static void internalCalledPartyBCDFragmentToString( StringBuilder sb, byte [] bytes, int offset, int length, int bcdExtType) { StringBuilder sb, byte [] bytes, int offset, int length, @BcdExtendType int bcdExtType) { for (int i = offset ; i < length + offset ; i++) { byte b; char c; Loading Loading @@ -999,7 +1010,7 @@ public class PhoneNumberUtils * TOA byte. For example: SIM ADN extension fields */ public static String calledPartyBCDFragmentToString( byte[] bytes, int offset, int length, int bcdExtType) { byte[] bytes, int offset, int length, @BcdExtendType int bcdExtType) { StringBuilder ret = new StringBuilder(length * 2); internalCalledPartyBCDFragmentToString(ret, bytes, offset, length, bcdExtType); return ret.toString(); Loading @@ -1009,7 +1020,7 @@ public class PhoneNumberUtils * Returns the correspond character for given {@code b} based on {@code bcdExtType}, or 0 on * invalid code. */ private static char bcdToChar(byte b, int bcdExtType) { private static char bcdToChar(byte b, @BcdExtendType int bcdExtType) { if (b < 0xa) { return (char) ('0' + b); } Loading @@ -1027,7 +1038,7 @@ public class PhoneNumberUtils return extended.charAt(b - 0xa); } private static int charToBCD(char c, int bcdExtType) { private static int charToBCD(char c, @BcdExtendType int bcdExtType) { if ('0' <= c && c <= '9') { return c - '0'; } Loading Loading @@ -1134,7 +1145,7 @@ public class PhoneNumberUtils * * @return BCD byte array */ public static byte[] numberToCalledPartyBCD(String number, int bcdExtType) { public static byte[] numberToCalledPartyBCD(String number, @BcdExtendType int bcdExtType) { return numberToCalledPartyBCDHelper(number, false, bcdExtType); } Loading @@ -1143,7 +1154,7 @@ public class PhoneNumberUtils * the return array. */ private static byte[] numberToCalledPartyBCDHelper( String number, boolean includeLength, int bcdExtType) { String number, boolean includeLength, @BcdExtendType int bcdExtType) { int numberLenReal = number.length(); int numberLenEffective = numberLenReal; boolean hasPlus = number.indexOf('+') != -1; Loading