public class android.text.method.QwertyKeyListener extends android.text.method.BaseKeyListener
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.text.method.QwertyKeyListener
  super_class: android.text.method.BaseKeyListener
{
  private static android.text.method.QwertyKeyListener[] sInstance;
    descriptor: [Landroid/text/method/QwertyKeyListener;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static android.text.method.QwertyKeyListener sFullKeyboardInstance;
    descriptor: Landroid/text/method/QwertyKeyListener;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private android.text.method.TextKeyListener$Capitalize mAutoCap;
    descriptor: Landroid/text/method/TextKeyListener$Capitalize;
    flags: (0x0002) ACC_PRIVATE

  private boolean mAutoText;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean mFullKeyboard;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private static android.util.SparseArray<java.lang.String> PICKER_SETS;
    descriptor: Landroid/util/SparseArray;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Landroid/util/SparseArray<Ljava/lang/String;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 42
            invokestatic android.text.method.TextKeyListener$Capitalize.values:()[Landroid/text/method/TextKeyListener$Capitalize;
            arraylength
            iconst_2
            imul
            anewarray android.text.method.QwertyKeyListener
         1: .line 41
            putstatic android.text.method.QwertyKeyListener.sInstance:[Landroid/text/method/QwertyKeyListener;
         2: .line 437
            new android.util.SparseArray
            dup
            invokespecial android.util.SparseArray.<init>:()V
         3: .line 436
            putstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
         4: .line 439
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 65
            ldc "\u00C0\u00C1\u00C2\u00C4\u00C6\u00C3\u00C5\u0104\u0100"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
         5: .line 440
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 67
            ldc "\u00C7\u0106\u010C"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
         6: .line 441
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 68
            ldc "\u010E"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
         7: .line 442
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 69
            ldc "\u00C8\u00C9\u00CA\u00CB\u0118\u011A\u0112"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
         8: .line 443
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 71
            ldc "\u011E"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
         9: .line 444
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 76
            ldc "\u0141"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        10: .line 445
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 73
            ldc "\u00CC\u00CD\u00CE\u00CF\u012A\u0130"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        11: .line 446
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 78
            ldc "\u00D1\u0143\u0147"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        12: .line 447
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 79
            ldc "\u00D8\u0152\u00D5\u00D2\u00D3\u00D4\u00D6\u014C"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        13: .line 448
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 82
            ldc "\u0158"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        14: .line 449
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 83
            ldc "\u015A\u0160\u015E"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        15: .line 450
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 84
            ldc "\u0164"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        16: .line 451
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 85
            ldc "\u00D9\u00DA\u00DB\u00DC\u016E\u016A"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        17: .line 452
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 89
            ldc "\u00DD\u0178"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        18: .line 453
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 90
            ldc "\u0179\u017B\u017D"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        19: .line 454
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 97
            ldc "\u00E0\u00E1\u00E2\u00E4\u00E6\u00E3\u00E5\u0105\u0101"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        20: .line 455
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 99
            ldc "\u00E7\u0107\u010D"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        21: .line 456
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 100
            ldc "\u010F"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        22: .line 457
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 101
            ldc "\u00E8\u00E9\u00EA\u00EB\u0119\u011B\u0113"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        23: .line 458
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 103
            ldc "\u011F"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        24: .line 459
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 105
            ldc "\u00EC\u00ED\u00EE\u00EF\u012B\u0131"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        25: .line 460
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 108
            ldc "\u0142"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        26: .line 461
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 110
            ldc "\u00F1\u0144\u0148"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        27: .line 462
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 111
            ldc "\u00F8\u0153\u00F5\u00F2\u00F3\u00F4\u00F6\u014D"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        28: .line 463
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 114
            ldc "\u0159"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        29: .line 464
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 115
            ldc "\u00A7\u00DF\u015B\u0161\u015F"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        30: .line 465
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 116
            ldc "\u0165"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        31: .line 466
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 117
            ldc "\u00F9\u00FA\u00FB\u00FC\u016F\u016B"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        32: .line 467
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 121
            ldc "\u00FD\u00FF"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        33: .line 468
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 122
            ldc "\u017A\u017C\u017E"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        34: .line 469
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            ldc 61185
        35: .line 470
            ldc "\u2026\u00A5\u2022\u00AE\u00A9\u00B1[]{}\\|"
        36: .line 469
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        37: .line 471
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 47
            ldc "\\"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        38: .line 475
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 49
            ldc "\u00B9\u00BD\u2153\u00BC\u215B"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        39: .line 476
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 50
            ldc "\u00B2\u2154"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        40: .line 477
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 51
            ldc "\u00B3\u00BE\u215C"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        41: .line 478
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 52
            ldc "\u2074"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        42: .line 479
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 53
            ldc "\u215D"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        43: .line 480
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 55
            ldc "\u215E"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        44: .line 481
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 48
            ldc "\u207F\u2205"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        45: .line 482
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 36
            ldc "\u00A2\u00A3\u20AC\u00A5\u20A3\u20A4\u20B1"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        46: .line 483
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 37
            ldc "\u2030"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        47: .line 484
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 42
            ldc "\u2020\u2021"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        48: .line 485
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 45
            ldc "\u2013\u2014"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        49: .line 486
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 43
            ldc "\u00B1"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        50: .line 487
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 40
            ldc "[{<"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        51: .line 488
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 41
            ldc "]}>"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        52: .line 489
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 33
            ldc "\u00A1"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        53: .line 490
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 34
            ldc "\u201C\u201D\u00AB\u00BB\u02DD"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        54: .line 491
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 63
            ldc "\u00BF"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        55: .line 492
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 44
            ldc "\u201A\u201E"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        56: .line 496
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 61
            ldc "\u2260\u2248\u221E"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        57: .line 497
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 60
            ldc "\u2264\u00AB\u2039"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        58: .line 498
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            bipush 62
            ldc "\u2265\u00BB\u203A"
            invokevirtual android.util.SparseArray.put:(ILjava/lang/Object;)V
        59: .line 499
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(android.text.method.TextKeyListener$Capitalize, boolean, boolean);
    descriptor: (Landroid/text/method/TextKeyListener$Capitalize;ZZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // android.text.method.QwertyKeyListener this
        start local 1 // android.text.method.TextKeyListener$Capitalize cap
        start local 2 // boolean autoText
        start local 3 // boolean fullKeyboard
         0: .line 49
            aload 0 /* this */
            invokespecial android.text.method.BaseKeyListener.<init>:()V
         1: .line 50
            aload 0 /* this */
            aload 1 /* cap */
            putfield android.text.method.QwertyKeyListener.mAutoCap:Landroid/text/method/TextKeyListener$Capitalize;
         2: .line 51
            aload 0 /* this */
            iload 2 /* autoText */
            putfield android.text.method.QwertyKeyListener.mAutoText:Z
         3: .line 52
            aload 0 /* this */
            iload 3 /* fullKeyboard */
            putfield android.text.method.QwertyKeyListener.mFullKeyboard:Z
         4: .line 53
            return
        end local 3 // boolean fullKeyboard
        end local 2 // boolean autoText
        end local 1 // android.text.method.TextKeyListener$Capitalize cap
        end local 0 // android.text.method.QwertyKeyListener this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Landroid/text/method/QwertyKeyListener;
            0    5     1           cap  Landroid/text/method/TextKeyListener$Capitalize;
            0    5     2      autoText  Z
            0    5     3  fullKeyboard  Z
    MethodParameters:
              Name  Flags
      cap           
      autoText      
      fullKeyboard  

  public void <init>(android.text.method.TextKeyListener$Capitalize, boolean);
    descriptor: (Landroid/text/method/TextKeyListener$Capitalize;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // android.text.method.QwertyKeyListener this
        start local 1 // android.text.method.TextKeyListener$Capitalize cap
        start local 2 // boolean autoText
         0: .line 56
            aload 0 /* this */
            aload 1 /* cap */
            iload 2 /* autoText */
            iconst_0
            invokespecial android.text.method.QwertyKeyListener.<init>:(Landroid/text/method/TextKeyListener$Capitalize;ZZ)V
         1: .line 57
            return
        end local 2 // boolean autoText
        end local 1 // android.text.method.TextKeyListener$Capitalize cap
        end local 0 // android.text.method.QwertyKeyListener this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Landroid/text/method/QwertyKeyListener;
            0    2     1       cap  Landroid/text/method/TextKeyListener$Capitalize;
            0    2     2  autoText  Z
    MethodParameters:
          Name  Flags
      cap       
      autoText  

  public static android.text.method.QwertyKeyListener getInstance(boolean, android.text.method.TextKeyListener$Capitalize);
    descriptor: (ZLandroid/text/method/TextKeyListener$Capitalize;)Landroid/text/method/QwertyKeyListener;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // boolean autoText
        start local 1 // android.text.method.TextKeyListener$Capitalize cap
         0: .line 64
            aload 1 /* cap */
            invokevirtual android.text.method.TextKeyListener$Capitalize.ordinal:()I
            iconst_2
            imul
            iload 0 /* autoText */
            ifeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack: int
         1: iconst_0
      StackMap locals: int android.text.method.TextKeyListener$Capitalize
      StackMap stack: int int
         2: iadd
            istore 2 /* off */
        start local 2 // int off
         3: .line 66
            getstatic android.text.method.QwertyKeyListener.sInstance:[Landroid/text/method/QwertyKeyListener;
            iload 2 /* off */
            aaload
            ifnonnull 5
         4: .line 67
            getstatic android.text.method.QwertyKeyListener.sInstance:[Landroid/text/method/QwertyKeyListener;
            iload 2 /* off */
            new android.text.method.QwertyKeyListener
            dup
            aload 1 /* cap */
            iload 0 /* autoText */
            invokespecial android.text.method.QwertyKeyListener.<init>:(Landroid/text/method/TextKeyListener$Capitalize;Z)V
            aastore
         5: .line 70
      StackMap locals: int
      StackMap stack:
            getstatic android.text.method.QwertyKeyListener.sInstance:[Landroid/text/method/QwertyKeyListener;
            iload 2 /* off */
            aaload
            areturn
        end local 2 // int off
        end local 1 // android.text.method.TextKeyListener$Capitalize cap
        end local 0 // boolean autoText
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0  autoText  Z
            0    6     1       cap  Landroid/text/method/TextKeyListener$Capitalize;
            3    6     2       off  I
    MethodParameters:
          Name  Flags
      autoText  
      cap       

  public static android.text.method.QwertyKeyListener getInstanceForFullKeyboard();
    descriptor: ()Landroid/text/method/QwertyKeyListener;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=0, args_size=0
         0: .line 79
            getstatic android.text.method.QwertyKeyListener.sFullKeyboardInstance:Landroid/text/method/QwertyKeyListener;
            ifnonnull 2
         1: .line 80
            new android.text.method.QwertyKeyListener
            dup
            getstatic android.text.method.TextKeyListener$Capitalize.NONE:Landroid/text/method/TextKeyListener$Capitalize;
            iconst_0
            iconst_1
            invokespecial android.text.method.QwertyKeyListener.<init>:(Landroid/text/method/TextKeyListener$Capitalize;ZZ)V
            putstatic android.text.method.QwertyKeyListener.sFullKeyboardInstance:Landroid/text/method/QwertyKeyListener;
         2: .line 82
      StackMap locals:
      StackMap stack:
            getstatic android.text.method.QwertyKeyListener.sFullKeyboardInstance:Landroid/text/method/QwertyKeyListener;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public int getInputType();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.text.method.QwertyKeyListener this
         0: .line 86
            aload 0 /* this */
            getfield android.text.method.QwertyKeyListener.mAutoCap:Landroid/text/method/TextKeyListener$Capitalize;
            aload 0 /* this */
            getfield android.text.method.QwertyKeyListener.mAutoText:Z
            invokestatic android.text.method.QwertyKeyListener.makeTextContentType:(Landroid/text/method/TextKeyListener$Capitalize;Z)I
            ireturn
        end local 0 // android.text.method.QwertyKeyListener this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/text/method/QwertyKeyListener;

  public boolean onKeyDown(android.view.View, android.text.Editable, int, android.view.KeyEvent);
    descriptor: (Landroid/view/View;Landroid/text/Editable;ILandroid/view/KeyEvent;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=17, args_size=5
        start local 0 // android.text.method.QwertyKeyListener this
        start local 1 // android.view.View view
        start local 2 // android.text.Editable content
        start local 3 // int keyCode
        start local 4 // android.view.KeyEvent event
         0: .line 92
            iconst_0
            istore 7 /* pref */
        start local 7 // int pref
         1: .line 94
            aload 1 /* view */
            ifnull 3
         2: .line 95
            invokestatic android.text.method.TextKeyListener.getInstance:()Landroid/text/method/TextKeyListener;
            aload 1 /* view */
            invokevirtual android.view.View.getContext:()Landroid/content/Context;
            invokevirtual android.text.method.TextKeyListener.getPrefs:(Landroid/content/Context;)I
            istore 7 /* pref */
         3: .line 99
      StackMap locals: android.text.method.QwertyKeyListener android.view.View android.text.Editable int android.view.KeyEvent top top int
      StackMap stack:
            aload 2 /* content */
            invokestatic android.text.Selection.getSelectionStart:(Ljava/lang/CharSequence;)I
            istore 8 /* a */
        start local 8 // int a
         4: .line 100
            aload 2 /* content */
            invokestatic android.text.Selection.getSelectionEnd:(Ljava/lang/CharSequence;)I
            istore 9 /* b */
        start local 9 // int b
         5: .line 102
            iload 8 /* a */
            iload 9 /* b */
            invokestatic java.lang.Math.min:(II)I
            istore 5 /* selStart */
        start local 5 // int selStart
         6: .line 103
            iload 8 /* a */
            iload 9 /* b */
            invokestatic java.lang.Math.max:(II)I
            istore 6 /* selEnd */
        start local 6 // int selEnd
         7: .line 105
            iload 5 /* selStart */
            iflt 8
            iload 6 /* selEnd */
            ifge 10
         8: .line 106
      StackMap locals: android.text.method.QwertyKeyListener android.view.View android.text.Editable int android.view.KeyEvent int int int int int
      StackMap stack:
            iconst_0
            dup
            istore 6 /* selEnd */
            istore 5 /* selStart */
         9: .line 107
            aload 2 /* content */
            iconst_0
            iconst_0
            invokestatic android.text.Selection.setSelection:(Landroid/text/Spannable;II)V
        end local 9 // int b
        end local 8 // int a
        10: .line 111
      StackMap locals:
      StackMap stack:
            aload 2 /* content */
            getstatic android.text.method.TextKeyListener.ACTIVE:Ljava/lang/Object;
            invokeinterface android.text.Editable.getSpanStart:(Ljava/lang/Object;)I
            istore 8 /* activeStart */
        start local 8 // int activeStart
        11: .line 112
            aload 2 /* content */
            getstatic android.text.method.TextKeyListener.ACTIVE:Ljava/lang/Object;
            invokeinterface android.text.Editable.getSpanEnd:(Ljava/lang/Object;)I
            istore 9 /* activeEnd */
        start local 9 // int activeEnd
        12: .line 116
            aload 4 /* event */
            aload 2 /* content */
            aload 4 /* event */
            invokestatic android.text.method.QwertyKeyListener.getMetaState:(Ljava/lang/CharSequence;Landroid/view/KeyEvent;)I
            invokevirtual android.view.KeyEvent.getUnicodeChar:(I)I
            istore 10 /* i */
        start local 10 // int i
        13: .line 118
            aload 0 /* this */
            getfield android.text.method.QwertyKeyListener.mFullKeyboard:Z
            ifne 22
        14: .line 119
            aload 4 /* event */
            invokevirtual android.view.KeyEvent.getRepeatCount:()I
            istore 11 /* count */
        start local 11 // int count
        15: .line 120
            iload 11 /* count */
            ifle 22
            iload 5 /* selStart */
            iload 6 /* selEnd */
            if_icmpne 22
            iload 5 /* selStart */
            ifle 22
        16: .line 121
            aload 2 /* content */
            iload 5 /* selStart */
            iconst_1
            isub
            invokeinterface android.text.Editable.charAt:(I)C
            istore 12 /* c */
        start local 12 // char c
        17: .line 123
            iload 12 /* c */
            iload 10 /* i */
            if_icmpeq 18
            iload 12 /* c */
            iload 10 /* i */
            invokestatic java.lang.Character.toUpperCase:(I)I
            if_icmpne 22
      StackMap locals: android.text.method.QwertyKeyListener android.view.View android.text.Editable int android.view.KeyEvent int int int int int int int int
      StackMap stack:
        18: aload 1 /* view */
            ifnull 22
        19: .line 124
            aload 0 /* this */
            aload 1 /* view */
            aload 2 /* content */
            iload 12 /* c */
            iconst_0
            iload 11 /* count */
            invokevirtual android.text.method.QwertyKeyListener.showCharacterPicker:(Landroid/view/View;Landroid/text/Editable;CZI)Z
            ifeq 22
        20: .line 125
            aload 2 /* content */
            invokestatic android.text.method.QwertyKeyListener.resetMetaState:(Landroid/text/Spannable;)V
        21: .line 126
            iconst_1
            ireturn
        end local 12 // char c
        end local 11 // int count
        22: .line 132
      StackMap locals:
      StackMap stack:
            iload 10 /* i */
            ldc 61185
            if_icmpne 29
        23: .line 133
            aload 1 /* view */
            ifnull 27
        24: .line 134
            aload 0 /* this */
            aload 1 /* view */
            aload 2 /* content */
        25: .line 135
            ldc 61185
            iconst_1
            iconst_1
        26: .line 134
            invokevirtual android.text.method.QwertyKeyListener.showCharacterPicker:(Landroid/view/View;Landroid/text/Editable;CZI)Z
            pop
        27: .line 137
      StackMap locals:
      StackMap stack:
            aload 2 /* content */
            invokestatic android.text.method.QwertyKeyListener.resetMetaState:(Landroid/text/Spannable;)V
        28: .line 138
            iconst_1
            ireturn
        29: .line 141
      StackMap locals:
      StackMap stack:
            iload 10 /* i */
            ldc 61184
            if_icmpne 50
        30: .line 144
            iload 5 /* selStart */
            iload 6 /* selEnd */
            if_icmpne 38
        31: .line 145
            iload 6 /* selEnd */
            istore 11 /* start */
        start local 11 // int start
        32: .line 147
            goto 34
        33: .line 149
      StackMap locals: int
      StackMap stack:
            iinc 11 /* start */ -1
        34: .line 147
      StackMap locals:
      StackMap stack:
            iload 11 /* start */
            ifle 39
            iload 6 /* selEnd */
            iload 11 /* start */
            isub
            iconst_4
            if_icmpge 39
        35: .line 148
            aload 2 /* content */
            iload 11 /* start */
            iconst_1
            isub
            invokeinterface android.text.Editable.charAt:(I)C
            bipush 16
            invokestatic java.lang.Character.digit:(CI)I
        36: .line 147
            ifge 33
        37: .line 151
            goto 39
        end local 11 // int start
        38: .line 152
      StackMap locals:
      StackMap stack:
            iload 5 /* selStart */
            istore 11 /* start */
        start local 11 // int start
        39: .line 155
      StackMap locals: int
      StackMap stack:
            iconst_m1
            istore 12 /* ch */
        start local 12 // int ch
        40: .line 157
            aload 2 /* content */
            iload 11 /* start */
            iload 6 /* selEnd */
            invokestatic android.text.TextUtils.substring:(Ljava/lang/CharSequence;II)Ljava/lang/String;
            astore 13 /* hex */
        start local 13 // java.lang.String hex
        41: .line 158
            aload 13 /* hex */
            bipush 16
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;I)I
            istore 12 /* ch */
        end local 13 // java.lang.String hex
        42: .line 159
            goto 44
      StackMap locals: android.text.method.QwertyKeyListener android.view.View android.text.Editable int android.view.KeyEvent int int int int int int int int
      StackMap stack: java.lang.NumberFormatException
        43: pop
        44: .line 161
      StackMap locals:
      StackMap stack:
            iload 12 /* ch */
            iflt 49
        45: .line 162
            iload 11 /* start */
            istore 5 /* selStart */
        46: .line 163
            aload 2 /* content */
            iload 5 /* selStart */
            iload 6 /* selEnd */
            invokestatic android.text.Selection.setSelection:(Landroid/text/Spannable;II)V
        47: .line 164
            iload 12 /* ch */
            istore 10 /* i */
        48: .line 165
            goto 50
        49: .line 166
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 10 /* i */
        end local 12 // int ch
        end local 11 // int start
        50: .line 170
      StackMap locals:
      StackMap stack:
            iload 10 /* i */
            ifeq 154
        51: .line 171
            iconst_0
            istore 11 /* dead */
        start local 11 // boolean dead
        52: .line 173
            iload 10 /* i */
            ldc -2147483648
            iand
            ifeq 55
        53: .line 174
            iconst_1
            istore 11 /* dead */
        54: .line 175
            iload 10 /* i */
            ldc 2147483647
            iand
            istore 10 /* i */
        55: .line 178
      StackMap locals: int
      StackMap stack:
            iload 8 /* activeStart */
            iload 5 /* selStart */
            if_icmpne 68
            iload 9 /* activeEnd */
            iload 6 /* selEnd */
            if_icmpne 68
        56: .line 179
            iconst_0
            istore 12 /* replace */
        start local 12 // boolean replace
        57: .line 181
            iload 6 /* selEnd */
            iload 5 /* selStart */
            isub
            iconst_1
            isub
            ifne 64
        58: .line 182
            aload 2 /* content */
            iload 5 /* selStart */
            invokeinterface android.text.Editable.charAt:(I)C
            istore 13 /* accent */
        start local 13 // char accent
        59: .line 183
            iload 13 /* accent */
            iload 10 /* i */
            invokestatic android.view.KeyEvent.getDeadChar:(II)I
            istore 14 /* composed */
        start local 14 // int composed
        60: .line 185
            iload 14 /* composed */
            ifeq 64
        61: .line 186
            iload 14 /* composed */
            istore 10 /* i */
        62: .line 187
            iconst_1
            istore 12 /* replace */
        63: .line 188
            iconst_0
            istore 11 /* dead */
        end local 14 // int composed
        end local 13 // char accent
        64: .line 192
      StackMap locals: int
      StackMap stack:
            iload 12 /* replace */
            ifne 68
        65: .line 193
            aload 2 /* content */
            iload 6 /* selEnd */
            invokestatic android.text.Selection.setSelection:(Landroid/text/Spannable;I)V
        66: .line 194
            aload 2 /* content */
            getstatic android.text.method.TextKeyListener.ACTIVE:Ljava/lang/Object;
            invokeinterface android.text.Editable.removeSpan:(Ljava/lang/Object;)V
        67: .line 195
            iload 6 /* selEnd */
            istore 5 /* selStart */
        end local 12 // boolean replace
        68: .line 199
      StackMap locals:
      StackMap stack:
            iload 7 /* pref */
            iconst_1
            iand
            ifeq 89
        69: .line 200
            iload 10 /* i */
            invokestatic java.lang.Character.isLowerCase:(I)Z
            ifeq 89
        70: .line 201
            aload 0 /* this */
            getfield android.text.method.QwertyKeyListener.mAutoCap:Landroid/text/method/TextKeyListener$Capitalize;
            aload 2 /* content */
            iload 5 /* selStart */
            invokestatic android.text.method.TextKeyListener.shouldCap:(Landroid/text/method/TextKeyListener$Capitalize;Ljava/lang/CharSequence;I)Z
            ifeq 89
        71: .line 202
            aload 2 /* content */
            getstatic android.text.method.TextKeyListener.CAPPED:Ljava/lang/Object;
            invokeinterface android.text.Editable.getSpanEnd:(Ljava/lang/Object;)I
            istore 12 /* where */
        start local 12 // int where
        72: .line 203
            aload 2 /* content */
            getstatic android.text.method.TextKeyListener.CAPPED:Ljava/lang/Object;
            invokeinterface android.text.Editable.getSpanFlags:(Ljava/lang/Object;)I
            istore 13 /* flags */
        start local 13 // int flags
        73: .line 205
            iload 12 /* where */
            iload 5 /* selStart */
            if_icmpne 76
            iload 13 /* flags */
            bipush 16
            ishr
            ldc 65535
            iand
            iload 10 /* i */
            if_icmpne 76
        74: .line 206
            aload 2 /* content */
            getstatic android.text.method.TextKeyListener.CAPPED:Ljava/lang/Object;
            invokeinterface android.text.Editable.removeSpan:(Ljava/lang/Object;)V
        75: .line 207
            goto 89
        76: .line 208
      StackMap locals: int int
      StackMap stack:
            iload 10 /* i */
            bipush 16
            ishl
            istore 13 /* flags */
        77: .line 209
            iload 10 /* i */
            invokestatic java.lang.Character.toUpperCase:(I)I
            istore 10 /* i */
        78: .line 211
            iload 5 /* selStart */
            ifne 83
        79: .line 212
            aload 2 /* content */
            getstatic android.text.method.TextKeyListener.CAPPED:Ljava/lang/Object;
            iconst_0
            iconst_0
        80: .line 213
            bipush 17
            iload 13 /* flags */
            ior
        81: .line 212
            invokeinterface android.text.Editable.setSpan:(Ljava/lang/Object;III)V
        82: .line 213
            goto 89
        83: .line 215
      StackMap locals:
      StackMap stack:
            aload 2 /* content */
            getstatic android.text.method.TextKeyListener.CAPPED:Ljava/lang/Object;
        84: .line 216
            iload 5 /* selStart */
            iconst_1
            isub
            iload 5 /* selStart */
        85: .line 217
            bipush 33
        86: .line 218
            iload 13 /* flags */
        87: .line 217
            ior
        88: .line 215
            invokeinterface android.text.Editable.setSpan:(Ljava/lang/Object;III)V
        end local 13 // int flags
        end local 12 // int where
        89: .line 222
      StackMap locals:
      StackMap stack:
            iload 5 /* selStart */
            iload 6 /* selEnd */
            if_icmpeq 91
        90: .line 223
            aload 2 /* content */
            iload 6 /* selEnd */
            invokestatic android.text.Selection.setSelection:(Landroid/text/Spannable;I)V
        91: .line 225
      StackMap locals:
      StackMap stack:
            aload 2 /* content */
            getstatic android.text.method.QwertyKeyListener.OLD_SEL_START:Ljava/lang/Object;
            iload 5 /* selStart */
            iload 5 /* selStart */
        92: .line 226
            bipush 17
        93: .line 225
            invokeinterface android.text.Editable.setSpan:(Ljava/lang/Object;III)V
        94: .line 228
            aload 2 /* content */
            iload 5 /* selStart */
            iload 6 /* selEnd */
            iload 10 /* i */
            i2c
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokeinterface android.text.Editable.replace:(IILjava/lang/CharSequence;)Landroid/text/Editable;
            pop
        95: .line 230
            aload 2 /* content */
            getstatic android.text.method.QwertyKeyListener.OLD_SEL_START:Ljava/lang/Object;
            invokeinterface android.text.Editable.getSpanStart:(Ljava/lang/Object;)I
            istore 12 /* oldStart */
        start local 12 // int oldStart
        96: .line 231
            aload 2 /* content */
            invokestatic android.text.Selection.getSelectionEnd:(Ljava/lang/CharSequence;)I
            istore 6 /* selEnd */
        97: .line 233
            iload 12 /* oldStart */
            iload 6 /* selEnd */
            if_icmpge 107
        98: .line 234
            aload 2 /* content */
            getstatic android.text.method.TextKeyListener.LAST_TYPED:Ljava/lang/Object;
        99: .line 235
            iload 12 /* oldStart */
            iload 6 /* selEnd */
       100: .line 236
            bipush 33
       101: .line 234
            invokeinterface android.text.Editable.setSpan:(Ljava/lang/Object;III)V
       102: .line 238
            iload 11 /* dead */
            ifeq 107
       103: .line 239
            aload 2 /* content */
            iload 12 /* oldStart */
            iload 6 /* selEnd */
            invokestatic android.text.Selection.setSelection:(Landroid/text/Spannable;II)V
       104: .line 240
            aload 2 /* content */
            getstatic android.text.method.TextKeyListener.ACTIVE:Ljava/lang/Object;
            iload 12 /* oldStart */
            iload 6 /* selEnd */
       105: .line 241
            bipush 33
       106: .line 240
            invokeinterface android.text.Editable.setSpan:(Ljava/lang/Object;III)V
       107: .line 245
      StackMap locals: int
      StackMap stack:
            aload 2 /* content */
            invokestatic android.text.method.QwertyKeyListener.adjustMetaAfterKeypress:(Landroid/text/Spannable;)V
       108: .line 250
            iload 7 /* pref */
            iconst_2
            iand
            ifeq 138
            aload 0 /* this */
            getfield android.text.method.QwertyKeyListener.mAutoText:Z
            ifeq 138
       109: .line 251
            iload 10 /* i */
            bipush 32
            if_icmpeq 112
            iload 10 /* i */
            bipush 9
            if_icmpeq 112
            iload 10 /* i */
            bipush 10
            if_icmpeq 112
       110: .line 252
            iload 10 /* i */
            bipush 44
            if_icmpeq 112
            iload 10 /* i */
            bipush 46
            if_icmpeq 112
            iload 10 /* i */
            bipush 33
            if_icmpeq 112
            iload 10 /* i */
            bipush 63
            if_icmpeq 112
       111: .line 253
            iload 10 /* i */
            bipush 34
            if_icmpeq 112
            iload 10 /* i */
            invokestatic java.lang.Character.getType:(I)I
            bipush 22
            if_icmpne 138
       112: .line 254
      StackMap locals:
      StackMap stack:
            aload 2 /* content */
            getstatic android.text.method.TextKeyListener.INHIBIT_REPLACEMENT:Ljava/lang/Object;
            invokeinterface android.text.Editable.getSpanEnd:(Ljava/lang/Object;)I
       113: .line 255
            iload 12 /* oldStart */
       114: .line 254
            if_icmpeq 138
       115: .line 258
            iload 12 /* oldStart */
            istore 13 /* x */
        start local 13 // int x
       116: goto 121
       117: .line 259
      StackMap locals: int
      StackMap stack:
            aload 2 /* content */
            iload 13 /* x */
            iconst_1
            isub
            invokeinterface android.text.Editable.charAt:(I)C
            istore 14 /* c */
        start local 14 // char c
       118: .line 260
            iload 14 /* c */
            bipush 39
            if_icmpeq 120
            iload 14 /* c */
            invokestatic java.lang.Character.isLetter:(C)Z
            ifne 120
       119: .line 261
            goto 122
        end local 14 // char c
       120: .line 258
      StackMap locals:
      StackMap stack:
            iinc 13 /* x */ -1
      StackMap locals:
      StackMap stack:
       121: iload 13 /* x */
            ifgt 117
       122: .line 265
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* content */
            iload 13 /* x */
            iload 12 /* oldStart */
            aload 1 /* view */
            invokevirtual android.text.method.QwertyKeyListener.getReplacement:(Ljava/lang/CharSequence;IILandroid/view/View;)Ljava/lang/String;
            astore 14 /* rep */
        start local 14 // java.lang.String rep
       123: .line 267
            aload 14 /* rep */
            ifnull 138
       124: .line 268
            aload 2 /* content */
            iconst_0
            aload 2 /* content */
            invokeinterface android.text.Editable.length:()I
       125: .line 269
            ldc Landroid/text/method/QwertyKeyListener$Replaced;
       126: .line 268
            invokeinterface android.text.Editable.getSpans:(IILjava/lang/Class;)[Ljava/lang/Object;
            checkcast android.text.method.QwertyKeyListener$Replaced[]
            astore 15 /* repl */
        start local 15 // android.text.method.QwertyKeyListener$Replaced[] repl
       127: .line 270
            iconst_0
            istore 16 /* a */
        start local 16 // int a
       128: goto 131
       129: .line 271
      StackMap locals: java.lang.String android.text.method.QwertyKeyListener$Replaced[] int
      StackMap stack:
            aload 2 /* content */
            aload 15 /* repl */
            iload 16 /* a */
            aaload
            invokeinterface android.text.Editable.removeSpan:(Ljava/lang/Object;)V
       130: .line 270
            iinc 16 /* a */ 1
      StackMap locals:
      StackMap stack:
       131: iload 16 /* a */
            aload 15 /* repl */
            arraylength
            if_icmplt 129
        end local 16 // int a
       132: .line 273
            iload 12 /* oldStart */
            iload 13 /* x */
            isub
            newarray 5
            astore 16 /* orig */
        start local 16 // char[] orig
       133: .line 274
            aload 2 /* content */
            iload 13 /* x */
            iload 12 /* oldStart */
            aload 16 /* orig */
            iconst_0
            invokestatic android.text.TextUtils.getChars:(Ljava/lang/CharSequence;II[CI)V
       134: .line 276
            aload 2 /* content */
            new android.text.method.QwertyKeyListener$Replaced
            dup
            aload 16 /* orig */
            invokespecial android.text.method.QwertyKeyListener$Replaced.<init>:([C)V
            iload 13 /* x */
            iload 12 /* oldStart */
       135: .line 277
            bipush 33
       136: .line 276
            invokeinterface android.text.Editable.setSpan:(Ljava/lang/Object;III)V
       137: .line 278
            aload 2 /* content */
            iload 13 /* x */
            iload 12 /* oldStart */
            aload 14 /* rep */
            invokeinterface android.text.Editable.replace:(IILjava/lang/CharSequence;)Landroid/text/Editable;
            pop
        end local 16 // char[] orig
        end local 15 // android.text.method.QwertyKeyListener$Replaced[] repl
        end local 14 // java.lang.String rep
        end local 13 // int x
       138: .line 284
      StackMap locals: android.text.method.QwertyKeyListener android.view.View android.text.Editable int android.view.KeyEvent int int int int int int int int
      StackMap stack:
            iload 7 /* pref */
            iconst_4
            iand
            ifeq 153
            aload 0 /* this */
            getfield android.text.method.QwertyKeyListener.mAutoText:Z
            ifeq 153
       139: .line 285
            aload 2 /* content */
            invokestatic android.text.Selection.getSelectionEnd:(Ljava/lang/CharSequence;)I
            istore 6 /* selEnd */
       140: .line 286
            iload 6 /* selEnd */
            iconst_3
            isub
            iflt 153
       141: .line 287
            aload 2 /* content */
            iload 6 /* selEnd */
            iconst_1
            isub
            invokeinterface android.text.Editable.charAt:(I)C
            bipush 32
            if_icmpne 153
       142: .line 288
            aload 2 /* content */
            iload 6 /* selEnd */
            iconst_2
            isub
            invokeinterface android.text.Editable.charAt:(I)C
            bipush 32
            if_icmpne 153
       143: .line 289
            aload 2 /* content */
            iload 6 /* selEnd */
            iconst_3
            isub
            invokeinterface android.text.Editable.charAt:(I)C
            istore 13 /* c */
        start local 13 // char c
       144: .line 291
            iload 6 /* selEnd */
            iconst_3
            isub
            istore 14 /* j */
        start local 14 // int j
       145: goto 150
       146: .line 292
      StackMap locals: int int
      StackMap stack:
            iload 13 /* c */
            bipush 34
            if_icmpeq 148
       147: .line 293
            iload 13 /* c */
            invokestatic java.lang.Character.getType:(C)I
            bipush 22
            if_icmpne 151
       148: .line 294
      StackMap locals:
      StackMap stack:
            aload 2 /* content */
            iload 14 /* j */
            iconst_1
            isub
            invokeinterface android.text.Editable.charAt:(I)C
            istore 13 /* c */
       149: .line 291
            iinc 14 /* j */ -1
      StackMap locals:
      StackMap stack:
       150: iload 14 /* j */
            ifgt 146
        end local 14 // int j
       151: .line 300
      StackMap locals:
      StackMap stack:
            iload 13 /* c */
            invokestatic java.lang.Character.isLetter:(C)Z
            ifne 152
            iload 13 /* c */
            invokestatic java.lang.Character.isDigit:(C)Z
            ifeq 153
       152: .line 301
      StackMap locals:
      StackMap stack:
            aload 2 /* content */
            iload 6 /* selEnd */
            iconst_2
            isub
            iload 6 /* selEnd */
            iconst_1
            isub
            ldc "."
            invokeinterface android.text.Editable.replace:(IILjava/lang/CharSequence;)Landroid/text/Editable;
            pop
        end local 13 // char c
       153: .line 307
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 12 // int oldStart
        end local 11 // boolean dead
       154: .line 308
      StackMap locals:
      StackMap stack:
            iload 3 /* keyCode */
            bipush 67
            if_icmpne 187
       155: .line 309
            aload 4 /* event */
            invokevirtual android.view.KeyEvent.hasNoModifiers:()Z
            ifne 156
            aload 4 /* event */
            iconst_2
            invokevirtual android.view.KeyEvent.hasModifiers:(I)Z
            ifeq 187
       156: .line 310
      StackMap locals:
      StackMap stack:
            iload 5 /* selStart */
            iload 6 /* selEnd */
            if_icmpne 187
       157: .line 313
            iconst_1
            istore 11 /* consider */
        start local 11 // int consider
       158: .line 320
            aload 2 /* content */
            getstatic android.text.method.TextKeyListener.LAST_TYPED:Ljava/lang/Object;
            invokeinterface android.text.Editable.getSpanEnd:(Ljava/lang/Object;)I
            iload 5 /* selStart */
            if_icmpne 161
       159: .line 321
            aload 2 /* content */
            iload 5 /* selStart */
            iconst_1
            isub
            invokeinterface android.text.Editable.charAt:(I)C
            bipush 10
            if_icmpeq 161
       160: .line 322
            iconst_2
            istore 11 /* consider */
       161: .line 325
      StackMap locals: int
      StackMap stack:
            aload 2 /* content */
            iload 5 /* selStart */
            iload 11 /* consider */
            isub
            iload 5 /* selStart */
       162: .line 326
            ldc Landroid/text/method/QwertyKeyListener$Replaced;
       163: .line 325
            invokeinterface android.text.Editable.getSpans:(IILjava/lang/Class;)[Ljava/lang/Object;
            checkcast android.text.method.QwertyKeyListener$Replaced[]
            astore 12 /* repl */
        start local 12 // android.text.method.QwertyKeyListener$Replaced[] repl
       164: .line 328
            aload 12 /* repl */
            arraylength
            ifle 187
       165: .line 329
            aload 2 /* content */
            aload 12 /* repl */
            iconst_0
            aaload
            invokeinterface android.text.Editable.getSpanStart:(Ljava/lang/Object;)I
            istore 13 /* st */
        start local 13 // int st
       166: .line 330
            aload 2 /* content */
            aload 12 /* repl */
            iconst_0
            aaload
            invokeinterface android.text.Editable.getSpanEnd:(Ljava/lang/Object;)I
            istore 14 /* en */
        start local 14 // int en
       167: .line 331
            new java.lang.String
            dup
            aload 12 /* repl */
            iconst_0
            aaload
            getfield android.text.method.QwertyKeyListener$Replaced.mText:[C
            invokespecial java.lang.String.<init>:([C)V
            astore 15 /* old */
        start local 15 // java.lang.String old
       168: .line 333
            aload 2 /* content */
            aload 12 /* repl */
            iconst_0
            aaload
            invokeinterface android.text.Editable.removeSpan:(Ljava/lang/Object;)V
       169: .line 339
            iload 5 /* selStart */
            iload 14 /* en */
            if_icmplt 184
       170: .line 340
            aload 2 /* content */
            getstatic android.text.method.TextKeyListener.INHIBIT_REPLACEMENT:Ljava/lang/Object;
       171: .line 341
            iload 14 /* en */
            iload 14 /* en */
            bipush 34
       172: .line 340
            invokeinterface android.text.Editable.setSpan:(Ljava/lang/Object;III)V
       173: .line 342
            aload 2 /* content */
            iload 13 /* st */
            iload 14 /* en */
            aload 15 /* old */
            invokeinterface android.text.Editable.replace:(IILjava/lang/CharSequence;)Landroid/text/Editable;
            pop
       174: .line 344
            aload 2 /* content */
            getstatic android.text.method.TextKeyListener.INHIBIT_REPLACEMENT:Ljava/lang/Object;
            invokeinterface android.text.Editable.getSpanStart:(Ljava/lang/Object;)I
            istore 14 /* en */
       175: .line 345
            iload 14 /* en */
            iconst_1
            isub
            iflt 181
       176: .line 346
            aload 2 /* content */
            getstatic android.text.method.TextKeyListener.INHIBIT_REPLACEMENT:Ljava/lang/Object;
       177: .line 347
            iload 14 /* en */
            iconst_1
            isub
            iload 14 /* en */
       178: .line 348
            bipush 33
       179: .line 346
            invokeinterface android.text.Editable.setSpan:(Ljava/lang/Object;III)V
       180: .line 349
            goto 182
       181: .line 350
      StackMap locals: android.text.method.QwertyKeyListener android.view.View android.text.Editable int android.view.KeyEvent int int int int int int int android.text.method.QwertyKeyListener$Replaced[] int int java.lang.String
      StackMap stack:
            aload 2 /* content */
            getstatic android.text.method.TextKeyListener.INHIBIT_REPLACEMENT:Ljava/lang/Object;
            invokeinterface android.text.Editable.removeSpan:(Ljava/lang/Object;)V
       182: .line 352
      StackMap locals:
      StackMap stack:
            aload 2 /* content */
            invokestatic android.text.method.QwertyKeyListener.adjustMetaAfterKeypress:(Landroid/text/Spannable;)V
       183: .line 353
            goto 186
       184: .line 354
      StackMap locals:
      StackMap stack:
            aload 2 /* content */
            invokestatic android.text.method.QwertyKeyListener.adjustMetaAfterKeypress:(Landroid/text/Spannable;)V
       185: .line 355
            aload 0 /* this */
            aload 1 /* view */
            aload 2 /* content */
            iload 3 /* keyCode */
            aload 4 /* event */
            invokespecial android.text.method.BaseKeyListener.onKeyDown:(Landroid/view/View;Landroid/text/Editable;ILandroid/view/KeyEvent;)Z
            ireturn
       186: .line 358
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 15 // java.lang.String old
        end local 14 // int en
        end local 13 // int st
        end local 12 // android.text.method.QwertyKeyListener$Replaced[] repl
        end local 11 // int consider
       187: .line 362
      StackMap locals: android.text.method.QwertyKeyListener android.view.View android.text.Editable int android.view.KeyEvent int int int int int int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* view */
            aload 2 /* content */
            iload 3 /* keyCode */
            aload 4 /* event */
            invokespecial android.text.method.BaseKeyListener.onKeyDown:(Landroid/view/View;Landroid/text/Editable;ILandroid/view/KeyEvent;)Z
            ireturn
        end local 10 // int i
        end local 9 // int activeEnd
        end local 8 // int activeStart
        end local 7 // int pref
        end local 6 // int selEnd
        end local 5 // int selStart
        end local 4 // android.view.KeyEvent event
        end local 3 // int keyCode
        end local 2 // android.text.Editable content
        end local 1 // android.view.View view
        end local 0 // android.text.method.QwertyKeyListener this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0  188     0         this  Landroid/text/method/QwertyKeyListener;
            0  188     1         view  Landroid/view/View;
            0  188     2      content  Landroid/text/Editable;
            0  188     3      keyCode  I
            0  188     4        event  Landroid/view/KeyEvent;
            6  188     5     selStart  I
            7  188     6       selEnd  I
            1  188     7         pref  I
            4   10     8            a  I
            5   10     9            b  I
           11  188     8  activeStart  I
           12  188     9    activeEnd  I
           13  188    10            i  I
           15   22    11        count  I
           17   22    12            c  C
           32   38    11        start  I
           39   50    11        start  I
           40   50    12           ch  I
           41   42    13          hex  Ljava/lang/String;
           52  154    11         dead  Z
           57   68    12      replace  Z
           59   64    13       accent  C
           60   64    14     composed  I
           72   89    12        where  I
           73   89    13        flags  I
           96  154    12     oldStart  I
          116  138    13            x  I
          118  120    14            c  C
          123  138    14          rep  Ljava/lang/String;
          127  138    15         repl  [Landroid/text/method/QwertyKeyListener$Replaced;
          128  132    16            a  I
          133  138    16         orig  [C
          144  153    13            c  C
          145  151    14            j  I
          158  187    11     consider  I
          164  187    12         repl  [Landroid/text/method/QwertyKeyListener$Replaced;
          166  187    13           st  I
          167  187    14           en  I
          168  187    15          old  Ljava/lang/String;
      Exception table:
        from    to  target  type
          40    42      43  Class java.lang.NumberFormatException
    MethodParameters:
         Name  Flags
      view     
      content  
      keyCode  
      event    

  private java.lang.String getReplacement(java.lang.CharSequence, int, int, android.view.View);
    descriptor: (Ljava/lang/CharSequence;IILandroid/view/View;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=10, args_size=5
        start local 0 // android.text.method.QwertyKeyListener this
        start local 1 // java.lang.CharSequence src
        start local 2 // int start
        start local 3 // int end
        start local 4 // android.view.View view
         0: .line 367
            iload 3 /* end */
            iload 2 /* start */
            isub
            istore 5 /* len */
        start local 5 // int len
         1: .line 368
            iconst_0
            istore 6 /* changecase */
        start local 6 // boolean changecase
         2: .line 370
            aload 1 /* src */
            iload 2 /* start */
            iload 3 /* end */
            aload 4 /* view */
            invokestatic android.text.AutoText.get:(Ljava/lang/CharSequence;IILandroid/view/View;)Ljava/lang/String;
            astore 7 /* replacement */
        start local 7 // java.lang.String replacement
         3: .line 372
            aload 7 /* replacement */
            ifnonnull 9
         4: .line 373
            aload 1 /* src */
            iload 2 /* start */
            iload 3 /* end */
            invokestatic android.text.TextUtils.substring:(Ljava/lang/CharSequence;II)Ljava/lang/String;
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            astore 8 /* key */
        start local 8 // java.lang.String key
         5: .line 374
            aload 8 /* key */
            iconst_0
            iload 3 /* end */
            iload 2 /* start */
            isub
            aload 4 /* view */
            invokestatic android.text.AutoText.get:(Ljava/lang/CharSequence;IILandroid/view/View;)Ljava/lang/String;
            astore 7 /* replacement */
         6: .line 375
            iconst_1
            istore 6 /* changecase */
         7: .line 377
            aload 7 /* replacement */
            ifnonnull 9
         8: .line 378
            aconst_null
            areturn
        end local 8 // java.lang.String key
         9: .line 381
      StackMap locals: int int java.lang.String
      StackMap stack:
            iconst_0
            istore 8 /* caps */
        start local 8 // int caps
        10: .line 383
            iload 6 /* changecase */
            ifeq 17
        11: .line 384
            iload 2 /* start */
            istore 9 /* j */
        start local 9 // int j
        12: goto 16
        13: .line 385
      StackMap locals: int int
      StackMap stack:
            aload 1 /* src */
            iload 9 /* j */
            invokeinterface java.lang.CharSequence.charAt:(I)C
            invokestatic java.lang.Character.isUpperCase:(C)Z
            ifeq 15
        14: .line 386
            iinc 8 /* caps */ 1
        15: .line 384
      StackMap locals:
      StackMap stack:
            iinc 9 /* j */ 1
      StackMap locals:
      StackMap stack:
        16: iload 9 /* j */
            iload 3 /* end */
            if_icmplt 13
        end local 9 // int j
        17: .line 392
      StackMap locals:
      StackMap stack:
            iload 8 /* caps */
            ifne 20
        18: .line 393
            aload 7 /* replacement */
            astore 9 /* out */
        start local 9 // java.lang.String out
        19: goto 27
        end local 9 // java.lang.String out
        20: .line 394
      StackMap locals:
      StackMap stack:
            iload 8 /* caps */
            iconst_1
            if_icmpne 23
        21: .line 395
            aload 7 /* replacement */
            invokestatic android.text.method.QwertyKeyListener.toTitleCase:(Ljava/lang/String;)Ljava/lang/String;
            astore 9 /* out */
        start local 9 // java.lang.String out
        22: goto 27
        end local 9 // java.lang.String out
        23: .line 396
      StackMap locals:
      StackMap stack:
            iload 8 /* caps */
            iload 5 /* len */
            if_icmpne 26
        24: .line 397
            aload 7 /* replacement */
            invokevirtual java.lang.String.toUpperCase:()Ljava/lang/String;
            astore 9 /* out */
        start local 9 // java.lang.String out
        25: goto 27
        end local 9 // java.lang.String out
        26: .line 399
      StackMap locals:
      StackMap stack:
            aload 7 /* replacement */
            invokestatic android.text.method.QwertyKeyListener.toTitleCase:(Ljava/lang/String;)Ljava/lang/String;
            astore 9 /* out */
        start local 9 // java.lang.String out
        27: .line 401
      StackMap locals: java.lang.String
      StackMap stack:
            aload 9 /* out */
            invokevirtual java.lang.String.length:()I
            iload 5 /* len */
            if_icmpne 30
        28: .line 402
            aload 1 /* src */
            iload 2 /* start */
            aload 9 /* out */
            iconst_0
            iload 5 /* len */
            invokestatic android.text.TextUtils.regionMatches:(Ljava/lang/CharSequence;ILjava/lang/CharSequence;II)Z
            ifeq 30
        29: .line 403
            aconst_null
            areturn
        30: .line 405
      StackMap locals:
      StackMap stack:
            aload 9 /* out */
            areturn
        end local 9 // java.lang.String out
        end local 8 // int caps
        end local 7 // java.lang.String replacement
        end local 6 // boolean changecase
        end local 5 // int len
        end local 4 // android.view.View view
        end local 3 // int end
        end local 2 // int start
        end local 1 // java.lang.CharSequence src
        end local 0 // android.text.method.QwertyKeyListener this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   31     0         this  Landroid/text/method/QwertyKeyListener;
            0   31     1          src  Ljava/lang/CharSequence;
            0   31     2        start  I
            0   31     3          end  I
            0   31     4         view  Landroid/view/View;
            1   31     5          len  I
            2   31     6   changecase  Z
            3   31     7  replacement  Ljava/lang/String;
            5    9     8          key  Ljava/lang/String;
           10   31     8         caps  I
           12   17     9            j  I
           19   20     9          out  Ljava/lang/String;
           22   23     9          out  Ljava/lang/String;
           25   26     9          out  Ljava/lang/String;
           27   31     9          out  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      src    
      start  
      end    
      view   

  public static void markAsReplaced(android.text.Spannable, int, int, java.lang.String);
    descriptor: (Landroid/text/Spannable;IILjava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // android.text.Spannable content
        start local 1 // int start
        start local 2 // int end
        start local 3 // java.lang.String original
         0: .line 423
            aload 0 /* content */
            iconst_0
            aload 0 /* content */
            invokeinterface android.text.Spannable.length:()I
            ldc Landroid/text/method/QwertyKeyListener$Replaced;
            invokeinterface android.text.Spannable.getSpans:(IILjava/lang/Class;)[Ljava/lang/Object;
            checkcast android.text.method.QwertyKeyListener$Replaced[]
            astore 4 /* repl */
        start local 4 // android.text.method.QwertyKeyListener$Replaced[] repl
         1: .line 424
            iconst_0
            istore 5 /* a */
        start local 5 // int a
         2: goto 5
         3: .line 425
      StackMap locals: android.text.method.QwertyKeyListener$Replaced[] int
      StackMap stack:
            aload 0 /* content */
            aload 4 /* repl */
            iload 5 /* a */
            aaload
            invokeinterface android.text.Spannable.removeSpan:(Ljava/lang/Object;)V
         4: .line 424
            iinc 5 /* a */ 1
      StackMap locals:
      StackMap stack:
         5: iload 5 /* a */
            aload 4 /* repl */
            arraylength
            if_icmplt 3
        end local 5 // int a
         6: .line 428
            aload 3 /* original */
            invokevirtual java.lang.String.length:()I
            istore 5 /* len */
        start local 5 // int len
         7: .line 429
            iload 5 /* len */
            newarray 5
            astore 6 /* orig */
        start local 6 // char[] orig
         8: .line 430
            aload 3 /* original */
            iconst_0
            iload 5 /* len */
            aload 6 /* orig */
            iconst_0
            invokevirtual java.lang.String.getChars:(II[CI)V
         9: .line 432
            aload 0 /* content */
            new android.text.method.QwertyKeyListener$Replaced
            dup
            aload 6 /* orig */
            invokespecial android.text.method.QwertyKeyListener$Replaced.<init>:([C)V
            iload 1 /* start */
            iload 2 /* end */
        10: .line 433
            bipush 33
        11: .line 432
            invokeinterface android.text.Spannable.setSpan:(Ljava/lang/Object;III)V
        12: .line 434
            return
        end local 6 // char[] orig
        end local 5 // int len
        end local 4 // android.text.method.QwertyKeyListener$Replaced[] repl
        end local 3 // java.lang.String original
        end local 2 // int end
        end local 1 // int start
        end local 0 // android.text.Spannable content
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0   content  Landroid/text/Spannable;
            0   13     1     start  I
            0   13     2       end  I
            0   13     3  original  Ljava/lang/String;
            1   13     4      repl  [Landroid/text/method/QwertyKeyListener$Replaced;
            2    6     5         a  I
            7   13     5       len  I
            8   13     6      orig  [C
    MethodParameters:
          Name  Flags
      content   
      start     
      end       
      original  

  private boolean showCharacterPicker(android.view.View, android.text.Editable, char, boolean, int);
    descriptor: (Landroid/view/View;Landroid/text/Editable;CZI)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=7, args_size=6
        start local 0 // android.text.method.QwertyKeyListener this
        start local 1 // android.view.View view
        start local 2 // android.text.Editable content
        start local 3 // char c
        start local 4 // boolean insert
        start local 5 // int count
         0: .line 503
            getstatic android.text.method.QwertyKeyListener.PICKER_SETS:Landroid/util/SparseArray;
            iload 3 /* c */
            invokevirtual android.util.SparseArray.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* set */
        start local 6 // java.lang.String set
         1: .line 504
            aload 6 /* set */
            ifnonnull 3
         2: .line 505
            iconst_0
            ireturn
         3: .line 508
      StackMap locals: java.lang.String
      StackMap stack:
            iload 5 /* count */
            iconst_1
            if_icmpne 8
         4: .line 509
            new android.text.method.CharacterPickerDialog
            dup
            aload 1 /* view */
            invokevirtual android.view.View.getContext:()Landroid/content/Context;
         5: .line 510
            aload 1 /* view */
            aload 2 /* content */
            aload 6 /* set */
            iload 4 /* insert */
         6: .line 509
            invokespecial android.text.method.CharacterPickerDialog.<init>:(Landroid/content/Context;Landroid/view/View;Landroid/text/Editable;Ljava/lang/String;Z)V
         7: .line 510
            invokevirtual android.text.method.CharacterPickerDialog.show:()V
         8: .line 513
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 6 // java.lang.String set
        end local 5 // int count
        end local 4 // boolean insert
        end local 3 // char c
        end local 2 // android.text.Editable content
        end local 1 // android.view.View view
        end local 0 // android.text.method.QwertyKeyListener this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Landroid/text/method/QwertyKeyListener;
            0    9     1     view  Landroid/view/View;
            0    9     2  content  Landroid/text/Editable;
            0    9     3        c  C
            0    9     4   insert  Z
            0    9     5    count  I
            1    9     6      set  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      view     
      content  
      c        
      insert   
      count    

  private static java.lang.String toTitleCase(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.String src
         0: .line 517
            new java.lang.StringBuilder
            dup
            aload 0 /* src */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.toUpperCase:(C)C
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* src */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // java.lang.String src
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   src  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      src   
}
SourceFile: "QwertyKeyListener.java"
NestMembers:
  android.text.method.QwertyKeyListener$Replaced
InnerClasses:
  Replaced = android.text.method.QwertyKeyListener$Replaced of android.text.method.QwertyKeyListener
  public final Capitalize = android.text.method.TextKeyListener$Capitalize of android.text.method.TextKeyListener