Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 67b6ab72 authored by Jeff Brown's avatar Jeff Brown
Browse files

Add TextView support for Home, End, PageUp, PageDown.

Change-Id: If8aa2a63b5fc33528d54eef68e695082a129acce
parent d1e8e943
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -165317,7 +165317,7 @@
<package name="android.text.method"
>
<class name="ArrowKeyMovementMethod"
 extends="java.lang.Object"
 extends="android.text.method.BaseMovementMethod"
 abstract="false"
 static="false"
 final="false"
@@ -166987,7 +166987,7 @@
</method>
</class>
<class name="ScrollingMovementMethod"
 extends="java.lang.Object"
 extends="android.text.method.BaseMovementMethod"
 abstract="false"
 static="false"
 final="false"
+270 −227
Original line number Diff line number Diff line
@@ -185036,7 +185036,7 @@
<package name="android.text.method"
>
<class name="ArrowKeyMovementMethod"
 extends="java.lang.Object"
 extends="android.text.method.BaseMovementMethod"
 abstract="false"
 static="false"
 final="false"
@@ -185053,7 +185053,37 @@
 visibility="public"
>
</constructor>
<method name="canSelectArbitrarily"
<method name="getInstance"
 return="android.text.method.MovementMethod"
 abstract="false"
 native="false"
 synchronized="false"
 static="true"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
</method>
</class>
<class name="BaseKeyListener"
 extends="android.text.method.MetaKeyKeyListener"
 abstract="true"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
<implements name="android.text.method.KeyListener">
</implements>
<constructor name="BaseKeyListener"
 type="android.text.method.BaseKeyListener"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
</constructor>
<method name="backspace"
 return="boolean"
 abstract="false"
 native="false"
@@ -185063,17 +185093,157 @@
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="view" type="android.view.View">
</parameter>
<parameter name="content" type="android.text.Editable">
</parameter>
<parameter name="keyCode" type="int">
</parameter>
<parameter name="event" type="android.view.KeyEvent">
</parameter>
</method>
<method name="getInstance"
 return="android.text.method.MovementMethod"
<method name="onKeyOther"
 return="boolean"
 abstract="false"
 native="false"
 synchronized="false"
 static="true"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="view" type="android.view.View">
</parameter>
<parameter name="content" type="android.text.Editable">
</parameter>
<parameter name="event" type="android.view.KeyEvent">
</parameter>
</method>
</class>
<class name="BaseMovementMethod"
 extends="java.lang.Object"
 abstract="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
<implements name="android.text.method.MovementMethod">
</implements>
<constructor name="BaseMovementMethod"
 type="android.text.method.BaseMovementMethod"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
</constructor>
<method name="bottom"
 return="boolean"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="protected"
>
<parameter name="widget" type="android.widget.TextView">
</parameter>
<parameter name="buffer" type="android.text.Spannable">
</parameter>
</method>
<method name="canSelectArbitrarily"
 return="boolean"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
</method>
<method name="down"
 return="boolean"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="protected"
>
<parameter name="widget" type="android.widget.TextView">
</parameter>
<parameter name="buffer" type="android.text.Spannable">
</parameter>
</method>
<method name="end"
 return="boolean"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="protected"
>
<parameter name="widget" type="android.widget.TextView">
</parameter>
<parameter name="buffer" type="android.text.Spannable">
</parameter>
</method>
<method name="getMovementMetaState"
 return="int"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="protected"
>
<parameter name="buffer" type="android.text.Spannable">
</parameter>
<parameter name="event" type="android.view.KeyEvent">
</parameter>
</method>
<method name="handleMovementKey"
 return="boolean"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="protected"
>
<parameter name="widget" type="android.widget.TextView">
</parameter>
<parameter name="buffer" type="android.text.Spannable">
</parameter>
<parameter name="keyCode" type="int">
</parameter>
<parameter name="movementMetaState" type="int">
</parameter>
<parameter name="event" type="android.view.KeyEvent">
</parameter>
</method>
<method name="home"
 return="boolean"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="protected"
>
<parameter name="widget" type="android.widget.TextView">
</parameter>
<parameter name="buffer" type="android.text.Spannable">
</parameter>
</method>
<method name="initialize"
 return="void"
@@ -185090,6 +185260,51 @@
<parameter name="text" type="android.text.Spannable">
</parameter>
</method>
<method name="left"
 return="boolean"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="protected"
>
<parameter name="widget" type="android.widget.TextView">
</parameter>
<parameter name="buffer" type="android.text.Spannable">
</parameter>
</method>
<method name="lineEnd"
 return="boolean"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="protected"
>
<parameter name="widget" type="android.widget.TextView">
</parameter>
<parameter name="buffer" type="android.text.Spannable">
</parameter>
</method>
<method name="lineStart"
 return="boolean"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="protected"
>
<parameter name="widget" type="android.widget.TextView">
</parameter>
<parameter name="buffer" type="android.text.Spannable">
</parameter>
</method>
<method name="onKeyDown"
 return="boolean"
 abstract="false"
@@ -185102,7 +185317,7 @@
>
<parameter name="widget" type="android.widget.TextView">
</parameter>
<parameter name="buffer" type="android.text.Spannable">
<parameter name="text" type="android.text.Spannable">
</parameter>
<parameter name="keyCode" type="int">
</parameter>
@@ -185119,7 +185334,7 @@
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="view" type="android.widget.TextView">
<parameter name="widget" type="android.widget.TextView">
</parameter>
<parameter name="text" type="android.text.Spannable">
</parameter>
@@ -185138,7 +185353,7 @@
>
<parameter name="widget" type="android.widget.TextView">
</parameter>
<parameter name="buffer" type="android.text.Spannable">
<parameter name="text" type="android.text.Spannable">
</parameter>
<parameter name="keyCode" type="int">
</parameter>
@@ -185155,11 +185370,11 @@
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="view" type="android.widget.TextView">
<parameter name="widget" type="android.widget.TextView">
</parameter>
<parameter name="text" type="android.text.Spannable">
</parameter>
<parameter name="dir" type="int">
<parameter name="direction" type="int">
</parameter>
</method>
<method name="onTouchEvent"
@@ -185174,7 +185389,7 @@
>
<parameter name="widget" type="android.widget.TextView">
</parameter>
<parameter name="buffer" type="android.text.Spannable">
<parameter name="text" type="android.text.Spannable">
</parameter>
<parameter name="event" type="android.view.MotionEvent">
</parameter>
@@ -185196,26 +185411,37 @@
<parameter name="event" type="android.view.MotionEvent">
</parameter>
</method>
</class>
<class name="BaseKeyListener"
 extends="android.text.method.MetaKeyKeyListener"
 abstract="true"
<method name="pageDown"
 return="boolean"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
 visibility="protected"
>
<implements name="android.text.method.KeyListener">
</implements>
<constructor name="BaseKeyListener"
 type="android.text.method.BaseKeyListener"
<parameter name="widget" type="android.widget.TextView">
</parameter>
<parameter name="buffer" type="android.text.Spannable">
</parameter>
</method>
<method name="pageUp"
 return="boolean"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
 visibility="protected"
>
</constructor>
<method name="backspace"
<parameter name="widget" type="android.widget.TextView">
</parameter>
<parameter name="buffer" type="android.text.Spannable">
</parameter>
</method>
<method name="right"
 return="boolean"
 abstract="false"
 native="false"
@@ -185223,18 +185449,29 @@
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
 visibility="protected"
>
<parameter name="view" type="android.view.View">
<parameter name="widget" type="android.widget.TextView">
</parameter>
<parameter name="content" type="android.text.Editable">
<parameter name="buffer" type="android.text.Spannable">
</parameter>
<parameter name="keyCode" type="int">
</method>
<method name="top"
 return="boolean"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="protected"
>
<parameter name="widget" type="android.widget.TextView">
</parameter>
<parameter name="event" type="android.view.KeyEvent">
<parameter name="buffer" type="android.text.Spannable">
</parameter>
</method>
<method name="onKeyOther"
<method name="up"
 return="boolean"
 abstract="false"
 native="false"
@@ -185242,13 +185479,11 @@
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
 visibility="protected"
>
<parameter name="view" type="android.view.View">
</parameter>
<parameter name="content" type="android.text.Editable">
<parameter name="widget" type="android.widget.TextView">
</parameter>
<parameter name="event" type="android.view.KeyEvent">
<parameter name="buffer" type="android.text.Spannable">
</parameter>
</method>
</class>
@@ -186717,7 +186952,7 @@
</method>
</class>
<class name="ScrollingMovementMethod"
 extends="java.lang.Object"
 extends="android.text.method.BaseMovementMethod"
 abstract="false"
 static="false"
 final="false"
@@ -186734,32 +186969,6 @@
 visibility="public"
>
</constructor>
<method name="canSelectArbitrarily"
 return="boolean"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
</method>
<method name="down"
 return="boolean"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="protected"
>
<parameter name="widget" type="android.widget.TextView">
</parameter>
<parameter name="buffer" type="android.text.Spannable">
</parameter>
</method>
<method name="getInstance"
 return="android.text.method.MovementMethod"
 abstract="false"
@@ -186771,172 +186980,6 @@
 visibility="public"
>
</method>
<method name="initialize"
 return="void"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="widget" type="android.widget.TextView">
</parameter>
<parameter name="text" type="android.text.Spannable">
</parameter>
</method>
<method name="left"
 return="boolean"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="protected"
>
<parameter name="widget" type="android.widget.TextView">
</parameter>
<parameter name="buffer" type="android.text.Spannable">
</parameter>
</method>
<method name="onKeyDown"
 return="boolean"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="widget" type="android.widget.TextView">
</parameter>
<parameter name="buffer" type="android.text.Spannable">
</parameter>
<parameter name="keyCode" type="int">
</parameter>
<parameter name="event" type="android.view.KeyEvent">
</parameter>
</method>
<method name="onKeyOther"
 return="boolean"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="view" type="android.widget.TextView">
</parameter>
<parameter name="text" type="android.text.Spannable">
</parameter>
<parameter name="event" type="android.view.KeyEvent">
</parameter>
</method>
<method name="onKeyUp"
 return="boolean"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="widget" type="android.widget.TextView">
</parameter>
<parameter name="buffer" type="android.text.Spannable">
</parameter>
<parameter name="keyCode" type="int">
</parameter>
<parameter name="event" type="android.view.KeyEvent">
</parameter>
</method>
<method name="onTakeFocus"
 return="void"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="widget" type="android.widget.TextView">
</parameter>
<parameter name="text" type="android.text.Spannable">
</parameter>
<parameter name="dir" type="int">
</parameter>
</method>
<method name="onTouchEvent"
 return="boolean"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="widget" type="android.widget.TextView">
</parameter>
<parameter name="buffer" type="android.text.Spannable">
</parameter>
<parameter name="event" type="android.view.MotionEvent">
</parameter>
</method>
<method name="onTrackballEvent"
 return="boolean"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="widget" type="android.widget.TextView">
</parameter>
<parameter name="text" type="android.text.Spannable">
</parameter>
<parameter name="event" type="android.view.MotionEvent">
</parameter>
</method>
<method name="right"
 return="boolean"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="protected"
>
<parameter name="widget" type="android.widget.TextView">
</parameter>
<parameter name="buffer" type="android.text.Spannable">
</parameter>
</method>
<method name="up"
 return="boolean"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="protected"
>
<parameter name="widget" type="android.widget.TextView">
</parameter>
<parameter name="buffer" type="android.text.Spannable">
</parameter>
</method>
</class>
<class name="SingleLineTransformationMethod"
 extends="android.text.method.ReplacementTransformationMethod"
+143 −124

File changed.

Preview size limit exceeded, changes collapsed.

+345 −0

File added.

Preview size limit exceeded, changes collapsed.

+18 −23
Original line number Diff line number Diff line
@@ -16,8 +16,6 @@

package android.text.method;

import android.content.Intent;
import android.net.Uri;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.text.*;
@@ -25,28 +23,30 @@ import android.text.style.*;
import android.view.View;
import android.widget.TextView;

public class
LinkMovementMethod
extends ScrollingMovementMethod
{
/**
 * A movement method that traverses links in the text buffer and scrolls if necessary.
 * Supports clicking on links with DPad Center or Enter.
 */
public class LinkMovementMethod extends ScrollingMovementMethod {
    private static final int CLICK = 1;
    private static final int UP = 2;
    private static final int DOWN = 3;

    @Override
    public boolean onKeyDown(TextView widget, Spannable buffer,
                             int keyCode, KeyEvent event) {
    protected boolean handleMovementKey(TextView widget, Spannable buffer, int keyCode,
            int movementMetaState, KeyEvent event) {
        switch (keyCode) {
            case KeyEvent.KEYCODE_DPAD_CENTER:
            case KeyEvent.KEYCODE_ENTER:
            if (event.getRepeatCount() == 0) {
                if (action(CLICK, widget, buffer)) {
                    return true;
                if (KeyEvent.metaStateHasNoModifiers(movementMetaState)) {
                    if (event.getAction() == KeyEvent.ACTION_DOWN
                            && event.getRepeatCount() == 0) {
                        return action(CLICK, widget, buffer);
                    }
                }
                break;
        }

        return super.onKeyDown(widget, buffer, keyCode, event);
        return super.handleMovementKey(widget, buffer, keyCode, movementMetaState, event);
    }

    @Override
@@ -86,8 +86,6 @@ extends ScrollingMovementMethod
    }

    private boolean action(int what, TextView widget, Spannable buffer) {
        boolean handled = false;

        Layout layout = widget.getLayout();

        int padding = widget.getTotalPaddingTop() +
@@ -184,11 +182,6 @@ extends ScrollingMovementMethod
        return false;
    }

    public boolean onKeyUp(TextView widget, Spannable buffer,
                           int keyCode, KeyEvent event) {
        return false;
    }

    @Override
    public boolean onTouchEvent(TextView widget, Spannable buffer,
                                MotionEvent event) {
@@ -229,11 +222,13 @@ extends ScrollingMovementMethod
        return super.onTouchEvent(widget, buffer, event);
    }

    @Override
    public void initialize(TextView widget, Spannable text) {
        Selection.removeSelection(text);
        text.removeSpan(FROM_BELOW);
    }

    @Override
    public void onTakeFocus(TextView view, Spannable text, int dir) {
        Selection.removeSelection(text);

Loading