public class android.text.method.BaseMovementMethod implements android.text.method.MovementMethod
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.text.method.BaseMovementMethod
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.text.method.BaseMovementMethod this
         0: .line 29
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // android.text.method.BaseMovementMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/text/method/BaseMovementMethod;

  public boolean canSelectArbitrarily();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.text.method.BaseMovementMethod this
         0: .line 32
            iconst_0
            ireturn
        end local 0 // android.text.method.BaseMovementMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/text/method/BaseMovementMethod;

  public void initialize(android.widget.TextView, android.text.Spannable);
    descriptor: (Landroid/widget/TextView;Landroid/text/Spannable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // android.text.method.BaseMovementMethod this
        start local 1 // android.widget.TextView widget
        start local 2 // android.text.Spannable text
         0: .line 37
            return
        end local 2 // android.text.Spannable text
        end local 1 // android.widget.TextView widget
        end local 0 // android.text.method.BaseMovementMethod this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Landroid/text/method/BaseMovementMethod;
            0    1     1  widget  Landroid/widget/TextView;
            0    1     2    text  Landroid/text/Spannable;
    MethodParameters:
        Name  Flags
      widget  
      text    

  public boolean onKeyDown(android.widget.TextView, android.text.Spannable, int, android.view.KeyEvent);
    descriptor: (Landroid/widget/TextView;Landroid/text/Spannable;ILandroid/view/KeyEvent;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=5
        start local 0 // android.text.method.BaseMovementMethod this
        start local 1 // android.widget.TextView widget
        start local 2 // android.text.Spannable text
        start local 3 // int keyCode
        start local 4 // android.view.KeyEvent event
         0: .line 41
            aload 0 /* this */
            aload 2 /* text */
            aload 4 /* event */
            invokevirtual android.text.method.BaseMovementMethod.getMovementMetaState:(Landroid/text/Spannable;Landroid/view/KeyEvent;)I
            istore 5 /* movementMetaState */
        start local 5 // int movementMetaState
         1: .line 42
            aload 0 /* this */
            aload 1 /* widget */
            aload 2 /* text */
            iload 3 /* keyCode */
            iload 5 /* movementMetaState */
            aload 4 /* event */
            invokevirtual android.text.method.BaseMovementMethod.handleMovementKey:(Landroid/widget/TextView;Landroid/text/Spannable;IILandroid/view/KeyEvent;)Z
            istore 6 /* handled */
        start local 6 // boolean handled
         2: .line 43
            iload 6 /* handled */
            ifeq 5
         3: .line 44
            aload 2 /* text */
            invokestatic android.text.method.MetaKeyKeyListener.adjustMetaAfterKeypress:(Landroid/text/Spannable;)V
         4: .line 45
            aload 2 /* text */
            invokestatic android.text.method.MetaKeyKeyListener.resetLockedMeta:(Landroid/text/Spannable;)V
         5: .line 47
      StackMap locals: int int
      StackMap stack:
            iload 6 /* handled */
            ireturn
        end local 6 // boolean handled
        end local 5 // int movementMetaState
        end local 4 // android.view.KeyEvent event
        end local 3 // int keyCode
        end local 2 // android.text.Spannable text
        end local 1 // android.widget.TextView widget
        end local 0 // android.text.method.BaseMovementMethod this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    6     0               this  Landroid/text/method/BaseMovementMethod;
            0    6     1             widget  Landroid/widget/TextView;
            0    6     2               text  Landroid/text/Spannable;
            0    6     3            keyCode  I
            0    6     4              event  Landroid/view/KeyEvent;
            1    6     5  movementMetaState  I
            2    6     6            handled  Z
    MethodParameters:
         Name  Flags
      widget   
      text     
      keyCode  
      event    

  public boolean onKeyOther(android.widget.TextView, android.text.Spannable, android.view.KeyEvent);
    descriptor: (Landroid/widget/TextView;Landroid/text/Spannable;Landroid/view/KeyEvent;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=9, args_size=4
        start local 0 // android.text.method.BaseMovementMethod this
        start local 1 // android.widget.TextView widget
        start local 2 // android.text.Spannable text
        start local 3 // android.view.KeyEvent event
         0: .line 52
            aload 0 /* this */
            aload 2 /* text */
            aload 3 /* event */
            invokevirtual android.text.method.BaseMovementMethod.getMovementMetaState:(Landroid/text/Spannable;Landroid/view/KeyEvent;)I
            istore 4 /* movementMetaState */
        start local 4 // int movementMetaState
         1: .line 53
            aload 3 /* event */
            invokevirtual android.view.KeyEvent.getKeyCode:()I
            istore 5 /* keyCode */
        start local 5 // int keyCode
         2: .line 54
            iload 5 /* keyCode */
            ifeq 17
         3: .line 55
            aload 3 /* event */
            invokevirtual android.view.KeyEvent.getAction:()I
            iconst_2
            if_icmpne 17
         4: .line 56
            aload 3 /* event */
            invokevirtual android.view.KeyEvent.getRepeatCount:()I
            istore 6 /* repeat */
        start local 6 // int repeat
         5: .line 57
            iconst_0
            istore 7 /* handled */
        start local 7 // boolean handled
         6: .line 58
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         7: goto 12
         8: .line 59
      StackMap locals: android.text.method.BaseMovementMethod android.widget.TextView android.text.Spannable android.view.KeyEvent int int int int int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* widget */
            aload 2 /* text */
            iload 5 /* keyCode */
            iload 4 /* movementMetaState */
            aload 3 /* event */
            invokevirtual android.text.method.BaseMovementMethod.handleMovementKey:(Landroid/widget/TextView;Landroid/text/Spannable;IILandroid/view/KeyEvent;)Z
            ifne 10
         9: .line 60
            goto 13
        10: .line 62
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 7 /* handled */
        11: .line 58
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 8 /* i */
            iload 6 /* repeat */
            if_icmplt 8
        end local 8 // int i
        13: .line 64
      StackMap locals:
      StackMap stack:
            iload 7 /* handled */
            ifeq 16
        14: .line 65
            aload 2 /* text */
            invokestatic android.text.method.MetaKeyKeyListener.adjustMetaAfterKeypress:(Landroid/text/Spannable;)V
        15: .line 66
            aload 2 /* text */
            invokestatic android.text.method.MetaKeyKeyListener.resetLockedMeta:(Landroid/text/Spannable;)V
        16: .line 68
      StackMap locals:
      StackMap stack:
            iload 7 /* handled */
            ireturn
        end local 7 // boolean handled
        end local 6 // int repeat
        17: .line 70
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 5 // int keyCode
        end local 4 // int movementMetaState
        end local 3 // android.view.KeyEvent event
        end local 2 // android.text.Spannable text
        end local 1 // android.widget.TextView widget
        end local 0 // android.text.method.BaseMovementMethod this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   18     0               this  Landroid/text/method/BaseMovementMethod;
            0   18     1             widget  Landroid/widget/TextView;
            0   18     2               text  Landroid/text/Spannable;
            0   18     3              event  Landroid/view/KeyEvent;
            1   18     4  movementMetaState  I
            2   18     5            keyCode  I
            5   17     6             repeat  I
            6   17     7            handled  Z
            7   13     8                  i  I
    MethodParameters:
        Name  Flags
      widget  
      text    
      event   

  public boolean onKeyUp(android.widget.TextView, android.text.Spannable, int, android.view.KeyEvent);
    descriptor: (Landroid/widget/TextView;Landroid/text/Spannable;ILandroid/view/KeyEvent;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=5, args_size=5
        start local 0 // android.text.method.BaseMovementMethod this
        start local 1 // android.widget.TextView widget
        start local 2 // android.text.Spannable text
        start local 3 // int keyCode
        start local 4 // android.view.KeyEvent event
         0: .line 75
            iconst_0
            ireturn
        end local 4 // android.view.KeyEvent event
        end local 3 // int keyCode
        end local 2 // android.text.Spannable text
        end local 1 // android.widget.TextView widget
        end local 0 // android.text.method.BaseMovementMethod this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Landroid/text/method/BaseMovementMethod;
            0    1     1   widget  Landroid/widget/TextView;
            0    1     2     text  Landroid/text/Spannable;
            0    1     3  keyCode  I
            0    1     4    event  Landroid/view/KeyEvent;
    MethodParameters:
         Name  Flags
      widget   
      text     
      keyCode  
      event    

  public void onTakeFocus(android.widget.TextView, android.text.Spannable, int);
    descriptor: (Landroid/widget/TextView;Landroid/text/Spannable;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=4, args_size=4
        start local 0 // android.text.method.BaseMovementMethod this
        start local 1 // android.widget.TextView widget
        start local 2 // android.text.Spannable text
        start local 3 // int direction
         0: .line 80
            return
        end local 3 // int direction
        end local 2 // android.text.Spannable text
        end local 1 // android.widget.TextView widget
        end local 0 // android.text.method.BaseMovementMethod this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Landroid/text/method/BaseMovementMethod;
            0    1     1     widget  Landroid/widget/TextView;
            0    1     2       text  Landroid/text/Spannable;
            0    1     3  direction  I
    MethodParameters:
           Name  Flags
      widget     
      text       
      direction  

  public boolean onTouchEvent(android.widget.TextView, android.text.Spannable, android.view.MotionEvent);
    descriptor: (Landroid/widget/TextView;Landroid/text/Spannable;Landroid/view/MotionEvent;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=4, args_size=4
        start local 0 // android.text.method.BaseMovementMethod this
        start local 1 // android.widget.TextView widget
        start local 2 // android.text.Spannable text
        start local 3 // android.view.MotionEvent event
         0: .line 84
            iconst_0
            ireturn
        end local 3 // android.view.MotionEvent event
        end local 2 // android.text.Spannable text
        end local 1 // android.widget.TextView widget
        end local 0 // android.text.method.BaseMovementMethod this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Landroid/text/method/BaseMovementMethod;
            0    1     1  widget  Landroid/widget/TextView;
            0    1     2    text  Landroid/text/Spannable;
            0    1     3   event  Landroid/view/MotionEvent;
    MethodParameters:
        Name  Flags
      widget  
      text    
      event   

  public boolean onTrackballEvent(android.widget.TextView, android.text.Spannable, android.view.MotionEvent);
    descriptor: (Landroid/widget/TextView;Landroid/text/Spannable;Landroid/view/MotionEvent;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=4, args_size=4
        start local 0 // android.text.method.BaseMovementMethod this
        start local 1 // android.widget.TextView widget
        start local 2 // android.text.Spannable text
        start local 3 // android.view.MotionEvent event
         0: .line 89
            iconst_0
            ireturn
        end local 3 // android.view.MotionEvent event
        end local 2 // android.text.Spannable text
        end local 1 // android.widget.TextView widget
        end local 0 // android.text.method.BaseMovementMethod this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Landroid/text/method/BaseMovementMethod;
            0    1     1  widget  Landroid/widget/TextView;
            0    1     2    text  Landroid/text/Spannable;
            0    1     3   event  Landroid/view/MotionEvent;
    MethodParameters:
        Name  Flags
      widget  
      text    
      event   

  public boolean onGenericMotionEvent(android.widget.TextView, android.text.Spannable, android.view.MotionEvent);
    descriptor: (Landroid/widget/TextView;Landroid/text/Spannable;Landroid/view/MotionEvent;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=4
        start local 0 // android.text.method.BaseMovementMethod this
        start local 1 // android.widget.TextView widget
        start local 2 // android.text.Spannable text
        start local 3 // android.view.MotionEvent event
         0: .line 94
            aload 3 /* event */
            invokevirtual android.view.MotionEvent.getSource:()I
            iconst_2
            iand
            ifeq 20
         1: .line 95
            aload 3 /* event */
            invokevirtual android.view.MotionEvent.getAction:()I
            tableswitch { // 8 - 8
                    8: 2
              default: 20
          }
         2: .line 99
      StackMap locals:
      StackMap stack:
            aload 3 /* event */
            invokevirtual android.view.MotionEvent.getMetaState:()I
            iconst_1
            iand
            ifeq 6
         3: .line 100
            fconst_0
            fstore 4 /* vscroll */
        start local 4 // float vscroll
         4: .line 101
            aload 3 /* event */
            bipush 9
            invokevirtual android.view.MotionEvent.getAxisValue:(I)F
            fstore 5 /* hscroll */
        start local 5 // float hscroll
         5: .line 102
            goto 8
        end local 5 // float hscroll
        end local 4 // float vscroll
         6: .line 103
      StackMap locals:
      StackMap stack:
            aload 3 /* event */
            bipush 9
            invokevirtual android.view.MotionEvent.getAxisValue:(I)F
            fneg
            fstore 4 /* vscroll */
        start local 4 // float vscroll
         7: .line 104
            aload 3 /* event */
            bipush 10
            invokevirtual android.view.MotionEvent.getAxisValue:(I)F
            fstore 5 /* hscroll */
        start local 5 // float hscroll
         8: .line 107
      StackMap locals: float float
      StackMap stack:
            iconst_0
            istore 6 /* handled */
        start local 6 // boolean handled
         9: .line 108
            fload 5 /* hscroll */
            fconst_0
            fcmpg
            ifge 12
        10: .line 109
            iload 6 /* handled */
            aload 0 /* this */
            aload 1 /* widget */
            aload 2 /* text */
            fload 5 /* hscroll */
            fneg
            f2d
            invokestatic java.lang.Math.ceil:(D)D
            d2i
            invokevirtual android.text.method.BaseMovementMethod.scrollLeft:(Landroid/widget/TextView;Landroid/text/Spannable;I)Z
            ior
            istore 6 /* handled */
        11: .line 110
            goto 14
      StackMap locals: int
      StackMap stack:
        12: fload 5 /* hscroll */
            fconst_0
            fcmpl
            ifle 14
        13: .line 111
            iload 6 /* handled */
            aload 0 /* this */
            aload 1 /* widget */
            aload 2 /* text */
            fload 5 /* hscroll */
            f2d
            invokestatic java.lang.Math.ceil:(D)D
            d2i
            invokevirtual android.text.method.BaseMovementMethod.scrollRight:(Landroid/widget/TextView;Landroid/text/Spannable;I)Z
            ior
            istore 6 /* handled */
        14: .line 113
      StackMap locals:
      StackMap stack:
            fload 4 /* vscroll */
            fconst_0
            fcmpg
            ifge 17
        15: .line 114
            iload 6 /* handled */
            aload 0 /* this */
            aload 1 /* widget */
            aload 2 /* text */
            fload 4 /* vscroll */
            fneg
            f2d
            invokestatic java.lang.Math.ceil:(D)D
            d2i
            invokevirtual android.text.method.BaseMovementMethod.scrollUp:(Landroid/widget/TextView;Landroid/text/Spannable;I)Z
            ior
            istore 6 /* handled */
        16: .line 115
            goto 19
      StackMap locals:
      StackMap stack:
        17: fload 4 /* vscroll */
            fconst_0
            fcmpl
            ifle 19
        18: .line 116
            iload 6 /* handled */
            aload 0 /* this */
            aload 1 /* widget */
            aload 2 /* text */
            fload 4 /* vscroll */
            f2d
            invokestatic java.lang.Math.ceil:(D)D
            d2i
            invokevirtual android.text.method.BaseMovementMethod.scrollDown:(Landroid/widget/TextView;Landroid/text/Spannable;I)Z
            ior
            istore 6 /* handled */
        19: .line 118
      StackMap locals:
      StackMap stack:
            iload 6 /* handled */
            ireturn
        end local 6 // boolean handled
        end local 5 // float hscroll
        end local 4 // float vscroll
        20: .line 122
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // android.view.MotionEvent event
        end local 2 // android.text.Spannable text
        end local 1 // android.widget.TextView widget
        end local 0 // android.text.method.BaseMovementMethod this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   21     0     this  Landroid/text/method/BaseMovementMethod;
            0   21     1   widget  Landroid/widget/TextView;
            0   21     2     text  Landroid/text/Spannable;
            0   21     3    event  Landroid/view/MotionEvent;
            4    6     4  vscroll  F
            7   20     4  vscroll  F
            5    6     5  hscroll  F
            8   20     5  hscroll  F
            9   20     6  handled  Z
    MethodParameters:
        Name  Flags
      widget  
      text    
      event   

  protected int getMovementMetaState(android.text.Spannable, android.view.KeyEvent);
    descriptor: (Landroid/text/Spannable;Landroid/view/KeyEvent;)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // android.text.method.BaseMovementMethod this
        start local 1 // android.text.Spannable buffer
        start local 2 // android.view.KeyEvent event
         0: .line 138
            aload 1 /* buffer */
            aload 2 /* event */
            invokestatic android.text.method.MetaKeyKeyListener.getMetaState:(Ljava/lang/CharSequence;Landroid/view/KeyEvent;)I
         1: .line 139
            sipush -1537
         2: .line 138
            iand
            istore 3 /* metaState */
        start local 3 // int metaState
         3: .line 140
            iload 3 /* metaState */
            invokestatic android.view.KeyEvent.normalizeMetaState:(I)I
            sipush -194
            iand
            ireturn
        end local 3 // int metaState
        end local 2 // android.view.KeyEvent event
        end local 1 // android.text.Spannable buffer
        end local 0 // android.text.method.BaseMovementMethod this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Landroid/text/method/BaseMovementMethod;
            0    4     1     buffer  Landroid/text/Spannable;
            0    4     2      event  Landroid/view/KeyEvent;
            3    4     3  metaState  I
    MethodParameters:
        Name  Flags
      buffer  
      event   

  protected boolean handleMovementKey(android.widget.TextView, android.text.Spannable, int, int, android.view.KeyEvent);
    descriptor: (Landroid/widget/TextView;Landroid/text/Spannable;IILandroid/view/KeyEvent;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=6, args_size=6
        start local 0 // android.text.method.BaseMovementMethod this
        start local 1 // android.widget.TextView widget
        start local 2 // android.text.Spannable buffer
        start local 3 // int keyCode
        start local 4 // int movementMetaState
        start local 5 // android.view.KeyEvent event
         0: .line 162
            iload 3 /* keyCode */
            lookupswitch { // 8
                   19: 25
                   20: 32
                   21: 1
                   22: 13
                   92: 39
                   93: 46
                  122: 53
                  123: 60
              default: 67
          }
         1: .line 164
      StackMap locals:
      StackMap stack:
            iload 4 /* movementMetaState */
            invokestatic android.view.KeyEvent.metaStateHasNoModifiers:(I)Z
            ifeq 3
         2: .line 165
            aload 0 /* this */
            aload 1 /* widget */
            aload 2 /* buffer */
            invokevirtual android.text.method.BaseMovementMethod.left:(Landroid/widget/TextView;Landroid/text/Spannable;)Z
            ireturn
         3: .line 166
      StackMap locals:
      StackMap stack:
            iload 4 /* movementMetaState */
         4: .line 167
            sipush 4096
         5: .line 166
            invokestatic android.view.KeyEvent.metaStateHasModifiers:(II)Z
         6: .line 167
            ifeq 8
         7: .line 168
            aload 0 /* this */
            aload 1 /* widget */
            aload 2 /* buffer */
            invokevirtual android.text.method.BaseMovementMethod.leftWord:(Landroid/widget/TextView;Landroid/text/Spannable;)Z
            ireturn
         8: .line 169
      StackMap locals:
      StackMap stack:
            iload 4 /* movementMetaState */
         9: .line 170
            iconst_2
        10: .line 169
            invokestatic android.view.KeyEvent.metaStateHasModifiers:(II)Z
        11: .line 170
            ifeq 67
        12: .line 171
            aload 0 /* this */
            aload 1 /* widget */
            aload 2 /* buffer */
            invokevirtual android.text.method.BaseMovementMethod.lineStart:(Landroid/widget/TextView;Landroid/text/Spannable;)Z
            ireturn
        13: .line 176
      StackMap locals:
      StackMap stack:
            iload 4 /* movementMetaState */
            invokestatic android.view.KeyEvent.metaStateHasNoModifiers:(I)Z
            ifeq 15
        14: .line 177
            aload 0 /* this */
            aload 1 /* widget */
            aload 2 /* buffer */
            invokevirtual android.text.method.BaseMovementMethod.right:(Landroid/widget/TextView;Landroid/text/Spannable;)Z
            ireturn
        15: .line 178
      StackMap locals:
      StackMap stack:
            iload 4 /* movementMetaState */
        16: .line 179
            sipush 4096
        17: .line 178
            invokestatic android.view.KeyEvent.metaStateHasModifiers:(II)Z
        18: .line 179
            ifeq 20
        19: .line 180
            aload 0 /* this */
            aload 1 /* widget */
            aload 2 /* buffer */
            invokevirtual android.text.method.BaseMovementMethod.rightWord:(Landroid/widget/TextView;Landroid/text/Spannable;)Z
            ireturn
        20: .line 181
      StackMap locals:
      StackMap stack:
            iload 4 /* movementMetaState */
        21: .line 182
            iconst_2
        22: .line 181
            invokestatic android.view.KeyEvent.metaStateHasModifiers:(II)Z
        23: .line 182
            ifeq 67
        24: .line 183
            aload 0 /* this */
            aload 1 /* widget */
            aload 2 /* buffer */
            invokevirtual android.text.method.BaseMovementMethod.lineEnd:(Landroid/widget/TextView;Landroid/text/Spannable;)Z
            ireturn
        25: .line 188
      StackMap locals:
      StackMap stack:
            iload 4 /* movementMetaState */
            invokestatic android.view.KeyEvent.metaStateHasNoModifiers:(I)Z
            ifeq 27
        26: .line 189
            aload 0 /* this */
            aload 1 /* widget */
            aload 2 /* buffer */
            invokevirtual android.text.method.BaseMovementMethod.up:(Landroid/widget/TextView;Landroid/text/Spannable;)Z
            ireturn
        27: .line 190
      StackMap locals:
      StackMap stack:
            iload 4 /* movementMetaState */
        28: .line 191
            iconst_2
        29: .line 190
            invokestatic android.view.KeyEvent.metaStateHasModifiers:(II)Z
        30: .line 191
            ifeq 67
        31: .line 192
            aload 0 /* this */
            aload 1 /* widget */
            aload 2 /* buffer */
            invokevirtual android.text.method.BaseMovementMethod.top:(Landroid/widget/TextView;Landroid/text/Spannable;)Z
            ireturn
        32: .line 197
      StackMap locals:
      StackMap stack:
            iload 4 /* movementMetaState */
            invokestatic android.view.KeyEvent.metaStateHasNoModifiers:(I)Z
            ifeq 34
        33: .line 198
            aload 0 /* this */
            aload 1 /* widget */
            aload 2 /* buffer */
            invokevirtual android.text.method.BaseMovementMethod.down:(Landroid/widget/TextView;Landroid/text/Spannable;)Z
            ireturn
        34: .line 199
      StackMap locals:
      StackMap stack:
            iload 4 /* movementMetaState */
        35: .line 200
            iconst_2
        36: .line 199
            invokestatic android.view.KeyEvent.metaStateHasModifiers:(II)Z
        37: .line 200
            ifeq 67
        38: .line 201
            aload 0 /* this */
            aload 1 /* widget */
            aload 2 /* buffer */
            invokevirtual android.text.method.BaseMovementMethod.bottom:(Landroid/widget/TextView;Landroid/text/Spannable;)Z
            ireturn
        39: .line 206
      StackMap locals:
      StackMap stack:
            iload 4 /* movementMetaState */
            invokestatic android.view.KeyEvent.metaStateHasNoModifiers:(I)Z
            ifeq 41
        40: .line 207
            aload 0 /* this */
            aload 1 /* widget */
            aload 2 /* buffer */
            invokevirtual android.text.method.BaseMovementMethod.pageUp:(Landroid/widget/TextView;Landroid/text/Spannable;)Z
            ireturn
        41: .line 208
      StackMap locals:
      StackMap stack:
            iload 4 /* movementMetaState */
        42: .line 209
            iconst_2
        43: .line 208
            invokestatic android.view.KeyEvent.metaStateHasModifiers:(II)Z
        44: .line 209
            ifeq 67
        45: .line 210
            aload 0 /* this */
            aload 1 /* widget */
            aload 2 /* buffer */
            invokevirtual android.text.method.BaseMovementMethod.top:(Landroid/widget/TextView;Landroid/text/Spannable;)Z
            ireturn
        46: .line 215
      StackMap locals:
      StackMap stack:
            iload 4 /* movementMetaState */
            invokestatic android.view.KeyEvent.metaStateHasNoModifiers:(I)Z
            ifeq 48
        47: .line 216
            aload 0 /* this */
            aload 1 /* widget */
            aload 2 /* buffer */
            invokevirtual android.text.method.BaseMovementMethod.pageDown:(Landroid/widget/TextView;Landroid/text/Spannable;)Z
            ireturn
        48: .line 217
      StackMap locals:
      StackMap stack:
            iload 4 /* movementMetaState */
        49: .line 218
            iconst_2
        50: .line 217
            invokestatic android.view.KeyEvent.metaStateHasModifiers:(II)Z
        51: .line 218
            ifeq 67
        52: .line 219
            aload 0 /* this */
            aload 1 /* widget */
            aload 2 /* buffer */
            invokevirtual android.text.method.BaseMovementMethod.bottom:(Landroid/widget/TextView;Landroid/text/Spannable;)Z
            ireturn
        53: .line 224
      StackMap locals:
      StackMap stack:
            iload 4 /* movementMetaState */
            invokestatic android.view.KeyEvent.metaStateHasNoModifiers:(I)Z
            ifeq 55
        54: .line 225
            aload 0 /* this */
            aload 1 /* widget */
            aload 2 /* buffer */
            invokevirtual android.text.method.BaseMovementMethod.home:(Landroid/widget/TextView;Landroid/text/Spannable;)Z
            ireturn
        55: .line 226
      StackMap locals:
      StackMap stack:
            iload 4 /* movementMetaState */
        56: .line 227
            sipush 4096
        57: .line 226
            invokestatic android.view.KeyEvent.metaStateHasModifiers:(II)Z
        58: .line 227
            ifeq 67
        59: .line 228
            aload 0 /* this */
            aload 1 /* widget */
            aload 2 /* buffer */
            invokevirtual android.text.method.BaseMovementMethod.top:(Landroid/widget/TextView;Landroid/text/Spannable;)Z
            ireturn
        60: .line 233
      StackMap locals:
      StackMap stack:
            iload 4 /* movementMetaState */
            invokestatic android.view.KeyEvent.metaStateHasNoModifiers:(I)Z
            ifeq 62
        61: .line 234
            aload 0 /* this */
            aload 1 /* widget */
            aload 2 /* buffer */
            invokevirtual android.text.method.BaseMovementMethod.end:(Landroid/widget/TextView;Landroid/text/Spannable;)Z
            ireturn
        62: .line 235
      StackMap locals:
      StackMap stack:
            iload 4 /* movementMetaState */
        63: .line 236
            sipush 4096
        64: .line 235
            invokestatic android.view.KeyEvent.metaStateHasModifiers:(II)Z
        65: .line 236
            ifeq 67
        66: .line 237
            aload 0 /* this */
            aload 1 /* widget */
            aload 2 /* buffer */
            invokevirtual android.text.method.BaseMovementMethod.bottom:(Landroid/widget/TextView;Landroid/text/Spannable;)Z
            ireturn
        67: .line 241
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 5 // android.view.KeyEvent event
        end local 4 // int movementMetaState
        end local 3 // int keyCode
        end local 2 // android.text.Spannable buffer
        end local 1 // android.widget.TextView widget
        end local 0 // android.text.method.BaseMovementMethod this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   68     0               this  Landroid/text/method/BaseMovementMethod;
            0   68     1             widget  Landroid/widget/TextView;
            0   68     2             buffer  Landroid/text/Spannable;
            0   68     3            keyCode  I
            0   68     4  movementMetaState  I
            0   68     5              event  Landroid/view/KeyEvent;
    MethodParameters:
                   Name  Flags
      widget             
      buffer             
      keyCode            
      movementMetaState  
      event              

  protected boolean left(android.widget.TextView, android.text.Spannable);
    descriptor: (Landroid/widget/TextView;Landroid/text/Spannable;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // android.text.method.BaseMovementMethod this
        start local 1 // android.widget.TextView widget
        start local 2 // android.text.Spannable buffer
         0: .line 253
            iconst_0
            ireturn
        end local 2 // android.text.Spannable buffer
        end local 1 // android.widget.TextView widget
        end local 0 // android.text.method.BaseMovementMethod this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Landroid/text/method/BaseMovementMethod;
            0    1     1  widget  Landroid/widget/TextView;
            0    1     2  buffer  Landroid/text/Spannable;
    MethodParameters:
        Name  Flags
      widget  
      buffer  

  protected boolean right(android.widget.TextView, android.text.Spannable);
    descriptor: (Landroid/widget/TextView;Landroid/text/Spannable;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // android.text.method.BaseMovementMethod this
        start local 1 // android.widget.TextView widget
        start local 2 // android.text.Spannable buffer
         0: .line 265
            iconst_0
            ireturn
        end local 2 // android.text.Spannable buffer
        end local 1 // android.widget.TextView widget
        end local 0 // android.text.method.BaseMovementMethod this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Landroid/text/method/BaseMovementMethod;
            0    1     1  widget  Landroid/widget/TextView;
            0    1     2  buffer  Landroid/text/Spannable;
    MethodParameters:
        Name  Flags
      widget  
      buffer  

  protected boolean up(android.widget.TextView, android.text.Spannable);
    descriptor: (Landroid/widget/TextView;Landroid/text/Spannable;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // android.text.method.BaseMovementMethod this
        start local 1 // android.widget.TextView widget
        start local 2 // android.text.Spannable buffer
         0: .line 277
            iconst_0
            ireturn
        end local 2 // android.text.Spannable buffer
        end local 1 // android.widget.TextView widget
        end local 0 // android.text.method.BaseMovementMethod this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Landroid/text/method/BaseMovementMethod;
            0    1     1  widget  Landroid/widget/TextView;
            0    1     2  buffer  Landroid/text/Spannable;
    MethodParameters:
        Name  Flags
      widget  
      buffer  

  protected boolean down(android.widget.TextView, android.text.Spannable);
    descriptor: (Landroid/widget/TextView;Landroid/text/Spannable;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // android.text.method.BaseMovementMethod this
        start local 1 // android.widget.TextView widget
        start local 2 // android.text.Spannable buffer
         0: .line 289
            iconst_0
            ireturn
        end local 2 // android.text.Spannable buffer
        end local 1 // android.widget.TextView widget
        end local 0 // android.text.method.BaseMovementMethod this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Landroid/text/method/BaseMovementMethod;
            0    1     1  widget  Landroid/widget/TextView;
            0    1     2  buffer  Landroid/text/Spannable;
    MethodParameters:
        Name  Flags
      widget  
      buffer  

  protected boolean pageUp(android.widget.TextView, android.text.Spannable);
    descriptor: (Landroid/widget/TextView;Landroid/text/Spannable;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // android.text.method.BaseMovementMethod this
        start local 1 // android.widget.TextView widget
        start local 2 // android.text.Spannable buffer
         0: .line 301
            iconst_0
            ireturn
        end local 2 // android.text.Spannable buffer
        end local 1 // android.widget.TextView widget
        end local 0 // android.text.method.BaseMovementMethod this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Landroid/text/method/BaseMovementMethod;
            0    1     1  widget  Landroid/widget/TextView;
            0    1     2  buffer  Landroid/text/Spannable;
    MethodParameters:
        Name  Flags
      widget  
      buffer  

  protected boolean pageDown(android.widget.TextView, android.text.Spannable);
    descriptor: (Landroid/widget/TextView;Landroid/text/Spannable;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // android.text.method.BaseMovementMethod this
        start local 1 // android.widget.TextView widget
        start local 2 // android.text.Spannable buffer
         0: .line 313
            iconst_0
            ireturn
        end local 2 // android.text.Spannable buffer
        end local 1 // android.widget.TextView widget
        end local 0 // android.text.method.BaseMovementMethod this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Landroid/text/method/BaseMovementMethod;
            0    1     1  widget  Landroid/widget/TextView;
            0    1     2  buffer  Landroid/text/Spannable;
    MethodParameters:
        Name  Flags
      widget  
      buffer  

  protected boolean top(android.widget.TextView, android.text.Spannable);
    descriptor: (Landroid/widget/TextView;Landroid/text/Spannable;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // android.text.method.BaseMovementMethod this
        start local 1 // android.widget.TextView widget
        start local 2 // android.text.Spannable buffer
         0: .line 325
            iconst_0
            ireturn
        end local 2 // android.text.Spannable buffer
        end local 1 // android.widget.TextView widget
        end local 0 // android.text.method.BaseMovementMethod this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Landroid/text/method/BaseMovementMethod;
            0    1     1  widget  Landroid/widget/TextView;
            0    1     2  buffer  Landroid/text/Spannable;
    MethodParameters:
        Name  Flags
      widget  
      buffer  

  protected boolean bottom(android.widget.TextView, android.text.Spannable);
    descriptor: (Landroid/widget/TextView;Landroid/text/Spannable;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // android.text.method.BaseMovementMethod this
        start local 1 // android.widget.TextView widget
        start local 2 // android.text.Spannable buffer
         0: .line 337
            iconst_0
            ireturn
        end local 2 // android.text.Spannable buffer
        end local 1 // android.widget.TextView widget
        end local 0 // android.text.method.BaseMovementMethod this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Landroid/text/method/BaseMovementMethod;
            0    1     1  widget  Landroid/widget/TextView;
            0    1     2  buffer  Landroid/text/Spannable;
    MethodParameters:
        Name  Flags
      widget  
      buffer  

  protected boolean lineStart(android.widget.TextView, android.text.Spannable);
    descriptor: (Landroid/widget/TextView;Landroid/text/Spannable;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // android.text.method.BaseMovementMethod this
        start local 1 // android.widget.TextView widget
        start local 2 // android.text.Spannable buffer
         0: .line 349
            iconst_0
            ireturn
        end local 2 // android.text.Spannable buffer
        end local 1 // android.widget.TextView widget
        end local 0 // android.text.method.BaseMovementMethod this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Landroid/text/method/BaseMovementMethod;
            0    1     1  widget  Landroid/widget/TextView;
            0    1     2  buffer  Landroid/text/Spannable;
    MethodParameters:
        Name  Flags
      widget  
      buffer  

  protected boolean lineEnd(android.widget.TextView, android.text.Spannable);
    descriptor: (Landroid/widget/TextView;Landroid/text/Spannable;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // android.text.method.BaseMovementMethod this
        start local 1 // android.widget.TextView widget
        start local 2 // android.text.Spannable buffer
         0: .line 361
            iconst_0
            ireturn
        end local 2 // android.text.Spannable buffer
        end local 1 // android.widget.TextView widget
        end local 0 // android.text.method.BaseMovementMethod this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Landroid/text/method/BaseMovementMethod;
            0    1     1  widget  Landroid/widget/TextView;
            0    1     2  buffer  Landroid/text/Spannable;
    MethodParameters:
        Name  Flags
      widget  
      buffer  

  protected boolean leftWord(android.widget.TextView, android.text.Spannable);
    descriptor: (Landroid/widget/TextView;Landroid/text/Spannable;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // android.text.method.BaseMovementMethod this
        start local 1 // android.widget.TextView widget
        start local 2 // android.text.Spannable buffer
         0: .line 366
            iconst_0
            ireturn
        end local 2 // android.text.Spannable buffer
        end local 1 // android.widget.TextView widget
        end local 0 // android.text.method.BaseMovementMethod this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Landroid/text/method/BaseMovementMethod;
            0    1     1  widget  Landroid/widget/TextView;
            0    1     2  buffer  Landroid/text/Spannable;
    MethodParameters:
        Name  Flags
      widget  
      buffer  

  protected boolean rightWord(android.widget.TextView, android.text.Spannable);
    descriptor: (Landroid/widget/TextView;Landroid/text/Spannable;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // android.text.method.BaseMovementMethod this
        start local 1 // android.widget.TextView widget
        start local 2 // android.text.Spannable buffer
         0: .line 371
            iconst_0
            ireturn
        end local 2 // android.text.Spannable buffer
        end local 1 // android.widget.TextView widget
        end local 0 // android.text.method.BaseMovementMethod this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Landroid/text/method/BaseMovementMethod;
            0    1     1  widget  Landroid/widget/TextView;
            0    1     2  buffer  Landroid/text/Spannable;
    MethodParameters:
        Name  Flags
      widget  
      buffer  

  protected boolean home(android.widget.TextView, android.text.Spannable);
    descriptor: (Landroid/widget/TextView;Landroid/text/Spannable;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // android.text.method.BaseMovementMethod this
        start local 1 // android.widget.TextView widget
        start local 2 // android.text.Spannable buffer
         0: .line 385
            iconst_0
            ireturn
        end local 2 // android.text.Spannable buffer
        end local 1 // android.widget.TextView widget
        end local 0 // android.text.method.BaseMovementMethod this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Landroid/text/method/BaseMovementMethod;
            0    1     1  widget  Landroid/widget/TextView;
            0    1     2  buffer  Landroid/text/Spannable;
    MethodParameters:
        Name  Flags
      widget  
      buffer  

  protected boolean end(android.widget.TextView, android.text.Spannable);
    descriptor: (Landroid/widget/TextView;Landroid/text/Spannable;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // android.text.method.BaseMovementMethod this
        start local 1 // android.widget.TextView widget
        start local 2 // android.text.Spannable buffer
         0: .line 399
            iconst_0
            ireturn
        end local 2 // android.text.Spannable buffer
        end local 1 // android.widget.TextView widget
        end local 0 // android.text.method.BaseMovementMethod this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Landroid/text/method/BaseMovementMethod;
            0    1     1  widget  Landroid/widget/TextView;
            0    1     2  buffer  Landroid/text/Spannable;
    MethodParameters:
        Name  Flags
      widget  
      buffer  

  private int getTopLine(android.widget.TextView);
    descriptor: (Landroid/widget/TextView;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.text.method.BaseMovementMethod this
        start local 1 // android.widget.TextView widget
         0: .line 403
            aload 1 /* widget */
            invokevirtual android.widget.TextView.getLayout:()Landroid/text/Layout;
            aload 1 /* widget */
            invokevirtual android.widget.TextView.getScrollY:()I
            invokevirtual android.text.Layout.getLineForVertical:(I)I
            ireturn
        end local 1 // android.widget.TextView widget
        end local 0 // android.text.method.BaseMovementMethod this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Landroid/text/method/BaseMovementMethod;
            0    1     1  widget  Landroid/widget/TextView;
    MethodParameters:
        Name  Flags
      widget  

  private int getBottomLine(android.widget.TextView);
    descriptor: (Landroid/widget/TextView;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.text.method.BaseMovementMethod this
        start local 1 // android.widget.TextView widget
         0: .line 407
            aload 1 /* widget */
            invokevirtual android.widget.TextView.getLayout:()Landroid/text/Layout;
            aload 1 /* widget */
            invokevirtual android.widget.TextView.getScrollY:()I
            aload 0 /* this */
            aload 1 /* widget */
            invokevirtual android.text.method.BaseMovementMethod.getInnerHeight:(Landroid/widget/TextView;)I
            iadd
            invokevirtual android.text.Layout.getLineForVertical:(I)I
            ireturn
        end local 1 // android.widget.TextView widget
        end local 0 // android.text.method.BaseMovementMethod this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Landroid/text/method/BaseMovementMethod;
            0    1     1  widget  Landroid/widget/TextView;
    MethodParameters:
        Name  Flags
      widget  

  private int getInnerWidth(android.widget.TextView);
    descriptor: (Landroid/widget/TextView;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.text.method.BaseMovementMethod this
        start local 1 // android.widget.TextView widget
         0: .line 411
            aload 1 /* widget */
            invokevirtual android.widget.TextView.getWidth:()I
            aload 1 /* widget */
            invokevirtual android.widget.TextView.getTotalPaddingLeft:()I
            isub
            aload 1 /* widget */
            invokevirtual android.widget.TextView.getTotalPaddingRight:()I
            isub
            ireturn
        end local 1 // android.widget.TextView widget
        end local 0 // android.text.method.BaseMovementMethod this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Landroid/text/method/BaseMovementMethod;
            0    1     1  widget  Landroid/widget/TextView;
    MethodParameters:
        Name  Flags
      widget  

  private int getInnerHeight(android.widget.TextView);
    descriptor: (Landroid/widget/TextView;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.text.method.BaseMovementMethod this
        start local 1 // android.widget.TextView widget
         0: .line 415
            aload 1 /* widget */
            invokevirtual android.widget.TextView.getHeight:()I
            aload 1 /* widget */
            invokevirtual android.widget.TextView.getTotalPaddingTop:()I
            isub
            aload 1 /* widget */
            invokevirtual android.widget.TextView.getTotalPaddingBottom:()I
            isub
            ireturn
        end local 1 // android.widget.TextView widget
        end local 0 // android.text.method.BaseMovementMethod this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Landroid/text/method/BaseMovementMethod;
            0    1     1  widget  Landroid/widget/TextView;
    MethodParameters:
        Name  Flags
      widget  

  private int getCharacterWidth(android.widget.TextView);
    descriptor: (Landroid/widget/TextView;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.text.method.BaseMovementMethod this
        start local 1 // android.widget.TextView widget
         0: .line 419
            aload 1 /* widget */
            invokevirtual android.widget.TextView.getPaint:()Landroid/text/TextPaint;
            invokevirtual android.text.TextPaint.getFontSpacing:()F
            f2d
            invokestatic java.lang.Math.ceil:(D)D
            d2i
            ireturn
        end local 1 // android.widget.TextView widget
        end local 0 // android.text.method.BaseMovementMethod this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Landroid/text/method/BaseMovementMethod;
            0    1     1  widget  Landroid/widget/TextView;
    MethodParameters:
        Name  Flags
      widget  

  private int getScrollBoundsLeft(android.widget.TextView);
    descriptor: (Landroid/widget/TextView;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=8, args_size=2
        start local 0 // android.text.method.BaseMovementMethod this
        start local 1 // android.widget.TextView widget
         0: .line 423
            aload 1 /* widget */
            invokevirtual android.widget.TextView.getLayout:()Landroid/text/Layout;
            astore 2 /* layout */
        start local 2 // android.text.Layout layout
         1: .line 424
            aload 0 /* this */
            aload 1 /* widget */
            invokevirtual android.text.method.BaseMovementMethod.getTopLine:(Landroid/widget/TextView;)I
            istore 3 /* topLine */
        start local 3 // int topLine
         2: .line 425
            aload 0 /* this */
            aload 1 /* widget */
            invokevirtual android.text.method.BaseMovementMethod.getBottomLine:(Landroid/widget/TextView;)I
            istore 4 /* bottomLine */
        start local 4 // int bottomLine
         3: .line 426
            iload 3 /* topLine */
            iload 4 /* bottomLine */
            if_icmple 5
         4: .line 427
            iconst_0
            ireturn
         5: .line 429
      StackMap locals: android.text.Layout int int
      StackMap stack:
            ldc 2147483647
            istore 5 /* left */
        start local 5 // int left
         6: .line 430
            iload 3 /* topLine */
            istore 6 /* line */
        start local 6 // int line
         7: goto 12
         8: .line 431
      StackMap locals: int int
      StackMap stack:
            aload 2 /* layout */
            iload 6 /* line */
            invokevirtual android.text.Layout.getLineLeft:(I)F
            f2d
            invokestatic java.lang.Math.floor:(D)D
            d2i
            istore 7 /* lineLeft */
        start local 7 // int lineLeft
         9: .line 432
            iload 7 /* lineLeft */
            iload 5 /* left */
            if_icmpge 11
        10: .line 433
            iload 7 /* lineLeft */
            istore 5 /* left */
        end local 7 // int lineLeft
        11: .line 430
      StackMap locals:
      StackMap stack:
            iinc 6 /* line */ 1
      StackMap locals:
      StackMap stack:
        12: iload 6 /* line */
            iload 4 /* bottomLine */
            if_icmple 8
        end local 6 // int line
        13: .line 436
            iload 5 /* left */
            ireturn
        end local 5 // int left
        end local 4 // int bottomLine
        end local 3 // int topLine
        end local 2 // android.text.Layout layout
        end local 1 // android.widget.TextView widget
        end local 0 // android.text.method.BaseMovementMethod this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0        this  Landroid/text/method/BaseMovementMethod;
            0   14     1      widget  Landroid/widget/TextView;
            1   14     2      layout  Landroid/text/Layout;
            2   14     3     topLine  I
            3   14     4  bottomLine  I
            6   14     5        left  I
            7   13     6        line  I
            9   11     7    lineLeft  I
    MethodParameters:
        Name  Flags
      widget  

  private int getScrollBoundsRight(android.widget.TextView);
    descriptor: (Landroid/widget/TextView;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=8, args_size=2
        start local 0 // android.text.method.BaseMovementMethod this
        start local 1 // android.widget.TextView widget
         0: .line 440
            aload 1 /* widget */
            invokevirtual android.widget.TextView.getLayout:()Landroid/text/Layout;
            astore 2 /* layout */
        start local 2 // android.text.Layout layout
         1: .line 441
            aload 0 /* this */
            aload 1 /* widget */
            invokevirtual android.text.method.BaseMovementMethod.getTopLine:(Landroid/widget/TextView;)I
            istore 3 /* topLine */
        start local 3 // int topLine
         2: .line 442
            aload 0 /* this */
            aload 1 /* widget */
            invokevirtual android.text.method.BaseMovementMethod.getBottomLine:(Landroid/widget/TextView;)I
            istore 4 /* bottomLine */
        start local 4 // int bottomLine
         3: .line 443
            iload 3 /* topLine */
            iload 4 /* bottomLine */
            if_icmple 5
         4: .line 444
            iconst_0
            ireturn
         5: .line 446
      StackMap locals: android.text.Layout int int
      StackMap stack:
            ldc -2147483648
            istore 5 /* right */
        start local 5 // int right
         6: .line 447
            iload 3 /* topLine */
            istore 6 /* line */
        start local 6 // int line
         7: goto 12
         8: .line 448
      StackMap locals: int int
      StackMap stack:
            aload 2 /* layout */
            iload 6 /* line */
            invokevirtual android.text.Layout.getLineRight:(I)F
            f2d
            invokestatic java.lang.Math.ceil:(D)D
            d2i
            istore 7 /* lineRight */
        start local 7 // int lineRight
         9: .line 449
            iload 7 /* lineRight */
            iload 5 /* right */
            if_icmple 11
        10: .line 450
            iload 7 /* lineRight */
            istore 5 /* right */
        end local 7 // int lineRight
        11: .line 447
      StackMap locals:
      StackMap stack:
            iinc 6 /* line */ 1
      StackMap locals:
      StackMap stack:
        12: iload 6 /* line */
            iload 4 /* bottomLine */
            if_icmple 8
        end local 6 // int line
        13: .line 453
            iload 5 /* right */
            ireturn
        end local 5 // int right
        end local 4 // int bottomLine
        end local 3 // int topLine
        end local 2 // android.text.Layout layout
        end local 1 // android.widget.TextView widget
        end local 0 // android.text.method.BaseMovementMethod this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0        this  Landroid/text/method/BaseMovementMethod;
            0   14     1      widget  Landroid/widget/TextView;
            1   14     2      layout  Landroid/text/Layout;
            2   14     3     topLine  I
            3   14     4  bottomLine  I
            6   14     5       right  I
            7   13     6        line  I
            9   11     7   lineRight  I
    MethodParameters:
        Name  Flags
      widget  

  protected boolean scrollLeft(android.widget.TextView, android.text.Spannable, int);
    descriptor: (Landroid/widget/TextView;Landroid/text/Spannable;I)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // android.text.method.BaseMovementMethod this
        start local 1 // android.widget.TextView widget
        start local 2 // android.text.Spannable buffer
        start local 3 // int amount
         0: .line 467
            aload 0 /* this */
            aload 1 /* widget */
            invokevirtual android.text.method.BaseMovementMethod.getScrollBoundsLeft:(Landroid/widget/TextView;)I
            istore 4 /* minScrollX */
        start local 4 // int minScrollX
         1: .line 468
            aload 1 /* widget */
            invokevirtual android.widget.TextView.getScrollX:()I
            istore 5 /* scrollX */
        start local 5 // int scrollX
         2: .line 469
            iload 5 /* scrollX */
            iload 4 /* minScrollX */
            if_icmple 6
         3: .line 470
            iload 5 /* scrollX */
            aload 0 /* this */
            aload 1 /* widget */
            invokevirtual android.text.method.BaseMovementMethod.getCharacterWidth:(Landroid/widget/TextView;)I
            iload 3 /* amount */
            imul
            isub
            iload 4 /* minScrollX */
            invokestatic java.lang.Math.max:(II)I
            istore 5 /* scrollX */
         4: .line 471
            aload 1 /* widget */
            iload 5 /* scrollX */
            aload 1 /* widget */
            invokevirtual android.widget.TextView.getScrollY:()I
            invokevirtual android.widget.TextView.scrollTo:(II)V
         5: .line 472
            iconst_1
            ireturn
         6: .line 474
      StackMap locals: int int
      StackMap stack:
            iconst_0
            ireturn
        end local 5 // int scrollX
        end local 4 // int minScrollX
        end local 3 // int amount
        end local 2 // android.text.Spannable buffer
        end local 1 // android.widget.TextView widget
        end local 0 // android.text.method.BaseMovementMethod this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Landroid/text/method/BaseMovementMethod;
            0    7     1      widget  Landroid/widget/TextView;
            0    7     2      buffer  Landroid/text/Spannable;
            0    7     3      amount  I
            1    7     4  minScrollX  I
            2    7     5     scrollX  I
    MethodParameters:
        Name  Flags
      widget  
      buffer  
      amount  

  protected boolean scrollRight(android.widget.TextView, android.text.Spannable, int);
    descriptor: (Landroid/widget/TextView;Landroid/text/Spannable;I)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // android.text.method.BaseMovementMethod this
        start local 1 // android.widget.TextView widget
        start local 2 // android.text.Spannable buffer
        start local 3 // int amount
         0: .line 488
            aload 0 /* this */
            aload 1 /* widget */
            invokevirtual android.text.method.BaseMovementMethod.getScrollBoundsRight:(Landroid/widget/TextView;)I
            aload 0 /* this */
            aload 1 /* widget */
            invokevirtual android.text.method.BaseMovementMethod.getInnerWidth:(Landroid/widget/TextView;)I
            isub
            istore 4 /* maxScrollX */
        start local 4 // int maxScrollX
         1: .line 489
            aload 1 /* widget */
            invokevirtual android.widget.TextView.getScrollX:()I
            istore 5 /* scrollX */
        start local 5 // int scrollX
         2: .line 490
            iload 5 /* scrollX */
            iload 4 /* maxScrollX */
            if_icmpge 6
         3: .line 491
            iload 5 /* scrollX */
            aload 0 /* this */
            aload 1 /* widget */
            invokevirtual android.text.method.BaseMovementMethod.getCharacterWidth:(Landroid/widget/TextView;)I
            iload 3 /* amount */
            imul
            iadd
            iload 4 /* maxScrollX */
            invokestatic java.lang.Math.min:(II)I
            istore 5 /* scrollX */
         4: .line 492
            aload 1 /* widget */
            iload 5 /* scrollX */
            aload 1 /* widget */
            invokevirtual android.widget.TextView.getScrollY:()I
            invokevirtual android.widget.TextView.scrollTo:(II)V
         5: .line 493
            iconst_1
            ireturn
         6: .line 495
      StackMap locals: int int
      StackMap stack:
            iconst_0
            ireturn
        end local 5 // int scrollX
        end local 4 // int maxScrollX
        end local 3 // int amount
        end local 2 // android.text.Spannable buffer
        end local 1 // android.widget.TextView widget
        end local 0 // android.text.method.BaseMovementMethod this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Landroid/text/method/BaseMovementMethod;
            0    7     1      widget  Landroid/widget/TextView;
            0    7     2      buffer  Landroid/text/Spannable;
            0    7     3      amount  I
            1    7     4  maxScrollX  I
            2    7     5     scrollX  I
    MethodParameters:
        Name  Flags
      widget  
      buffer  
      amount  

  protected boolean scrollUp(android.widget.TextView, android.text.Spannable, int);
    descriptor: (Landroid/widget/TextView;Landroid/text/Spannable;I)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // android.text.method.BaseMovementMethod this
        start local 1 // android.widget.TextView widget
        start local 2 // android.text.Spannable buffer
        start local 3 // int amount
         0: .line 509
            aload 1 /* widget */
            invokevirtual android.widget.TextView.getLayout:()Landroid/text/Layout;
            astore 4 /* layout */
        start local 4 // android.text.Layout layout
         1: .line 510
            aload 1 /* widget */
            invokevirtual android.widget.TextView.getScrollY:()I
            istore 5 /* top */
        start local 5 // int top
         2: .line 511
            aload 4 /* layout */
            iload 5 /* top */
            invokevirtual android.text.Layout.getLineForVertical:(I)I
            istore 6 /* topLine */
        start local 6 // int topLine
         3: .line 512
            aload 4 /* layout */
            iload 6 /* topLine */
            invokevirtual android.text.Layout.getLineTop:(I)I
            iload 5 /* top */
            if_icmpne 5
         4: .line 515
            iinc 6 /* topLine */ -1
         5: .line 517
      StackMap locals: android.text.Layout int int
      StackMap stack:
            iload 6 /* topLine */
            iflt 9
         6: .line 518
            iload 6 /* topLine */
            iload 3 /* amount */
            isub
            iconst_1
            iadd
            iconst_0
            invokestatic java.lang.Math.max:(II)I
            istore 6 /* topLine */
         7: .line 519
            aload 1 /* widget */
            aload 4 /* layout */
            aload 1 /* widget */
            invokevirtual android.widget.TextView.getScrollX:()I
            aload 4 /* layout */
            iload 6 /* topLine */
            invokevirtual android.text.Layout.getLineTop:(I)I
            invokestatic android.text.method.Touch.scrollTo:(Landroid/widget/TextView;Landroid/text/Layout;II)V
         8: .line 520
            iconst_1
            ireturn
         9: .line 522
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 6 // int topLine
        end local 5 // int top
        end local 4 // android.text.Layout layout
        end local 3 // int amount
        end local 2 // android.text.Spannable buffer
        end local 1 // android.widget.TextView widget
        end local 0 // android.text.method.BaseMovementMethod this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Landroid/text/method/BaseMovementMethod;
            0   10     1   widget  Landroid/widget/TextView;
            0   10     2   buffer  Landroid/text/Spannable;
            0   10     3   amount  I
            1   10     4   layout  Landroid/text/Layout;
            2   10     5      top  I
            3   10     6  topLine  I
    MethodParameters:
        Name  Flags
      widget  
      buffer  
      amount  

  protected boolean scrollDown(android.widget.TextView, android.text.Spannable, int);
    descriptor: (Landroid/widget/TextView;Landroid/text/Spannable;I)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=9, args_size=4
        start local 0 // android.text.method.BaseMovementMethod this
        start local 1 // android.widget.TextView widget
        start local 2 // android.text.Spannable buffer
        start local 3 // int amount
         0: .line 536
            aload 1 /* widget */
            invokevirtual android.widget.TextView.getLayout:()Landroid/text/Layout;
            astore 4 /* layout */
        start local 4 // android.text.Layout layout
         1: .line 537
            aload 0 /* this */
            aload 1 /* widget */
            invokevirtual android.text.method.BaseMovementMethod.getInnerHeight:(Landroid/widget/TextView;)I
            istore 5 /* innerHeight */
        start local 5 // int innerHeight
         2: .line 538
            aload 1 /* widget */
            invokevirtual android.widget.TextView.getScrollY:()I
            iload 5 /* innerHeight */
            iadd
            istore 6 /* bottom */
        start local 6 // int bottom
         3: .line 539
            aload 4 /* layout */
            iload 6 /* bottom */
            invokevirtual android.text.Layout.getLineForVertical:(I)I
            istore 7 /* bottomLine */
        start local 7 // int bottomLine
         4: .line 540
            aload 4 /* layout */
            iload 7 /* bottomLine */
            iconst_1
            iadd
            invokevirtual android.text.Layout.getLineTop:(I)I
            iload 6 /* bottom */
            iconst_1
            iadd
            if_icmpge 6
         5: .line 544
            iinc 7 /* bottomLine */ 1
         6: .line 546
      StackMap locals: android.text.method.BaseMovementMethod android.widget.TextView android.text.Spannable int android.text.Layout int int int
      StackMap stack:
            aload 4 /* layout */
            invokevirtual android.text.Layout.getLineCount:()I
            iconst_1
            isub
            istore 8 /* limit */
        start local 8 // int limit
         7: .line 547
            iload 7 /* bottomLine */
            iload 8 /* limit */
            if_icmpgt 13
         8: .line 548
            iload 7 /* bottomLine */
            iload 3 /* amount */
            iadd
            iconst_1
            isub
            iload 8 /* limit */
            invokestatic java.lang.Math.min:(II)I
            istore 7 /* bottomLine */
         9: .line 549
            aload 1 /* widget */
            aload 4 /* layout */
            aload 1 /* widget */
            invokevirtual android.widget.TextView.getScrollX:()I
        10: .line 550
            aload 4 /* layout */
            iload 7 /* bottomLine */
            iconst_1
            iadd
            invokevirtual android.text.Layout.getLineTop:(I)I
            iload 5 /* innerHeight */
            isub
        11: .line 549
            invokestatic android.text.method.Touch.scrollTo:(Landroid/widget/TextView;Landroid/text/Layout;II)V
        12: .line 551
            iconst_1
            ireturn
        13: .line 553
      StackMap locals: int
      StackMap stack:
            iconst_0
            ireturn
        end local 8 // int limit
        end local 7 // int bottomLine
        end local 6 // int bottom
        end local 5 // int innerHeight
        end local 4 // android.text.Layout layout
        end local 3 // int amount
        end local 2 // android.text.Spannable buffer
        end local 1 // android.widget.TextView widget
        end local 0 // android.text.method.BaseMovementMethod this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   14     0         this  Landroid/text/method/BaseMovementMethod;
            0   14     1       widget  Landroid/widget/TextView;
            0   14     2       buffer  Landroid/text/Spannable;
            0   14     3       amount  I
            1   14     4       layout  Landroid/text/Layout;
            2   14     5  innerHeight  I
            3   14     6       bottom  I
            4   14     7   bottomLine  I
            7   14     8        limit  I
    MethodParameters:
        Name  Flags
      widget  
      buffer  
      amount  

  protected boolean scrollPageUp(android.widget.TextView, android.text.Spannable);
    descriptor: (Landroid/widget/TextView;Landroid/text/Spannable;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // android.text.method.BaseMovementMethod this
        start local 1 // android.widget.TextView widget
        start local 2 // android.text.Spannable buffer
         0: .line 566
            aload 1 /* widget */
            invokevirtual android.widget.TextView.getLayout:()Landroid/text/Layout;
            astore 3 /* layout */
        start local 3 // android.text.Layout layout
         1: .line 567
            aload 1 /* widget */
            invokevirtual android.widget.TextView.getScrollY:()I
            aload 0 /* this */
            aload 1 /* widget */
            invokevirtual android.text.method.BaseMovementMethod.getInnerHeight:(Landroid/widget/TextView;)I
            isub
            istore 4 /* top */
        start local 4 // int top
         2: .line 568
            aload 3 /* layout */
            iload 4 /* top */
            invokevirtual android.text.Layout.getLineForVertical:(I)I
            istore 5 /* topLine */
        start local 5 // int topLine
         3: .line 569
            iload 5 /* topLine */
            iflt 6
         4: .line 570
            aload 1 /* widget */
            aload 3 /* layout */
            aload 1 /* widget */
            invokevirtual android.widget.TextView.getScrollX:()I
            aload 3 /* layout */
            iload 5 /* topLine */
            invokevirtual android.text.Layout.getLineTop:(I)I
            invokestatic android.text.method.Touch.scrollTo:(Landroid/widget/TextView;Landroid/text/Layout;II)V
         5: .line 571
            iconst_1
            ireturn
         6: .line 573
      StackMap locals: android.text.Layout int int
      StackMap stack:
            iconst_0
            ireturn
        end local 5 // int topLine
        end local 4 // int top
        end local 3 // android.text.Layout layout
        end local 2 // android.text.Spannable buffer
        end local 1 // android.widget.TextView widget
        end local 0 // android.text.method.BaseMovementMethod this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Landroid/text/method/BaseMovementMethod;
            0    7     1   widget  Landroid/widget/TextView;
            0    7     2   buffer  Landroid/text/Spannable;
            1    7     3   layout  Landroid/text/Layout;
            2    7     4      top  I
            3    7     5  topLine  I
    MethodParameters:
        Name  Flags
      widget  
      buffer  

  protected boolean scrollPageDown(android.widget.TextView, android.text.Spannable);
    descriptor: (Landroid/widget/TextView;Landroid/text/Spannable;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=7, args_size=3
        start local 0 // android.text.method.BaseMovementMethod this
        start local 1 // android.widget.TextView widget
        start local 2 // android.text.Spannable buffer
         0: .line 586
            aload 1 /* widget */
            invokevirtual android.widget.TextView.getLayout:()Landroid/text/Layout;
            astore 3 /* layout */
        start local 3 // android.text.Layout layout
         1: .line 587
            aload 0 /* this */
            aload 1 /* widget */
            invokevirtual android.text.method.BaseMovementMethod.getInnerHeight:(Landroid/widget/TextView;)I
            istore 4 /* innerHeight */
        start local 4 // int innerHeight
         2: .line 588
            aload 1 /* widget */
            invokevirtual android.widget.TextView.getScrollY:()I
            iload 4 /* innerHeight */
            iadd
            iload 4 /* innerHeight */
            iadd
            istore 5 /* bottom */
        start local 5 // int bottom
         3: .line 589
            aload 3 /* layout */
            iload 5 /* bottom */
            invokevirtual android.text.Layout.getLineForVertical:(I)I
            istore 6 /* bottomLine */
        start local 6 // int bottomLine
         4: .line 590
            iload 6 /* bottomLine */
            aload 3 /* layout */
            invokevirtual android.text.Layout.getLineCount:()I
            iconst_1
            isub
            if_icmpgt 9
         5: .line 591
            aload 1 /* widget */
            aload 3 /* layout */
            aload 1 /* widget */
            invokevirtual android.widget.TextView.getScrollX:()I
         6: .line 592
            aload 3 /* layout */
            iload 6 /* bottomLine */
            iconst_1
            iadd
            invokevirtual android.text.Layout.getLineTop:(I)I
            iload 4 /* innerHeight */
            isub
         7: .line 591
            invokestatic android.text.method.Touch.scrollTo:(Landroid/widget/TextView;Landroid/text/Layout;II)V
         8: .line 593
            iconst_1
            ireturn
         9: .line 595
      StackMap locals: android.text.method.BaseMovementMethod android.widget.TextView android.text.Spannable android.text.Layout int int int
      StackMap stack:
            iconst_0
            ireturn
        end local 6 // int bottomLine
        end local 5 // int bottom
        end local 4 // int innerHeight
        end local 3 // android.text.Layout layout
        end local 2 // android.text.Spannable buffer
        end local 1 // android.widget.TextView widget
        end local 0 // android.text.method.BaseMovementMethod this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Landroid/text/method/BaseMovementMethod;
            0   10     1       widget  Landroid/widget/TextView;
            0   10     2       buffer  Landroid/text/Spannable;
            1   10     3       layout  Landroid/text/Layout;
            2   10     4  innerHeight  I
            3   10     5       bottom  I
            4   10     6   bottomLine  I
    MethodParameters:
        Name  Flags
      widget  
      buffer  

  protected boolean scrollTop(android.widget.TextView, android.text.Spannable);
    descriptor: (Landroid/widget/TextView;Landroid/text/Spannable;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // android.text.method.BaseMovementMethod this
        start local 1 // android.widget.TextView widget
        start local 2 // android.text.Spannable buffer
         0: .line 608
            aload 1 /* widget */
            invokevirtual android.widget.TextView.getLayout:()Landroid/text/Layout;
            astore 3 /* layout */
        start local 3 // android.text.Layout layout
         1: .line 609
            aload 0 /* this */
            aload 1 /* widget */
            invokevirtual android.text.method.BaseMovementMethod.getTopLine:(Landroid/widget/TextView;)I
            iflt 4
         2: .line 610
            aload 1 /* widget */
            aload 3 /* layout */
            aload 1 /* widget */
            invokevirtual android.widget.TextView.getScrollX:()I
            aload 3 /* layout */
            iconst_0
            invokevirtual android.text.Layout.getLineTop:(I)I
            invokestatic android.text.method.Touch.scrollTo:(Landroid/widget/TextView;Landroid/text/Layout;II)V
         3: .line 611
            iconst_1
            ireturn
         4: .line 613
      StackMap locals: android.text.Layout
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // android.text.Layout layout
        end local 2 // android.text.Spannable buffer
        end local 1 // android.widget.TextView widget
        end local 0 // android.text.method.BaseMovementMethod this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Landroid/text/method/BaseMovementMethod;
            0    5     1  widget  Landroid/widget/TextView;
            0    5     2  buffer  Landroid/text/Spannable;
            1    5     3  layout  Landroid/text/Layout;
    MethodParameters:
        Name  Flags
      widget  
      buffer  

  protected boolean scrollBottom(android.widget.TextView, android.text.Spannable);
    descriptor: (Landroid/widget/TextView;Landroid/text/Spannable;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // android.text.method.BaseMovementMethod this
        start local 1 // android.widget.TextView widget
        start local 2 // android.text.Spannable buffer
         0: .line 626
            aload 1 /* widget */
            invokevirtual android.widget.TextView.getLayout:()Landroid/text/Layout;
            astore 3 /* layout */
        start local 3 // android.text.Layout layout
         1: .line 627
            aload 3 /* layout */
            invokevirtual android.text.Layout.getLineCount:()I
            istore 4 /* lineCount */
        start local 4 // int lineCount
         2: .line 628
            aload 0 /* this */
            aload 1 /* widget */
            invokevirtual android.text.method.BaseMovementMethod.getBottomLine:(Landroid/widget/TextView;)I
            iload 4 /* lineCount */
            iconst_1
            isub
            if_icmpgt 7
         3: .line 629
            aload 1 /* widget */
            aload 3 /* layout */
            aload 1 /* widget */
            invokevirtual android.widget.TextView.getScrollX:()I
         4: .line 630
            aload 3 /* layout */
            iload 4 /* lineCount */
            invokevirtual android.text.Layout.getLineTop:(I)I
            aload 0 /* this */
            aload 1 /* widget */
            invokevirtual android.text.method.BaseMovementMethod.getInnerHeight:(Landroid/widget/TextView;)I
            isub
         5: .line 629
            invokestatic android.text.method.Touch.scrollTo:(Landroid/widget/TextView;Landroid/text/Layout;II)V
         6: .line 631
            iconst_1
            ireturn
         7: .line 633
      StackMap locals: android.text.Layout int
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // int lineCount
        end local 3 // android.text.Layout layout
        end local 2 // android.text.Spannable buffer
        end local 1 // android.widget.TextView widget
        end local 0 // android.text.method.BaseMovementMethod this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Landroid/text/method/BaseMovementMethod;
            0    8     1     widget  Landroid/widget/TextView;
            0    8     2     buffer  Landroid/text/Spannable;
            1    8     3     layout  Landroid/text/Layout;
            2    8     4  lineCount  I
    MethodParameters:
        Name  Flags
      widget  
      buffer  

  protected boolean scrollLineStart(android.widget.TextView, android.text.Spannable);
    descriptor: (Landroid/widget/TextView;Landroid/text/Spannable;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // android.text.method.BaseMovementMethod this
        start local 1 // android.widget.TextView widget
        start local 2 // android.text.Spannable buffer
         0: .line 646
            aload 0 /* this */
            aload 1 /* widget */
            invokevirtual android.text.method.BaseMovementMethod.getScrollBoundsLeft:(Landroid/widget/TextView;)I
            istore 3 /* minScrollX */
        start local 3 // int minScrollX
         1: .line 647
            aload 1 /* widget */
            invokevirtual android.widget.TextView.getScrollX:()I
            istore 4 /* scrollX */
        start local 4 // int scrollX
         2: .line 648
            iload 4 /* scrollX */
            iload 3 /* minScrollX */
            if_icmple 5
         3: .line 649
            aload 1 /* widget */
            iload 3 /* minScrollX */
            aload 1 /* widget */
            invokevirtual android.widget.TextView.getScrollY:()I
            invokevirtual android.widget.TextView.scrollTo:(II)V
         4: .line 650
            iconst_1
            ireturn
         5: .line 652
      StackMap locals: int int
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // int scrollX
        end local 3 // int minScrollX
        end local 2 // android.text.Spannable buffer
        end local 1 // android.widget.TextView widget
        end local 0 // android.text.method.BaseMovementMethod this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Landroid/text/method/BaseMovementMethod;
            0    6     1      widget  Landroid/widget/TextView;
            0    6     2      buffer  Landroid/text/Spannable;
            1    6     3  minScrollX  I
            2    6     4     scrollX  I
    MethodParameters:
        Name  Flags
      widget  
      buffer  

  protected boolean scrollLineEnd(android.widget.TextView, android.text.Spannable);
    descriptor: (Landroid/widget/TextView;Landroid/text/Spannable;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // android.text.method.BaseMovementMethod this
        start local 1 // android.widget.TextView widget
        start local 2 // android.text.Spannable buffer
         0: .line 665
            aload 0 /* this */
            aload 1 /* widget */
            invokevirtual android.text.method.BaseMovementMethod.getScrollBoundsRight:(Landroid/widget/TextView;)I
            aload 0 /* this */
            aload 1 /* widget */
            invokevirtual android.text.method.BaseMovementMethod.getInnerWidth:(Landroid/widget/TextView;)I
            isub
            istore 3 /* maxScrollX */
        start local 3 // int maxScrollX
         1: .line 666
            aload 1 /* widget */
            invokevirtual android.widget.TextView.getScrollX:()I
            istore 4 /* scrollX */
        start local 4 // int scrollX
         2: .line 667
            iload 4 /* scrollX */
            iload 3 /* maxScrollX */
            if_icmpge 5
         3: .line 668
            aload 1 /* widget */
            iload 3 /* maxScrollX */
            aload 1 /* widget */
            invokevirtual android.widget.TextView.getScrollY:()I
            invokevirtual android.widget.TextView.scrollTo:(II)V
         4: .line 669
            iconst_1
            ireturn
         5: .line 671
      StackMap locals: int int
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // int scrollX
        end local 3 // int maxScrollX
        end local 2 // android.text.Spannable buffer
        end local 1 // android.widget.TextView widget
        end local 0 // android.text.method.BaseMovementMethod this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Landroid/text/method/BaseMovementMethod;
            0    6     1      widget  Landroid/widget/TextView;
            0    6     2      buffer  Landroid/text/Spannable;
            1    6     3  maxScrollX  I
            2    6     4     scrollX  I
    MethodParameters:
        Name  Flags
      widget  
      buffer  
}
SourceFile: "BaseMovementMethod.java"