diff options
author | Stefan Niedermann <info@niedermann.it> | 2021-11-25 16:02:21 +0300 |
---|---|---|
committer | Niedermann IT-Dienstleistungen <stefan-niedermann@users.noreply.github.com> | 2021-11-29 17:28:10 +0300 |
commit | be54e018c49a3899acc2baf182ac6dea4382dbf5 (patch) | |
tree | f57a2a51a110481fef1d9ac3023d8cdd2dd0af94 /app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync | |
parent | e23e826945923ab893dce1330c5e2f71cbb6e062 (diff) |
#1165 Refactor PushNotifications
Signed-off-by: Stefan Niedermann <info@niedermann.it>
Diffstat (limited to 'app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync')
3 files changed, 10 insertions, 9 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 7ce19fc16..ef170719f 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 @@ -30,6 +30,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.NoSuchElementException; +import java.util.Optional; import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; @@ -130,9 +131,9 @@ public class SyncManager { this.syncHelperFactory = syncHelperFactory; } - @AnyThread - public Board getBoardByAccountAndCardRemoteIdDirectly(long accountId, long cardRemoteId) { - return dataBaseAdapter.getBoardByAccountAndCardRemoteIdDirectly(accountId, cardRemoteId); + @WorkerThread + public Optional<Long> getBoardLocalIdByAccountAndCardRemoteIdDirectly(long accountId, long cardRemoteId) { + return Optional.ofNullable(dataBaseAdapter.getBoardLocalIdByAccountAndCardRemoteIdDirectly(accountId, cardRemoteId)); } @WorkerThread @@ -1590,8 +1591,8 @@ public class SyncManager { } @WorkerThread - public Card getCardByRemoteIDDirectly(long accountId, long remoteId) { - return dataBaseAdapter.getCardByRemoteIDDirectly(accountId, remoteId); + public Optional<Card> getCardByRemoteIDDirectly(long accountId, long remoteId) { + return Optional.ofNullable(dataBaseAdapter.getCardByRemoteIDDirectly(accountId, remoteId)); } public long createUser(long accountId, User user) { 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 cb31ff0b1..790d3a1d5 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 @@ -1113,8 +1113,8 @@ public class DataBaseAdapter { } @WorkerThread - public Board getBoardByAccountAndCardRemoteIdDirectly(long accountId, long cardRemoteId) { - return db.getBoardDao().getBoardByAccountAndCardRemoteIdDirectly(accountId, cardRemoteId); + public Long getBoardLocalIdByAccountAndCardRemoteIdDirectly(long accountId, long cardRemoteId) { + return db.getBoardDao().getBoardLocalIdByAccountAndCardRemoteIdDirectly(accountId, cardRemoteId); } @WorkerThread diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/dao/BoardDao.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/dao/BoardDao.java index 89846ac39..4fa7bf8f7 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/dao/BoardDao.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/dao/BoardDao.java @@ -75,12 +75,12 @@ public interface BoardDao extends GenericDao<Board> { "WHERE c.id = :cardRemoteId and c.accountId = :accountId") LiveData<Long> getLocalBoardIdByCardRemoteIdAndAccountId(long cardRemoteId, long accountId); - @Query("SELECT b.* " + + @Query("SELECT b.localId " + "FROM card c " + "inner join stack s on s.localId = c.stackId " + "inner join board b on s.boardId = b.localId " + "WHERE c.id = :cardRemoteId and c.accountId = :accountId") - Board getBoardByAccountAndCardRemoteIdDirectly(long accountId, long cardRemoteId); + Long getBoardLocalIdByAccountAndCardRemoteIdDirectly(long accountId, long cardRemoteId); @Query("SELECT count(*) FROM board WHERE accountId = :accountId and archived = 1 and (deletedAt = 0 or deletedAt is null) and status <> 3") LiveData<Integer> countArchivedBoards(long accountId); |