From f65c7a9c42ca72544ab8857376b57594c2bd7908 Mon Sep 17 00:00:00 2001 From: stom79 Date: Sat, 24 Nov 2018 17:39:44 +0100 Subject: [PATCH] Some fixes with toots & bookmark for cache --- .../mastodon/client/Entities/Status.java | 45 ++++++++++--------- .../fragments/DisplayStatusFragment.java | 10 ++++- 2 files changed, 32 insertions(+), 23 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 f49ddf6b3..6182b81ee 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 @@ -926,7 +926,10 @@ public class Status implements Parcelable{ for (final Mention mention : mentions) { String targetedAccount = "@" + mention.getUsername(); 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())) { //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++) { @@ -966,26 +969,26 @@ public class Status implements Parcelable{ int endPosition = startPosition + targetedAccount.length(); if( endPosition <= spannableStringT.toString().length() && endPosition >= startPosition) spannableStringT.setSpan(new ClickableSpan() { - @Override - public void onClick(View textView) { - Intent intent = new Intent(context, ShowAccountActivity.class); - Bundle b = new Bundle(); - b.putString("accountId", mention.getId()); - intent.putExtras(b); - context.startActivity(intent); - } - @Override - public void updateDrawState(TextPaint ds) { - super.updateDrawState(ds); - ds.setUnderlineText(false); - if (theme == THEME_DARK) - ds.setColor(ContextCompat.getColor(context, R.color.dark_link_toot)); - else if (theme == THEME_BLACK) - ds.setColor(ContextCompat.getColor(context, R.color.black_link_toot)); - else if (theme == THEME_LIGHT) - ds.setColor(ContextCompat.getColor(context, R.color.mastodonC4)); - } - }, + @Override + public void onClick(View textView) { + Intent intent = new Intent(context, ShowAccountActivity.class); + Bundle b = new Bundle(); + b.putString("accountId", mention.getId()); + intent.putExtras(b); + context.startActivity(intent); + } + @Override + public void updateDrawState(TextPaint ds) { + super.updateDrawState(ds); + ds.setUnderlineText(false); + if (theme == THEME_DARK) + ds.setColor(ContextCompat.getColor(context, R.color.dark_link_toot)); + else if (theme == THEME_BLACK) + ds.setColor(ContextCompat.getColor(context, R.color.black_link_toot)); + else if (theme == THEME_LIGHT) + ds.setColor(ContextCompat.getColor(context, R.color.mastodonC4)); + } + }, startPosition, endPosition, Spanned.SPAN_INCLUSIVE_EXCLUSIVE); } diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/fragments/DisplayStatusFragment.java b/app/src/main/java/fr/gouv/etalab/mastodon/fragments/DisplayStatusFragment.java index 375d5cd35..45ac7c6e3 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/fragments/DisplayStatusFragment.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/fragments/DisplayStatusFragment.java @@ -293,7 +293,10 @@ public class DisplayStatusFragment extends Fragment implements OnRetrieveFeedsIn String bookmark; if( context instanceof BaseMainActivity){ 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; } @@ -324,7 +327,10 @@ public class DisplayStatusFragment extends Fragment implements OnRetrieveFeedsIn String bookmark; if( context instanceof BaseMainActivity){ 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; } }else {