From 2ea75860a6a72de18b617dd9ba74d5bdc2e663c3 Mon Sep 17 00:00:00 2001 From: stom79 Date: Fri, 28 Dec 2018 12:09:06 +0100 Subject: Small fixes for nsfw --- .../etalab/mastodon/fragments/DisplayStatusFragment.java | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) 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 87c0682a9..17bb3169c 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 @@ -794,9 +794,19 @@ public class DisplayStatusFragment extends Fragment implements OnRetrieveFeedsIn for (int i = statuses.size() - 1; i >= 0; i--) { if( this.statuses != null) { if( type != RetrieveFeedsAsyncTask.Type.HOME){ - if( Long.parseLong(statuses.get(i).getId()) > Long.parseLong(this.statuses.get(0).getId())) { - inserted++; - this.statuses.add(0, statuses.get(i)); + if( tagTimeline == null || !tagTimeline.isART() || (tagTimeline.isART() && tagTimeline.isNSFW())) { + if (Long.parseLong(statuses.get(i).getId()) > Long.parseLong(this.statuses.get(0).getId())) { + inserted++; + this.statuses.add(0, statuses.get(i)); + } + }else{ + ArrayList safeStatuses = new ArrayList<>(); + for(Status status: statuses){ + if( !status.isSensitive()) + safeStatuses.add(status); + } + this.statuses.addAll(safeStatuses); + statusListAdapter.notifyItemRangeInserted(0, safeStatuses.size()); } }else { if( lastReadToot != null && Long.parseLong(statuses.get(i).getId()) > Long.parseLong(lastReadToot)) { -- cgit v1.2.3