From c22cba6c9debd6e41592fc55c30b07a019ff495d Mon Sep 17 00:00:00 2001 From: stom79 Date: Sun, 7 Jan 2018 16:10:15 +0100 Subject: [PATCH] Fixes issue #232 - Allows text selection --- .../gouv/etalab/mastodon/activities/ShowAccountActivity.java | 1 - .../java/fr/gouv/etalab/mastodon/client/Entities/Status.java | 4 ++++ .../etalab/mastodon/drawers/NotificationsListAdapter.java | 2 -- .../fr/gouv/etalab/mastodon/drawers/StatusListAdapter.java | 3 --- app/src/main/res/layout/drawer_notification.xml | 3 --- app/src/main/res/layout/drawer_status.xml | 4 ---- 6 files changed, 4 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/activities/ShowAccountActivity.java b/app/src/main/java/fr/gouv/etalab/mastodon/activities/ShowAccountActivity.java index 129622fe5..5bde5d607 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/activities/ShowAccountActivity.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/activities/ShowAccountActivity.java @@ -48,7 +48,6 @@ import android.support.v7.widget.PopupMenu; import android.text.SpannableString; import android.text.method.LinkMovementMethod; import android.text.style.UnderlineSpan; -import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.View; diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/client/Entities/Status.java b/app/src/main/java/fr/gouv/etalab/mastodon/client/Entities/Status.java index 82463852f..b4c5365e2 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/client/Entities/Status.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/client/Entities/Status.java @@ -31,6 +31,7 @@ import android.text.Spanned; import android.text.TextPaint; import android.text.style.ClickableSpan; import android.text.style.ImageSpan; +import android.text.style.URLSpan; import android.util.Patterns; import android.view.View; @@ -612,6 +613,9 @@ public class Status implements Parcelable{ private SpannableString treatment(final Context context, final SpannableString spannableString){ + URLSpan[] urls = spannableString.getSpans(0, spannableString.length(), URLSpan.class); + for(URLSpan span : urls) + spannableString.removeSpan(span); List mentions = this.status.getReblog() != null ? this.status.getReblog().getMentions() : this.status.getMentions(); SharedPreferences sharedpreferences = context.getSharedPreferences(Helper.APP_PREFS, android.content.Context.MODE_PRIVATE); boolean embedded_browser = sharedpreferences.getBoolean(Helper.SET_EMBEDDED_BROWSER, true); diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/drawers/NotificationsListAdapter.java b/app/src/main/java/fr/gouv/etalab/mastodon/drawers/NotificationsListAdapter.java index 2b2fb420c..4750a1a9c 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/drawers/NotificationsListAdapter.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/drawers/NotificationsListAdapter.java @@ -255,7 +255,6 @@ public class NotificationsListAdapter extends RecyclerView.Adapter implements On holder.notification_status_content.setText(status.getContentSpan(), TextView.BufferType.SPANNABLE); holder.status_spoiler.setText(status.getContentSpanCW(), TextView.BufferType.SPANNABLE); - holder.notification_status_content.setMovementMethod(null); holder.notification_status_content.setMovementMethod(LinkMovementMethod.getInstance()); boolean displayBoost = sharedpreferences.getBoolean(Helper.SET_DISPLAY_BOOST_COUNT, true); if( displayBoost) { @@ -267,7 +266,6 @@ public class NotificationsListAdapter extends RecyclerView.Adapter implements On Helper.absoluteDateTimeReveal(context, holder.status_date, status.getCreated_at()); holder.status_mention_spoiler.setText(Helper.makeMentionsClick(context,status.getMentions()), TextView.BufferType.SPANNABLE); - holder.status_mention_spoiler.setMovementMethod(null); holder.status_mention_spoiler.setMovementMethod(LinkMovementMethod.getInstance()); //Adds attachment -> disabled, to enable them uncomment the line below diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/drawers/StatusListAdapter.java b/app/src/main/java/fr/gouv/etalab/mastodon/drawers/StatusListAdapter.java index 80c9271d3..a5499c8ea 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/drawers/StatusListAdapter.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/drawers/StatusListAdapter.java @@ -540,7 +540,6 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct holder.status_content.setText(status.getContentSpan(), TextView.BufferType.SPANNABLE); holder.status_spoiler.setText(status.getContentSpanCW(), TextView.BufferType.SPANNABLE); - holder.status_content.setMovementMethod(null); holder.status_content.setMovementMethod(LinkMovementMethod.getInstance()); //Manages translations @@ -583,7 +582,6 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct } } }); - holder.status_content_translated.setMovementMethod(null); holder.status_content_translated.setMovementMethod(LinkMovementMethod.getInstance()); //-------- END -> Manages translations @@ -650,7 +648,6 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct }); holder.status_mention_spoiler.setText(Helper.makeMentionsClick(context,status.getMentions()), TextView.BufferType.SPANNABLE); - holder.status_mention_spoiler.setMovementMethod(null); holder.status_mention_spoiler.setMovementMethod(LinkMovementMethod.getInstance()); boolean displayBoost = sharedpreferences.getBoolean(Helper.SET_DISPLAY_BOOST_COUNT, true); diff --git a/app/src/main/res/layout/drawer_notification.xml b/app/src/main/res/layout/drawer_notification.xml index c53cef687..6fb19b1fa 100644 --- a/app/src/main/res/layout/drawer_notification.xml +++ b/app/src/main/res/layout/drawer_notification.xml @@ -94,7 +94,6 @@