diff --git a/app/src/main/java/app/fedilab/android/drawers/NotificationsListAdapter.java b/app/src/main/java/app/fedilab/android/drawers/NotificationsListAdapter.java index 134d60ebb..43b872fce 100644 --- a/app/src/main/java/app/fedilab/android/drawers/NotificationsListAdapter.java +++ b/app/src/main/java/app/fedilab/android/drawers/NotificationsListAdapter.java @@ -30,7 +30,10 @@ import android.os.Bundle; import android.os.CountDownTimer; import android.os.Handler; import android.text.Html; +import android.text.SpannableString; +import android.text.Spanned; import android.text.method.LinkMovementMethod; +import android.text.style.ForegroundColorSpan; import android.util.TypedValue; import android.view.LayoutInflater; import android.view.MotionEvent; @@ -71,6 +74,8 @@ import java.util.List; import java.util.Objects; import java.util.Timer; import java.util.TimerTask; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import app.fedilab.android.R; import app.fedilab.android.activities.AccountReportActivity; @@ -750,7 +755,27 @@ public class NotificationsListAdapter extends RecyclerView.Adapter displayConfirmationNotificationDialog(notification)); - holder.notification_account_username.setVisibility(View.GONE); + + + if( notification.getAccount() != null) { + SpannableString wordtoSpan = new SpannableString("@" + notification.getAccount().getAcct()); + Pattern hashAcct = Pattern.compile("(@" + notification.getAccount().getAcct() + ")"); + + int theme_text_header_2_line = prefs.getInt("theme_text_header_2_line", -1); + if (theme_text_header_2_line == -1) { + theme_text_header_2_line = ThemeHelper.getAttColor(context, R.attr.textHeader); + } + Matcher matcherAcct = hashAcct.matcher(wordtoSpan); + while (matcherAcct.find()) { + int matchStart = matcherAcct.start(1); + int matchEnd = matcherAcct.end(); + if (wordtoSpan.length() >= matchEnd && matchStart < matchEnd) { + wordtoSpan.setSpan(new ForegroundColorSpan(theme_text_header_2_line), matchStart, matchEnd, Spanned.SPAN_INCLUSIVE_EXCLUSIVE); + } + + } + holder.notification_account_username.setText(wordtoSpan); + } final String userId = sharedpreferences.getString(Helper.PREF_KEY_ID, null); final View attached = holder.status_more; diff --git a/app/src/main/res/layout/drawer_notification.xml b/app/src/main/res/layout/drawer_notification.xml index fb92badc3..b864cab67 100644 --- a/app/src/main/res/layout/drawer_notification.xml +++ b/app/src/main/res/layout/drawer_notification.xml @@ -69,6 +69,7 @@