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:
authorStefan Niedermann <info@niedermann.it>2021-04-09 19:21:21 +0300
committerNiedermann IT-Dienstleistungen <stefan-niedermann@users.noreply.github.com>2021-04-10 14:38:50 +0300
commite9b9c8f6358ee790dc80f448cce143741df164e9 (patch)
treea64f2e96451cff972dfd2f6afa1a8958fa2a19de
parentad77fcbb4c7e7f49944a66c06c0fb71526bb81af (diff)
#690 Upcoming cards
Show dummy data Signed-off-by: Stefan Niedermann <info@niedermann.it>
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/SyncManager.java10
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/upcomingcards/UpcomingCardsActvitiy.java1
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/upcomingcards/UpcomingCardsViewModel.java31
3 files changed, 24 insertions, 18 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/SyncManager.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/SyncManager.java
index 7866fe3f1..cd7eebbbb 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/SyncManager.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/SyncManager.java
@@ -872,6 +872,10 @@ public class SyncManager {
return dataBaseAdapter.getFullBoardById(accountId, localId);
}
+ public Board getBoardById(Long localId) {
+ return dataBaseAdapter.getBoardByLocalIdDirectly(localId);
+ }
+
@AnyThread
public void createStack(long accountId, @NonNull String title, long boardLocalId, @NonNull ResponseCallback<FullStack> callback) {
doAsync(() -> {
@@ -1892,10 +1896,8 @@ public class SyncManager {
}
@WorkerThread
- public LiveData<List<FilterWidgetCard>> getCardsForFilterWidget(@NonNull FilterWidget filterWidget) {
- return wrapInLiveData(() -> {
- return dataBaseAdapter.getCardsForFilterWidget(filterWidget);
- });
+ public List<FilterWidgetCard> getCardsForFilterWidget(@NonNull FilterWidget filterWidget) {
+ return dataBaseAdapter.getCardsForFilterWidget(filterWidget);
}
// # single card widget
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/upcomingcards/UpcomingCardsActvitiy.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/upcomingcards/UpcomingCardsActvitiy.java
index 303c91e7d..eeef0c9c4 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/upcomingcards/UpcomingCardsActvitiy.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/upcomingcards/UpcomingCardsActvitiy.java
@@ -28,6 +28,7 @@ public class UpcomingCardsActvitiy extends AppCompatActivity {
setSupportActionBar(binding.toolbar);
final UpcomingCardsAdapter adapter = new UpcomingCardsAdapter(this, getSupportFragmentManager());
+ binding.recyclerView.setAdapter(adapter);
viewModel = new ViewModelProvider(this).get(UpcomingCardsViewModel.class);
viewModel.getUpcomingCards().observe(this, adapter::setCardList);
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/upcomingcards/UpcomingCardsViewModel.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/upcomingcards/UpcomingCardsViewModel.java
index f6d43043d..f8ab3b345 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/upcomingcards/UpcomingCardsViewModel.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/upcomingcards/UpcomingCardsViewModel.java
@@ -5,6 +5,7 @@ import android.app.Application;
import androidx.annotation.NonNull;
import androidx.lifecycle.AndroidViewModel;
import androidx.lifecycle.LiveData;
+import androidx.lifecycle.MutableLiveData;
import java.util.List;
import java.util.stream.Collectors;
@@ -16,11 +17,10 @@ import it.niedermann.nextcloud.deck.model.widget.filter.EWidgetType;
import it.niedermann.nextcloud.deck.model.widget.filter.FilterWidget;
import it.niedermann.nextcloud.deck.model.widget.filter.FilterWidgetAccount;
import it.niedermann.nextcloud.deck.model.widget.filter.FilterWidgetSort;
+import it.niedermann.nextcloud.deck.model.widget.filter.FilterWidgetUser;
+import it.niedermann.nextcloud.deck.model.widget.filter.dto.FilterWidgetCard;
import it.niedermann.nextcloud.deck.persistence.sync.SyncManager;
-import static androidx.lifecycle.Transformations.map;
-import static androidx.lifecycle.Transformations.switchMap;
-
@SuppressWarnings("WeakerAccess")
public class UpcomingCardsViewModel extends AndroidViewModel {
@@ -32,23 +32,26 @@ public class UpcomingCardsViewModel extends AndroidViewModel {
}
public LiveData<List<UpcomingCardsAdapterItem>> getUpcomingCards() {
- return switchMap(syncManager.readAccounts(), (accounts) -> {
+ final MutableLiveData<List<UpcomingCardsAdapterItem>> ret = new MutableLiveData<>();
+ new Thread(() -> {
+ List<Account> accounts = syncManager.readAccountsDirectly();
+
final FilterWidget config = new FilterWidget();
config.setWidgetType(EWidgetType.UPCOMING_WIDGET);
config.setSorts(new FilterWidgetSort(ESortCriteria.DUE_DATE, true));
config.setAccounts(accounts.stream().map(account -> {
final FilterWidgetAccount fwa = new FilterWidgetAccount(account.getId(), false);
- // TODO syncManager.getUserByUidDirectly(account.getId(), account.getUserName()).getLocalId())
-// fwa.setUsers(new FilterWidgetUser(new User(1L, "stefan"));
+ fwa.setUsers(new FilterWidgetUser(syncManager.getUserByUidDirectly(account.getId(), account.getUserName()).getLocalId()));
return fwa;
}).collect(Collectors.toList()));
- return map(this.syncManager.getCardsForFilterWidget(new FilterWidget()),
- (filterWidgetCards) -> {
- return filterWidgetCards.stream().map((filterWidgetCard -> {
- final Board board = filterWidgetCard.getBoard();
- return new UpcomingCardsAdapterItem(filterWidgetCard.getCard(), new Account(), board.getId(), board.getLocalId(), board.isPermissionEdit());
- })).collect(Collectors.toList());
- });
- });
+ List<FilterWidgetCard> filterWidgetCards = this.syncManager.getCardsForFilterWidget(new FilterWidget());
+ ret.postValue(filterWidgetCards.stream().map((filterWidgetCard -> {
+ final Board board = syncManager.getBoardById(
+ syncManager.getBoardLocalIdByLocalCardIdDirectly(filterWidgetCard.getCard().getLocalId())
+ );
+ return new UpcomingCardsAdapterItem(filterWidgetCard.getCard(), new Account(), board.getId(), board.getLocalId(), board.isPermissionEdit());
+ })).collect(Collectors.toList()));
+ }).start();
+ return ret;
}
}