From e0c94e114cf0d01c61f993848054967e8cf6f6ff Mon Sep 17 00:00:00 2001 From: Thomas Date: Wed, 20 Jul 2022 09:33:34 +0200 Subject: [PATCH] Fix some bad behaviors with span --- .../fedilab/android/client/entities/api/Account.java | 6 +++++- .../app/fedilab/android/client/entities/api/Poll.java | 2 +- .../android/ui/drawer/NotificationAdapter.java | 11 +++++------ 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/app/fedilab/android/client/entities/api/Account.java b/app/src/main/java/app/fedilab/android/client/entities/api/Account.java index 4b2392d8..fd444d4d 100644 --- a/app/src/main/java/app/fedilab/android/client/entities/api/Account.java +++ b/app/src/main/java/app/fedilab/android/client/entities/api/Account.java @@ -83,7 +83,11 @@ public class Account implements Serializable { if (display_name == null || display_name.isEmpty()) { display_name = username; } - return SpannableHelper.convert(context, display_name, null, this, null, true, viewWeakReference); + return SpannableHelper.convert(context, display_name, null, this, null, false, viewWeakReference); + } + + public synchronized Spannable getSpanDisplayNameTitle(Context context, WeakReference viewWeakReference, String title) { + return SpannableHelper.convert(context, title, null, this, null, false, viewWeakReference); } diff --git a/app/src/main/java/app/fedilab/android/client/entities/api/Poll.java b/app/src/main/java/app/fedilab/android/client/entities/api/Poll.java index a91a9361..3bf9c479 100644 --- a/app/src/main/java/app/fedilab/android/client/entities/api/Poll.java +++ b/app/src/main/java/app/fedilab/android/client/entities/api/Poll.java @@ -61,7 +61,7 @@ public class Poll implements Serializable { public transient Spannable span_title; public Spannable getSpanTitle(Context context, Status status, WeakReference viewWeakReference) { - span_title = SpannableHelper.convert(context, title, status, null, null, true, viewWeakReference); + span_title = SpannableHelper.convert(context, title, status, null, null, false, viewWeakReference); return span_title; } } diff --git a/app/src/main/java/app/fedilab/android/ui/drawer/NotificationAdapter.java b/app/src/main/java/app/fedilab/android/ui/drawer/NotificationAdapter.java index dc354fd5..3a77b2b5 100644 --- a/app/src/main/java/app/fedilab/android/ui/drawer/NotificationAdapter.java +++ b/app/src/main/java/app/fedilab/android/ui/drawer/NotificationAdapter.java @@ -224,10 +224,9 @@ public class NotificationAdapter extends RecyclerView.Adapter(holderStatus.bindingNotification.status.displayName)), + notification.account.getSpanDisplayNameTitle(context, + new WeakReference<>(holderStatus.bindingNotification.status.displayName), title), TextView.BufferType.SPANNABLE); holderStatus.bindingNotification.status.username.setText(String.format("@%s", notification.account.acct)); holderStatus.bindingNotification.containerTransparent.setAlpha(.1f); @@ -295,10 +294,10 @@ public class NotificationAdapter extends RecyclerView.Adapter(holderStatus.bindingNotification.status.displayName)), + notification.account.getSpanDisplayNameTitle(context, + new WeakReference<>(holderStatus.bindingNotification.status.displayName), title), TextView.BufferType.SPANNABLE); holderStatus.bindingNotification.status.displayName.setText(title, TextView.BufferType.SPANNABLE); holderStatus.bindingNotification.status.username.setText(String.format("@%s", notification.account.acct));