mirror of
https://codeberg.org/tom79/Fedilab.git
synced 2025-09-15 08:20:18 +03:00
Keep bottom hash tags in profile note (fix #1268)
This commit is contained in:
parent
37b744b3e5
commit
43193951c2
4 changed files with 18 additions and 8 deletions
|
@ -589,7 +589,7 @@ public class ProfileActivity extends BaseActivity {
|
||||||
account.getSpanNote(ProfileActivity.this,
|
account.getSpanNote(ProfileActivity.this,
|
||||||
new WeakReference<>(binding.accountNote)), TextView.BufferType.SPANNABLE);
|
new WeakReference<>(binding.accountNote)), TextView.BufferType.SPANNABLE);
|
||||||
|
|
||||||
}),
|
}, true),
|
||||||
TextView.BufferType.SPANNABLE);
|
TextView.BufferType.SPANNABLE);
|
||||||
|
|
||||||
binding.accountNote.setMovementMethod(LinkMovementMethod.getInstance());
|
binding.accountNote.setMovementMethod(LinkMovementMethod.getInstance());
|
||||||
|
|
|
@ -112,8 +112,8 @@ public class Account implements Serializable {
|
||||||
public synchronized Spannable getSpanNote(Context context, WeakReference<View> viewWeakReference) {
|
public synchronized Spannable getSpanNote(Context context, WeakReference<View> viewWeakReference) {
|
||||||
return SpannableHelper.convert(context, note, null, this, null, viewWeakReference, null, true, false);
|
return SpannableHelper.convert(context, note, null, this, null, viewWeakReference, null, true, false);
|
||||||
}
|
}
|
||||||
public synchronized Spannable getSpanNote(Context context, WeakReference<View> viewWeakReference, Status.Callback callback) {
|
public synchronized Spannable getSpanNote(Context context, WeakReference<View> viewWeakReference, Status.Callback callback, boolean keepOriginalBottomHashTags) {
|
||||||
return SpannableHelper.convert(context, note, null, this, null, viewWeakReference, callback, true, false);
|
return SpannableHelper.convert(context, note, null, this, null, viewWeakReference, callback, true, false, keepOriginalBottomHashTags);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -195,7 +195,7 @@ public class Status implements Serializable, Cloneable {
|
||||||
|
|
||||||
public synchronized Spannable getSpanContent(Context context, boolean checkRemotely, WeakReference<View> viewWeakReference, Callback callback) {
|
public synchronized Spannable getSpanContent(Context context, boolean checkRemotely, WeakReference<View> viewWeakReference, Callback callback) {
|
||||||
if (contentSpan == null) {
|
if (contentSpan == null) {
|
||||||
contentSpan = SpannableHelper.convert(context, content, this, null, null, checkRemotely, viewWeakReference, callback, true, true);
|
contentSpan = SpannableHelper.convert(context, content, this, null, null, checkRemotely, viewWeakReference, callback, true, true, false);
|
||||||
}
|
}
|
||||||
return contentSpan;
|
return contentSpan;
|
||||||
}
|
}
|
||||||
|
|
|
@ -135,12 +135,22 @@ public class SpannableHelper {
|
||||||
public static Spannable convert(Context context, String text,
|
public static Spannable convert(Context context, String text,
|
||||||
Status status, Account account, Announcement announcement,
|
Status status, Account account, Announcement announcement,
|
||||||
WeakReference<View> viewWeakReference, Status.Callback callback, boolean convertHtml, boolean convertMarkdown) {
|
WeakReference<View> viewWeakReference, Status.Callback callback, boolean convertHtml, boolean convertMarkdown) {
|
||||||
return convert(context, text, status, account, announcement, false, viewWeakReference, callback, convertHtml, convertMarkdown);
|
return convert(context, text, status, account, announcement, false, viewWeakReference, callback, convertHtml, convertMarkdown, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Spannable convert(Context context, String text,
|
public static Spannable convert(Context context, String text,
|
||||||
Status status, Account account, Announcement announcement, boolean checkRemotely,
|
Status status, Account account, Announcement announcement, WeakReference<View> viewWeakReference,
|
||||||
WeakReference<View> viewWeakReference, Status.Callback callback, boolean convertHtml, boolean convertMarkdown) {
|
Status.Callback callback, boolean convertHtml, boolean convertMarkdown, boolean keepOriginalBottomHashTags) {
|
||||||
|
return convert(context, text, status, account, announcement, false, viewWeakReference, callback, convertHtml, convertMarkdown, keepOriginalBottomHashTags);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param keepOriginalBottomHashTags set this to {@code true} to preserve original bottom hash tags. For example, in account note
|
||||||
|
* <i>(profile bio/description)</i> in {@link app.fedilab.android.mastodon.activities.ProfileActivity ProfileActivity}
|
||||||
|
*/
|
||||||
|
public static Spannable convert(Context context, String text, Status status, Account account, Announcement announcement,
|
||||||
|
boolean checkRemotely, WeakReference<View> viewWeakReference, Status.Callback callback,
|
||||||
|
boolean convertHtml, boolean convertMarkdown, boolean keepOriginalBottomHashTags) {
|
||||||
if (text == null) {
|
if (text == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@ -395,7 +405,7 @@ public class SpannableHelper {
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean underlineBottomHashTags = sharedpreferences.getBoolean(context.getString(R.string.SET_UNDERLINE_BOTTOM_HASHTAGS), true);
|
boolean underlineBottomHashTags = sharedpreferences.getBoolean(context.getString(R.string.SET_UNDERLINE_BOTTOM_HASHTAGS), true);
|
||||||
if(underlineBottomHashTags) {
|
if(underlineBottomHashTags && !keepOriginalBottomHashTags) {
|
||||||
SpannableStringBuilder spannableStringBuilder = new SpannableStringBuilder();
|
SpannableStringBuilder spannableStringBuilder = new SpannableStringBuilder();
|
||||||
final Pattern bottomTagsPattern = Pattern.compile(patternBottomTags, Pattern.CASE_INSENSITIVE);
|
final Pattern bottomTagsPattern = Pattern.compile(patternBottomTags, Pattern.CASE_INSENSITIVE);
|
||||||
Matcher matcherBottomTags = bottomTagsPattern.matcher(content);
|
Matcher matcherBottomTags = bottomTagsPattern.matcher(content);
|
||||||
|
|
Loading…
Reference in a new issue