Some fixes with toots & bookmark for cache

This commit is contained in:
stom79 2018-11-24 17:39:44 +01:00
parent 1348a98f71
commit f65c7a9c42
2 changed files with 32 additions and 23 deletions

View File

@ -926,7 +926,10 @@ public class Status implements Parcelable{
for (final Mention mention : mentions) { for (final Mention mention : mentions) {
String targetedAccount = "@" + mention.getUsername(); String targetedAccount = "@" + mention.getUsername();
if(spannableStringT.toString().toLowerCase().contains(("@" + mention.getAcct()).toLowerCase())) { if(spannableStringT.toString().toLowerCase().contains(("@" + mention.getAcct()).toLowerCase())) {
targetedAccount = "@" + mention.getAcct(); String fullname = mention.getAcct();
if( fullname.split("@").length == 1)
fullname += "@" + Helper.getLiveInstance(context);
targetedAccount = "@" + fullname;
if (spannableStringT.toString().toLowerCase().contains(targetedAccount.toLowerCase())) { if (spannableStringT.toString().toLowerCase().contains(targetedAccount.toLowerCase())) {
//Accounts can be mentioned several times so we have to loop //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++) { for (int startPosition = -1; (startPosition = spannableStringT.toString().toLowerCase().indexOf(targetedAccount.toLowerCase(), startPosition + 1)) != -1; startPosition++) {
@ -966,26 +969,26 @@ public class Status implements Parcelable{
int endPosition = startPosition + targetedAccount.length(); int endPosition = startPosition + targetedAccount.length();
if( endPosition <= spannableStringT.toString().length() && endPosition >= startPosition) if( endPosition <= spannableStringT.toString().length() && endPosition >= startPosition)
spannableStringT.setSpan(new ClickableSpan() { spannableStringT.setSpan(new ClickableSpan() {
@Override @Override
public void onClick(View textView) { public void onClick(View textView) {
Intent intent = new Intent(context, ShowAccountActivity.class); Intent intent = new Intent(context, ShowAccountActivity.class);
Bundle b = new Bundle(); Bundle b = new Bundle();
b.putString("accountId", mention.getId()); b.putString("accountId", mention.getId());
intent.putExtras(b); intent.putExtras(b);
context.startActivity(intent); context.startActivity(intent);
} }
@Override @Override
public void updateDrawState(TextPaint ds) { public void updateDrawState(TextPaint ds) {
super.updateDrawState(ds); super.updateDrawState(ds);
ds.setUnderlineText(false); ds.setUnderlineText(false);
if (theme == THEME_DARK) if (theme == THEME_DARK)
ds.setColor(ContextCompat.getColor(context, R.color.dark_link_toot)); ds.setColor(ContextCompat.getColor(context, R.color.dark_link_toot));
else if (theme == THEME_BLACK) else if (theme == THEME_BLACK)
ds.setColor(ContextCompat.getColor(context, R.color.black_link_toot)); ds.setColor(ContextCompat.getColor(context, R.color.black_link_toot));
else if (theme == THEME_LIGHT) else if (theme == THEME_LIGHT)
ds.setColor(ContextCompat.getColor(context, R.color.mastodonC4)); ds.setColor(ContextCompat.getColor(context, R.color.mastodonC4));
} }
}, },
startPosition, endPosition, startPosition, endPosition,
Spanned.SPAN_INCLUSIVE_EXCLUSIVE); Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
} }

View File

@ -293,7 +293,10 @@ public class DisplayStatusFragment extends Fragment implements OnRetrieveFeedsIn
String bookmark; String bookmark;
if( context instanceof BaseMainActivity){ if( context instanceof BaseMainActivity){
bookmark = ((BaseMainActivity) context).getBookmark(); bookmark = ((BaseMainActivity) context).getBookmark();
asyncTask = new RetrieveFeedsAsyncTask(context, type, bookmark,true,DisplayStatusFragment.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); if( bookmark != null)
asyncTask = new RetrieveFeedsAsyncTask(context, type, bookmark,true,DisplayStatusFragment.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
else
asyncTask = new RetrieveFeedsAsyncTask(context, type, null, DisplayStatusFragment.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
firstTootsLoaded = false; firstTootsLoaded = false;
} }
@ -324,7 +327,10 @@ public class DisplayStatusFragment extends Fragment implements OnRetrieveFeedsIn
String bookmark; String bookmark;
if( context instanceof BaseMainActivity){ if( context instanceof BaseMainActivity){
bookmark = ((BaseMainActivity) context).getBookmark(); bookmark = ((BaseMainActivity) context).getBookmark();
asyncTask = new RetrieveFeedsAsyncTask(context, type, bookmark, true,DisplayStatusFragment.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); if( bookmark != null)
asyncTask = new RetrieveFeedsAsyncTask(context, type, bookmark,true,DisplayStatusFragment.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
else
asyncTask = new RetrieveFeedsAsyncTask(context, type, null, DisplayStatusFragment.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
firstTootsLoaded = false; firstTootsLoaded = false;
} }
}else { }else {