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-06-17 20:40:58 +0300
committerStefan Niedermann <info@niedermann.it>2021-06-17 20:40:58 +0300
commit398e1d64aed19ae9e04975ede2c3b1c86e3c47e5 (patch)
tree57ad7a443e9202ef63ee0e24ae8fb9363933d150 /app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters
parent714eee03090deb490c797e1a70293e0cb54c92a3 (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')
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DataBaseAdapter.java33
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/util/LiveDataHelper.java29
2 files changed, 11 insertions, 51 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);
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/util/LiveDataHelper.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/util/LiveDataHelper.java
index 059ed5e6b..397d1339f 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/util/LiveDataHelper.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/util/LiveDataHelper.java
@@ -65,20 +65,6 @@ public class LiveDataHelper {
liveData.observe(owner, tempObserver);
}
- public static <T> WrappedLiveData<T> wrapInLiveData(final LiveDataWrapper<T> liveDataWrapper) {
- final WrappedLiveData<T> liveData = new WrappedLiveData<>();
-
- executor.submit(() -> {
- try {
- liveDataWrapper.postResult(liveData);
- } catch (Throwable t) {
- liveData.postError(t);
- }
- });
-
- return liveData;
- }
-
public interface DataChangeProcessor<T> {
void onDataChanged(T data);
}
@@ -86,19 +72,4 @@ public class LiveDataHelper {
public interface DataTransformator<I, O> {
O transform(I data);
}
-
- public interface LiveDataWrapper<T> {
- T getData();
-
- default void postResult(WrappedLiveData<T> liveData) {
- liveData.setError(null);
- T data = null;
- try {
- data = getData();
- } catch (RuntimeException e) {
- liveData.setError(e);
- }
- liveData.postValue(data);
- }
- }
} \ No newline at end of file