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>2021-04-09 21:16:10 +0300
committerNiedermann IT-Dienstleistungen <stefan-niedermann@users.noreply.github.com>2021-04-10 14:38:50 +0300
commitb630a63f0133223c8d5d9266224f4ffae5b64ec0 (patch)
tree5f451980979f63e39c09f695c201cf36fc4724a2 /app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DataBaseAdapter.java
parentec169382d41f5c12f62dc33e6469b6e26830c7da (diff)
#690 use same logic for widgets
Diffstat (limited to 'app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DataBaseAdapter.java')
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DataBaseAdapter.java37
1 files changed, 23 insertions, 14 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DataBaseAdapter.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DataBaseAdapter.java
index 59fde4a10..49face983 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DataBaseAdapter.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DataBaseAdapter.java
@@ -14,6 +14,8 @@ import androidx.annotation.WorkerThread;
import androidx.lifecycle.LiveData;
import androidx.sqlite.db.SimpleSQLiteQuery;
+import org.jetbrains.annotations.NotNull;
+
import java.time.Instant;
import java.util.ArrayList;
import java.util.Collection;
@@ -1255,21 +1257,28 @@ public class DataBaseAdapter {
public LiveData<List<UpcomingCardsAdapterItem>> getCardsForUpcomingCard() {
LiveData<List<FullCard>> upcomingCardsLiveData = db.getCardDao().getUpcomingCards();
- return LiveDataHelper.postCustomValue(upcomingCardsLiveData, cardsResult -> {
- filterRelationsForCard(cardsResult);
- List<UpcomingCardsAdapterItem> result = new ArrayList<>(cardsResult.size());
- Map<Long, Account> accountCache = new HashMap<>();
- for (FullCard fullCard : cardsResult) {
- Board board = db.getBoardDao().getBoardByLocalCardIdDirectly(fullCard.getLocalId());
- Account account = accountCache.get(fullCard.getAccountId());
- if (account == null) {
- account = db.getAccountDao().getAccountByIdDirectly(fullCard.getAccountId());
- accountCache.put(fullCard.getAccountId(), account);
- }
- result.add(new UpcomingCardsAdapterItem(fullCard, account, board.getLocalId(), board.getId(), board.isPermissionEdit()));
+ return LiveDataHelper.postCustomValue(upcomingCardsLiveData, this::cardResultsToUpcomingCardsAdapterItems);
+ }
+
+ public List<UpcomingCardsAdapterItem> getCardsForUpcomingCardForWidget() {
+ return cardResultsToUpcomingCardsAdapterItems(db.getCardDao().getUpcomingCardsDirectly());
+ }
+
+ @NotNull
+ private List<UpcomingCardsAdapterItem> cardResultsToUpcomingCardsAdapterItems(List<FullCard> cardsResult) {
+ filterRelationsForCard(cardsResult);
+ List<UpcomingCardsAdapterItem> result = new ArrayList<>(cardsResult.size());
+ Map<Long, Account> accountCache = new HashMap<>();
+ for (FullCard fullCard : cardsResult) {
+ Board board = db.getBoardDao().getBoardByLocalCardIdDirectly(fullCard.getLocalId());
+ Account account = accountCache.get(fullCard.getAccountId());
+ if (account == null) {
+ account = db.getAccountDao().getAccountByIdDirectly(fullCard.getAccountId());
+ accountCache.put(fullCard.getAccountId(), account);
}
- return result;
- });
+ result.add(new UpcomingCardsAdapterItem(fullCard, account, board.getLocalId(), board.getId(), board.isPermissionEdit()));
+ }
+ return result;
}
public List<FilterWidgetCard> getCardsForFilterWidget(@NonNull Integer filterWidgetId) {