Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/stefan-niedermann/nextcloud-deck.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordesperateCoder <echotodevnull@gmail.com>2020-07-03 22:51:15 +0300
committerdesperateCoder <echotodevnull@gmail.com>2020-07-03 22:51:15 +0300
commitbcfec955122e7ed6bc9e96e3da8bb029a44c5082 (patch)
treed03e9f4ea085543b082d5ed3aa149cb0b661ecdb /app/src/main/java/it/niedermann
parent63e2b7f7bffeb21f6dc55dab24bf48884bd7a36d (diff)
#561 eliminate duplicate user-search entries
Diffstat (limited to 'app/src/main/java/it/niedermann')
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/util/extrawurst/UserSearchLiveData.java14
1 files changed, 12 insertions, 2 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/util/extrawurst/UserSearchLiveData.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/util/extrawurst/UserSearchLiveData.java
index f5c7652bf..1db4f7a94 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/util/extrawurst/UserSearchLiveData.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/util/extrawurst/UserSearchLiveData.java
@@ -73,7 +73,7 @@ public class UserSearchLiveData extends MediatorLiveData<List<User>> implements
}
foundOnServer = allFound;
DeckLog.info("###DeckUserSearch: posted Server value: "+allFound);
- postValue(allFound);
+ postValue(eliminateDuplicates(allFound));
}
@Override
@@ -90,8 +90,18 @@ public class UserSearchLiveData extends MediatorLiveData<List<User>> implements
if (foundOnServer != null && !foundOnServer.isEmpty()) {
users.addAll(foundOnServer);
}
- postValue(users);
+ postValue(eliminateDuplicates(users));
DeckLog.info("###DeckUserSearch: posted db-value: "+foundInDB);
});
}
+ private List<User> eliminateDuplicates(List<User> source) {
+ List<User> retList = new ArrayList<>(source.size());
+ // should be enough like this, since the account doesn't matter here, always the same.
+ for (User user : source) {
+ if (!retList.contains(user)){
+ retList.add(user);
+ }
+ }
+ return retList;
+ }
}