summaryrefslogtreecommitdiffstats
path: root/app/src/main/java/fr/gouv/etalab/mastodon/client/Entities/Status.java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/fr/gouv/etalab/mastodon/client/Entities/Status.java')
-rw-r--r--app/src/main/java/fr/gouv/etalab/mastodon/client/Entities/Status.java207
1 files changed, 122 insertions, 85 deletions
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 64c4062ca..ad37db994 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
@@ -58,6 +58,7 @@ import java.util.regex.Pattern;
import fr.gouv.etalab.mastodon.R;
import fr.gouv.etalab.mastodon.activities.HashTagActivity;
import fr.gouv.etalab.mastodon.activities.MainActivity;
+import fr.gouv.etalab.mastodon.activities.PeertubeActivity;
import fr.gouv.etalab.mastodon.activities.ShowAccountActivity;
import fr.gouv.etalab.mastodon.asynctasks.RetrieveFeedsAsyncTask;
import fr.gouv.etalab.mastodon.helper.CrossActions;
@@ -67,6 +68,9 @@ import fr.gouv.etalab.mastodon.interfaces.OnRetrieveEmojiInterface;
import static fr.gouv.etalab.mastodon.helper.Helper.INTENT_ACTION;
import static fr.gouv.etalab.mastodon.helper.Helper.SEARCH_REMOTE;
import static fr.gouv.etalab.mastodon.helper.Helper.SEARCH_URL;
+import static fr.gouv.etalab.mastodon.helper.Helper.THEME_BLACK;
+import static fr.gouv.etalab.mastodon.helper.Helper.THEME_DARK;
+import static fr.gouv.etalab.mastodon.helper.Helper.THEME_LIGHT;
/**
* Created by Thomas on 23/04/2017.
@@ -118,6 +122,8 @@ public class Status implements Parcelable{
public Status(){
this.status = this;
}
+ private List<String> conversationProfilePicture;
+
protected Status(Parcel in) {
id = in.readString();
@@ -462,23 +468,9 @@ public class Status implements Parcelable{
SpannableString spannableStringContent, spannableStringCW;
if( (status.getReblog() != null && status.getReblog().getContent() == null) || (status.getReblog() == null && status.getContent() == null))
return;
-
- SharedPreferences sharedpreferences = context.getSharedPreferences(Helper.APP_PREFS, Context.MODE_PRIVATE);
- boolean isCompactMode = sharedpreferences.getBoolean(Helper.SET_COMPACT_MODE, true);
- int mode;
- /*if( isCompactMode)
- mode = Html.FROM_HTML_MODE_COMPACT;
- else*/
- mode = Html.FROM_HTML_MODE_LEGACY;
-
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N)
- spannableStringContent = new SpannableString(Html.fromHtml(status.getReblog() != null ?status.getReblog().getContent():status.getContent(), mode));
- else
- //noinspection deprecation
- spannableStringContent = new SpannableString(Html.fromHtml(status.getReblog() != null ?status.getReblog().getContent():status.getContent()));
spannableStringContent = new SpannableString(status.getReblog() != null ?status.getReblog().getContent():status.getContent());
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N)
- spannableStringCW = new SpannableString(Html.fromHtml(status.getReblog() != null ?status.getReblog().getSpoiler_text():status.getSpoiler_text(), mode));
+ spannableStringCW = new SpannableString(Html.fromHtml(status.getReblog() != null ?status.getReblog().getSpoiler_text():status.getSpoiler_text(), Html.FROM_HTML_MODE_LEGACY));
else
//noinspection deprecation
spannableStringCW = new SpannableString(Html.fromHtml(status.getReblog() != null ?status.getReblog().getSpoiler_text():status.getSpoiler_text()));
@@ -496,15 +488,9 @@ public class Status implements Parcelable{
if( (status.getReblog() != null && status.getReblog().getContent() == null) || (status.getReblog() == null && status.getContent() == null))
return;
SharedPreferences sharedpreferences = context.getSharedPreferences(Helper.APP_PREFS, Context.MODE_PRIVATE);
- boolean isCompactMode = sharedpreferences.getBoolean(Helper.SET_COMPACT_MODE, true);
- int mode;
- /*if( isCompactMode)
- mode = Html.FROM_HTML_MODE_COMPACT;
- else*/
- mode = Html.FROM_HTML_MODE_LEGACY;
SpannableString spannableStringTranslated;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N)
- spannableStringTranslated = new SpannableString(Html.fromHtml(status.getContentTranslated(), mode));
+ spannableStringTranslated = new SpannableString(Html.fromHtml(status.getContentTranslated(), Html.FROM_HTML_MODE_LEGACY));
else
//noinspection deprecation
spannableStringTranslated = new SpannableString(Html.fromHtml(status.getContentTranslated()));
@@ -530,8 +516,7 @@ public class Status implements Parcelable{
status.getAccount().makeEmojisAccount(context, null);
String displayName;
if( status.getReblog() != null){
- displayName = Helper.shortnameToUnicode(status.getReblog().getAccount().getDisplay_name(), true);
- displayName = String.format("%s @%s",displayName,status.getReblog().getAccount().getAcct());
+ displayName = String.format("@%s",status.getReblog().getAccount().getAcct());
}else {
displayName = String.format("@%s",status.getAccount().getAcct());
}
@@ -618,15 +603,9 @@ public class Status implements Parcelable{
return;
SpannableString spannableStringTranslated = null;
SharedPreferences sharedpreferences = context.getSharedPreferences(Helper.APP_PREFS, Context.MODE_PRIVATE);
- boolean isCompactMode = sharedpreferences.getBoolean(Helper.SET_COMPACT_MODE, true);
- int mode;
- /*if( isCompactMode)
- mode = Html.FROM_HTML_MODE_COMPACT;
- else*/
- mode = Html.FROM_HTML_MODE_LEGACY;
if( status.getContentTranslated() != null) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N)
- spannableStringTranslated = new SpannableString(Html.fromHtml(status.getContentTranslated(), mode));
+ spannableStringTranslated = new SpannableString(Html.fromHtml(status.getContentTranslated(), Html.FROM_HTML_MODE_LEGACY));
else
//noinspection deprecation
spannableStringTranslated = new SpannableString(Html.fromHtml(status.getContentTranslated()));
@@ -696,7 +675,7 @@ public class Status implements Parcelable{
spannableString.removeSpan(span);
List<Mention> mentions = this.status.getReblog() != null ? this.status.getReblog().getMentions() : this.status.getMentions();
- SharedPreferences sharedpreferences = context.getSharedPreferences(Helper.APP_PREFS, android.content.Context.MODE_PRIVATE);
+ SharedPreferences sharedpreferences = context.getSharedPreferences(Helper.APP_PREFS, Context.MODE_PRIVATE);
int theme = sharedpreferences.getInt(Helper.SET_THEME, Helper.THEME_DARK);
Matcher matcher;
@@ -711,12 +690,17 @@ public class Status implements Parcelable{
//noinspection deprecation
key = new SpannableString(Html.fromHtml(matcher.group(2))).toString();
key = key.substring(1);
- if( !key.startsWith("#") && !key.startsWith("@"))
- targetedURL.put(key, matcher.group(1));
+ if( !key.startsWith("#") && !key.startsWith("@") && !key.trim().equals("") && !matcher.group(1).contains("search?tag=")) {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
+ targetedURL.put(key, Html.fromHtml(matcher.group(1), Html.FROM_HTML_MODE_LEGACY).toString());
+ }
+ else
+ targetedURL.put(key, Html.fromHtml(matcher.group(1)).toString());
+ }
}
String currentInstance = Helper.getLiveInstance(context);
//Get url to account that are unknown
- Pattern aLink = Pattern.compile("(<\\s?a\\s?href=\"https?:\\/\\/([\\da-z\\.-]+\\.[a-z\\.]{2,6})\\/(@[\\/\\w._-]*)\"\\s?[^.]*<\\s?\\/\\s?a\\s?>)");
+ Pattern aLink = Pattern.compile("(<\\s?a\\s?href=\"https?:\\/\\/([\\da-z\\.-]+\\.[a-z\\.]{2,10})\\/(@[\\/\\w._-]*)\"\\s?[^.]*<\\s?\\/\\s?a\\s?>)");
Matcher matcherALink = aLink.matcher(spannableString.toString());
ArrayList<Account> accountsMentionUnknown = new ArrayList<>();
while (matcherALink.find()){
@@ -741,13 +725,14 @@ public class Status implements Parcelable{
accountsMentionUnknown.add(account);
}
}
- aLink = Pattern.compile("(<\\s?a\\s?href=\"(https?:\\/\\/[\\da-z\\.-]+\\.[a-z\\.]{2,6}[\\/]?[^\"@(\\/tags\\/)]*)\"\\s?[^.]*<\\s?\\/\\s?a\\s?>)");
+ aLink = Pattern.compile("(<\\s?a\\s?href=\"(https?:\\/\\/[\\da-z\\.-]+\\.[a-z\\.]{2,10}[\\/]?[^\"@(\\/tags\\/)]*)\"\\s?[^.]*<\\s?\\/\\s?a\\s?>)");
matcherALink = aLink.matcher(spannableString.toString());
while (matcherALink.find()){
int matchStart = matcherALink.start();
int matchEnd = matcherALink.end();
final String url = spannableString.toString().substring(matcherALink.start(1), matcherALink.end(1));
+
if( matchEnd <= spannableString.toString().length() && matchEnd >= matchStart)
spannableString.setSpan(new ClickableSpan() {
@Override
@@ -765,33 +750,36 @@ public class Status implements Parcelable{
},
matchStart, matchEnd,
Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
- if( matchEnd <= spannableString.toString().length() && matchEnd >= matchStart)
- spannableString.setSpan(new ForegroundColorSpan(ContextCompat.getColor(context, (theme==Helper.THEME_DARK||theme==Helper.THEME_BLACK)?R.color.mastodonC2:R.color.mastodonC4)), matchStart, matchEnd,
- Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
+ if( matchEnd <= spannableString.toString().length() && matchEnd >= matchStart){
+ if( theme == THEME_DARK)
+ spannableString.setSpan(new ForegroundColorSpan(ContextCompat.getColor(context, R.color.dark_link_toot)), matchStart, matchEnd,
+ Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
+ else if( theme == THEME_BLACK)
+ spannableString.setSpan(new ForegroundColorSpan(ContextCompat.getColor(context, R.color.black_link_toot)), matchStart, matchEnd,
+ Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
+ else if( theme == THEME_LIGHT)
+ spannableString.setSpan(new ForegroundColorSpan(ContextCompat.getColor(context, R.color.mastodonC4)), matchStart, matchEnd,
+ Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
+ }
+
}
- boolean isCompactMode = sharedpreferences.getBoolean(Helper.SET_COMPACT_MODE, true);
- int mode;
- /*if( isCompactMode)
- mode = Html.FROM_HTML_MODE_COMPACT;
- else*/
- mode = Html.FROM_HTML_MODE_LEGACY;
SpannableString spannableStringT;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N)
- spannableStringT = new SpannableString(Html.fromHtml(spannableString.toString().replaceAll("^<p>","").replaceAll("<p>","<br/><br/>").replaceAll("</p>",""), mode));
+ spannableStringT = new SpannableString(Html.fromHtml(spannableString.toString().replaceAll("^<p>","").replaceAll("<p>","<br/><br/>").replaceAll("</p>",""), Html.FROM_HTML_MODE_LEGACY));
else
//noinspection deprecation
spannableStringT = new SpannableString(Html.fromHtml(spannableString.toString().replaceAll("^<p>","").replaceAll("<p>","<br/><br/>").replaceAll("</p>","")));
+ URLSpan[] spans = spannableStringT.getSpans(0, spannableStringT.length(), URLSpan.class);
+ for (URLSpan span : spans) {
+ spannableStringT.removeSpan(span);
+ }
matcher = Helper.twitterPattern.matcher(spannableStringT);
while (matcher.find()){
int matchStart = matcher.start(2);
int matchEnd = matcher.end();
final String twittername = matcher.group(2);
- URLSpan[] spans = spannableStringT.getSpans(matchStart, matchEnd, URLSpan.class);
- for (URLSpan span : spans) {
- spannableStringT.removeSpan(span);
- }
if( matchEnd <= spannableStringT.toString().length() && matchEnd >= matchStart)
spannableStringT.setSpan(new ClickableSpan() {
@Override
@@ -806,8 +794,17 @@ public class Status implements Parcelable{
}
}, matchStart, matchEnd, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
if( matchEnd <= spannableStringT.toString().length() && matchEnd >= matchStart)
- spannableStringT.setSpan(new ForegroundColorSpan(ContextCompat.getColor(context, (theme==Helper.THEME_DARK||theme==Helper.THEME_BLACK)?R.color.mastodonC2:R.color.mastodonC4)), matchStart, matchEnd,
- Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
+ if( matchEnd <= spannableString.toString().length() && matchEnd >= matchStart) {
+ if (theme == THEME_DARK)
+ spannableStringT.setSpan(new ForegroundColorSpan(ContextCompat.getColor(context, R.color.dark_link_toot)), matchStart, matchEnd,
+ Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
+ else if (theme == THEME_BLACK)
+ spannableStringT.setSpan(new ForegroundColorSpan(ContextCompat.getColor(context, R.color.black_link_toot)), matchStart, matchEnd,
+ Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
+ else if (theme == THEME_LIGHT)
+ spannableStringT.setSpan(new ForegroundColorSpan(ContextCompat.getColor(context, R.color.mastodonC4)), matchStart, matchEnd,
+ Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
+ }
}
if( accountsMentionUnknown.size() > 0 ) {
@@ -817,10 +814,6 @@ public class Status implements Parcelable{
//Accounts can be mentioned several times so we have to loop
for(int startPosition = -1 ; (startPosition = spannableStringT.toString().toLowerCase().indexOf(targetedAccount.toLowerCase(), startPosition + 1)) != -1 ; startPosition++){
int endPosition = startPosition + targetedAccount.length();
- URLSpan[] spans = spannableStringT.getSpans(startPosition, endPosition, URLSpan.class);
- for (URLSpan span : spans) {
- spannableStringT.removeSpan(span);
- }
if( endPosition <= spannableStringT.toString().length() && endPosition >= startPosition)
spannableStringT.setSpan(new ClickableSpan() {
@Override
@@ -835,9 +828,17 @@ public class Status implements Parcelable{
},
startPosition, endPosition,
Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
- if(endPosition <= spannableStringT.toString().length() && endPosition >= startPosition)
- spannableStringT.setSpan(new ForegroundColorSpan(ContextCompat.getColor(context, (theme==Helper.THEME_DARK||theme==Helper.THEME_BLACK)?R.color.mastodonC2:R.color.mastodonC4)), startPosition, endPosition,
- Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
+ if(endPosition <= spannableStringT.toString().length() && endPosition >= startPosition){
+ if (theme == THEME_DARK)
+ spannableStringT.setSpan(new ForegroundColorSpan(ContextCompat.getColor(context, R.color.dark_link_toot)), startPosition, endPosition,
+ Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
+ else if (theme == THEME_BLACK)
+ spannableStringT.setSpan(new ForegroundColorSpan(ContextCompat.getColor(context, R.color.dark_link_toot)), startPosition, endPosition,
+ Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
+ else if (theme == THEME_LIGHT)
+ spannableStringT.setSpan(new ForegroundColorSpan(ContextCompat.getColor(context, R.color.mastodonC4)), startPosition, endPosition,
+ Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
+ }
}
}
}
@@ -853,16 +854,13 @@ public class Status implements Parcelable{
for(int startPosition = -1 ; (startPosition = spannableStringT.toString().toLowerCase().indexOf(key.toLowerCase(), startPosition + 1)) != -1 ; startPosition++){
int endPosition = startPosition + key.length();
- URLSpan[] spans = spannableStringT.getSpans(startPosition, endPosition, URLSpan.class);
- for (URLSpan span : spans) {
- spannableStringT.removeSpan(span);
- }
- if( endPosition <= spannableStringT.toString().length() && endPosition >= startPosition)
+
+ if( endPosition <= spannableStringT.toString().length() && endPosition >= startPosition) {
spannableStringT.setSpan(new ClickableSpan() {
@Override
public void onClick(View textView) {
String finalUrl = url;
- Pattern link = Pattern.compile("https?:\\/\\/([\\da-z\\.-]+\\.[a-z\\.]{2,6})\\/(@[\\w._-]*[0-9]*)(\\/[0-9]{1,})?$");
+ Pattern link = Pattern.compile("https?:\\/\\/([\\da-z\\.-]+\\.[a-z\\.]{2,10})\\/(@[\\w._-]*[0-9]*)(\\/[0-9]{1,})?$");
Matcher matcherLink = link.matcher(url);
if( matcherLink.find()){
Intent intent = new Intent(context, MainActivity.class);
@@ -870,9 +868,23 @@ public class Status implements Parcelable{
intent.putExtra(SEARCH_URL, url);
context.startActivity(intent);
}else {
- if( !url.startsWith("http://") && ! url.startsWith("https://"))
- finalUrl = "http://" + url;
- Helper.openBrowser(context, finalUrl);
+ link = Pattern.compile("(https?:\\/\\/[\\da-z\\.-]+\\.[a-z\\.]{2,10})\\/videos\\/watch\\/(\\w{8}-\\w{4}-\\w{4}-\\w{4}-\\w{12})$");
+ matcherLink = link.matcher(url);
+ if( matcherLink.find()){ //Peertubee video
+ Intent intent = new Intent(context, PeertubeActivity.class);
+ Bundle b = new Bundle();
+ String url = matcherLink.group(1) + "/videos/watch/" + matcherLink.group(2);
+ b.putString("peertubeLinkToFetch", url);
+ b.putString("peertube_instance", matcherLink.group(1).replace("https://","").replace("http://",""));
+ b.putString("video_id", matcherLink.group(2));
+ intent.putExtras(b);
+ context.startActivity(intent);
+ }else {
+ if( !url.startsWith("http://") && ! url.startsWith("https://"))
+ finalUrl = "http://" + url;
+ Helper.openBrowser(context, finalUrl);
+ }
+
}
}
@Override
@@ -883,9 +895,18 @@ public class Status implements Parcelable{
},
startPosition, endPosition,
Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
- if(endPosition <= spannableStringT.toString().length() && endPosition >= startPosition)
- spannableStringT.setSpan(new ForegroundColorSpan(ContextCompat.getColor(context, (theme==Helper.THEME_DARK||theme==Helper.THEME_BLACK)?R.color.mastodonC2:R.color.mastodonC4)), startPosition, endPosition,
- Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
+ }
+ if(endPosition <= spannableStringT.toString().length() && endPosition >= startPosition){
+ if (theme == THEME_DARK)
+ spannableStringT.setSpan(new ForegroundColorSpan(ContextCompat.getColor(context, R.color.dark_link_toot)), startPosition, endPosition,
+ Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
+ else if (theme == THEME_BLACK)
+ spannableStringT.setSpan(new ForegroundColorSpan(ContextCompat.getColor(context, R.color.black_link_toot)), startPosition, endPosition,
+ Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
+ else if (theme == THEME_LIGHT)
+ spannableStringT.setSpan(new ForegroundColorSpan(ContextCompat.getColor(context, R.color.mastodonC4)), startPosition, endPosition,
+ Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
+ }
}
}
it.remove();
@@ -901,10 +922,6 @@ public class Status implements Parcelable{
for(int startPosition = -1 ; (startPosition = spannableStringT.toString().toLowerCase().indexOf(targetedAccount.toLowerCase(), startPosition + 1)) != -1 ; startPosition++){
int endPosition = startPosition + targetedAccount.length();
- URLSpan[] spans = spannableStringT.getSpans(startPosition, endPosition, URLSpan.class);
- for (URLSpan span : spans) {
- spannableStringT.removeSpan(span);
- }
if( endPosition <= spannableStringT.toString().length() && endPosition >= startPosition)
spannableStringT.setSpan(new ClickableSpan() {
@Override
@@ -923,9 +940,17 @@ public class Status implements Parcelable{
},
startPosition, endPosition,
Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
- if(endPosition <= spannableStringT.toString().length() && endPosition >= startPosition)
- spannableStringT.setSpan(new ForegroundColorSpan(ContextCompat.getColor(context, (theme==Helper.THEME_DARK||theme==Helper.THEME_BLACK)?R.color.mastodonC2:R.color.mastodonC4)), startPosition, endPosition,
- Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
+ if(endPosition <= spannableStringT.toString().length() && endPosition >= startPosition){
+ if (theme == THEME_DARK)
+ spannableStringT.setSpan(new ForegroundColorSpan(ContextCompat.getColor(context, R.color.dark_link_toot)), startPosition, endPosition,
+ Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
+ else if (theme == THEME_BLACK)
+ spannableStringT.setSpan(new ForegroundColorSpan(ContextCompat.getColor(context, R.color.black_link_toot)), startPosition, endPosition,
+ Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
+ else if (theme == THEME_LIGHT)
+ spannableStringT.setSpan(new ForegroundColorSpan(ContextCompat.getColor(context, R.color.mastodonC4)), startPosition, endPosition,
+ Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
+ }
}
}
@@ -935,10 +960,6 @@ public class Status implements Parcelable{
while (matcher.find()){
int matchStart = matcher.start(1);
int matchEnd = matcher.end();
- URLSpan[] spans = spannableStringT.getSpans(matchStart, matchEnd, URLSpan.class);
- for (URLSpan span : spans) {
- spannableStringT.removeSpan(span);
- }
final String tag = spannableStringT.toString().substring(matchStart, matchEnd);
if( matchEnd <= spannableStringT.toString().length() && matchEnd >= matchStart)
spannableStringT.setSpan(new ClickableSpan() {
@@ -956,9 +977,17 @@ public class Status implements Parcelable{
ds.setUnderlineText(false);
}
}, matchStart, matchEnd, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
- if( matchEnd <= spannableStringT.toString().length() && matchEnd >= matchStart)
- spannableStringT.setSpan(new ForegroundColorSpan(ContextCompat.getColor(context, (theme==Helper.THEME_DARK||theme==Helper.THEME_BLACK)?R.color.mastodonC2:R.color.mastodonC4)), matchStart, matchEnd,
- Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
+ if( matchEnd <= spannableStringT.toString().length() && matchEnd >= matchStart){
+ if (theme == THEME_DARK)
+ spannableStringT.setSpan(new ForegroundColorSpan(ContextCompat.getColor(context, R.color.dark_link_toot)), matchStart, matchEnd,
+ Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
+ else if (theme == THEME_BLACK)
+ spannableStringT.setSpan(new ForegroundColorSpan(ContextCompat.getColor(context, R.color.black_link_toot)), matchStart, matchEnd,
+ Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
+ else if (theme == THEME_LIGHT)
+ spannableStringT.setSpan(new ForegroundColorSpan(ContextCompat.getColor(context, R.color.mastodonC4)), matchStart, matchEnd,
+ Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
+ }
}
return spannableStringT;
}
@@ -1053,4 +1082,12 @@ public class Status implements Parcelable{
public void setType(RetrieveFeedsAsyncTask.Type type) {
this.type = type;
}
+
+ public List<String> getConversationProfilePicture() {
+ return conversationProfilePicture;
+ }
+
+ public void setConversationProfilePicture(List<String> conversationProfilePicture) {
+ this.conversationProfilePicture = conversationProfilePicture;
+ }
}