From 2a4db27b0620828ab9fe4c1db6b4f0f433d8a2a7 Mon Sep 17 00:00:00 2001 From: stom79 Date: Thu, 22 Nov 2018 19:15:31 +0100 Subject: Release 1.30.3 --- app/build.gradle | 4 ++-- .../etalab/mastodon/fragments/DisplayStatusFragment.java | 14 ++++++++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 1225b293d..2514f3f7f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -7,8 +7,8 @@ android { applicationId "fr.gouv.etalab.mastodon" minSdkVersion 15 targetSdkVersion 28 - versionCode 188 - versionName "1.30.2" + versionCode 189 + versionName "1.30.3" } flavorDimensions "default" buildTypes { 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 5e29986fd..55b695aaa 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 @@ -716,12 +716,18 @@ public class DisplayStatusFragment extends Fragment implements OnRetrieveFeedsIn isSwipped = false; if( statuses != null && statuses.size() > 0) { int inserted = 0; + int insertedConversation = 0; if(type == RetrieveFeedsAsyncTask.Type.CONVERSATION){ //Remove conversation already displayed if new messages int position = 0; if( this.statuses != null) { + long initialConversationId = -1; + if( this.statuses.size() > 0 ) + initialConversationId = Long.parseLong(this.statuses.get(0).getConversationId()); for (Iterator it = this.statuses.iterator(); it.hasNext(); ) { Status status = it.next(); for (Status status1 : statuses) { + if(initialConversationId > 0 && Long.parseLong(status1.getConversationId()) > initialConversationId) + insertedConversation++; if (status.getConversationId() != null && status.getConversationId().equals(status1.getConversationId())) { statusListAdapter.notifyItemRemoved(position); it.remove(); @@ -748,8 +754,12 @@ public class DisplayStatusFragment extends Fragment implements OnRetrieveFeedsIn try { if( type == RetrieveFeedsAsyncTask.Type.HOME) ((MainActivity) context).updateHomeCounter(); - else - ((MainActivity) context).updateTimeLine(type, inserted); + else { + if( type != RetrieveFeedsAsyncTask.Type.CONVERSATION) + ((MainActivity) context).updateTimeLine(type, inserted); + else + ((MainActivity) context).updateTimeLine(type, insertedConversation); + } }catch (Exception ignored){} } } -- cgit v1.2.3