diff options
Diffstat (limited to 'app/src/main/java/fr/gouv')
-rw-r--r-- | app/src/main/java/fr/gouv/etalab/mastodon/fragments/DisplayStatusFragment.java | 16 |
1 files 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<Status> 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)) { |