diff options
5 files changed, 9 insertions, 6 deletions
diff --git a/app/src/main/assets/changelogs/359.txt b/app/src/main/assets/changelogs/359.txt index b237b22a1..6ec945165 100644 --- a/app/src/main/assets/changelogs/359.txt +++ b/app/src/main/assets/changelogs/359.txt @@ -2,4 +2,5 @@ Changed: Fixed: -- Crash when Youtube videos in timelines
\ No newline at end of file +- Crash when Youtube videos in timelines +- Announcements not displayed
\ No newline at end of file diff --git a/app/src/main/java/app/fedilab/android/client/API.java b/app/src/main/java/app/fedilab/android/client/API.java index a1baf7657..ec2f9520b 100644 --- a/app/src/main/java/app/fedilab/android/client/API.java +++ b/app/src/main/java/app/fedilab/android/client/API.java @@ -19,7 +19,6 @@ import android.content.Intent; import android.content.SharedPreferences; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; - import androidx.localbroadcastmanager.content.LocalBroadcastManager; import com.google.gson.JsonArray; @@ -652,6 +651,7 @@ public class API { } List<Mention> mentions = new ArrayList<>(); + try { JSONArray arrayMention = resobj.getJSONArray("mentions"); for (int j = 0; j < arrayMention.length(); j++) { @@ -671,6 +671,7 @@ public class API { } catch (JSONException | ParseException e) { e.printStackTrace(); } + Status.fillSpan(context, announcement); return announcement; } diff --git a/app/src/main/java/app/fedilab/android/client/Entities/Status.java b/app/src/main/java/app/fedilab/android/client/Entities/Status.java index d698508d0..1b690e369 100644 --- a/app/src/main/java/app/fedilab/android/client/Entities/Status.java +++ b/app/src/main/java/app/fedilab/android/client/Entities/Status.java @@ -859,7 +859,6 @@ public class Status implements Parcelable { return; final List<Emojis> emojis = status.getReblog() != null ? status.getReblog().getEmojis() : status.getEmojis(); - SpannableString contentSpan = status.getContentSpan(); SpannableString contentSpanCW = status.getContentSpanCW(); SharedPreferences sharedpreferences = context.getSharedPreferences(Helper.APP_PREFS, Context.MODE_PRIVATE); diff --git a/app/src/main/java/app/fedilab/android/drawers/StatusListAdapter.java b/app/src/main/java/app/fedilab/android/drawers/StatusListAdapter.java index a31920fa0..d1027c085 100644 --- a/app/src/main/java/app/fedilab/android/drawers/StatusListAdapter.java +++ b/app/src/main/java/app/fedilab/android/drawers/StatusListAdapter.java @@ -568,13 +568,13 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct show_account_boosts = sharedpreferences.getBoolean(Helper.SHOW_ACCOUNT_BOOSTS, true); show_account_replies = sharedpreferences.getBoolean(Helper.SHOW_ACCOUNT_REPLIES, true); } - if (type != RetrieveFeedsAsyncTask.Type.REMOTE_INSTANCE && type != RetrieveFeedsAsyncTask.Type.NEWS && !Helper.filterToots(statuses.get(position), type, context instanceof ShowAccountActivity, show_account_boosts, show_account_replies)) { + if (type != RetrieveFeedsAsyncTask.Type.REMOTE_INSTANCE && type != RetrieveFeedsAsyncTask.Type.NEWS && type != RetrieveFeedsAsyncTask.Type.ANNOUNCEMENTS && !Helper.filterToots(statuses.get(position), type, context instanceof ShowAccountActivity, show_account_boosts, show_account_replies)) { return HIDDEN_STATUS; } if (statuses.get(position).isFocused() && type == RetrieveFeedsAsyncTask.Type.CONTEXT && statuses.get(position).getViewType() != CONSOLE_STATUS) return FOCUSED_STATUS; else { - if (social == UpdateAccountInfoAsyncTask.SOCIAL.PIXELFED && type == RetrieveFeedsAsyncTask.Type.CONTEXT) { + if ((social == UpdateAccountInfoAsyncTask.SOCIAL.PIXELFED && type == RetrieveFeedsAsyncTask.Type.CONTEXT) || type == RetrieveFeedsAsyncTask.Type.ANNOUNCEMENTS) { return COMPACT_STATUS; } else { if (instanceType == null || instanceType.compareTo("NITTER") != 0) { diff --git a/app/src/main/java/app/fedilab/android/fragments/DisplayStatusFragment.java b/app/src/main/java/app/fedilab/android/fragments/DisplayStatusFragment.java index b7ef6c417..e10b1e494 100644 --- a/app/src/main/java/app/fedilab/android/fragments/DisplayStatusFragment.java +++ b/app/src/main/java/app/fedilab/android/fragments/DisplayStatusFragment.java @@ -612,14 +612,15 @@ public class DisplayStatusFragment extends Fragment implements OnPostActionInter } else if (type == RetrieveFeedsAsyncTask.Type.ANNOUNCEMENTS) { if (apiResponse.getAnnouncements() != null && apiResponse.getAnnouncements().size() > 0) { List<Status> statusesAnnouncements = new ArrayList<>(); - apiResponse.setStatuses(statusesAnnouncements); for (Announcement announcement : apiResponse.getAnnouncements()) { statusesAnnouncements.add(0, announcement); if (!announcement.isRead()) { new PostActionAsyncTask(context, API.StatusAction.DISMISS_ANNOUNCEMENT, announcement.getId(), DisplayStatusFragment.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); } } + apiResponse.setStatuses(statusesAnnouncements); } + final NavigationView navigationView = ((MainActivity) context).findViewById(R.id.nav_view); MenuItem item = navigationView.getMenu().findItem(R.id.nav_announcements); TextView actionView = item.getActionView().findViewById(R.id.counter); @@ -634,6 +635,7 @@ public class DisplayStatusFragment extends Fragment implements OnPostActionInter statuses = apiResponse.getResults().getStatuses(); else statuses = apiResponse.getStatuses(); + //At this point all statuses are in "List<Status> statuses" //Pagination for Pixelfed if (instanceType.equals("PIXELFED")) { |