diff options
author | Stefan Niedermann <info@niedermann.it> | 2021-06-17 20:40:58 +0300 |
---|---|---|
committer | Stefan Niedermann <info@niedermann.it> | 2021-06-17 20:40:58 +0300 |
commit | 398e1d64aed19ae9e04975ede2c3b1c86e3c47e5 (patch) | |
tree | 57ad7a443e9202ef63ee0e24ae8fb9363933d150 /app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DataBaseAdapter.java | |
parent | 714eee03090deb490c797e1a70293e0cb54c92a3 (diff) |
Use IResponseCallback in favor of observeOnce for importing accounts
Signed-off-by: Stefan Niedermann <info@niedermann.it>
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.java | 33 |
1 files changed, 11 insertions, 22 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 eb720e345..703d50730 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 @@ -75,7 +75,6 @@ import it.niedermann.nextcloud.deck.model.widget.filter.FilterWidgetUser; import it.niedermann.nextcloud.deck.model.widget.filter.dto.FilterWidgetCard; import it.niedermann.nextcloud.deck.model.widget.singlecard.SingleCardWidgetModel; import it.niedermann.nextcloud.deck.persistence.sync.adapters.db.util.LiveDataHelper; -import it.niedermann.nextcloud.deck.persistence.sync.adapters.db.util.WrappedLiveData; import it.niedermann.nextcloud.deck.ui.upcomingcards.UpcomingCardsAdapterItem; import it.niedermann.nextcloud.deck.ui.widget.singlecard.SingleCardWidget; @@ -514,20 +513,19 @@ public class DataBaseAdapter { db.getLabelDao().delete(label); } - public WrappedLiveData<Account> createAccount(Account account) { - return LiveDataHelper.wrapInLiveData(() -> { - final long id = db.getAccountDao().insert(account); + @WorkerThread + public Account createAccountDirectly(@NonNull Account account) { + final long id = db.getAccountDao().insert(account); - widgetNotifierExecutor.submit(() -> { - DeckLog.verbose("Adding new created", Account.class.getSimpleName(), " with ", id, " to all instances of ", EWidgetType.UPCOMING_WIDGET.name()); - for (FilterWidget widget : getFilterWidgetsByType(EWidgetType.UPCOMING_WIDGET)) { - widget.getAccounts().add(new FilterWidgetAccount(id, false)); - updateFilterWidgetDirectly(widget); - } - notifyFilterWidgetsAboutChangedEntity(FilterWidget.EChangedEntityType.ACCOUNT, id); - }); - return readAccountDirectly(id); + widgetNotifierExecutor.submit(() -> { + DeckLog.verbose("Adding new created", Account.class.getSimpleName(), " with ", id, " to all instances of ", EWidgetType.UPCOMING_WIDGET.name()); + for (FilterWidget widget : getFilterWidgetsByType(EWidgetType.UPCOMING_WIDGET)) { + widget.getAccounts().add(new FilterWidgetAccount(id, false)); + updateFilterWidgetDirectly(widget); + } + notifyFilterWidgetsAboutChangedEntity(FilterWidget.EChangedEntityType.ACCOUNT, id); }); + return readAccountDirectly(id); } public void deleteAccount(long id) { @@ -588,15 +586,6 @@ public class DataBaseAdapter { return distinctUntilChanged(db.getBoardDao().getBoardsWithEditPermissionsForAccount(accountId)); } - public WrappedLiveData<Board> createBoard(long accountId, @NonNull Board board) { - return LiveDataHelper.wrapInLiveData(() -> { - board.setAccountId(accountId); - final long id = db.getBoardDao().insert(board); - notifyFilterWidgetsAboutChangedEntity(FilterWidget.EChangedEntityType.BOARD, id); - return db.getBoardDao().getBoardByLocalIdDirectly(id); - }); - } - @WorkerThread public long createBoardDirectly(long accountId, @NonNull Board board) { board.setAccountId(accountId); |