From d51d2e1d20296a03f88fc44f8c2283543a372d48 Mon Sep 17 00:00:00 2001 From: FongMi Date: Thu, 12 Oct 2023 23:29:34 +0800 Subject: [PATCH] Fix bug --- .../com/fongmi/android/tv/ui/activity/VideoActivity.java | 5 ++--- .../com/fongmi/android/tv/ui/custom/dialog/DescDialog.java | 7 +++++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java index bbba30acc..64c613914 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java @@ -525,11 +525,10 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List private void setText(TextView view, int resId, String text) { view.setTag(text); - view.setLinksClickable(true); view.setLinkTextColor(MDColor.YELLOW_500); - view.setMovementMethod(LinkMovementMethod.getInstance()); view.setVisibility(text.isEmpty() ? View.GONE : View.VISIBLE); view.setText(getSpan(resId, text), TextView.BufferType.SPANNABLE); + if (Sniffer.CLICKER.matcher(text).find()) view.setMovementMethod(LinkMovementMethod.getInstance()); } private SpannableString getSpan(int resId, String text) { @@ -688,7 +687,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List private void onDesc() { CharSequence desc = mBinding.content.getText(); - if (desc.length() > 0) DescDialog.show(this, desc); + if (desc.length() > 3) DescDialog.show(this, desc.subSequence(3, desc.length())); } private void onKeep() { diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/dialog/DescDialog.java b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/dialog/DescDialog.java index 3d29962e9..371076f36 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/custom/dialog/DescDialog.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/custom/dialog/DescDialog.java @@ -1,7 +1,9 @@ package com.fongmi.android.tv.ui.custom.dialog; import android.app.Activity; +import android.text.Editable; import android.text.method.LinkMovementMethod; +import android.text.style.ClickableSpan; import android.view.LayoutInflater; import android.widget.TextView; @@ -26,9 +28,10 @@ public class DescDialog { } private void initView(TextView view, CharSequence desc) { - view.setLinksClickable(true); view.setLinkTextColor(MDColor.BLUE_500); view.setText(desc, TextView.BufferType.SPANNABLE); - view.setMovementMethod(LinkMovementMethod.getInstance()); + Editable e = new Editable.Factory().newEditable(view.getText()); + ClickableSpan[] spans = e.getSpans(0, e.length(), ClickableSpan.class); + if (spans.length > 0) view.setMovementMethod(LinkMovementMethod.getInstance()); } }