summaryrefslogtreecommitdiff
path: root/android/text/method
diff options
context:
space:
mode:
authorJustin Klaassen <justinklaassen@google.com>2018-04-03 23:21:57 -0400
committerJustin Klaassen <justinklaassen@google.com>2018-04-03 23:21:57 -0400
commit4d01eeaffaa720e4458a118baa137a11614f00f7 (patch)
tree66751893566986236788e3c796a7cc5e90d05f52 /android/text/method
parenta192cc2a132cb0ee8588e2df755563ec7008c179 (diff)
downloadandroid-28-4d01eeaffaa720e4458a118baa137a11614f00f7.tar.gz
Import Android SDK Platform P [4697573]
/google/data/ro/projects/android/fetch_artifact \ --bid 4697573 \ --target sdk_phone_armv7-win_sdk \ sdk-repo-linux-sources-4697573.zip AndroidVersion.ApiLevel has been modified to appear as 28 Change-Id: If80578c3c657366cc9cf75f8db13d46e2dd4e077
Diffstat (limited to 'android/text/method')
-rw-r--r--android/text/method/LinkMovementMethod.java11
1 files changed, 10 insertions, 1 deletions
diff --git a/android/text/method/LinkMovementMethod.java b/android/text/method/LinkMovementMethod.java
index 31ed5492..f3323588 100644
--- a/android/text/method/LinkMovementMethod.java
+++ b/android/text/method/LinkMovementMethod.java
@@ -16,6 +16,7 @@
package android.text.method;
+import android.os.Build;
import android.text.Layout;
import android.text.NoCopySpan;
import android.text.Selection;
@@ -35,6 +36,8 @@ public class LinkMovementMethod extends ScrollingMovementMethod {
private static final int UP = 2;
private static final int DOWN = 3;
+ private static final int HIDE_FLOATING_TOOLBAR_DELAY_MS = 200;
+
@Override
public boolean canSelectArbitrarily() {
return true;
@@ -65,7 +68,7 @@ public class LinkMovementMethod extends ScrollingMovementMethod {
return super.up(widget, buffer);
}
-
+
@Override
protected boolean down(TextView widget, Spannable buffer) {
if (action(DOWN, widget, buffer)) {
@@ -215,6 +218,12 @@ public class LinkMovementMethod extends ScrollingMovementMethod {
if (action == MotionEvent.ACTION_UP) {
links[0].onClick(widget);
} else if (action == MotionEvent.ACTION_DOWN) {
+ if (widget.getContext().getApplicationInfo().targetSdkVersion
+ > Build.VERSION_CODES.O_MR1) {
+ // Selection change will reposition the toolbar. Hide it for a few ms for a
+ // smoother transition.
+ widget.hideFloatingToolbar(HIDE_FLOATING_TOOLBAR_DELAY_MS);
+ }
Selection.setSelection(buffer,
buffer.getSpanStart(links[0]),
buffer.getSpanEnd(links[0]));