X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=telephony%2Fjava%2Fcom%2Fandroid%2Finternal%2Ftelephony%2FIccUtils.java;h=8e60e6ed9c75de4f9060cff5f4f540b402f2d022;hb=20f6520197a6b70123d2ff7c466ee58349ae3032;hp=df579b04851f351f7c4e7ffe0752c32b33734177;hpb=e8a00ad288e36204cab2ba2407b42525fe2e44e0;p=android-x86%2Fframeworks-base.git diff --git a/telephony/java/com/android/internal/telephony/IccUtils.java b/telephony/java/com/android/internal/telephony/IccUtils.java index df579b04851f..8e60e6ed9c75 100644 --- a/telephony/java/com/android/internal/telephony/IccUtils.java +++ b/telephony/java/com/android/internal/telephony/IccUtils.java @@ -63,6 +63,29 @@ public class IccUtils { return ret.toString(); } + /** + * Decode cdma byte into String. + */ + public static String + cdmaBcdToString(byte[] data, int offset, int length) { + StringBuilder ret = new StringBuilder(length); + + int count = 0; + for (int i = offset; count < length; i++) { + int v; + v = data[i] & 0xf; + if (v > 9) v = 0; + ret.append((char)('0' + v)); + + if (++count == length) break; + + v = (data[i] >> 4) & 0xf; + if (v > 9) v = 0; + ret.append((char)('0' + v)); + ++count; + } + return ret.toString(); + } /** * Decodes a GSM-style BCD byte, returning an int ranging from 0-99.