diff options
author | Stefan Niedermann <info@niedermann.it> | 2021-06-11 15:43:54 +0300 |
---|---|---|
committer | Stefan Niedermann <info@niedermann.it> | 2021-06-11 15:43:54 +0300 |
commit | 66b8f51a68b4f9030bd0505428f9aa4d2430ab8a (patch) | |
tree | 174a7964eba894625dd761e888800f2f40ec2855 /app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters | |
parent | ffd8cb31d17662dae7e2755e220f33fd331283ee (diff) |
Use IResponseCallback instead of LiveData for one-shots
Signed-off-by: Stefan Niedermann <info@niedermann.it>
Diffstat (limited to 'app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters')
3 files changed, 9 insertions, 7 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 c11085b3d..eb720e345 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 @@ -31,6 +31,7 @@ import java.util.concurrent.Executors; import java.util.stream.Collectors; import it.niedermann.nextcloud.deck.DeckLog; +import it.niedermann.nextcloud.deck.api.IResponseCallback; import it.niedermann.nextcloud.deck.model.AccessControl; import it.niedermann.nextcloud.deck.model.Account; import it.niedermann.nextcloud.deck.model.Attachment; @@ -1109,12 +1110,14 @@ public class DataBaseAdapter { return db.getBoardDao().getLocalBoardIdByCardRemoteIdAndAccountId(cardRemoteId, accountId); } - public LiveData<Integer> countCardsInStack(long accountId, long localStackId) { - return db.getCardDao().countCardsInStack(accountId, localStackId); + @WorkerThread + public void countCardsInStackDirectly(long accountId, long localStackId, @NonNull IResponseCallback<Integer> callback) { + callback.onResponse(db.getCardDao().countCardsInStackDirectly(accountId, localStackId)); } - public LiveData<Integer> countCardsWithLabel(long localLabelId) { - return db.getJoinCardWithLabelDao().countCardsWithLabel(localLabelId); + @WorkerThread + public void countCardsWithLabel(long localLabelId, @NonNull IResponseCallback<Integer> callback) { + callback.onResponse(db.getJoinCardWithLabelDao().countCardsWithLabelDirectly(localLabelId)); } @WorkerThread diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/dao/CardDao.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/dao/CardDao.java index b475e66e9..14ae2eaa5 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/dao/CardDao.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/dao/CardDao.java @@ -87,7 +87,7 @@ public interface CardDao extends GenericDao<Card> { List<Card> getCardsWithLocallyChangedCommentsForStackDirectly(Long localStackId); @Query("SELECT count(*) FROM card c WHERE accountId = :accountId and stackId = :localStackId and status <> 3") - LiveData<Integer> countCardsInStack(long accountId, long localStackId); + int countCardsInStackDirectly(long accountId, long localStackId); @Query("SELECT coalesce(MAX(`order`), -1) FROM card c WHERE stackId = :localStackId and status <> 3") Integer getHighestOrderInStack(Long localStackId); diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/dao/JoinCardWithLabelDao.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/dao/JoinCardWithLabelDao.java index 26e6c65a8..491633a5d 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/dao/JoinCardWithLabelDao.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/dao/JoinCardWithLabelDao.java @@ -1,6 +1,5 @@ package it.niedermann.nextcloud.deck.persistence.sync.adapters.db.dao; -import androidx.lifecycle.LiveData; import androidx.room.Dao; import androidx.room.Query; @@ -49,5 +48,5 @@ public interface JoinCardWithLabelDao extends GenericDao<JoinCardWithLabel> { void deleteJoinedLabelForCardPhysicallyByRemoteIDs(Long accountId, Long remoteCardId, Long remoteLabelId); @Query("select count(*) from joincardwithlabel WHERE labelId = :localLabelId and status <> 3") // not locally deleted - LiveData<Integer> countCardsWithLabel(long localLabelId); + int countCardsWithLabelDirectly(long localLabelId); }
\ No newline at end of file |