diff options
author | Justin Klaassen <justinklaassen@google.com> | 2018-04-03 23:21:57 -0400 |
---|---|---|
committer | Justin Klaassen <justinklaassen@google.com> | 2018-04-03 23:21:57 -0400 |
commit | 4d01eeaffaa720e4458a118baa137a11614f00f7 (patch) | |
tree | 66751893566986236788e3c796a7cc5e90d05f52 /android/text/method/LinkMovementMethod.java | |
parent | a192cc2a132cb0ee8588e2df755563ec7008c179 (diff) | |
download | android-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/LinkMovementMethod.java')
-rw-r--r-- | android/text/method/LinkMovementMethod.java | 11 |
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])); |