public class com.android.internal.telephony.GsmAlphabet
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.android.internal.telephony.GsmAlphabet
super_class: java.lang.Object
{
private static final java.lang.String TAG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "GSM"
public static final byte GSM_EXTENDED_ESCAPE;
descriptor: B
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 27
public static final int UDH_SEPTET_COST_LENGTH;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int UDH_SEPTET_COST_ONE_SHIFT_TABLE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 4
public static final int UDH_SEPTET_COST_TWO_SHIFT_TABLES;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 7
public static final int UDH_SEPTET_COST_CONCATENATED_MESSAGE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 6
private static final android.util.SparseIntArray[] sCharsToGsmTables;
descriptor: [Landroid/util/SparseIntArray;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final android.util.SparseIntArray[] sCharsToShiftTables;
descriptor: [Landroid/util/SparseIntArray;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static int[] sEnabledSingleShiftTables;
descriptor: [I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static int[] sEnabledLockingShiftTables;
descriptor: [I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static int sHighestEnabledSingleShiftCode;
descriptor: I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static boolean sDisableCountryEncodingCheck;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static final java.lang.String[] sLanguageTables;
descriptor: [Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String[] sLanguageShiftTables;
descriptor: [Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=8, args_size=0
0: iconst_0
putstatic com.android.internal.telephony.GsmAlphabet.sDisableCountryEncodingCheck:Z
1: bipush 14
anewarray java.lang.String
dup
iconst_0
2: ldc "@\u00A3$\u00A5\u00E8\u00E9\u00F9\u00EC\u00F2\u00C7\n\u00D8\u00F8\r\u00C5\u00E5\u0394_\u03A6\u0393\u039B\u03A9\u03A0\u03A8\u03A3\u0398\u039E\uFFFF\u00C6\u00E6\u00DF\u00C9 !\"#\u00A4%&'()*+,-./0123456789:;<=>?\u00A1ABCDEFGHIJKLMNOPQRSTUVWXYZ\u00C4\u00D6\u00D1\u00DC\u00A7\u00BFabcdefghijklmnopqrstuvwxyz\u00E4\u00F6\u00F1\u00FC\u00E0"
aastore
dup
iconst_1
3: ldc "@\u00A3$\u00A5\u20AC\u00E9\u00F9\u0131\u00F2\u00C7\n\u011E\u011F\r\u00C5\u00E5\u0394_\u03A6\u0393\u039B\u03A9\u03A0\u03A8\u03A3\u0398\u039E\uFFFF\u015E\u015F\u00DF\u00C9 !\"#\u00A4%&'()*+,-./0123456789:;<=>?\u0130ABCDEFGHIJKLMNOPQRSTUVWXYZ\u00C4\u00D6\u00D1\u00DC\u00A7\u00E7abcdefghijklmnopqrstuvwxyz\u00E4\u00F6\u00F1\u00FC\u00E0"
aastore
dup
iconst_2
4: ldc ""
aastore
dup
iconst_3
5: ldc "@\u00A3$\u00A5\u00EA\u00E9\u00FA\u00ED\u00F3\u00E7\n\u00D4\u00F4\r\u00C1\u00E1\u0394_\u00AA\u00C7\u00C0\u221E^\\\u20AC\u00D3|\uFFFF\u00C2\u00E2\u00CA\u00C9 !\"#\u00BA%&'()*+,-./0123456789:;<=>?\u00CDABCDEFGHIJKLMNOPQRSTUVWXYZ\u00C3\u00D5\u00DA\u00DC\u00A7~abcdefghijklmnopqrstuvwxyz\u00E3\u00F5`\u00FC\u00E0"
aastore
dup
iconst_4
6: ldc "\u0981\u0982\u0983\u0985\u0986\u0987\u0988\u0989\u098A\u098B\n\u098C \r \u098F\u0990 \u0993\u0994\u0995\u0996\u0997\u0998\u0999\u099A\uFFFF\u099B\u099C\u099D\u099E !\u099F\u09A0\u09A1\u09A2\u09A3\u09A4)(\u09A5\u09A6,\u09A7.\u09A80123456789:; \u09AA\u09AB?\u09AC\u09AD\u09AE\u09AF\u09B0 \u09B2 \u09B6\u09B7\u09B8\u09B9\u09BC\u09BD\u09BE\u09BF\u09C0\u09C1\u09C2\u09C3\u09C4 \u09C7\u09C8 \u09CB\u09CC\u09CD\u09CEabcdefghijklmnopqrstuvwxyz\u09D7\u09DC\u09DD\u09F0\u09F1"
aastore
dup
iconst_5
7: ldc "\u0A81\u0A82\u0A83\u0A85\u0A86\u0A87\u0A88\u0A89\u0A8A\u0A8B\n\u0A8C\u0A8D\r \u0A8F\u0A90\u0A91 \u0A93\u0A94\u0A95\u0A96\u0A97\u0A98\u0A99\u0A9A\uFFFF\u0A9B\u0A9C\u0A9D\u0A9E !\u0A9F\u0AA0\u0AA1\u0AA2\u0AA3\u0AA4)(\u0AA5\u0AA6,\u0AA7.\u0AA80123456789:; \u0AAA\u0AAB?\u0AAC\u0AAD\u0AAE\u0AAF\u0AB0 \u0AB2\u0AB3 \u0AB5\u0AB6\u0AB7\u0AB8\u0AB9\u0ABC\u0ABD\u0ABE\u0ABF\u0AC0\u0AC1\u0AC2\u0AC3\u0AC4\u0AC5 \u0AC7\u0AC8\u0AC9 \u0ACB\u0ACC\u0ACD\u0AD0abcdefghijklmnopqrstuvwxyz\u0AE0\u0AE1\u0AE2\u0AE3\u0AF1"
aastore
dup
bipush 6
8: ldc "\u0901\u0902\u0903\u0905\u0906\u0907\u0908\u0909\u090A\u090B\n\u090C\u090D\r\u090E\u090F\u0910\u0911\u0912\u0913\u0914\u0915\u0916\u0917\u0918\u0919\u091A\uFFFF\u091B\u091C\u091D\u091E !\u091F\u0920\u0921\u0922\u0923\u0924)(\u0925\u0926,\u0927.\u09280123456789:;\u0929\u092A\u092B?\u092C\u092D\u092E\u092F\u0930\u0931\u0932\u0933\u0934\u0935\u0936\u0937\u0938\u0939\u093C\u093D\u093E\u093F\u0940\u0941\u0942\u0943\u0944\u0945\u0946\u0947\u0948\u0949\u094A\u094B\u094C\u094D\u0950abcdefghijklmnopqrstuvwxyz\u0972\u097B\u097C\u097E\u097F"
aastore
dup
bipush 7
9: ldc " \u0C82\u0C83\u0C85\u0C86\u0C87\u0C88\u0C89\u0C8A\u0C8B\n\u0C8C \r\u0C8E\u0C8F\u0C90 \u0C92\u0C93\u0C94\u0C95\u0C96\u0C97\u0C98\u0C99\u0C9A\uFFFF\u0C9B\u0C9C\u0C9D\u0C9E !\u0C9F\u0CA0\u0CA1\u0CA2\u0CA3\u0CA4)(\u0CA5\u0CA6,\u0CA7.\u0CA80123456789:; \u0CAA\u0CAB?\u0CAC\u0CAD\u0CAE\u0CAF\u0CB0\u0CB1\u0CB2\u0CB3 \u0CB5\u0CB6\u0CB7\u0CB8\u0CB9\u0CBC\u0CBD\u0CBE\u0CBF\u0CC0\u0CC1\u0CC2\u0CC3\u0CC4 \u0CC6\u0CC7\u0CC8 \u0CCA\u0CCB\u0CCC\u0CCD\u0CD5abcdefghijklmnopqrstuvwxyz\u0CD6\u0CE0\u0CE1\u0CE2\u0CE3"
aastore
dup
bipush 8
10: ldc " \u0D02\u0D03\u0D05\u0D06\u0D07\u0D08\u0D09\u0D0A\u0D0B\n\u0D0C \r\u0D0E\u0D0F\u0D10 \u0D12\u0D13\u0D14\u0D15\u0D16\u0D17\u0D18\u0D19\u0D1A\uFFFF\u0D1B\u0D1C\u0D1D\u0D1E !\u0D1F\u0D20\u0D21\u0D22\u0D23\u0D24)(\u0D25\u0D26,\u0D27.\u0D280123456789:; \u0D2A\u0D2B?\u0D2C\u0D2D\u0D2E\u0D2F\u0D30\u0D31\u0D32\u0D33\u0D34\u0D35\u0D36\u0D37\u0D38\u0D39 \u0D3D\u0D3E\u0D3F\u0D40\u0D41\u0D42\u0D43\u0D44 \u0D46\u0D47\u0D48 \u0D4A\u0D4B\u0D4C\u0D4D\u0D57abcdefghijklmnopqrstuvwxyz\u0D60\u0D61\u0D62\u0D63\u0D79"
aastore
dup
bipush 9
11: ldc "\u0B01\u0B02\u0B03\u0B05\u0B06\u0B07\u0B08\u0B09\u0B0A\u0B0B\n\u0B0C \r \u0B0F\u0B10 \u0B13\u0B14\u0B15\u0B16\u0B17\u0B18\u0B19\u0B1A\uFFFF\u0B1B\u0B1C\u0B1D\u0B1E !\u0B1F\u0B20\u0B21\u0B22\u0B23\u0B24)(\u0B25\u0B26,\u0B27.\u0B280123456789:; \u0B2A\u0B2B?\u0B2C\u0B2D\u0B2E\u0B2F\u0B30 \u0B32\u0B33 \u0B35\u0B36\u0B37\u0B38\u0B39\u0B3C\u0B3D\u0B3E\u0B3F\u0B40\u0B41\u0B42\u0B43\u0B44 \u0B47\u0B48 \u0B4B\u0B4C\u0B4D\u0B56abcdefghijklmnopqrstuvwxyz\u0B57\u0B60\u0B61\u0B62\u0B63"
aastore
dup
bipush 10
12: ldc "\u0A01\u0A02\u0A03\u0A05\u0A06\u0A07\u0A08\u0A09\u0A0A \n \r \u0A0F\u0A10 \u0A13\u0A14\u0A15\u0A16\u0A17\u0A18\u0A19\u0A1A\uFFFF\u0A1B\u0A1C\u0A1D\u0A1E !\u0A1F\u0A20\u0A21\u0A22\u0A23\u0A24)(\u0A25\u0A26,\u0A27.\u0A280123456789:; \u0A2A\u0A2B?\u0A2C\u0A2D\u0A2E\u0A2F\u0A30 \u0A32\u0A33 \u0A35\u0A36 \u0A38\u0A39\u0A3C \u0A3E\u0A3F\u0A40\u0A41\u0A42 \u0A47\u0A48 \u0A4B\u0A4C\u0A4D\u0A51abcdefghijklmnopqrstuvwxyz\u0A70\u0A71\u0A72\u0A73\u0A74"
aastore
dup
bipush 11
13: ldc " \u0B82\u0B83\u0B85\u0B86\u0B87\u0B88\u0B89\u0B8A \n \r\u0B8E\u0B8F\u0B90 \u0B92\u0B93\u0B94\u0B95 \u0B99\u0B9A\uFFFF \u0B9C \u0B9E !\u0B9F \u0BA3\u0BA4)( , .\u0BA80123456789:;\u0BA9\u0BAA ? \u0BAE\u0BAF\u0BB0\u0BB1\u0BB2\u0BB3\u0BB4\u0BB5\u0BB6\u0BB7\u0BB8\u0BB9 \u0BBE\u0BBF\u0BC0\u0BC1\u0BC2 \u0BC6\u0BC7\u0BC8 \u0BCA\u0BCB\u0BCC\u0BCD\u0BD0abcdefghijklmnopqrstuvwxyz\u0BD7\u0BF0\u0BF1\u0BF2\u0BF9"
aastore
dup
bipush 12
14: ldc "\u0C01\u0C02\u0C03\u0C05\u0C06\u0C07\u0C08\u0C09\u0C0A\u0C0B\n\u0C0C \r\u0C0E\u0C0F\u0C10 \u0C12\u0C13\u0C14\u0C15\u0C16\u0C17\u0C18\u0C19\u0C1A\uFFFF\u0C1B\u0C1C\u0C1D\u0C1E !\u0C1F\u0C20\u0C21\u0C22\u0C23\u0C24)(\u0C25\u0C26,\u0C27.\u0C280123456789:; \u0C2A\u0C2B?\u0C2C\u0C2D\u0C2E\u0C2F\u0C30\u0C31\u0C32\u0C33 \u0C35\u0C36\u0C37\u0C38\u0C39 \u0C3D\u0C3E\u0C3F\u0C40\u0C41\u0C42\u0C43\u0C44 \u0C46\u0C47\u0C48 \u0C4A\u0C4B\u0C4C\u0C4D\u0C55abcdefghijklmnopqrstuvwxyz\u0C56\u0C60\u0C61\u0C62\u0C63"
aastore
dup
bipush 13
15: ldc "\u0627\u0622\u0628\u067B\u0680\u067E\u06A6\u062A\u06C2\u067F\n\u0679\u067D\r\u067A\u067C\u062B\u062C\u0681\u0684\u0683\u0685\u0686\u0687\u062D\u062E\u062F\uFFFF\u068C\u0688\u0689\u068A !\u068F\u068D\u0630\u0631\u0691\u0693)(\u0699\u0632,\u0696.\u06980123456789:;\u069A\u0633\u0634?\u0635\u0636\u0637\u0638\u0639\u0641\u0642\u06A9\u06AA\u06AB\u06AF\u06B3\u06B1\u0644\u0645\u0646\u06BA\u06BB\u06BC\u0648\u06C4\u06D5\u06C1\u06BE\u0621\u06CC\u06D0\u06D2\u064D\u0650\u064F\u0657\u0654abcdefghijklmnopqrstuvwxyz\u0655\u0651\u0653\u0656\u0670"
aastore
16: putstatic com.android.internal.telephony.GsmAlphabet.sLanguageTables:[Ljava/lang/String;
17: bipush 14
anewarray java.lang.String
dup
iconst_0
18: ldc " \f ^ {} \\ [~] | \u20AC "
aastore
dup
iconst_1
19: ldc " \f ^ {} \\ [~] | \u011E \u0130 \u015E \u00E7 \u20AC \u011F \u0131 \u015F "
aastore
dup
iconst_2
20: ldc " \u00E7\f ^ {} \\ [~] |\u00C1 \u00CD \u00D3 \u00DA \u00E1 \u20AC \u00ED \u00F3 \u00FA "
aastore
dup
iconst_3
21: ldc " \u00EA \u00E7\f\u00D4\u00F4 \u00C1\u00E1 \u03A6\u0393^\u03A9\u03A0\u03A8\u03A3\u0398 \u00CA {} \\ [~] |\u00C0 \u00CD \u00D3 \u00DA \u00C3\u00D5 \u00C2 \u20AC \u00ED \u00F3 \u00FA \u00E3\u00F5 \u00E2"
aastore
dup
iconst_4
22: ldc "@\u00A3$\u00A5\u00BF\"\u00A4%&'\f*+ -/<=>\u00A1^\u00A1_#*\u09E6\u09E7 \u09E8\u09E9\u09EA\u09EB\u09EC\u09ED\u09EE\u09EF\u09DF\u09E0\u09E1\u09E2{}\u09E3\u09F2\u09F3\u09F4\u09F5\\\u09F6\u09F7\u09F8\u09F9\u09FA [~] |ABCDEFGHIJKLMNOPQRSTUVWXYZ \u20AC "
aastore
dup
iconst_5
23: ldc "@\u00A3$\u00A5\u00BF\"\u00A4%&'\f*+ -/<=>\u00A1^\u00A1_#*\u0964\u0965 \u0AE6\u0AE7\u0AE8\u0AE9\u0AEA\u0AEB\u0AEC\u0AED\u0AEE\u0AEF {} \\ [~] |ABCDEFGHIJKLMNOPQRSTUVWXYZ \u20AC "
aastore
dup
bipush 6
24: ldc "@\u00A3$\u00A5\u00BF\"\u00A4%&'\f*+ -/<=>\u00A1^\u00A1_#*\u0964\u0965 \u0966\u0967\u0968\u0969\u096A\u096B\u096C\u096D\u096E\u096F\u0951\u0952{}\u0953\u0954\u0958\u0959\u095A\\\u095B\u095C\u095D\u095E\u095F\u0960\u0961\u0962\u0963\u0970\u0971 [~] |ABCDEFGHIJKLMNOPQRSTUVWXYZ \u20AC "
aastore
dup
bipush 7
25: ldc "@\u00A3$\u00A5\u00BF\"\u00A4%&'\f*+ -/<=>\u00A1^\u00A1_#*\u0964\u0965 \u0CE6\u0CE7\u0CE8\u0CE9\u0CEA\u0CEB\u0CEC\u0CED\u0CEE\u0CEF\u0CDE\u0CF1{}\u0CF2 \\ [~] |ABCDEFGHIJKLMNOPQRSTUVWXYZ \u20AC "
aastore
dup
bipush 8
26: ldc "@\u00A3$\u00A5\u00BF\"\u00A4%&'\f*+ -/<=>\u00A1^\u00A1_#*\u0964\u0965 \u0D66\u0D67\u0D68\u0D69\u0D6A\u0D6B\u0D6C\u0D6D\u0D6E\u0D6F\u0D70\u0D71{}\u0D72\u0D73\u0D74\u0D75\u0D7A\\\u0D7B\u0D7C\u0D7D\u0D7E\u0D7F [~] |ABCDEFGHIJKLMNOPQRSTUVWXYZ \u20AC "
aastore
dup
bipush 9
27: ldc "@\u00A3$\u00A5\u00BF\"\u00A4%&'\f*+ -/<=>\u00A1^\u00A1_#*\u0964\u0965 \u0B66\u0B67\u0B68\u0B69\u0B6A\u0B6B\u0B6C\u0B6D\u0B6E\u0B6F\u0B5C\u0B5D{}\u0B5F\u0B70\u0B71 \\ [~] |ABCDEFGHIJKLMNOPQRSTUVWXYZ \u20AC "
aastore
dup
bipush 10
28: ldc "@\u00A3$\u00A5\u00BF\"\u00A4%&'\f*+ -/<=>\u00A1^\u00A1_#*\u0964\u0965 \u0A66\u0A67\u0A68\u0A69\u0A6A\u0A6B\u0A6C\u0A6D\u0A6E\u0A6F\u0A59\u0A5A{}\u0A5B\u0A5C\u0A5E\u0A75 \\ [~] |ABCDEFGHIJKLMNOPQRSTUVWXYZ \u20AC "
aastore
dup
bipush 11
29: ldc "@\u00A3$\u00A5\u00BF\"\u00A4%&'\f*+ -/<=>\u00A1^\u00A1_#*\u0964\u0965 \u0BE6\u0BE7\u0BE8\u0BE9\u0BEA\u0BEB\u0BEC\u0BED\u0BEE\u0BEF\u0BF3\u0BF4{}\u0BF5\u0BF6\u0BF7\u0BF8\u0BFA\\ [~] |ABCDEFGHIJKLMNOPQRSTUVWXYZ \u20AC "
aastore
dup
bipush 12
30: ldc "@\u00A3$\u00A5\u00BF\"\u00A4%&'\f*+ -/<=>\u00A1^\u00A1_#* \u0C66\u0C67\u0C68\u0C69\u0C6A\u0C6B\u0C6C\u0C6D\u0C6E\u0C6F\u0C58\u0C59{}\u0C78\u0C79\u0C7A\u0C7B\u0C7C\\\u0C7D\u0C7E\u0C7F [~] |ABCDEFGHIJKLMNOPQRSTUVWXYZ \u20AC "
aastore
dup
bipush 13
31: ldc "@\u00A3$\u00A5\u00BF\"\u00A4%&'\f*+ -/<=>\u00A1^\u00A1_#*\u0600\u0601 \u06F0\u06F1\u06F2\u06F3\u06F4\u06F5\u06F6\u06F7\u06F8\u06F9\u060C\u060D{}\u060E\u060F\u0610\u0611\u0612\\\u0613\u0614\u061B\u061F\u0640\u0652\u0658\u066B\u066C\u0672\u0673\u06CD[~]\u06D4|ABCDEFGHIJKLMNOPQRSTUVWXYZ \u20AC "
aastore
32: putstatic com.android.internal.telephony.GsmAlphabet.sLanguageShiftTables:[Ljava/lang/String;
33: invokestatic com.android.internal.telephony.GsmAlphabet.enableCountrySpecificEncodings:()V
34: getstatic com.android.internal.telephony.GsmAlphabet.sLanguageTables:[Ljava/lang/String;
arraylength
istore 0
start local 0 35: getstatic com.android.internal.telephony.GsmAlphabet.sLanguageShiftTables:[Ljava/lang/String;
arraylength
istore 1
start local 1 36: iload 0
iload 1
if_icmpeq 40
37: ldc "GSM"
new java.lang.StringBuilder
dup
ldc "Error: language tables array length "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
38: ldc " != shift tables array length "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
39: invokestatic android.telephony.Rlog.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
40: StackMap locals: int int
StackMap stack:
iload 0
anewarray android.util.SparseIntArray
putstatic com.android.internal.telephony.GsmAlphabet.sCharsToGsmTables:[Landroid/util/SparseIntArray;
41: iconst_0
istore 2
start local 2 42: goto 58
43: StackMap locals: int
StackMap stack:
getstatic com.android.internal.telephony.GsmAlphabet.sLanguageTables:[Ljava/lang/String;
iload 2
aaload
astore 3
start local 3 44: aload 3
invokevirtual java.lang.String.length:()I
istore 4
start local 4 45: iload 4
ifeq 49
iload 4
sipush 128
if_icmpeq 49
46: ldc "GSM"
new java.lang.StringBuilder
dup
ldc "Error: language tables index "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
47: ldc " length "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " (expected 128 or 0)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
48: invokestatic android.telephony.Rlog.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
49: StackMap locals: java.lang.String int
StackMap stack:
new android.util.SparseIntArray
dup
iload 4
invokespecial android.util.SparseIntArray.<init>:(I)V
astore 5
start local 5 50: getstatic com.android.internal.telephony.GsmAlphabet.sCharsToGsmTables:[Landroid/util/SparseIntArray;
iload 2
aload 5
aastore
51: iconst_0
istore 6
start local 6 52: goto 56
53: StackMap locals: android.util.SparseIntArray int
StackMap stack:
aload 3
iload 6
invokevirtual java.lang.String.charAt:(I)C
istore 7
start local 7 54: aload 5
iload 7
iload 6
invokevirtual android.util.SparseIntArray.put:(II)V
end local 7 55: iinc 6 1
StackMap locals:
StackMap stack:
56: iload 6
iload 4
if_icmplt 53
end local 6 end local 5 end local 4 end local 3 57: iinc 2 1
StackMap locals: int int int
StackMap stack:
58: iload 2
iload 0
if_icmplt 43
end local 2 59: iload 0
anewarray android.util.SparseIntArray
putstatic com.android.internal.telephony.GsmAlphabet.sCharsToShiftTables:[Landroid/util/SparseIntArray;
60: iconst_0
istore 2
start local 2 61: goto 78
62: StackMap locals:
StackMap stack:
getstatic com.android.internal.telephony.GsmAlphabet.sLanguageShiftTables:[Ljava/lang/String;
iload 2
aaload
astore 3
start local 3 63: aload 3
invokevirtual java.lang.String.length:()I
istore 4
start local 4 64: iload 4
ifeq 68
iload 4
sipush 128
if_icmpeq 68
65: ldc "GSM"
new java.lang.StringBuilder
dup
ldc "Error: language shift tables index "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
66: ldc " length "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " (expected 128 or 0)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
67: invokestatic android.telephony.Rlog.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
68: StackMap locals: java.lang.String int
StackMap stack:
new android.util.SparseIntArray
dup
iload 4
invokespecial android.util.SparseIntArray.<init>:(I)V
astore 5
start local 5 69: getstatic com.android.internal.telephony.GsmAlphabet.sCharsToShiftTables:[Landroid/util/SparseIntArray;
iload 2
aload 5
aastore
70: iconst_0
istore 6
start local 6 71: goto 76
72: StackMap locals: android.util.SparseIntArray int
StackMap stack:
aload 3
iload 6
invokevirtual java.lang.String.charAt:(I)C
istore 7
start local 7 73: iload 7
bipush 32
if_icmpeq 75
74: aload 5
iload 7
iload 6
invokevirtual android.util.SparseIntArray.put:(II)V
end local 7 75: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
76: iload 6
iload 4
if_icmplt 72
end local 6 end local 5 end local 4 end local 3 77: iinc 2 1
StackMap locals: int int int
StackMap stack:
78: iload 2
iload 1
if_icmplt 62
end local 2 end local 1 end local 0 79: return
LocalVariableTable:
Start End Slot Name Signature
35 79 0 numTables I
36 79 1 numShiftTables I
42 59 2 i I
44 57 3 table Ljava/lang/String;
45 57 4 tableLen I
50 57 5 charToGsmTable Landroid/util/SparseIntArray;
52 57 6 j I
54 55 7 c C
61 79 2 i I
63 77 3 shiftTable Ljava/lang/String;
64 77 4 shiftTableLen I
69 77 5 charToShiftTable Landroid/util/SparseIntArray;
71 77 6 j I
73 75 7 c C
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/telephony/GsmAlphabet;
public static int charToGsm(char);
descriptor: (C)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: iload 0
iconst_0
invokestatic com.android.internal.telephony.GsmAlphabet.charToGsm:(CZ)I
1: ireturn
2: StackMap locals:
StackMap stack: com.android.internal.telephony.EncodeException
pop
3: getstatic com.android.internal.telephony.GsmAlphabet.sCharsToGsmTables:[Landroid/util/SparseIntArray;
iconst_0
aaload
bipush 32
bipush 32
invokevirtual android.util.SparseIntArray.get:(II)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 c C
Exception table:
from to target type
0 1 2 Class com.android.internal.telephony.EncodeException
MethodParameters:
Name Flags
c
public static int charToGsm(char, boolean);
descriptor: (CZ)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: getstatic com.android.internal.telephony.GsmAlphabet.sCharsToGsmTables:[Landroid/util/SparseIntArray;
iconst_0
aaload
iload 0
iconst_m1
invokevirtual android.util.SparseIntArray.get:(II)I
istore 2
start local 2 1: iload 2
iconst_m1
if_icmpne 8
2: getstatic com.android.internal.telephony.GsmAlphabet.sCharsToShiftTables:[Landroid/util/SparseIntArray;
iconst_0
aaload
iload 0
iconst_m1
invokevirtual android.util.SparseIntArray.get:(II)I
istore 2
3: iload 2
iconst_m1
if_icmpne 7
4: iload 1
ifeq 6
5: new com.android.internal.telephony.EncodeException
dup
iload 0
invokespecial com.android.internal.telephony.EncodeException.<init>:(C)V
athrow
6: StackMap locals: int
StackMap stack:
getstatic com.android.internal.telephony.GsmAlphabet.sCharsToGsmTables:[Landroid/util/SparseIntArray;
iconst_0
aaload
bipush 32
bipush 32
invokevirtual android.util.SparseIntArray.get:(II)I
ireturn
7: StackMap locals:
StackMap stack:
bipush 27
ireturn
8: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 c C
0 9 1 throwException Z
1 9 2 ret I
Exceptions:
throws com.android.internal.telephony.EncodeException
MethodParameters:
Name Flags
c
throwException
public static int charToGsmExtended(char);
descriptor: (C)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: getstatic com.android.internal.telephony.GsmAlphabet.sCharsToShiftTables:[Landroid/util/SparseIntArray;
iconst_0
aaload
iload 0
iconst_m1
invokevirtual android.util.SparseIntArray.get:(II)I
istore 1
start local 1 1: iload 1
iconst_m1
if_icmpne 3
2: getstatic com.android.internal.telephony.GsmAlphabet.sCharsToGsmTables:[Landroid/util/SparseIntArray;
iconst_0
aaload
bipush 32
bipush 32
invokevirtual android.util.SparseIntArray.get:(II)I
ireturn
3: StackMap locals: int
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 c C
1 4 1 ret I
MethodParameters:
Name Flags
c
public static char gsmToChar(int);
descriptor: (I)C
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
iflt 2
iload 0
sipush 128
if_icmpge 2
1: getstatic com.android.internal.telephony.GsmAlphabet.sLanguageTables:[Ljava/lang/String;
iconst_0
aaload
iload 0
invokevirtual java.lang.String.charAt:(I)C
ireturn
2: StackMap locals:
StackMap stack:
bipush 32
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 gsmChar I
MethodParameters:
Name Flags
gsmChar
public static char gsmExtendedToChar(int);
descriptor: (I)C
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: iload 0
bipush 27
if_icmpne 2
1: bipush 32
ireturn
2: StackMap locals:
StackMap stack:
iload 0
iflt 7
iload 0
sipush 128
if_icmpge 7
3: getstatic com.android.internal.telephony.GsmAlphabet.sLanguageShiftTables:[Ljava/lang/String;
iconst_0
aaload
iload 0
invokevirtual java.lang.String.charAt:(I)C
istore 1
start local 1 4: iload 1
bipush 32
if_icmpne 6
5: getstatic com.android.internal.telephony.GsmAlphabet.sLanguageTables:[Ljava/lang/String;
iconst_0
aaload
iload 0
invokevirtual java.lang.String.charAt:(I)C
ireturn
6: StackMap locals: int
StackMap stack:
iload 1
ireturn
end local 1 7: StackMap locals:
StackMap stack:
bipush 32
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 gsmChar I
4 7 1 c C
MethodParameters:
Name Flags
gsmChar
public static byte[] stringToGsm7BitPackedWithHeader(java.lang.String, byte[]);
descriptor: (Ljava/lang/String;[B)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
iconst_0
invokestatic com.android.internal.telephony.GsmAlphabet.stringToGsm7BitPackedWithHeader:(Ljava/lang/String;[BII)[B
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 data Ljava/lang/String;
0 1 1 header [B
Exceptions:
throws com.android.internal.telephony.EncodeException
MethodParameters:
Name Flags
data
header
public static byte[] stringToGsm7BitPackedWithHeader(java.lang.String, byte[], int, int);
descriptor: (Ljava/lang/String;[BII)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnull 1
aload 1
arraylength
ifne 2
1: StackMap locals:
StackMap stack:
aload 0
iload 2
iload 3
invokestatic com.android.internal.telephony.GsmAlphabet.stringToGsm7BitPacked:(Ljava/lang/String;II)[B
areturn
2: StackMap locals:
StackMap stack:
aload 1
arraylength
iconst_1
iadd
bipush 8
imul
istore 4
start local 4 3: iload 4
bipush 6
iadd
bipush 7
idiv
istore 5
start local 5 4: aload 0
iload 5
iconst_1
iload 2
5: iload 3
6: invokestatic com.android.internal.telephony.GsmAlphabet.stringToGsm7BitPacked:(Ljava/lang/String;IZII)[B
astore 6
start local 6 7: aload 6
iconst_1
aload 1
arraylength
i2b
bastore
8: aload 1
iconst_0
aload 6
iconst_2
aload 1
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
9: aload 6
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 data Ljava/lang/String;
0 10 1 header [B
0 10 2 languageTable I
0 10 3 languageShiftTable I
3 10 4 headerBits I
4 10 5 headerSeptets I
7 10 6 ret [B
Exceptions:
throws com.android.internal.telephony.EncodeException
MethodParameters:
Name Flags
data
header
languageTable
languageShiftTable
public static byte[] stringToGsm7BitPacked(java.lang.String);
descriptor: (Ljava/lang/String;)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
iconst_1
iconst_0
iconst_0
invokestatic com.android.internal.telephony.GsmAlphabet.stringToGsm7BitPacked:(Ljava/lang/String;IZII)[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 data Ljava/lang/String;
Exceptions:
throws com.android.internal.telephony.EncodeException
MethodParameters:
Name Flags
data
public static byte[] stringToGsm7BitPacked(java.lang.String, int, int);
descriptor: (Ljava/lang/String;II)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iconst_0
iconst_1
iload 1
iload 2
invokestatic com.android.internal.telephony.GsmAlphabet.stringToGsm7BitPacked:(Ljava/lang/String;IZII)[B
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 data Ljava/lang/String;
0 1 1 languageTable I
0 1 2 languageShiftTable I
Exceptions:
throws com.android.internal.telephony.EncodeException
MethodParameters:
Name Flags
data
languageTable
languageShiftTable
public static byte[] stringToGsm7BitPacked(java.lang.String, int, boolean, int, int);
descriptor: (Ljava/lang/String;IZII)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=16, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokevirtual java.lang.String.length:()I
istore 5
start local 5 1: aload 0
iload 2
ifeq 2
iconst_0
goto 3
StackMap locals: java.lang.String int int int int int
StackMap stack: java.lang.String
2: iconst_1
3: StackMap locals: java.lang.String int int int int int
StackMap stack: java.lang.String int
iload 3
iload 4
4: invokestatic com.android.internal.telephony.GsmAlphabet.countGsmSeptetsUsingTables:(Ljava/lang/CharSequence;ZII)I
istore 6
start local 6 5: iload 6
iconst_m1
if_icmpne 7
6: new com.android.internal.telephony.EncodeException
dup
ldc "countGsmSeptetsUsingTables(): unencodable char"
invokespecial com.android.internal.telephony.EncodeException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals: int
StackMap stack:
iload 6
iload 1
iadd
istore 6
8: iload 6
sipush 255
if_icmple 10
9: new com.android.internal.telephony.EncodeException
dup
ldc "Payload cannot exceed 255 septets"
invokespecial com.android.internal.telephony.EncodeException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
iload 6
bipush 7
imul
bipush 7
iadd
bipush 8
idiv
istore 7
start local 7 11: iload 7
iconst_1
iadd
newarray 8
astore 8
start local 8 12: getstatic com.android.internal.telephony.GsmAlphabet.sCharsToGsmTables:[Landroid/util/SparseIntArray;
iload 3
aaload
astore 9
start local 9 13: getstatic com.android.internal.telephony.GsmAlphabet.sCharsToShiftTables:[Landroid/util/SparseIntArray;
iload 4
aaload
astore 10
start local 10 14: iconst_0
istore 11
start local 11 15: iload 1
istore 12
start local 12 16: iload 1
bipush 7
imul
istore 13
start local 13 17: goto 33
18: StackMap locals: java.lang.String int int int int int int int byte[] android.util.SparseIntArray android.util.SparseIntArray int int int
StackMap stack:
aload 0
iload 11
invokevirtual java.lang.String.charAt:(I)C
istore 14
start local 14 19: aload 9
iload 14
iconst_m1
invokevirtual android.util.SparseIntArray.get:(II)I
istore 15
start local 15 20: iload 15
iconst_m1
if_icmpne 30
21: aload 10
iload 14
iconst_m1
invokevirtual android.util.SparseIntArray.get:(II)I
istore 15
22: iload 15
iconst_m1
if_icmpne 27
23: iload 2
ifeq 25
24: new com.android.internal.telephony.EncodeException
dup
ldc "stringToGsm7BitPacked(): unencodable char"
invokespecial com.android.internal.telephony.EncodeException.<init>:(Ljava/lang/String;)V
athrow
25: StackMap locals: int int
StackMap stack:
aload 9
bipush 32
bipush 32
invokevirtual android.util.SparseIntArray.get:(II)I
istore 15
26: goto 30
27: StackMap locals:
StackMap stack:
aload 8
iload 13
bipush 27
invokestatic com.android.internal.telephony.GsmAlphabet.packSmsChar:([BII)V
28: iinc 13 7
29: iinc 12 1
30: StackMap locals:
StackMap stack:
aload 8
iload 13
iload 15
invokestatic com.android.internal.telephony.GsmAlphabet.packSmsChar:([BII)V
31: iinc 12 1
end local 15 end local 14 32: iinc 11 1
iinc 13 7
33: StackMap locals:
StackMap stack:
iload 11
iload 5
if_icmpge 35
iload 12
iload 6
34: if_icmplt 18
end local 13 end local 12 end local 11 35: StackMap locals:
StackMap stack:
aload 8
iconst_0
iload 6
i2b
bastore
36: aload 8
areturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 data Ljava/lang/String;
0 37 1 startingSeptetOffset I
0 37 2 throwException Z
0 37 3 languageTable I
0 37 4 languageShiftTable I
1 37 5 dataLen I
5 37 6 septetCount I
11 37 7 byteCount I
12 37 8 ret [B
13 37 9 charToLanguageTable Landroid/util/SparseIntArray;
14 37 10 charToShiftTable Landroid/util/SparseIntArray;
15 35 11 i I
16 35 12 septets I
17 35 13 bitOffset I
19 32 14 c C
20 32 15 v I
Exceptions:
throws com.android.internal.telephony.EncodeException
MethodParameters:
Name Flags
data
startingSeptetOffset
throwException
languageTable
languageShiftTable
private static void packSmsChar(byte[], int, int);
descriptor: ([BII)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iload 1
bipush 8
idiv
istore 3
start local 3 1: iload 1
bipush 8
irem
istore 4
start local 4 2: aload 0
iinc 3 1
iload 3
dup2
baload
iload 2
iload 4
ishl
ior
i2b
bastore
3: iload 4
iconst_1
if_icmple 5
4: aload 0
iinc 3 1
iload 3
iload 2
bipush 8
iload 4
isub
ishr
i2b
bastore
5: StackMap locals: int int
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 packedChars [B
0 6 1 bitOffset I
0 6 2 value I
1 6 3 byteOffset I
2 6 4 shift I
MethodParameters:
Name Flags
packedChars
bitOffset
value
public static java.lang.String gsm7BitPackedToString(byte[], int, int);
descriptor: ([BII)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
iload 2
iconst_0
iconst_0
iconst_0
invokestatic com.android.internal.telephony.GsmAlphabet.gsm7BitPackedToString:([BIIIII)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 pdu [B
0 1 1 offset I
0 1 2 lengthSeptets I
MethodParameters:
Name Flags
pdu
offset
lengthSeptets
public static java.lang.String gsm7BitPackedToString(byte[], int, int, int, int, int);
descriptor: ([BIIIII)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=16, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: new java.lang.StringBuilder
dup
iload 2
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 6
start local 6 1: iload 4
iflt 2
iload 4
getstatic com.android.internal.telephony.GsmAlphabet.sLanguageTables:[Ljava/lang/String;
arraylength
if_icmple 4
2: StackMap locals: java.lang.StringBuilder
StackMap stack:
ldc "GSM"
new java.lang.StringBuilder
dup
ldc "unknown language table "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", using default"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.telephony.Rlog.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
3: iconst_0
istore 4
4: StackMap locals:
StackMap stack:
iload 5
iflt 5
iload 5
getstatic com.android.internal.telephony.GsmAlphabet.sLanguageShiftTables:[Ljava/lang/String;
arraylength
if_icmple 7
5: StackMap locals:
StackMap stack:
ldc "GSM"
new java.lang.StringBuilder
dup
ldc "unknown single shift table "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", using default"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.telephony.Rlog.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
6: iconst_0
istore 5
7: StackMap locals:
StackMap stack:
iconst_0
istore 7
start local 7 8: getstatic com.android.internal.telephony.GsmAlphabet.sLanguageTables:[Ljava/lang/String;
iload 4
aaload
astore 8
start local 8 9: getstatic com.android.internal.telephony.GsmAlphabet.sLanguageShiftTables:[Ljava/lang/String;
iload 5
aaload
astore 9
start local 9 10: aload 8
invokevirtual java.lang.String.isEmpty:()Z
ifeq 13
11: ldc "GSM"
new java.lang.StringBuilder
dup
ldc "no language table for code "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", using default"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.telephony.Rlog.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
12: getstatic com.android.internal.telephony.GsmAlphabet.sLanguageTables:[Ljava/lang/String;
iconst_0
aaload
astore 8
13: StackMap locals: int java.lang.String java.lang.String
StackMap stack:
aload 9
invokevirtual java.lang.String.isEmpty:()Z
ifeq 16
14: ldc "GSM"
new java.lang.StringBuilder
dup
ldc "no single shift table for code "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", using default"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.telephony.Rlog.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
15: getstatic com.android.internal.telephony.GsmAlphabet.sLanguageShiftTables:[Ljava/lang/String;
iconst_0
aaload
astore 9
16: StackMap locals:
StackMap stack:
iconst_0
istore 10
start local 10 17: goto 41
18: StackMap locals: int
StackMap stack:
bipush 7
iload 10
imul
iload 3
iadd
istore 11
start local 11 19: iload 11
bipush 8
idiv
istore 12
start local 12 20: iload 11
bipush 8
irem
istore 13
start local 13 21: bipush 127
aload 0
iload 1
iload 12
iadd
baload
iload 13
ishr
iand
istore 14
start local 14 22: iload 13
iconst_1
if_icmple 25
23: iload 14
bipush 127
iload 13
iconst_1
isub
ishr
iand
istore 14
24: iload 14
bipush 127
aload 0
iload 1
iload 12
iadd
iconst_1
iadd
baload
bipush 8
iload 13
isub
ishl
iand
ior
istore 14
25: StackMap locals: byte[] int int int int int java.lang.StringBuilder int java.lang.String java.lang.String int int int int int
StackMap stack:
iload 7
ifeq 36
26: iload 14
bipush 27
if_icmpne 29
27: aload 6
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
28: goto 34
29: StackMap locals:
StackMap stack:
aload 9
iload 14
invokevirtual java.lang.String.charAt:(I)C
istore 15
start local 15 30: iload 15
bipush 32
if_icmpne 33
31: aload 6
aload 8
iload 14
invokevirtual java.lang.String.charAt:(I)C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
32: goto 34
33: StackMap locals: int
StackMap stack:
aload 6
iload 15
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 15 34: StackMap locals:
StackMap stack:
iconst_0
istore 7
35: goto 40
StackMap locals:
StackMap stack:
36: iload 14
bipush 27
if_icmpne 39
37: iconst_1
istore 7
38: goto 40
39: StackMap locals:
StackMap stack:
aload 6
aload 8
iload 14
invokevirtual java.lang.String.charAt:(I)C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 14 end local 13 end local 12 end local 11 40: StackMap locals: byte[] int int int int int java.lang.StringBuilder int java.lang.String java.lang.String int
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
41: iload 10
iload 2
if_icmplt 18
end local 10 end local 9 end local 8 end local 7 42: goto 46
StackMap locals: byte[] int int int int int java.lang.StringBuilder
StackMap stack: java.lang.RuntimeException
43: astore 7
start local 7 44: ldc "GSM"
ldc "Error GSM 7 bit packed: "
aload 7
invokestatic android.telephony.Rlog.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
45: aconst_null
areturn
end local 7 46: StackMap locals:
StackMap stack:
aload 6
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 47 0 pdu [B
0 47 1 offset I
0 47 2 lengthSeptets I
0 47 3 numPaddingBits I
0 47 4 languageTable I
0 47 5 shiftTable I
1 47 6 ret Ljava/lang/StringBuilder;
8 42 7 prevCharWasEscape Z
9 42 8 languageTableToChar Ljava/lang/String;
10 42 9 shiftTableToChar Ljava/lang/String;
17 42 10 i I
19 40 11 bitOffset I
20 40 12 byteOffset I
21 40 13 shift I
22 40 14 gsmVal I
30 34 15 c C
44 46 7 ex Ljava/lang/RuntimeException;
Exception table:
from to target type
7 42 43 Class java.lang.RuntimeException
MethodParameters:
Name Flags
pdu
offset
lengthSeptets
numPaddingBits
languageTable
shiftTable
public static java.lang.String gsm8BitUnpackedToString(byte[], int, int);
descriptor: ([BII)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
iload 2
ldc ""
invokestatic com.android.internal.telephony.GsmAlphabet.gsm8BitUnpackedToString:([BIILjava/lang/String;)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 data [B
0 1 1 offset I
0 1 2 length I
MethodParameters:
Name Flags
data
offset
length
public static java.lang.String gsm8BitUnpackedToString(byte[], int, int, java.lang.String);
descriptor: ([BIILjava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=14, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
istore 4
start local 4 1: aconst_null
astore 5
start local 5 2: aconst_null
astore 6
start local 6 3: aload 3
invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
ifne 9
4: aload 3
ldc "us-ascii"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 9
5: aload 3
invokestatic java.nio.charset.Charset.isSupported:(Ljava/lang/String;)Z
ifeq 9
6: iconst_1
istore 4
7: aload 3
invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
astore 5
8: iconst_2
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
astore 6
9: StackMap locals: int java.nio.charset.Charset java.nio.ByteBuffer
StackMap stack:
getstatic com.android.internal.telephony.GsmAlphabet.sLanguageTables:[Ljava/lang/String;
iconst_0
aaload
astore 7
start local 7 10: getstatic com.android.internal.telephony.GsmAlphabet.sLanguageShiftTables:[Ljava/lang/String;
iconst_0
aaload
astore 8
start local 8 11: new java.lang.StringBuilder
dup
iload 2
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 9
start local 9 12: iconst_0
istore 10
start local 10 13: iload 1
istore 11
start local 11 14: goto 49
15: StackMap locals: byte[] int int java.lang.String int java.nio.charset.Charset java.nio.ByteBuffer java.lang.String java.lang.String java.lang.StringBuilder int int
StackMap stack:
aload 0
iload 11
baload
sipush 255
iand
istore 12
start local 12 16: iload 12
sipush 255
if_icmpne 18
17: goto 50
18: StackMap locals: int
StackMap stack:
iload 12
bipush 27
if_icmpne 25
19: iload 10
ifeq 23
20: aload 9
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
21: iconst_0
istore 10
22: goto 48
23: StackMap locals:
StackMap stack:
iconst_1
istore 10
24: goto 48
25: StackMap locals:
StackMap stack:
iload 10
ifeq 37
26: iload 12
aload 8
invokevirtual java.lang.String.length:()I
if_icmpge 27
aload 8
iload 12
invokevirtual java.lang.String.charAt:(I)C
goto 28
StackMap locals:
StackMap stack:
27: bipush 32
28: StackMap locals:
StackMap stack: int
istore 13
start local 13 29: iload 13
bipush 32
if_icmpne 35
30: iload 12
aload 7
invokevirtual java.lang.String.length:()I
if_icmpge 33
31: aload 9
aload 7
iload 12
invokevirtual java.lang.String.charAt:(I)C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
32: goto 47
33: StackMap locals: int
StackMap stack:
aload 9
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
34: goto 47
35: StackMap locals:
StackMap stack:
aload 9
iload 13
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 13 36: goto 47
37: StackMap locals:
StackMap stack:
iload 4
ifeq 38
iload 12
sipush 128
if_icmplt 38
iload 11
iconst_1
iadd
iload 1
iload 2
iadd
if_icmplt 43
38: StackMap locals:
StackMap stack:
iload 12
aload 7
invokevirtual java.lang.String.length:()I
if_icmpge 41
39: aload 9
aload 7
iload 12
invokevirtual java.lang.String.charAt:(I)C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
40: goto 47
41: StackMap locals:
StackMap stack:
aload 9
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
42: goto 47
43: StackMap locals:
StackMap stack:
aload 6
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
pop
44: aload 6
aload 0
iload 11
iinc 11 1
iconst_2
invokevirtual java.nio.ByteBuffer.put:([BII)Ljava/nio/ByteBuffer;
pop
45: aload 6
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
46: aload 9
aload 5
aload 6
invokevirtual java.nio.charset.Charset.decode:(Ljava/nio/ByteBuffer;)Ljava/nio/CharBuffer;
invokevirtual java.nio.CharBuffer.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
47: StackMap locals:
StackMap stack:
iconst_0
istore 10
end local 12 48: StackMap locals:
StackMap stack:
iinc 11 1
StackMap locals:
StackMap stack:
49: iload 11
iload 1
iload 2
iadd
if_icmplt 15
end local 11 50: StackMap locals:
StackMap stack:
aload 9
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 51 0 data [B
0 51 1 offset I
0 51 2 length I
0 51 3 characterset Ljava/lang/String;
1 51 4 isMbcs Z
2 51 5 charset Ljava/nio/charset/Charset;
3 51 6 mbcsBuffer Ljava/nio/ByteBuffer;
10 51 7 languageTableToChar Ljava/lang/String;
11 51 8 shiftTableToChar Ljava/lang/String;
12 51 9 ret Ljava/lang/StringBuilder;
13 51 10 prevWasEscape Z
14 50 11 i I
16 48 12 c I
29 36 13 shiftChar C
MethodParameters:
Name Flags
data
offset
length
characterset
public static byte[] stringToGsm8BitPacked(java.lang.String);
descriptor: (Ljava/lang/String;)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
iconst_1
iconst_0
iconst_0
invokestatic com.android.internal.telephony.GsmAlphabet.countGsmSeptetsUsingTables:(Ljava/lang/CharSequence;ZII)I
istore 2
start local 2 1: iload 2
newarray 8
astore 1
start local 1 2: aload 0
aload 1
iconst_0
aload 1
arraylength
invokestatic com.android.internal.telephony.GsmAlphabet.stringToGsm8BitUnpackedField:(Ljava/lang/String;[BII)V
3: aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 s Ljava/lang/String;
2 4 1 ret [B
1 4 2 septets I
MethodParameters:
Name Flags
s
public static void stringToGsm8BitUnpackedField(java.lang.String, byte[], int, int);
descriptor: (Ljava/lang/String;[BII)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
istore 4
start local 4 1: getstatic com.android.internal.telephony.GsmAlphabet.sCharsToGsmTables:[Landroid/util/SparseIntArray;
iconst_0
aaload
astore 5
start local 5 2: getstatic com.android.internal.telephony.GsmAlphabet.sCharsToShiftTables:[Landroid/util/SparseIntArray;
iconst_0
aaload
astore 6
start local 6 3: iconst_0
istore 7
start local 7 4: aload 0
invokevirtual java.lang.String.length:()I
istore 8
start local 8 5: goto 18
6: StackMap locals: java.lang.String byte[] int int int android.util.SparseIntArray android.util.SparseIntArray int int
StackMap stack:
aload 0
iload 7
invokevirtual java.lang.String.charAt:(I)C
istore 9
start local 9 7: aload 5
iload 9
iconst_m1
invokevirtual android.util.SparseIntArray.get:(II)I
istore 10
start local 10 8: iload 10
iconst_m1
if_icmpne 16
9: aload 6
iload 9
iconst_m1
invokevirtual android.util.SparseIntArray.get:(II)I
istore 10
10: iload 10
iconst_m1
if_icmpne 13
11: aload 5
bipush 32
bipush 32
invokevirtual android.util.SparseIntArray.get:(II)I
istore 10
12: goto 16
13: StackMap locals: int int
StackMap stack:
iload 4
iconst_1
iadd
iload 2
isub
iload 3
if_icmplt 15
14: goto 22
15: StackMap locals:
StackMap stack:
aload 1
iload 4
iinc 4 1
bipush 27
bastore
16: StackMap locals:
StackMap stack:
aload 1
iload 4
iinc 4 1
iload 10
i2b
bastore
end local 10 end local 9 17: iinc 7 1
18: StackMap locals:
StackMap stack:
iload 7
iload 8
if_icmpge 22
iload 4
iload 2
isub
iload 3
19: if_icmplt 6
end local 8 end local 7 20: goto 22
21: StackMap locals:
StackMap stack:
aload 1
iload 4
iinc 4 1
iconst_m1
bastore
22: StackMap locals:
StackMap stack:
iload 4
iload 2
isub
iload 3
if_icmplt 21
23: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 s Ljava/lang/String;
0 24 1 dest [B
0 24 2 offset I
0 24 3 length I
1 24 4 outByteIndex I
2 24 5 charToLanguageTable Landroid/util/SparseIntArray;
3 24 6 charToShiftTable Landroid/util/SparseIntArray;
4 20 7 i I
5 20 8 sz I
7 17 9 c C
8 17 10 v I
MethodParameters:
Name Flags
s
dest
offset
length
public static int countGsmSeptets(char);
descriptor: (C)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
iconst_0
invokestatic com.android.internal.telephony.GsmAlphabet.countGsmSeptets:(CZ)I
1: ireturn
2: StackMap locals:
StackMap stack: com.android.internal.telephony.EncodeException
pop
3: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 c C
Exception table:
from to target type
0 1 2 Class com.android.internal.telephony.EncodeException
MethodParameters:
Name Flags
c
public static int countGsmSeptets(char, boolean);
descriptor: (CZ)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.android.internal.telephony.GsmAlphabet.sCharsToGsmTables:[Landroid/util/SparseIntArray;
iconst_0
aaload
iload 0
iconst_m1
invokevirtual android.util.SparseIntArray.get:(II)I
iconst_m1
if_icmpeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
getstatic com.android.internal.telephony.GsmAlphabet.sCharsToShiftTables:[Landroid/util/SparseIntArray;
iconst_0
aaload
iload 0
iconst_m1
invokevirtual android.util.SparseIntArray.get:(II)I
iconst_m1
if_icmpeq 4
3: iconst_2
ireturn
4: StackMap locals:
StackMap stack:
iload 1
ifeq 6
5: new com.android.internal.telephony.EncodeException
dup
iload 0
invokespecial com.android.internal.telephony.EncodeException.<init>:(C)V
athrow
6: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 c C
0 7 1 throwsException Z
Exceptions:
throws com.android.internal.telephony.EncodeException
MethodParameters:
Name Flags
c
throwsException
public static boolean isGsmSeptets(char);
descriptor: (C)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic com.android.internal.telephony.GsmAlphabet.sCharsToGsmTables:[Landroid/util/SparseIntArray;
iconst_0
aaload
iload 0
iconst_m1
invokevirtual android.util.SparseIntArray.get:(II)I
iconst_m1
if_icmpeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
getstatic com.android.internal.telephony.GsmAlphabet.sCharsToShiftTables:[Landroid/util/SparseIntArray;
iconst_0
aaload
iload 0
iconst_m1
invokevirtual android.util.SparseIntArray.get:(II)I
iconst_m1
if_icmpeq 4
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 c C
MethodParameters:
Name Flags
c
public static int countGsmSeptetsUsingTables(java.lang.CharSequence, boolean, int, int);
descriptor: (Ljava/lang/CharSequence;ZII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
istore 4
start local 4 1: aload 0
invokeinterface java.lang.CharSequence.length:()I
istore 5
start local 5 2: getstatic com.android.internal.telephony.GsmAlphabet.sCharsToGsmTables:[Landroid/util/SparseIntArray;
iload 2
aaload
astore 6
start local 6 3: getstatic com.android.internal.telephony.GsmAlphabet.sCharsToShiftTables:[Landroid/util/SparseIntArray;
iload 3
aaload
astore 7
start local 7 4: iconst_0
istore 8
start local 8 5: goto 21
6: StackMap locals: java.lang.CharSequence int int int int int android.util.SparseIntArray android.util.SparseIntArray int
StackMap stack:
aload 0
iload 8
invokeinterface java.lang.CharSequence.charAt:(I)C
istore 9
start local 9 7: iload 9
bipush 27
if_icmpne 10
8: ldc "GSM"
ldc "countGsmSeptets() string contains Escape character, skipping."
invokestatic android.telephony.Rlog.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
9: goto 20
10: StackMap locals: int
StackMap stack:
aload 6
iload 9
iconst_m1
invokevirtual android.util.SparseIntArray.get:(II)I
iconst_m1
if_icmpeq 13
11: iinc 4 1
12: goto 20
StackMap locals:
StackMap stack:
13: aload 7
iload 9
iconst_m1
invokevirtual android.util.SparseIntArray.get:(II)I
iconst_m1
if_icmpeq 16
14: iinc 4 2
15: goto 20
StackMap locals:
StackMap stack:
16: iload 1
ifeq 19
17: iinc 4 1
18: goto 20
19: StackMap locals:
StackMap stack:
iconst_m1
ireturn
end local 9 20: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
21: iload 8
iload 5
if_icmplt 6
end local 8 22: iload 4
ireturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 s Ljava/lang/CharSequence;
0 23 1 use7bitOnly Z
0 23 2 languageTable I
0 23 3 languageShiftTable I
1 23 4 count I
2 23 5 sz I
3 23 6 charToLanguageTable Landroid/util/SparseIntArray;
4 23 7 charToShiftTable Landroid/util/SparseIntArray;
5 22 8 i I
7 20 9 c C
MethodParameters:
Name Flags
s
use7bitOnly
languageTable
languageShiftTable
public static com.android.internal.telephony.GsmAlphabet$TextEncodingDetails countGsmSeptets(java.lang.CharSequence, boolean);
descriptor: (Ljava/lang/CharSequence;Z)Lcom/android/internal/telephony/GsmAlphabet$TextEncodingDetails;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=15, args_size=2
start local 0 start local 1 0: getstatic com.android.internal.telephony.GsmAlphabet.sDisableCountryEncodingCheck:Z
ifne 2
1: invokestatic com.android.internal.telephony.GsmAlphabet.enableCountrySpecificEncodings:()V
2: StackMap locals:
StackMap stack:
getstatic com.android.internal.telephony.GsmAlphabet.sEnabledSingleShiftTables:[I
arraylength
getstatic com.android.internal.telephony.GsmAlphabet.sEnabledLockingShiftTables:[I
arraylength
iadd
ifne 21
3: new com.android.internal.telephony.GsmAlphabet$TextEncodingDetails
dup
invokespecial com.android.internal.telephony.GsmAlphabet$TextEncodingDetails.<init>:()V
astore 2
start local 2 4: aload 0
iload 1
iconst_0
iconst_0
invokestatic com.android.internal.telephony.GsmAlphabet.countGsmSeptetsUsingTables:(Ljava/lang/CharSequence;ZII)I
istore 3
start local 3 5: iload 3
iconst_m1
if_icmpne 7
6: aconst_null
areturn
7: StackMap locals: com.android.internal.telephony.GsmAlphabet$TextEncodingDetails int
StackMap stack:
aload 2
iconst_1
putfield com.android.internal.telephony.GsmAlphabet$TextEncodingDetails.codeUnitSize:I
8: aload 2
iload 3
putfield com.android.internal.telephony.GsmAlphabet$TextEncodingDetails.codeUnitCount:I
9: iload 3
sipush 160
if_icmple 17
10: aload 2
iload 3
sipush 152
iadd
11: sipush 153
idiv
12: putfield com.android.internal.telephony.GsmAlphabet$TextEncodingDetails.msgCount:I
13: aload 2
aload 2
getfield com.android.internal.telephony.GsmAlphabet$TextEncodingDetails.msgCount:I
14: sipush 153
imul
iload 3
isub
15: putfield com.android.internal.telephony.GsmAlphabet$TextEncodingDetails.codeUnitsRemaining:I
16: goto 19
17: StackMap locals:
StackMap stack:
aload 2
iconst_1
putfield com.android.internal.telephony.GsmAlphabet$TextEncodingDetails.msgCount:I
18: aload 2
sipush 160
iload 3
isub
putfield com.android.internal.telephony.GsmAlphabet$TextEncodingDetails.codeUnitsRemaining:I
19: StackMap locals:
StackMap stack:
aload 2
iconst_1
putfield com.android.internal.telephony.GsmAlphabet$TextEncodingDetails.codeUnitSize:I
20: aload 2
areturn
end local 3 end local 2 21: StackMap locals:
StackMap stack:
getstatic com.android.internal.telephony.GsmAlphabet.sHighestEnabledSingleShiftCode:I
istore 2
start local 2 22: new java.util.ArrayList
dup
23: getstatic com.android.internal.telephony.GsmAlphabet.sEnabledLockingShiftTables:[I
arraylength
iconst_1
iadd
24: invokespecial java.util.ArrayList.<init>:(I)V
astore 3
start local 3 25: aload 3
new com.android.internal.telephony.GsmAlphabet$LanguagePairCount
dup
iconst_0
invokespecial com.android.internal.telephony.GsmAlphabet$LanguagePairCount.<init>:(I)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
26: getstatic com.android.internal.telephony.GsmAlphabet.sEnabledLockingShiftTables:[I
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 31
StackMap locals: java.lang.CharSequence int int java.util.List top int int int[]
StackMap stack:
27: aload 7
iload 5
iaload
istore 4
start local 4 28: iload 4
ifeq 30
getstatic com.android.internal.telephony.GsmAlphabet.sLanguageTables:[Ljava/lang/String;
iload 4
aaload
invokevirtual java.lang.String.isEmpty:()Z
ifne 30
29: aload 3
new com.android.internal.telephony.GsmAlphabet$LanguagePairCount
dup
iload 4
invokespecial com.android.internal.telephony.GsmAlphabet$LanguagePairCount.<init>:(I)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 4 30: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
31: iload 5
iload 6
if_icmplt 27
32: aload 0
invokeinterface java.lang.CharSequence.length:()I
istore 4
start local 4 33: iconst_0
istore 5
start local 5 34: goto 66
35: StackMap locals: java.lang.CharSequence int int java.util.List int int
StackMap stack:
aload 0
iload 5
invokeinterface java.lang.CharSequence.charAt:(I)C
istore 6
start local 6 36: iload 6
bipush 27
if_icmpne 39
37: ldc "GSM"
ldc "countGsmSeptets() string contains Escape character, ignoring!"
invokestatic android.telephony.Rlog.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
38: goto 65
39: StackMap locals: int
StackMap stack:
aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 64
StackMap locals: java.lang.CharSequence int int java.util.List int int int top java.util.Iterator
StackMap stack:
40: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.android.internal.telephony.GsmAlphabet$LanguagePairCount
astore 7
start local 7 41: getstatic com.android.internal.telephony.GsmAlphabet.sCharsToGsmTables:[Landroid/util/SparseIntArray;
aload 7
getfield com.android.internal.telephony.GsmAlphabet$LanguagePairCount.languageCode:I
aaload
iload 6
iconst_m1
invokevirtual android.util.SparseIntArray.get:(II)I
istore 9
start local 9 42: iload 9
iconst_m1
if_icmpne 58
43: iconst_0
istore 10
start local 10 44: goto 56
45: StackMap locals: java.lang.CharSequence int int java.util.List int int int com.android.internal.telephony.GsmAlphabet$LanguagePairCount java.util.Iterator int int
StackMap stack:
aload 7
getfield com.android.internal.telephony.GsmAlphabet$LanguagePairCount.septetCounts:[I
iload 10
iaload
iconst_m1
if_icmpeq 55
46: getstatic com.android.internal.telephony.GsmAlphabet.sCharsToShiftTables:[Landroid/util/SparseIntArray;
iload 10
aaload
iload 6
iconst_m1
invokevirtual android.util.SparseIntArray.get:(II)I
istore 11
start local 11 47: iload 11
iconst_m1
if_icmpne 54
48: iload 1
ifeq 52
49: aload 7
getfield com.android.internal.telephony.GsmAlphabet$LanguagePairCount.septetCounts:[I
iload 10
dup2
iaload
iconst_1
iadd
iastore
50: aload 7
getfield com.android.internal.telephony.GsmAlphabet$LanguagePairCount.unencodableCounts:[I
iload 10
dup2
iaload
iconst_1
iadd
iastore
51: goto 55
52: StackMap locals: int
StackMap stack:
aload 7
getfield com.android.internal.telephony.GsmAlphabet$LanguagePairCount.septetCounts:[I
iload 10
iconst_m1
iastore
53: goto 55
54: StackMap locals:
StackMap stack:
aload 7
getfield com.android.internal.telephony.GsmAlphabet$LanguagePairCount.septetCounts:[I
iload 10
dup2
iaload
iconst_2
iadd
iastore
end local 11 55: StackMap locals:
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
56: iload 10
iload 2
if_icmple 45
end local 10 57: goto 64
58: StackMap locals:
StackMap stack:
iconst_0
istore 10
start local 10 59: goto 63
60: StackMap locals: int
StackMap stack:
aload 7
getfield com.android.internal.telephony.GsmAlphabet$LanguagePairCount.septetCounts:[I
iload 10
iaload
iconst_m1
if_icmpeq 62
61: aload 7
getfield com.android.internal.telephony.GsmAlphabet$LanguagePairCount.septetCounts:[I
iload 10
dup2
iaload
iconst_1
iadd
iastore
62: StackMap locals:
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
63: iload 10
iload 2
if_icmple 60
end local 10 end local 9 end local 7 64: StackMap locals: java.lang.CharSequence int int java.util.List int int int top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 40
end local 6 65: StackMap locals: java.lang.CharSequence int int java.util.List int int
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
66: iload 5
iload 4
if_icmpge 67
aload 3
invokeinterface java.util.List.isEmpty:()Z
ifeq 35
end local 5 67: StackMap locals:
StackMap stack:
new com.android.internal.telephony.GsmAlphabet$TextEncodingDetails
dup
invokespecial com.android.internal.telephony.GsmAlphabet$TextEncodingDetails.<init>:()V
astore 5
start local 5 68: aload 5
ldc 2147483647
putfield com.android.internal.telephony.GsmAlphabet$TextEncodingDetails.msgCount:I
69: aload 5
iconst_1
putfield com.android.internal.telephony.GsmAlphabet$TextEncodingDetails.codeUnitSize:I
70: ldc 2147483647
istore 6
start local 6 71: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 109
StackMap locals: java.lang.CharSequence int int java.util.List int com.android.internal.telephony.GsmAlphabet$TextEncodingDetails int top java.util.Iterator
StackMap stack:
72: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.android.internal.telephony.GsmAlphabet$LanguagePairCount
astore 7
start local 7 73: iconst_0
istore 9
start local 9 74: goto 108
75: StackMap locals: java.lang.CharSequence int int java.util.List int com.android.internal.telephony.GsmAlphabet$TextEncodingDetails int com.android.internal.telephony.GsmAlphabet$LanguagePairCount java.util.Iterator int
StackMap stack:
aload 7
getfield com.android.internal.telephony.GsmAlphabet$LanguagePairCount.septetCounts:[I
iload 9
iaload
istore 10
start local 10 76: iload 10
iconst_m1
if_icmpne 78
77: goto 107
78: StackMap locals: int
StackMap stack:
aload 7
getfield com.android.internal.telephony.GsmAlphabet$LanguagePairCount.languageCode:I
ifeq 81
iload 9
ifeq 81
79: bipush 8
istore 11
start local 11 80: goto 85
end local 11 StackMap locals:
StackMap stack:
81: aload 7
getfield com.android.internal.telephony.GsmAlphabet$LanguagePairCount.languageCode:I
ifne 82
iload 9
ifeq 84
82: StackMap locals:
StackMap stack:
iconst_5
istore 11
start local 11 83: goto 85
end local 11 84: StackMap locals:
StackMap stack:
iconst_0
istore 11
start local 11 85: StackMap locals: int
StackMap stack:
iload 10
iload 11
iadd
sipush 160
if_icmple 93
86: iload 11
ifne 88
87: iconst_1
istore 11
88: StackMap locals:
StackMap stack:
iinc 11 6
89: sipush 160
iload 11
isub
istore 14
start local 14 90: iload 10
iload 14
iadd
iconst_1
isub
iload 14
idiv
istore 12
start local 12 91: iload 12
iload 14
imul
iload 10
isub
istore 13
end local 14 start local 13 92: goto 95
end local 13 end local 12 93: StackMap locals:
StackMap stack:
iconst_1
istore 12
start local 12 94: sipush 160
iload 11
isub
iload 10
isub
istore 13
start local 13 95: StackMap locals: int int
StackMap stack:
aload 7
getfield com.android.internal.telephony.GsmAlphabet$LanguagePairCount.unencodableCounts:[I
iload 9
iaload
istore 14
start local 14 96: iload 1
ifeq 98
iload 14
iload 6
if_icmple 98
97: goto 107
98: StackMap locals: int
StackMap stack:
iload 1
ifeq 99
iload 14
iload 6
if_icmplt 101
99: StackMap locals:
StackMap stack:
iload 12
aload 5
getfield com.android.internal.telephony.GsmAlphabet$TextEncodingDetails.msgCount:I
if_icmplt 101
iload 12
aload 5
getfield com.android.internal.telephony.GsmAlphabet$TextEncodingDetails.msgCount:I
if_icmpne 107
100: iload 13
aload 5
getfield com.android.internal.telephony.GsmAlphabet$TextEncodingDetails.codeUnitsRemaining:I
if_icmple 107
101: StackMap locals:
StackMap stack:
iload 14
istore 6
102: aload 5
iload 12
putfield com.android.internal.telephony.GsmAlphabet$TextEncodingDetails.msgCount:I
103: aload 5
iload 10
putfield com.android.internal.telephony.GsmAlphabet$TextEncodingDetails.codeUnitCount:I
104: aload 5
iload 13
putfield com.android.internal.telephony.GsmAlphabet$TextEncodingDetails.codeUnitsRemaining:I
105: aload 5
aload 7
getfield com.android.internal.telephony.GsmAlphabet$LanguagePairCount.languageCode:I
putfield com.android.internal.telephony.GsmAlphabet$TextEncodingDetails.languageTable:I
106: aload 5
iload 9
putfield com.android.internal.telephony.GsmAlphabet$TextEncodingDetails.languageShiftTable:I
end local 14 end local 13 end local 12 end local 11 end local 10 107: StackMap locals: java.lang.CharSequence int int java.util.List int com.android.internal.telephony.GsmAlphabet$TextEncodingDetails int com.android.internal.telephony.GsmAlphabet$LanguagePairCount java.util.Iterator int
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
108: iload 9
iload 2
if_icmple 75
end local 9 end local 7 109: StackMap locals: java.lang.CharSequence int int java.util.List int com.android.internal.telephony.GsmAlphabet$TextEncodingDetails int top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 72
110: aload 5
getfield com.android.internal.telephony.GsmAlphabet$TextEncodingDetails.msgCount:I
ldc 2147483647
if_icmpne 112
111: aconst_null
areturn
112: StackMap locals: java.lang.CharSequence int int java.util.List int com.android.internal.telephony.GsmAlphabet$TextEncodingDetails int
StackMap stack:
aload 5
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 113 0 s Ljava/lang/CharSequence;
0 113 1 use7bitOnly Z
4 21 2 ted Lcom/android/internal/telephony/GsmAlphabet$TextEncodingDetails;
5 21 3 septets I
22 113 2 maxSingleShiftCode I
25 113 3 lpcList Ljava/util/List<Lcom/android/internal/telephony/GsmAlphabet$LanguagePairCount;>;
28 30 4 i I
33 113 4 sz I
34 67 5 i I
36 65 6 c C
41 64 7 lpc Lcom/android/internal/telephony/GsmAlphabet$LanguagePairCount;
42 64 9 tableIndex I
44 57 10 table I
47 55 11 shiftTableIndex I
59 64 10 table I
68 113 5 ted Lcom/android/internal/telephony/GsmAlphabet$TextEncodingDetails;
71 113 6 minUnencodableCount I
73 109 7 lpc Lcom/android/internal/telephony/GsmAlphabet$LanguagePairCount;
74 109 9 shiftTable I
76 107 10 septets I
80 81 11 udhLength I
83 84 11 udhLength I
85 107 11 udhLength I
91 93 12 msgCount I
94 107 12 msgCount I
92 93 13 septetsRemaining I
95 107 13 septetsRemaining I
90 92 14 septetsPerMessage I
96 107 14 unencodableCount I
MethodParameters:
Name Flags
s
use7bitOnly
public static int findGsmSeptetLimitIndex(java.lang.String, int, int, int, int);
descriptor: (Ljava/lang/String;IIII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=11, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iconst_0
istore 5
start local 5 1: aload 0
invokevirtual java.lang.String.length:()I
istore 6
start local 6 2: getstatic com.android.internal.telephony.GsmAlphabet.sCharsToGsmTables:[Landroid/util/SparseIntArray;
iload 3
aaload
astore 7
start local 7 3: getstatic com.android.internal.telephony.GsmAlphabet.sCharsToShiftTables:[Landroid/util/SparseIntArray;
iload 4
aaload
astore 8
start local 8 4: iload 1
istore 9
start local 9 5: goto 18
6: StackMap locals: java.lang.String int int int int int int android.util.SparseIntArray android.util.SparseIntArray int
StackMap stack:
aload 7
aload 0
iload 9
invokevirtual java.lang.String.charAt:(I)C
iconst_m1
invokevirtual android.util.SparseIntArray.get:(II)I
istore 10
start local 10 7: iload 10
iconst_m1
if_icmpne 14
8: aload 8
aload 0
iload 9
invokevirtual java.lang.String.charAt:(I)C
iconst_m1
invokevirtual android.util.SparseIntArray.get:(II)I
istore 10
9: iload 10
iconst_m1
if_icmpne 12
10: iinc 5 1
11: goto 15
12: StackMap locals: int
StackMap stack:
iinc 5 2
13: goto 15
14: StackMap locals:
StackMap stack:
iinc 5 1
15: StackMap locals:
StackMap stack:
iload 5
iload 2
if_icmple 17
16: iload 9
ireturn
end local 10 17: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
18: iload 9
iload 6
if_icmplt 6
end local 9 19: iload 6
ireturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 s Ljava/lang/String;
0 20 1 start I
0 20 2 limit I
0 20 3 langTable I
0 20 4 langShiftTable I
1 20 5 accumulator I
2 20 6 size I
3 20 7 charToLangTable Landroid/util/SparseIntArray;
4 20 8 charToLangShiftTable Landroid/util/SparseIntArray;
5 19 9 i I
7 17 10 encodedSeptet I
MethodParameters:
Name Flags
s
start
limit
langTable
langShiftTable
public static synchronized void setEnabledSingleShiftTables(int[]);
descriptor: ([I)V
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
putstatic com.android.internal.telephony.GsmAlphabet.sEnabledSingleShiftTables:[I
1: iconst_1
putstatic com.android.internal.telephony.GsmAlphabet.sDisableCountryEncodingCheck:Z
2: aload 0
arraylength
ifle 5
3: aload 0
aload 0
arraylength
iconst_1
isub
iaload
putstatic com.android.internal.telephony.GsmAlphabet.sHighestEnabledSingleShiftCode:I
4: goto 6
5: StackMap locals:
StackMap stack:
iconst_0
putstatic com.android.internal.telephony.GsmAlphabet.sHighestEnabledSingleShiftCode:I
6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 tables [I
MethodParameters:
Name Flags
tables
public static synchronized void setEnabledLockingShiftTables(int[]);
descriptor: ([I)V
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
putstatic com.android.internal.telephony.GsmAlphabet.sEnabledLockingShiftTables:[I
1: iconst_1
putstatic com.android.internal.telephony.GsmAlphabet.sDisableCountryEncodingCheck:Z
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 tables [I
MethodParameters:
Name Flags
tables
public static synchronized int[] getEnabledSingleShiftTables();
descriptor: ()[I
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=0, args_size=0
0: getstatic com.android.internal.telephony.GsmAlphabet.sEnabledSingleShiftTables:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
public static synchronized int[] getEnabledLockingShiftTables();
descriptor: ()[I
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=0, args_size=0
0: getstatic com.android.internal.telephony.GsmAlphabet.sEnabledLockingShiftTables:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
private static void enableCountrySpecificEncodings();
descriptor: ()V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tR cannot be resolved to a variable\n\tR cannot be resolved to a variable\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "GsmAlphabet.java"
NestMembers:
com.android.internal.telephony.GsmAlphabet$LanguagePairCount com.android.internal.telephony.GsmAlphabet$TextEncodingDetails
InnerClasses:
private LanguagePairCount = com.android.internal.telephony.GsmAlphabet$LanguagePairCount of com.android.internal.telephony.GsmAlphabet
public TextEncodingDetails = com.android.internal.telephony.GsmAlphabet$TextEncodingDetails of com.android.internal.telephony.GsmAlphabet