use of com.franckrj.respawnirc.utils.HoldingStringSpan in project RespawnIRC-Android by FranckRJ.
the class JVCTopicAdapter method replaceNeededSpansAndEmojis.
private CharSequence replaceNeededSpansAndEmojis(Spanned spanToChange, final JVCParser.MessageInfos infosOfMessage) {
Spannable spannable = new SpannableString(spanToChange);
QuoteSpan[] quoteSpanArray = spannable.getSpans(0, spannable.length(), QuoteSpan.class);
for (QuoteSpan quoteSpan : quoteSpanArray) {
Utils.replaceSpanByAnotherSpan(spannable, quoteSpan, new CustomQuoteSpan(ThemeManager.getColorInt(R.attr.themedQuoteBackgroundColor, parentActivity), ThemeManager.getColorInt(R.attr.colorPrimary, parentActivity), parentActivity.getResources().getDimensionPixelSize(R.dimen.quoteStripSize), parentActivity.getResources().getDimensionPixelSize(R.dimen.quoteStripGap)));
}
URLSpan[] urlSpanArray = spannable.getSpans(0, spannable.length(), URLSpan.class);
for (final URLSpan urlSpan : urlSpanArray) {
Utils.replaceSpanByAnotherSpan(spannable, urlSpan, new LongClickableSpan() {
@Override
public void onClick(View view) {
if (urlCLickedListener != null) {
urlCLickedListener.getClickedURL(urlSpan.getURL(), false);
}
}
@Override
public void onLongClick(View v) {
if (urlCLickedListener != null) {
urlCLickedListener.getClickedURL(urlSpan.getURL(), true);
}
}
});
}
HoldingStringSpan[] holdingStringSpanArray = spannable.getSpans(0, spannable.length(), HoldingStringSpan.class);
for (final HoldingStringSpan holdingStringSpan : holdingStringSpanArray) {
Utils.replaceSpanByAnotherSpan(spannable, holdingStringSpan, new ClickableSpan() {
@Override
public void onClick(View view) {
updateListOfSpoidIdToShow(infosOfMessage, holdingStringSpan.getString());
}
@Override
public void updateDrawState(TextPaint ds) {
// rien
}
});
}
return Utils.applyEmojiCompatIfPossible(spannable);
}
Aggregations