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:
-rw-r--r--app/build.gradle2
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/SyncManager.java511
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/BoardDataProvider.java8
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/MainActivity.java110
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/widget/stack/StackWidgetConfigurationActivity.java2
-rw-r--r--build.gradle2
-rw-r--r--gradle/wrapper/gradle-wrapper.properties2
7 files changed, 317 insertions, 320 deletions
diff --git a/app/build.gradle b/app/build.gradle
index 30b670c2e..a9f4c895f 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -33,6 +33,8 @@ android {
}
compileOptions {
coreLibraryDesugaringEnabled true
+ sourceCompatibility JavaVersion.VERSION_11
+ targetCompatibility JavaVersion.VERSION_11
}
flavorDimensions "version"
productFlavors {
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 f9723fa27..8507a2ab4 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
@@ -1,5 +1,8 @@
package it.niedermann.nextcloud.deck.persistence.sync;
+import static java.net.HttpURLConnection.HTTP_NOT_MODIFIED;
+import static java.net.HttpURLConnection.HTTP_UNAVAILABLE;
+
import android.annotation.SuppressLint;
import android.content.Context;
import android.database.sqlite.SQLiteConstraintException;
@@ -23,14 +26,12 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
-import java.util.Map;
import java.util.NoSuchElementException;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.regex.Matcher;
import java.util.regex.Pattern;
import it.niedermann.nextcloud.deck.DeckLog;
@@ -45,7 +46,6 @@ import it.niedermann.nextcloud.deck.model.Account;
import it.niedermann.nextcloud.deck.model.Attachment;
import it.niedermann.nextcloud.deck.model.Board;
import it.niedermann.nextcloud.deck.model.Card;
-import it.niedermann.nextcloud.deck.model.JoinCardWithUser;
import it.niedermann.nextcloud.deck.model.Label;
import it.niedermann.nextcloud.deck.model.Stack;
import it.niedermann.nextcloud.deck.model.User;
@@ -84,9 +84,6 @@ import it.niedermann.nextcloud.deck.persistence.sync.helpers.providers.partial.B
import it.niedermann.nextcloud.deck.persistence.sync.helpers.providers.partial.BoardWithStacksAndLabelsUpSyncDataProvider;
import it.niedermann.nextcloud.deck.ui.upcomingcards.UpcomingCardsAdapterItem;
-import static java.net.HttpURLConnection.HTTP_NOT_MODIFIED;
-import static java.net.HttpURLConnection.HTTP_UNAVAILABLE;
-
@SuppressWarnings("WeakerAccess")
public class SyncManager {
@@ -135,13 +132,13 @@ public class SyncManager {
@WorkerThread
public boolean synchronizeEverything() {
- List<Account> accounts = dataBaseAdapter.getAllAccountsDirectly();
+ final var accounts = dataBaseAdapter.getAllAccountsDirectly();
if (accounts.size() > 0) {
- final AtomicBoolean success = new AtomicBoolean(true);
- CountDownLatch latch = new CountDownLatch(accounts.size());
+ final var success = new AtomicBoolean(true);
+ final var latch = new CountDownLatch(accounts.size());
try {
- for (Account account : accounts) {
- new SyncManager(dataBaseAdapter.getContext(), account.getName()).synchronize(new ResponseCallback<Boolean>(account) {
+ for (var account : accounts) {
+ new SyncManager(dataBaseAdapter.getContext(), account.getName()).synchronize(new ResponseCallback<>(account) {
@Override
public void onResponse(Boolean response) {
success.set(success.get() && Boolean.TRUE.equals(response));
@@ -167,9 +164,9 @@ public class SyncManager {
}
@AnyThread
- public void synchronizeBoard(@NonNull ResponseCallback<Boolean> responseCallback, long localBoadId) {
+ public void synchronizeBoard(@NonNull ResponseCallback<Boolean> responseCallback, long localBoardId) {
executor.submit(() -> {
- FullBoard board = dataBaseAdapter.getFullBoardByLocalIdDirectly(responseCallback.getAccount().getId(), localBoadId);
+ FullBoard board = dataBaseAdapter.getFullBoardByLocalIdDirectly(responseCallback.getAccount().getId(), localBoardId);
try {
syncHelperFactory.create(serverAdapter, dataBaseAdapter, null)
.setResponseCallback(responseCallback)
@@ -183,8 +180,8 @@ public class SyncManager {
@AnyThread
public void synchronizeCard(@NonNull ResponseCallback<Boolean> responseCallback, @NonNull Card card) {
executor.submit(() -> {
- FullStack stack = dataBaseAdapter.getFullStackByLocalIdDirectly(card.getStackId());
- Board board = dataBaseAdapter.getBoardByLocalIdDirectly(stack.getStack().getBoardId());
+ final var stack = dataBaseAdapter.getFullStackByLocalIdDirectly(card.getStackId());
+ final var board = dataBaseAdapter.getBoardByLocalIdDirectly(stack.getStack().getBoardId());
try {
syncHelperFactory.create(serverAdapter, dataBaseAdapter, null)
.setResponseCallback(responseCallback)
@@ -197,32 +194,30 @@ public class SyncManager {
@AnyThread
public void synchronize(@NonNull ResponseCallback<Boolean> responseCallback) {
- Account callbackAccount = responseCallback.getAccount();
+ final var callbackAccount = responseCallback.getAccount();
if (callbackAccount == null) {
throw new IllegalArgumentException(Account.class.getSimpleName() + " object in given " + ResponseCallback.class.getSimpleName() + " must not be null.");
}
- Long callbackAccountId = callbackAccount.getId();
+ final var callbackAccountId = callbackAccount.getId();
if (callbackAccountId == null) {
throw new IllegalArgumentException(Account.class.getSimpleName() + " object in given " + ResponseCallback.class.getSimpleName() + " must contain a valid id, but given id was null.");
}
executor.submit(() -> {
- refreshCapabilities(new ResponseCallback<Capabilities>(responseCallback.getAccount()) {
+ refreshCapabilities(new ResponseCallback<>(responseCallback.getAccount()) {
@Override
public void onResponse(Capabilities response) {
if (response != null && !response.isMaintenanceEnabled()) {
if (response.getDeckVersion().isSupported()) {
- long accountId = callbackAccountId;
- Instant lastSyncDate = LastSyncUtil.getLastSyncDate(callbackAccountId);
+ final var lastSyncDate = LastSyncUtil.getLastSyncDate(callbackAccountId);
+ final var syncHelper = syncHelperFactory.create(serverAdapter, dataBaseAdapter, lastSyncDate);
- final SyncHelper syncHelper = syncHelperFactory.create(serverAdapter, dataBaseAdapter, lastSyncDate);
-
- ResponseCallback<Boolean> callback = new ResponseCallback<Boolean>(callbackAccount) {
+ ResponseCallback<Boolean> callback = new ResponseCallback<>(callbackAccount) {
@Override
public void onResponse(Boolean response) {
- syncHelper.setResponseCallback(new ResponseCallback<Boolean>(account) {
+ syncHelper.setResponseCallback(new ResponseCallback<>(account) {
@Override
public void onResponse(Boolean response) {
- LastSyncUtil.setLastSyncDate(accountId, Instant.now());
+ LastSyncUtil.setLastSyncDate(callbackAccountId, Instant.now());
responseCallback.onResponse(response);
}
@@ -320,7 +315,7 @@ public class SyncManager {
public void createAccount(@NonNull Account account, @NonNull IResponseCallback<Account> callback) {
executor.submit(() -> {
try {
- final Account createdAccount = dataBaseAdapter.createAccountDirectly(account);
+ final var createdAccount = dataBaseAdapter.createAccountDirectly(account);
if (createdAccount == null) {
throw new RuntimeException("Created account is null. Source: " + account);
}
@@ -343,7 +338,7 @@ public class SyncManager {
});
}
- @AnyThread
+ @MainThread
public LiveData<Account> readAccount(long id) {
return dataBaseAdapter.readAccount(id);
}
@@ -353,12 +348,12 @@ public class SyncManager {
return dataBaseAdapter.readAccountDirectly(id);
}
- @AnyThread
+ @MainThread
public LiveData<Account> readAccount(@Nullable String name) {
return dataBaseAdapter.readAccount(name);
}
- @AnyThread
+ @MainThread
public LiveData<List<Account>> readAccounts() {
return dataBaseAdapter.readAccounts();
}
@@ -382,13 +377,13 @@ public class SyncManager {
*/
@MainThread
public LiveData<List<Account>> readAccountsForHostWithReadAccessToBoard(String host, long boardRemoteId) {
- MediatorLiveData<List<Account>> liveData = new MediatorLiveData<>();
+ final var liveData = new MediatorLiveData<List<Account>>();
liveData.addSource(dataBaseAdapter.readAccountsForHostWithReadAccessToBoard(host, boardRemoteId), accounts -> {
liveData.postValue(accounts);
executor.submit(() -> {
- for (Account account : accounts) {
+ for (var account : accounts) {
syncHelperFactory.create(serverAdapter, dataBaseAdapter, null)
- .setResponseCallback(new ResponseCallback<Boolean>(account) {
+ .setResponseCallback(new ResponseCallback<>(account) {
@Override
public void onResponse(Boolean response) {
liveData.postValue(dataBaseAdapter.readAccountsForHostWithReadAccessToBoardDirectly(host, boardRemoteId));
@@ -405,11 +400,11 @@ public class SyncManager {
public Future<?> refreshCapabilities(@NonNull ResponseCallback<Capabilities> callback) {
return executor.submit(() -> {
try {
- Account accountForEtag = dataBaseAdapter.getAccountByIdDirectly(callback.getAccount().getId());
- serverAdapter.getCapabilities(accountForEtag.getEtag(), new ResponseCallback<ParsedResponse<Capabilities>>(callback.getAccount()) {
+ final var accountForEtag = dataBaseAdapter.getAccountByIdDirectly(callback.getAccount().getId());
+ serverAdapter.getCapabilities(accountForEtag.getEtag(), new ResponseCallback<>(callback.getAccount()) {
@Override
public void onResponse(ParsedResponse<Capabilities> response) {
- Account acc = dataBaseAdapter.getAccountByIdDirectly(account.getId());
+ final var acc = dataBaseAdapter.getAccountByIdDirectly(account.getId());
acc.applyCapabilities(response.getResponse(), response.getHeaders().get("ETag"));
dataBaseAdapter.updateAccount(acc);
callback.getAccount().setServerDeckVersion(acc.getServerDeckVersion());
@@ -420,11 +415,11 @@ public class SyncManager {
@Override
public void onError(Throwable throwable) {
if (throwable instanceof NextcloudHttpRequestFailedException) {
- final NextcloudHttpRequestFailedException requestFailedException = (NextcloudHttpRequestFailedException) throwable;
+ final var requestFailedException = (NextcloudHttpRequestFailedException) throwable;
DeckLog.verbose("HTTP Status " + requestFailedException.getStatusCode());
if (requestFailedException.getStatusCode() == HTTP_UNAVAILABLE && requestFailedException.getCause() != null) {
- final String errorString = requestFailedException.getCause().getMessage();
- final Capabilities capabilities = GsonConfig.getGson().fromJson(errorString, Capabilities.class);
+ final var errorString = requestFailedException.getCause().getMessage();
+ final var capabilities = GsonConfig.getGson().fromJson(errorString, Capabilities.class);
if (capabilities.isMaintenanceEnabled()) {
DeckLog.verbose("Yes, it is in maintenance mode according to the capabilities");
executor.submit(() -> onResponse(ParsedResponse.of(capabilities)));
@@ -436,12 +431,12 @@ public class SyncManager {
DeckLog.verbose("HTTP Status", HTTP_NOT_MODIFIED + ": There haven't been any changes on the server side for this request.");
// could be after maintenance. so we have to at least revert the maintenance flag
executor.submit(() -> {
- final Account acc = dataBaseAdapter.getAccountByIdDirectly(account.getId());
+ final var acc = dataBaseAdapter.getAccountByIdDirectly(account.getId());
if (acc.isMaintenanceEnabled()) {
acc.setMaintenanceEnabled(false);
dataBaseAdapter.updateAccount(acc);
}
- final Capabilities capabilities = new Capabilities();
+ final var capabilities = new Capabilities();
capabilities.setMaintenanceEnabled(false);
capabilities.setDeckVersion(acc.getServerDeckVersionAsObject());
capabilities.setTextColor(acc.getTextColor());
@@ -520,12 +515,12 @@ public class SyncManager {
@AnyThread
public void createBoard(long accountId, @NonNull Board board, @NonNull IResponseCallback<FullBoard> callback) {
executor.submit(() -> {
- final Account account = dataBaseAdapter.getAccountByIdDirectly(accountId);
- final User owner = dataBaseAdapter.getUserByUidDirectly(accountId, account.getUserName());
+ final var account = dataBaseAdapter.getAccountByIdDirectly(accountId);
+ final var owner = dataBaseAdapter.getUserByUidDirectly(accountId, account.getUserName());
if (owner == null) {
callback.onError(new IllegalStateException("Owner is null. This can be the case if the Deck app has never before been opened in the webinterface"));
} else {
- final FullBoard fullBoard = new FullBoard();
+ final var fullBoard = new FullBoard();
board.setOwnerId(owner.getLocalId());
fullBoard.setOwner(owner);
fullBoard.setBoard(board);
@@ -546,26 +541,26 @@ public class SyncManager {
@AnyThread
public void cloneBoard(long originAccountId, long originBoardLocalId, long targetAccountId, @ColorInt int targetBoardColor, boolean cloneCards, @NonNull IResponseCallback<FullBoard> callback) {
executor.submit(() -> {
- Account originAccount = dataBaseAdapter.getAccountByIdDirectly(originAccountId);
- User newOwner = dataBaseAdapter.getUserByUidDirectly(originAccountId, originAccount.getUserName());
+ final var originAccount = dataBaseAdapter.getAccountByIdDirectly(originAccountId);
+ final var newOwner = dataBaseAdapter.getUserByUidDirectly(originAccountId, originAccount.getUserName());
if (newOwner == null) {
callback.onError(new DeckException(DeckException.Hint.UNKNOWN_ACCOUNT_USER_ID, "User with Account-UID \"" + originAccount.getUserName() + "\" not found."));
return;
}
- FullBoard originalBoard = dataBaseAdapter.getFullBoardByLocalIdDirectly(originAccountId, originBoardLocalId);
- String newBoardTitleBaseName = originalBoard.getBoard().getTitle().trim();
- int newBoardTitleCopyIndex = 0;
+ final var originalBoard = dataBaseAdapter.getFullBoardByLocalIdDirectly(originAccountId, originBoardLocalId);
+ var newBoardTitleBaseName = originalBoard.getBoard().getTitle().trim();
+ var newBoardTitleCopyIndex = 0;
//already a copy?
- String regex = " \\(copy [0-9]+\\)$";
- Pattern pattern = Pattern.compile(regex);
- Matcher matcher = pattern.matcher(originalBoard.getBoard().getTitle());
+ final var regex = " \\(copy [0-9]+\\)$";
+ final var pattern = Pattern.compile(regex);
+ final var matcher = pattern.matcher(originalBoard.getBoard().getTitle());
if (matcher.find()) {
- String found = matcher.group();
+ final var found = matcher.group();
newBoardTitleBaseName = newBoardTitleBaseName.substring(0, newBoardTitleBaseName.length() - found.length());
- Matcher indexMatcher = Pattern.compile("[0-9]+").matcher(found);
+ final var indexMatcher = Pattern.compile("[0-9]+").matcher(found);
//noinspection ResultOfMethodCallIgnored
indexMatcher.find();
- String oldIndexString = indexMatcher.group();
+ final var oldIndexString = indexMatcher.group();
newBoardTitleCopyIndex = Integer.parseInt(oldIndexString);
}
@@ -585,14 +580,14 @@ public class SyncManager {
originalBoard.getBoard().setOwnerId(newOwner.getLocalId());
originalBoard.setStatusEnum(DBStatus.LOCAL_EDITED);
originalBoard.setOwner(newOwner);
- long newBoardId = dataBaseAdapter.createBoardDirectly(originAccountId, originalBoard.getBoard());
+ final var newBoardId = dataBaseAdapter.createBoardDirectly(originAccountId, originalBoard.getBoard());
originalBoard.setLocalId(newBoardId);
- boolean isSameAccount = targetAccountId == originAccountId;
+ final var isSameAccount = targetAccountId == originAccountId;
if (isSameAccount) {
- List<AccessControl> aclList = originalBoard.getParticipants();
- for (AccessControl acl : aclList) {
+ final var aclList = originalBoard.getParticipants();
+ for (var acl : aclList) {
acl.setLocalId(null);
acl.setId(null);
acl.setBoardId(newBoardId);
@@ -600,42 +595,42 @@ public class SyncManager {
}
}
- Map<Long, Long> oldToNewLabelIdsDictionary = new HashMap<>();
+ final var oldToNewLabelIdsDictionary = new HashMap<Long, Long>();
- for (Label label : originalBoard.getLabels()) {
- Long oldLocalId = label.getLocalId();
+ for (var label : originalBoard.getLabels()) {
+ final var oldLocalId = label.getLocalId();
label.setLocalId(null);
label.setId(null);
label.setAccountId(targetAccountId);
label.setStatusEnum(DBStatus.LOCAL_EDITED);
label.setBoardId(newBoardId);
- long newLocalId = dataBaseAdapter.createLabelDirectly(targetAccountId, label);
+ final var newLocalId = dataBaseAdapter.createLabelDirectly(targetAccountId, label);
oldToNewLabelIdsDictionary.put(oldLocalId, newLocalId);
}
- List<Stack> oldStacks = originalBoard.getStacks();
- for (Stack stack : oldStacks) {
- Long oldStackId = stack.getLocalId();
+ final var oldStacks = originalBoard.getStacks();
+ for (var stack : oldStacks) {
+ final var oldStackId = stack.getLocalId();
stack.setLocalId(null);
stack.setId(null);
stack.setStatusEnum(DBStatus.LOCAL_EDITED);
stack.setAccountId(targetAccountId);
stack.setBoardId(newBoardId);
- long createdStackId = dataBaseAdapter.createStack(targetAccountId, stack);
+ final var createdStackId = dataBaseAdapter.createStack(targetAccountId, stack);
if (cloneCards) {
- List<FullCard> oldCards = dataBaseAdapter.getFullCardsForStackDirectly(originAccountId, oldStackId, null);
- for (FullCard oldCard : oldCards) {
- Card newCard = oldCard.getCard();
+ final var oldCards = dataBaseAdapter.getFullCardsForStackDirectly(originAccountId, oldStackId, null);
+ for (var oldCard : oldCards) {
+ final var newCard = oldCard.getCard();
newCard.setId(null);
newCard.setUserId(newOwner.getLocalId());
newCard.setLocalId(null);
newCard.setStackId(createdStackId);
newCard.setAccountId(targetAccountId);
newCard.setStatusEnum(DBStatus.LOCAL_EDITED);
- long createdCardId = dataBaseAdapter.createCardDirectly(targetAccountId, newCard);
+ final var createdCardId = dataBaseAdapter.createCardDirectly(targetAccountId, newCard);
if (oldCard.getLabels() != null) {
- for (Label oldLabel : oldCard.getLabels()) {
- Long newLabelId = oldToNewLabelIdsDictionary.get(oldLabel.getLocalId());
+ for (var oldLabel : oldCard.getLabels()) {
+ final var newLabelId = oldToNewLabelIdsDictionary.get(oldLabel.getLocalId());
if (newLabelId != null) {
dataBaseAdapter.createJoinCardWithLabel(newLabelId, createdCardId, DBStatus.LOCAL_EDITED);
} else
@@ -643,7 +638,7 @@ public class SyncManager {
}
}
if (isSameAccount && oldCard.getAssignedUsers() != null) {
- for (User assignedUser : oldCard.getAssignedUsers()) {
+ for (var assignedUser : oldCard.getAssignedUsers()) {
dataBaseAdapter.createJoinCardWithUser(assignedUser.getLocalId(), createdCardId, DBStatus.LOCAL_EDITED);
}
}
@@ -651,8 +646,8 @@ public class SyncManager {
}
}
if (serverAdapter.hasInternetConnection()) {
- Account targetAccount = dataBaseAdapter.getAccountByIdDirectly(targetAccountId);
- ServerAdapter serverAdapterToUse = this.serverAdapter;
+ final var targetAccount = dataBaseAdapter.getAccountByIdDirectly(targetAccountId);
+ var serverAdapterToUse = this.serverAdapter;
if (originAccountId != targetAccountId) {
serverAdapterToUse = new ServerAdapter(appContext, targetAccount.getName());
}
@@ -681,7 +676,7 @@ public class SyncManager {
if (serverAdapter.hasInternetConnection()) {
if (card.getId() != null) {
syncHelperFactory.create(serverAdapter, dataBaseAdapter, null)
- .setResponseCallback(new ResponseCallback<Boolean>(dataBaseAdapter.getAccountByIdDirectly(card.getAccountId())) {
+ .setResponseCallback(new ResponseCallback<>(dataBaseAdapter.getAccountByIdDirectly(card.getAccountId())) {
@Override
public void onResponse(Boolean response) {
// do nothing
@@ -698,10 +693,10 @@ public class SyncManager {
@AnyThread
public void addCommentToCard(long accountId, long cardId, @NonNull DeckComment comment) {
executor.submit(() -> {
- Account account = dataBaseAdapter.getAccountByIdDirectly(accountId);
- Card card = dataBaseAdapter.getCardByLocalIdDirectly(accountId, cardId);
- OcsComment commentEntity = OcsComment.of(comment);
- new DataPropagationHelper(serverAdapter, dataBaseAdapter, executor).createEntity(new DeckCommentsDataProvider(null, card), commentEntity, new ResponseCallback<OcsComment>(account) {
+ final var account = dataBaseAdapter.getAccountByIdDirectly(accountId);
+ final var card = dataBaseAdapter.getCardByLocalIdDirectly(accountId, cardId);
+ final var commentEntity = OcsComment.of(comment);
+ new DataPropagationHelper(serverAdapter, dataBaseAdapter, executor).createEntity(new DeckCommentsDataProvider(null, card), commentEntity, new ResponseCallback<>(account) {
@Override
public void onResponse(OcsComment response) {
// nothing so far
@@ -713,12 +708,12 @@ public class SyncManager {
@AnyThread
public void updateComment(long accountId, long localCardId, long localCommentId, String comment) {
executor.submit(() -> {
- Account account = dataBaseAdapter.getAccountByIdDirectly(accountId);
- Card card = dataBaseAdapter.getCardByLocalIdDirectly(accountId, localCardId);
- DeckComment entity = dataBaseAdapter.getCommentByLocalIdDirectly(accountId, localCommentId);
+ final var account = dataBaseAdapter.getAccountByIdDirectly(accountId);
+ final var card = dataBaseAdapter.getCardByLocalIdDirectly(accountId, localCardId);
+ final var entity = dataBaseAdapter.getCommentByLocalIdDirectly(accountId, localCommentId);
entity.setMessage(comment);
- OcsComment commentEntity = OcsComment.of(entity);
- new DataPropagationHelper(serverAdapter, dataBaseAdapter, executor).updateEntity(new DeckCommentsDataProvider(null, card), commentEntity, new ResponseCallback<OcsComment>(account) {
+ final var commentEntity = OcsComment.of(entity);
+ new DataPropagationHelper(serverAdapter, dataBaseAdapter, executor).updateEntity(new DeckCommentsDataProvider(null, card), commentEntity, new ResponseCallback<>(account) {
@Override
public void onResponse(OcsComment response) {
// nothing so far
@@ -730,10 +725,10 @@ public class SyncManager {
@AnyThread
public void deleteComment(long accountId, long localCardId, long localCommentId, @NonNull IResponseCallback<Void> callback) {
executor.submit(() -> {
- final Account account = dataBaseAdapter.getAccountByIdDirectly(accountId);
- final Card card = dataBaseAdapter.getCardByLocalIdDirectly(accountId, localCardId);
- final DeckComment entity = dataBaseAdapter.getCommentByLocalIdDirectly(accountId, localCommentId);
- final OcsComment commentEntity = OcsComment.of(entity);
+ final var account = dataBaseAdapter.getAccountByIdDirectly(accountId);
+ final var card = dataBaseAdapter.getCardByLocalIdDirectly(accountId, localCardId);
+ final var entity = dataBaseAdapter.getCommentByLocalIdDirectly(accountId, localCommentId);
+ final var commentEntity = OcsComment.of(entity);
new DataPropagationHelper(serverAdapter, dataBaseAdapter, executor).deleteEntity(new DeckCommentsDataProvider(null, card),
commentEntity, ResponseCallback.from(account, callback));
});
@@ -746,9 +741,9 @@ public class SyncManager {
@AnyThread
public void deleteBoard(@NonNull Board board, @NonNull IResponseCallback<Void> callback) {
executor.submit(() -> {
- long accountId = board.getAccountId();
- Account account = dataBaseAdapter.getAccountByIdDirectly(accountId);
- FullBoard fullBoard = dataBaseAdapter.getFullBoardByLocalIdDirectly(accountId, board.getLocalId());
+ final var accountId = board.getAccountId();
+ final var account = dataBaseAdapter.getAccountByIdDirectly(accountId);
+ final var fullBoard = dataBaseAdapter.getFullBoardByLocalIdDirectly(accountId, board.getLocalId());
new DataPropagationHelper(serverAdapter, dataBaseAdapter, executor).deleteEntity(new BoardDataProvider(), fullBoard, ResponseCallback.from(account, callback));
});
}
@@ -756,8 +751,8 @@ public class SyncManager {
@AnyThread
public void updateBoard(@NonNull FullBoard board, @NonNull IResponseCallback<FullBoard> callback) {
executor.submit(() -> {
- long accountId = board.getAccountId();
- Account account = dataBaseAdapter.getAccountByIdDirectly(accountId);
+ final var accountId = board.getAccountId();
+ final var account = dataBaseAdapter.getAccountByIdDirectly(accountId);
new DataPropagationHelper(serverAdapter, dataBaseAdapter, executor).updateEntity(new BoardDataProvider(), board, ResponseCallback.from(account, callback));
});
}
@@ -778,8 +773,8 @@ public class SyncManager {
@AnyThread
public void createAccessControl(long accountId, @NonNull AccessControl entity, @NonNull IResponseCallback<AccessControl> callback) {
executor.submit(() -> {
- Account account = dataBaseAdapter.getAccountByIdDirectly(accountId);
- FullBoard board = dataBaseAdapter.getFullBoardByLocalIdDirectly(accountId, entity.getBoardId());
+ final var account = dataBaseAdapter.getAccountByIdDirectly(accountId);
+ final var board = dataBaseAdapter.getFullBoardByLocalIdDirectly(accountId, entity.getBoardId());
new DataPropagationHelper(serverAdapter, dataBaseAdapter, executor).createEntity(
new AccessControlDataProvider(null, board, Collections.singletonList(entity)), entity, ResponseCallback.from(account, callback), ((entity1, response) -> {
response.setBoardId(entity.getBoardId());
@@ -801,8 +796,8 @@ public class SyncManager {
@AnyThread
public void updateAccessControl(@NonNull AccessControl entity, @NonNull IResponseCallback<AccessControl> callback) {
executor.submit(() -> {
- Account account = dataBaseAdapter.getAccountByIdDirectly(entity.getAccountId());
- FullBoard board = dataBaseAdapter.getFullBoardByLocalIdDirectly(entity.getAccountId(), entity.getBoardId());
+ final var account = dataBaseAdapter.getAccountByIdDirectly(entity.getAccountId());
+ final var board = dataBaseAdapter.getFullBoardByLocalIdDirectly(entity.getAccountId(), entity.getBoardId());
new DataPropagationHelper(serverAdapter, dataBaseAdapter, executor).updateEntity(
new AccessControlDataProvider(null, board, Collections.singletonList(entity)), entity, ResponseCallback.from(account, callback));
});
@@ -811,8 +806,8 @@ public class SyncManager {
@AnyThread
public void deleteAccessControl(@NonNull AccessControl entity, @NonNull IResponseCallback<Void> callback) {
executor.submit(() -> {
- Account account = dataBaseAdapter.getAccountByIdDirectly(entity.getAccountId());
- FullBoard board = dataBaseAdapter.getFullBoardByLocalIdDirectly(entity.getAccountId(), entity.getBoardId());
+ final var account = dataBaseAdapter.getAccountByIdDirectly(entity.getAccountId());
+ final var board = dataBaseAdapter.getFullBoardByLocalIdDirectly(entity.getAccountId(), entity.getBoardId());
new DataPropagationHelper(serverAdapter, dataBaseAdapter, executor).deleteEntity(
new AccessControlDataProvider(null, board, Collections.singletonList(entity)), entity, new ResponseCallback<Void>(account) {
@Override
@@ -844,10 +839,10 @@ public class SyncManager {
@AnyThread
public void createStack(long accountId, @NonNull String title, long boardLocalId, @NonNull IResponseCallback<FullStack> callback) {
executor.submit(() -> {
- Stack stack = new Stack(title, boardLocalId);
- Account account = dataBaseAdapter.getAccountByIdDirectly(accountId);
- FullBoard board = dataBaseAdapter.getFullBoardByLocalIdDirectly(accountId, stack.getBoardId());
- FullStack fullStack = new FullStack();
+ final var stack = new Stack(title, boardLocalId);
+ final var account = dataBaseAdapter.getAccountByIdDirectly(accountId);
+ final var board = dataBaseAdapter.getFullBoardByLocalIdDirectly(accountId, stack.getBoardId());
+ final var fullStack = new FullStack();
stack.setOrder(dataBaseAdapter.getHighestStackOrderInBoard(stack.getBoardId()) + 1);
stack.setAccountId(accountId);
stack.setBoardId(board.getLocalId());
@@ -860,9 +855,9 @@ public class SyncManager {
@AnyThread
public void deleteStack(long accountId, long stackLocalId, long boardLocalId, @NonNull IResponseCallback<Void> callback) {
executor.submit(() -> {
- Account account = dataBaseAdapter.getAccountByIdDirectly(accountId);
- FullStack fullStack = dataBaseAdapter.getFullStackByLocalIdDirectly(stackLocalId);
- FullBoard board = dataBaseAdapter.getFullBoardByLocalIdDirectly(accountId, boardLocalId);
+ final var account = dataBaseAdapter.getAccountByIdDirectly(accountId);
+ final var fullStack = dataBaseAdapter.getFullStackByLocalIdDirectly(stackLocalId);
+ final var board = dataBaseAdapter.getFullBoardByLocalIdDirectly(accountId, boardLocalId);
new DataPropagationHelper(serverAdapter, dataBaseAdapter, executor).deleteEntity(new StackDataProvider(null, board), fullStack, ResponseCallback.from(account, callback));
});
}
@@ -870,9 +865,9 @@ public class SyncManager {
@AnyThread
public void updateStackTitle(long localStackId, @NonNull String newTitle, @NonNull IResponseCallback<FullStack> callback) {
executor.submit(() -> {
- FullStack stack = dataBaseAdapter.getFullStackByLocalIdDirectly(localStackId);
- FullBoard fullBoard = dataBaseAdapter.getFullBoardByLocalIdDirectly(stack.getAccountId(), stack.getStack().getBoardId());
- Account account = dataBaseAdapter.getAccountByIdDirectly(stack.getAccountId());
+ final var stack = dataBaseAdapter.getFullStackByLocalIdDirectly(localStackId);
+ final var fullBoard = dataBaseAdapter.getFullBoardByLocalIdDirectly(stack.getAccountId(), stack.getStack().getBoardId());
+ final var account = dataBaseAdapter.getAccountByIdDirectly(stack.getAccountId());
stack.getStack().setTitle(newTitle);
updateStack(account, fullBoard, stack, callback);
});
@@ -894,15 +889,15 @@ public class SyncManager {
@AnyThread
public void reorderStack(long accountId, long boardLocalId, long stackLocalId, boolean moveToRight) {
executor.submit(() -> {
- final Account account = dataBaseAdapter.getAccountByIdDirectly(accountId);
- final FullBoard fullBoard = dataBaseAdapter.getFullBoardByLocalIdDirectly(accountId, boardLocalId);
- final List<FullStack> stacks = dataBaseAdapter.getFullStacksForBoardDirectly(accountId, boardLocalId);
+ final var account = dataBaseAdapter.getAccountByIdDirectly(accountId);
+ final var fullBoard = dataBaseAdapter.getFullBoardByLocalIdDirectly(accountId, boardLocalId);
+ final var stacks = dataBaseAdapter.getFullStacksForBoardDirectly(accountId, boardLocalId);
- int lastOrderValue = -1;
- boolean moveDone = false;
+ var lastOrderValue = -1;
+ var moveDone = false;
for (int i = 0; i < stacks.size(); i++) {
- FullStack s = stacks.get(i);
- boolean currentStackChanged = false;
+ final var s = stacks.get(i);
+ var currentStackChanged = false;
// ensure order validity
if (lastOrderValue >= s.getStack().getOrder()) {
s.getStack().setOrder(lastOrderValue + 1);
@@ -911,7 +906,7 @@ public class SyncManager {
lastOrderValue = s.getStack().getOrder();
if (!moveDone && i < stacks.size() - 1 && (moveToRight ? s : stacks.get(i + 1)).getLocalId() == stackLocalId) {
- FullStack rightStack = stacks.get(i + 1);
+ final var rightStack = stacks.get(i + 1);
// fix orders
rightStack.getStack().setOrder(lastOrderValue);
s.getStack().setOrder(lastOrderValue + 1);
@@ -949,7 +944,7 @@ public class SyncManager {
// TODO implement, see https://github.com/stefan-niedermann/nextcloud-deck/issues/395
public LiveData<List<FullCard>> getArchivedFullCardsForBoard(long accountId, long localBoardId) {
- MutableLiveData<List<FullCard>> dummyData = new MutableLiveData<>();
+ final var dummyData = new MutableLiveData<List<FullCard>>();
dummyData.postValue(new ArrayList<>());
return dummyData;
}
@@ -983,34 +978,34 @@ public class SyncManager {
@AnyThread
public void createFullCard(long accountId, long localBoardId, long localStackId, @NonNull FullCard card, @NonNull IResponseCallback<FullCard> callback) {
executor.submit(() -> {
- Account account = dataBaseAdapter.getAccountByIdDirectly(accountId);
- User owner = dataBaseAdapter.getUserByUidDirectly(accountId, account.getUserName());
- FullStack stack = dataBaseAdapter.getFullStackByLocalIdDirectly(localStackId);
- Board board = dataBaseAdapter.getBoardByLocalIdDirectly(localBoardId);
+ final var account = dataBaseAdapter.getAccountByIdDirectly(accountId);
+ final var owner = dataBaseAdapter.getUserByUidDirectly(accountId, account.getUserName());
+ final var stack = dataBaseAdapter.getFullStackByLocalIdDirectly(localStackId);
+ final var board = dataBaseAdapter.getBoardByLocalIdDirectly(localBoardId);
card.getCard().setUserId(owner.getLocalId());
card.getCard().setStackId(stack.getLocalId());
card.getCard().setAccountId(accountId);
card.getCard().setStatusEnum(DBStatus.LOCAL_EDITED);
card.getCard().setOrder(dataBaseAdapter.getHighestCardOrderInStack(localStackId) + 1);
- long localCardId = dataBaseAdapter.createCardDirectly(accountId, card.getCard());
+ final var localCardId = dataBaseAdapter.createCardDirectly(accountId, card.getCard());
card.getCard().setLocalId(localCardId);
- List<User> assignedUsers = card.getAssignedUsers();
+ final var assignedUsers = card.getAssignedUsers();
if (assignedUsers != null) {
for (User assignedUser : assignedUsers) {
dataBaseAdapter.createJoinCardWithUser(assignedUser.getLocalId(), localCardId, DBStatus.LOCAL_EDITED);
}
}
- List<Label> labels = card.getLabels();
+ final var labels = card.getLabels();
if (labels != null) {
- for (Label label : labels) {
+ for (var label : labels) {
dataBaseAdapter.createJoinCardWithLabel(label.getLocalId(), localCardId, DBStatus.LOCAL_EDITED);
}
}
if (card.getAttachments() != null) {
- for (Attachment attachment : card.getAttachments()) {
+ for (var attachment : card.getAttachments()) {
if (attachment.getLocalId() == null) {
attachment.setCardId(localCardId);
dataBaseAdapter.createAttachment(accountId, attachment);
@@ -1020,7 +1015,7 @@ public class SyncManager {
if (serverAdapter.hasInternetConnection()) {
syncHelperFactory.create(serverAdapter, dataBaseAdapter, null)
- .setResponseCallback(new ResponseCallback<Boolean>(account) {
+ .setResponseCallback(new ResponseCallback<>(account) {
@Override
public void onResponse(Boolean response) {
callback.onResponse(card);
@@ -1046,13 +1041,13 @@ public class SyncManager {
@AnyThread
public void deleteCard(@NonNull Card card, @NonNull IResponseCallback<Void> callback) {
executor.submit(() -> {
- FullCard fullCard = dataBaseAdapter.getFullCardByLocalIdDirectly(card.getAccountId(), card.getLocalId());
+ final var fullCard = dataBaseAdapter.getFullCardByLocalIdDirectly(card.getAccountId(), card.getLocalId());
if (fullCard == null) {
throw new IllegalArgumentException("card with id " + card.getLocalId() + " to delete does not exist.");
}
- Account account = dataBaseAdapter.getAccountByIdDirectly(card.getAccountId());
- FullStack stack = dataBaseAdapter.getFullStackByLocalIdDirectly(card.getStackId());
- Board board = dataBaseAdapter.getBoardByLocalIdDirectly(stack.getStack().getBoardId());
+ final var account = dataBaseAdapter.getAccountByIdDirectly(card.getAccountId());
+ final var stack = dataBaseAdapter.getFullStackByLocalIdDirectly(card.getStackId());
+ final var board = dataBaseAdapter.getBoardByLocalIdDirectly(stack.getStack().getBoardId());
new DataPropagationHelper(serverAdapter, dataBaseAdapter, executor).deleteEntity(new CardPropagationDataProvider(null, board, stack), fullCard, ResponseCallback.from(account, callback));
});
}
@@ -1060,9 +1055,9 @@ public class SyncManager {
@AnyThread
public void archiveCard(@NonNull FullCard card, @NonNull IResponseCallback<FullCard> callback) {
executor.submit(() -> {
- Account account = dataBaseAdapter.getAccountByIdDirectly(card.getAccountId());
- FullStack stack = dataBaseAdapter.getFullStackByLocalIdDirectly(card.getCard().getStackId());
- Board board = dataBaseAdapter.getBoardByLocalIdDirectly(stack.getStack().getBoardId());
+ final var account = dataBaseAdapter.getAccountByIdDirectly(card.getAccountId());
+ final var stack = dataBaseAdapter.getFullStackByLocalIdDirectly(card.getCard().getStackId());
+ final var board = dataBaseAdapter.getBoardByLocalIdDirectly(stack.getStack().getBoardId());
card.getCard().setArchived(true);
updateCardForArchive(stack, board, card, ResponseCallback.from(account, callback));
});
@@ -1075,9 +1070,9 @@ public class SyncManager {
@AnyThread
public void dearchiveCard(@NonNull FullCard card, @NonNull IResponseCallback<FullCard> callback) {
executor.submit(() -> {
- Account account = dataBaseAdapter.getAccountByIdDirectly(card.getAccountId());
- FullStack stack = dataBaseAdapter.getFullStackByLocalIdDirectly(card.getCard().getStackId());
- Board board = dataBaseAdapter.getBoardByLocalIdDirectly(stack.getStack().getBoardId());
+ final var account = dataBaseAdapter.getAccountByIdDirectly(card.getAccountId());
+ final var stack = dataBaseAdapter.getFullStackByLocalIdDirectly(card.getCard().getStackId());
+ final var board = dataBaseAdapter.getBoardByLocalIdDirectly(stack.getStack().getBoardId());
card.getCard().setArchived(false);
updateCardForArchive(stack, board, card, ResponseCallback.from(account, callback));
});
@@ -1086,22 +1081,22 @@ public class SyncManager {
@AnyThread
public void archiveCardsInStack(long accountId, long stackLocalId, @NonNull FilterInformation filterInformation, @NonNull IResponseCallback<Void> callback) {
executor.submit(() -> {
- Account account = dataBaseAdapter.getAccountByIdDirectly(accountId);
- FullStack stack = dataBaseAdapter.getFullStackByLocalIdDirectly(stackLocalId);
- Board board = dataBaseAdapter.getBoardByLocalIdDirectly(stack.getStack().getBoardId());
- List<FullCard> cards = dataBaseAdapter.getFullCardsForStackDirectly(accountId, stackLocalId, filterInformation);
+ final var account = dataBaseAdapter.getAccountByIdDirectly(accountId);
+ final var stack = dataBaseAdapter.getFullStackByLocalIdDirectly(stackLocalId);
+ final var board = dataBaseAdapter.getBoardByLocalIdDirectly(stack.getStack().getBoardId());
+ final var cards = dataBaseAdapter.getFullCardsForStackDirectly(accountId, stackLocalId, filterInformation);
if (cards.size() <= 0) {
callback.onResponse(null);
return;
}
- final CountDownLatch latch = new CountDownLatch(cards.size());
- for (FullCard card : cards) {
+ final var latch = new CountDownLatch(cards.size());
+ for (var card : cards) {
if (card.getCard().isArchived()) {
latch.countDown();
continue;
}
card.getCard().setArchived(true);
- updateCardForArchive(stack, board, card, new ResponseCallback<FullCard>(account) {
+ updateCardForArchive(stack, board, card, new ResponseCallback<>(account) {
@Override
public void onResponse(FullCard response) {
latch.countDown();
@@ -1128,7 +1123,7 @@ public class SyncManager {
public void archiveBoard(@NonNull Board board, @NonNull IResponseCallback<FullBoard> callback) {
executor.submit(() -> {
try {
- FullBoard b = dataBaseAdapter.getFullBoardByLocalIdDirectly(board.getAccountId(), board.getLocalId());
+ final var b = dataBaseAdapter.getFullBoardByLocalIdDirectly(board.getAccountId(), board.getLocalId());
b.getBoard().setArchived(true);
updateBoard(b, callback);
} catch (Throwable e) {
@@ -1141,7 +1136,7 @@ public class SyncManager {
public void dearchiveBoard(@NonNull Board board, @NonNull IResponseCallback<FullBoard> callback) {
executor.submit(() -> {
try {
- FullBoard b = dataBaseAdapter.getFullBoardByLocalIdDirectly(board.getAccountId(), board.getLocalId());
+ final var b = dataBaseAdapter.getFullBoardByLocalIdDirectly(board.getAccountId(), board.getLocalId());
b.getBoard().setArchived(false);
updateBoard(b, callback);
} catch (Throwable e) {
@@ -1153,39 +1148,39 @@ public class SyncManager {
@AnyThread
public void updateCard(@NonNull FullCard card, @NonNull IResponseCallback<FullCard> callback) {
executor.submit(() -> {
- final FullCard fullCardFromDB = dataBaseAdapter.getFullCardByLocalIdDirectly(card.getAccountId(), card.getLocalId());
+ final var fullCardFromDB = dataBaseAdapter.getFullCardByLocalIdDirectly(card.getAccountId(), card.getLocalId());
if (fullCardFromDB == null) {
throw new IllegalArgumentException("card to update does not exist.");
}
dataBaseAdapter.filterRelationsForCard(fullCardFromDB);
- List<User> deletedUsers = AbstractSyncDataProvider.findDelta(card.getAssignedUsers(), fullCardFromDB.getAssignedUsers());
- List<User> addedUsers = AbstractSyncDataProvider.findDelta(fullCardFromDB.getAssignedUsers(), card.getAssignedUsers());
- for (User addedUser : addedUsers) {
+ final var deletedUsers = AbstractSyncDataProvider.findDelta(card.getAssignedUsers(), fullCardFromDB.getAssignedUsers());
+ final var addedUsers = AbstractSyncDataProvider.findDelta(fullCardFromDB.getAssignedUsers(), card.getAssignedUsers());
+ for (var addedUser : addedUsers) {
dataBaseAdapter.createJoinCardWithUser(addedUser.getLocalId(), card.getLocalId(), DBStatus.LOCAL_EDITED);
}
- for (User deletedUser : deletedUsers) {
+ for (var deletedUser : deletedUsers) {
dataBaseAdapter.deleteJoinedUserForCard(card.getLocalId(), deletedUser.getLocalId());
}
- List<Label> deletedLabels = AbstractSyncDataProvider.findDelta(card.getLabels(), fullCardFromDB.getLabels());
- List<Label> addedLabels = AbstractSyncDataProvider.findDelta(fullCardFromDB.getLabels(), card.getLabels());
- for (Label addedLabel : addedLabels) {
+ final var deletedLabels = AbstractSyncDataProvider.findDelta(card.getLabels(), fullCardFromDB.getLabels());
+ final var addedLabels = AbstractSyncDataProvider.findDelta(fullCardFromDB.getLabels(), card.getLabels());
+ for (var addedLabel : addedLabels) {
dataBaseAdapter.createJoinCardWithLabel(addedLabel.getLocalId(), card.getLocalId(), DBStatus.LOCAL_EDITED);
}
- for (Label deletedLabel : deletedLabels) {
+ for (var deletedLabel : deletedLabels) {
dataBaseAdapter.deleteJoinedLabelForCard(card.getLocalId(), deletedLabel.getLocalId());
}
- FullStack stack = dataBaseAdapter.getFullStackByLocalIdDirectly(card.getCard().getStackId());
- Board board = dataBaseAdapter.getBoardByLocalIdDirectly(stack.getStack().getBoardId());
+ final var stack = dataBaseAdapter.getFullStackByLocalIdDirectly(card.getCard().getStackId());
+ final var board = dataBaseAdapter.getBoardByLocalIdDirectly(stack.getStack().getBoardId());
fullCardFromDB.setCard(card.getCard());
card.getCard().setStatus(DBStatus.LOCAL_EDITED.getId());
dataBaseAdapter.updateCard(card.getCard(), false);
if (serverAdapter.hasInternetConnection()) {
- Account account = dataBaseAdapter.getAccountByIdDirectly(card.getAccountId());
+ final var account = dataBaseAdapter.getAccountByIdDirectly(card.getAccountId());
syncHelperFactory.create(serverAdapter, dataBaseAdapter, null)
- .setResponseCallback(new ResponseCallback<Boolean>(account) {
+ .setResponseCallback(new ResponseCallback<>(account) {
@Override
public void onResponse(Boolean response) {
callback.onResponse(dataBaseAdapter.getFullCardByLocalIdDirectly(card.getAccountId(), card.getLocalId()));
@@ -1227,9 +1222,9 @@ public class SyncManager {
@AnyThread
public void moveCard(long originAccountId, long originCardLocalId, long targetAccountId, long targetBoardLocalId, long targetStackLocalId, @NonNull IResponseCallback<Void> callback) {
executor.submit(() -> {
- final FullCard originalCard = dataBaseAdapter.getFullCardByLocalIdDirectly(originAccountId, originCardLocalId);
- final int newIndex = dataBaseAdapter.getHighestCardOrderInStack(targetStackLocalId) + 1;
- final FullBoard originalBoard = dataBaseAdapter.getFullBoardByLocalCardIdDirectly(originCardLocalId);
+ final var originalCard = dataBaseAdapter.getFullCardByLocalIdDirectly(originAccountId, originCardLocalId);
+ final var newIndex = dataBaseAdapter.getHighestCardOrderInStack(targetStackLocalId) + 1;
+ final var originalBoard = dataBaseAdapter.getFullBoardByLocalCardIdDirectly(originCardLocalId);
// ### maybe shortcut possible? (just moved to another stack)
if (targetBoardLocalId == originalBoard.getLocalId()) {
reorder(originAccountId, originalCard, targetStackLocalId, newIndex);
@@ -1237,7 +1232,7 @@ public class SyncManager {
return;
}
// ### get rid of original card where it is now.
- final Card originalInnerCard = originalCard.getCard();
+ final var originalInnerCard = originalCard.getCard();
deleteCard(new Card(originalInnerCard), IResponseCallback.empty());
// ### clone card itself
// TODO Why not use copy constructor? Attention, something might missing, e. g. accountId
@@ -1250,20 +1245,20 @@ public class SyncManager {
originalInnerCard.setArchived(false);
originalInnerCard.setAttachmentCount(0);
originalInnerCard.setCommentsUnread(0);
- final FullCard fullCardForServerPropagation = new FullCard();
+ final var fullCardForServerPropagation = new FullCard();
fullCardForServerPropagation.setCard(originalInnerCard);
- final Account targetAccount = dataBaseAdapter.getAccountByIdDirectly(targetAccountId);
- final FullBoard targetBoard = dataBaseAdapter.getFullBoardByLocalIdDirectly(targetAccountId, targetBoardLocalId);
- final FullStack targetFullStack = dataBaseAdapter.getFullStackByLocalIdDirectly(targetStackLocalId);
- final User userOfTargetAccount = dataBaseAdapter.getUserByUidDirectly(targetAccountId, targetAccount.getUserName());
- final CountDownLatch latch = new CountDownLatch(1);
+ final var targetAccount = dataBaseAdapter.getAccountByIdDirectly(targetAccountId);
+ final var targetBoard = dataBaseAdapter.getFullBoardByLocalIdDirectly(targetAccountId, targetBoardLocalId);
+ final var targetFullStack = dataBaseAdapter.getFullStackByLocalIdDirectly(targetStackLocalId);
+ final var userOfTargetAccount = dataBaseAdapter.getUserByUidDirectly(targetAccountId, targetAccount.getUserName());
+ final var latch = new CountDownLatch(1);
- ServerAdapter serverToUse = serverAdapter;
+ var serverToUse = serverAdapter;
if (originAccountId != targetAccountId) {
serverToUse = new ServerAdapter(appContext, targetAccount.getName());
}
- new DataPropagationHelper(serverToUse, dataBaseAdapter, executor).createEntity(new CardPropagationDataProvider(null, targetBoard.getBoard(), targetFullStack), fullCardForServerPropagation, new ResponseCallback<FullCard>(targetAccount) {
+ new DataPropagationHelper(serverToUse, dataBaseAdapter, executor).createEntity(new CardPropagationDataProvider(null, targetBoard.getBoard(), targetFullStack), fullCardForServerPropagation, new ResponseCallback<>(targetAccount) {
@Override
public void onResponse(FullCard response) {
originalInnerCard.setId(response.getId());
@@ -1276,7 +1271,7 @@ public class SyncManager {
public void onError(Throwable throwable) {
callback.onError(new RuntimeException("unable to create card in moveCard target", throwable));
}
- }, (FullCard entity, FullCard response) -> {
+ }, (entity, response) -> {
response.getCard().setUserId(userOfTargetAccount.getLocalId());
response.getCard().setStackId(targetFullStack.getLocalId());
entity.getCard().setUserId(userOfTargetAccount.getLocalId());
@@ -1289,15 +1284,15 @@ public class SyncManager {
callback.onError(new RuntimeException("error fulfilling countDownLatch", e));
}
- final long newCardId = originalInnerCard.getLocalId();
+ final var newCardId = originalInnerCard.getLocalId();
// ### clone labels, assign them
// prepare
// has user of targetaccount manage permissions?
- boolean hasManagePermission = targetBoard.getBoard().getOwnerId() == userOfTargetAccount.getLocalId();
- List<AccessControl> aclOfTargetBoard = dataBaseAdapter.getAccessControlByLocalBoardIdDirectly(targetAccountId, targetBoard.getLocalId());
+ var hasManagePermission = targetBoard.getBoard().getOwnerId() == userOfTargetAccount.getLocalId();
+ final var aclOfTargetBoard = dataBaseAdapter.getAccessControlByLocalBoardIdDirectly(targetAccountId, targetBoard.getLocalId());
if (!hasManagePermission) {
- for (AccessControl accessControl : aclOfTargetBoard) {
+ for (var accessControl : aclOfTargetBoard) {
if (accessControl.getUserId().equals(userOfTargetAccount.getLocalId()) && accessControl.isPermissionManage()) {
hasManagePermission = true;
break;
@@ -1306,10 +1301,10 @@ public class SyncManager {
}
// actual doing
- for (Label originalLabel : originalCard.getLabels()) {
+ for (var originalLabel : originalCard.getLabels()) {
// already exists?
Label existingMatch = null;
- for (Label targetBoardLabel : targetBoard.getLabels()) {
+ for (var targetBoardLabel : targetBoard.getLabels()) {
if (originalLabel.getTitle().trim().equalsIgnoreCase(targetBoardLabel.getTitle().trim())) {
existingMatch = targetBoardLabel;
break;
@@ -1330,14 +1325,14 @@ public class SyncManager {
}
// ### Clone assigned users
- final Account originalAccount = dataBaseAdapter.getAccountByIdDirectly(originAccountId);
+ final var originalAccount = dataBaseAdapter.getAccountByIdDirectly(originAccountId);
// same instance? otherwise doesn't make sense
if (originalAccount.getUrl().equalsIgnoreCase(targetAccount.getUrl())) {
- for (User assignedUser : originalCard.getAssignedUsers()) {
+ for (var assignedUser : originalCard.getAssignedUsers()) {
// has assignedUser at least view permissions?
- boolean hasViewPermission = targetBoard.getBoard().getOwnerId() == assignedUser.getLocalId();
+ var hasViewPermission = targetBoard.getBoard().getOwnerId() == assignedUser.getLocalId();
if (!hasViewPermission) {
- for (AccessControl accessControl : aclOfTargetBoard) {
+ for (var accessControl : aclOfTargetBoard) {
if (accessControl.getUserId().equals(userOfTargetAccount.getLocalId())) {
// ACL exists, so viewing is granted
hasViewPermission = true;
@@ -1357,13 +1352,13 @@ public class SyncManager {
@AnyThread
public void createLabel(long accountId, Label label, long localBoardId, @NonNull IResponseCallback<Label> callback) {
executor.submit(() -> {
- Label existing = dataBaseAdapter.getLabelByBoardIdAndTitleDirectly(label.getBoardId(), label.getTitle());
+ final var existing = dataBaseAdapter.getLabelByBoardIdAndTitleDirectly(label.getBoardId(), label.getTitle());
if (existing != null) {
callback.onError(new SQLiteConstraintException("label \"" + label.getTitle() + "\" already exists for this board!"));
return;
}
- Account account = dataBaseAdapter.getAccountByIdDirectly(accountId);
- Board board = dataBaseAdapter.getBoardByLocalIdDirectly(localBoardId);
+ final var account = dataBaseAdapter.getAccountByIdDirectly(accountId);
+ final var board = dataBaseAdapter.getBoardByLocalIdDirectly(localBoardId);
label.setAccountId(accountId);
new DataPropagationHelper(serverAdapter, dataBaseAdapter, executor).createEntity(new LabelDataProvider(null, board, null), label, ResponseCallback.from(account, callback), (entity, response) -> response.setBoardId(board.getLocalId()));
});
@@ -1375,10 +1370,10 @@ public class SyncManager {
@AnyThread
private MutableLiveData<Label> createAndAssignLabelToCard(long accountId, @NonNull Label label, long localCardId, ServerAdapter serverAdapterToUse) {
- MutableLiveData<Label> liveData = new MutableLiveData<>();
+ final var liveData = new MutableLiveData<Label>();
executor.submit(() -> {
- Account account = dataBaseAdapter.getAccountByIdDirectly(accountId);
- Board board = dataBaseAdapter.getBoardByLocalCardIdDirectly(localCardId);
+ final var account = dataBaseAdapter.getAccountByIdDirectly(accountId);
+ final var board = dataBaseAdapter.getBoardByLocalCardIdDirectly(localCardId);
label.setAccountId(accountId);
new DataPropagationHelper(serverAdapterToUse, dataBaseAdapter, executor).createEntity(new LabelDataProvider(null, board, null), label, new ResponseCallback<Label>(account) {
@Override
@@ -1402,8 +1397,8 @@ public class SyncManager {
@AnyThread
public void deleteLabel(@NonNull Label label, @NonNull IResponseCallback<Void> callback) {
executor.submit(() -> {
- Account account = dataBaseAdapter.getAccountByIdDirectly(label.getAccountId());
- Board board = dataBaseAdapter.getBoardByLocalIdDirectly(label.getBoardId());
+ final var account = dataBaseAdapter.getAccountByIdDirectly(label.getAccountId());
+ final var board = dataBaseAdapter.getBoardByLocalIdDirectly(label.getBoardId());
new DataPropagationHelper(serverAdapter, dataBaseAdapter, executor)
.deleteEntity(new LabelDataProvider(null, board, Collections.emptyList()), label, ResponseCallback.from(account, callback));
});
@@ -1412,8 +1407,8 @@ public class SyncManager {
@AnyThread
public void updateLabel(@NonNull Label label, @NonNull IResponseCallback<Label> callback) {
executor.submit(() -> {
- Account account = dataBaseAdapter.getAccountByIdDirectly(label.getAccountId());
- Board board = dataBaseAdapter.getBoardByLocalIdDirectly(label.getBoardId());
+ final var account = dataBaseAdapter.getAccountByIdDirectly(label.getAccountId());
+ final var board = dataBaseAdapter.getBoardByLocalIdDirectly(label.getBoardId());
new DataPropagationHelper(serverAdapter, dataBaseAdapter, executor)
.updateEntity(new LabelDataProvider(null, board, Collections.emptyList()), label, ResponseCallback.from(account, callback));
});
@@ -1422,18 +1417,18 @@ public class SyncManager {
@AnyThread
public void assignUserToCard(@NonNull User user, @NonNull Card card) {
executor.submit(() -> {
- final long localUserId = user.getLocalId();
- final long localCardId = card.getLocalId();
- JoinCardWithUser joinCardWithUser = dataBaseAdapter.getJoinCardWithUser(localUserId, localCardId);
+ final var localUserId = user.getLocalId();
+ final var localCardId = card.getLocalId();
+ final var joinCardWithUser = dataBaseAdapter.getJoinCardWithUser(localUserId, localCardId);
if (joinCardWithUser != null && joinCardWithUser.getStatus() != DBStatus.LOCAL_DELETED.getId()) {
return;
}
dataBaseAdapter.createJoinCardWithUser(localUserId, localCardId, DBStatus.LOCAL_EDITED);
- Stack stack = dataBaseAdapter.getStackByLocalIdDirectly(card.getStackId());
- Board board = dataBaseAdapter.getBoardByLocalIdDirectly(stack.getBoardId());
- Account account = dataBaseAdapter.getAccountByIdDirectly(card.getAccountId());
+ final var stack = dataBaseAdapter.getStackByLocalIdDirectly(card.getStackId());
+ final var board = dataBaseAdapter.getBoardByLocalIdDirectly(stack.getBoardId());
+ final var account = dataBaseAdapter.getAccountByIdDirectly(card.getAccountId());
if (serverAdapter.hasInternetConnection()) {
- serverAdapter.assignUserToCard(board.getId(), stack.getId(), card.getId(), user.getUid(), new ResponseCallback<Void>(account) {
+ serverAdapter.assignUserToCard(board.getId(), stack.getId(), card.getId(), user.getUid(), new ResponseCallback<>(account) {
@Override
public void onResponse(Void response) {
@@ -1452,17 +1447,17 @@ public class SyncManager {
@AnyThread
public void assignLabelToCard(@NonNull Label label, @NonNull Card card, ServerAdapter serverAdapterToUse) {
executor.submit(() -> {
- final long localLabelId = label.getLocalId();
- final long localCardId = card.getLocalId();
+ final var localLabelId = label.getLocalId();
+ final var localCardId = card.getLocalId();
dataBaseAdapter.createJoinCardWithLabel(localLabelId, localCardId, DBStatus.LOCAL_EDITED);
if (label.getId() == null || card.getId() == null) {
return;
}
- Stack stack = dataBaseAdapter.getStackByLocalIdDirectly(card.getStackId());
- Board board = dataBaseAdapter.getBoardByLocalIdDirectly(stack.getBoardId());
- Account account = dataBaseAdapter.getAccountByIdDirectly(card.getAccountId());
+ final var stack = dataBaseAdapter.getStackByLocalIdDirectly(card.getStackId());
+ final var board = dataBaseAdapter.getBoardByLocalIdDirectly(stack.getBoardId());
+ final var account = dataBaseAdapter.getAccountByIdDirectly(card.getAccountId());
if (serverAdapterToUse.hasInternetConnection()) {
- serverAdapterToUse.assignLabelToCard(board.getId(), stack.getId(), card.getId(), label.getId(), new ResponseCallback<Void>(account) {
+ serverAdapterToUse.assignLabelToCard(board.getId(), stack.getId(), card.getId(), label.getId(), new ResponseCallback<>(account) {
@Override
public void onResponse(Void response) {
@@ -1477,11 +1472,11 @@ public class SyncManager {
public void unassignLabelFromCard(@NonNull Label label, @NonNull Card card) {
executor.submit(() -> {
dataBaseAdapter.deleteJoinedLabelForCard(card.getLocalId(), label.getLocalId());
- Stack stack = dataBaseAdapter.getStackByLocalIdDirectly(card.getStackId());
- Board board = dataBaseAdapter.getBoardByLocalIdDirectly(stack.getBoardId());
- Account account = dataBaseAdapter.getAccountByIdDirectly(card.getAccountId());
+ final var stack = dataBaseAdapter.getStackByLocalIdDirectly(card.getStackId());
+ final var board = dataBaseAdapter.getBoardByLocalIdDirectly(stack.getBoardId());
+ final var account = dataBaseAdapter.getAccountByIdDirectly(card.getAccountId());
if (serverAdapter.hasInternetConnection()) {
- serverAdapter.unassignLabelFromCard(board.getId(), stack.getId(), card.getId(), label.getId(), new ResponseCallback<Void>(account) {
+ serverAdapter.unassignLabelFromCard(board.getId(), stack.getId(), card.getId(), label.getId(), new ResponseCallback<>(account) {
@Override
public void onResponse(Void response) {
dataBaseAdapter.deleteJoinedLabelForCardPhysically(card.getLocalId(), label.getLocalId());
@@ -1496,10 +1491,10 @@ public class SyncManager {
executor.submit(() -> {
dataBaseAdapter.deleteJoinedUserForCard(card.getLocalId(), user.getLocalId());
if (serverAdapter.hasInternetConnection()) {
- Stack stack = dataBaseAdapter.getStackByLocalIdDirectly(card.getStackId());
- Board board = dataBaseAdapter.getBoardByLocalIdDirectly(stack.getBoardId());
- Account account = dataBaseAdapter.getAccountByIdDirectly(card.getAccountId());
- serverAdapter.unassignUserFromCard(board.getId(), stack.getId(), card.getId(), user.getUid(), new ResponseCallback<Void>(account) {
+ final var stack = dataBaseAdapter.getStackByLocalIdDirectly(card.getStackId());
+ final var board = dataBaseAdapter.getBoardByLocalIdDirectly(stack.getBoardId());
+ final var account = dataBaseAdapter.getAccountByIdDirectly(card.getAccountId());
+ serverAdapter.unassignUserFromCard(board.getId(), stack.getId(), card.getId(), user.getUid(), new ResponseCallback<>(account) {
@Override
public void onResponse(Void response) {
dataBaseAdapter.deleteJoinedUserForCardPhysically(card.getLocalId(), user.getLocalId());
@@ -1581,17 +1576,17 @@ public class SyncManager {
public void reorder(long accountId, @NonNull FullCard movedCard, long newStackId, int newIndex) {
executor.submit(() -> {
// read cards of new stack
- List<FullCard> cardsOfNewStack = dataBaseAdapter.getFullCardsForStackDirectly(accountId, newStackId, null);
+ final var cardsOfNewStack = dataBaseAdapter.getFullCardsForStackDirectly(accountId, newStackId, null);
int newOrder = newIndex;
if (cardsOfNewStack.size() > newIndex) {
newOrder = cardsOfNewStack.get(newIndex).getCard().getOrder();
}
- boolean orderIsCorrect = true;
+ var orderIsCorrect = true;
if (newOrder == movedCard.getCard().getOrder() && newStackId == movedCard.getCard().getStackId()) {
- int lastOrder = Integer.MIN_VALUE;
- for (FullCard fullCard : cardsOfNewStack) {
- int currentOrder = fullCard.getCard().getOrder();
+ var lastOrder = Integer.MIN_VALUE;
+ for (var fullCard : cardsOfNewStack) {
+ final var currentOrder = fullCard.getCard().getOrder();
if (currentOrder > lastOrder) {
lastOrder = currentOrder;
} else {
@@ -1608,7 +1603,7 @@ public class SyncManager {
cardsOfNewStack.remove(movedCard);
cardsOfNewStack.add(newIndex, movedCard);
for (int i = 0; i < cardsOfNewStack.size(); i++) {
- Card card = cardsOfNewStack.get(i).getCard();
+ final var card = cardsOfNewStack.get(i).getCard();
card.setOrder(i);
dataBaseAdapter.updateCard(card, true);
}
@@ -1648,10 +1643,10 @@ public class SyncManager {
}
//FIXME: remove the sync-block, when commentblock up there is activated. (waiting for deck server bugfix)
if (hasInternetConnection()) {
- Stack stack = dataBaseAdapter.getStackByLocalIdDirectly(movedCard.getCard().getStackId());
- FullBoard board = dataBaseAdapter.getFullBoardByLocalIdDirectly(accountId, stack.getBoardId());
- Account account = dataBaseAdapter.getAccountByIdDirectly(movedCard.getCard().getAccountId());
- syncHelperFactory.create(serverAdapter, dataBaseAdapter, Instant.now()).setResponseCallback(new ResponseCallback<Boolean>(account) {
+ final var stack = dataBaseAdapter.getStackByLocalIdDirectly(movedCard.getCard().getStackId());
+ final var board = dataBaseAdapter.getFullBoardByLocalIdDirectly(accountId, stack.getBoardId());
+ final var account = dataBaseAdapter.getAccountByIdDirectly(movedCard.getCard().getAccountId());
+ syncHelperFactory.create(serverAdapter, dataBaseAdapter, Instant.now()).setResponseCallback(new ResponseCallback<>(account) {
@Override
public void onResponse(Boolean response) {
// doNothing();
@@ -1665,14 +1660,14 @@ public class SyncManager {
private void reorderLocally(List<FullCard> cardsOfNewStack, @NonNull FullCard movedCard, long newStackId, int newOrder) {
// set new stack and order
- Card movedInnerCard = movedCard.getCard();
- int oldOrder = movedInnerCard.getOrder();
- long oldStackId = movedInnerCard.getStackId();
+ final var movedInnerCard = movedCard.getCard();
+ final var oldOrder = movedInnerCard.getOrder();
+ final var oldStackId = movedInnerCard.getStackId();
- List<Card> changedCards = new ArrayList<>();
+ final var changedCards = new ArrayList<Card>();
- int startingAtOrder = newOrder;
+ var startingAtOrder = newOrder;
if (oldStackId == newStackId) {
// card was only reordered in the same stack
movedInnerCard.setStatusEnum(movedInnerCard.getStatus() == DBStatus.LOCAL_MOVED.getId() ? DBStatus.LOCAL_MOVED : DBStatus.LOCAL_EDITED);
@@ -1680,8 +1675,8 @@ public class SyncManager {
if (oldOrder > newOrder) {
// up
changedCards.add(movedCard.getCard());
- for (FullCard cardToUpdate : cardsOfNewStack) {
- Card cardEntity = cardToUpdate.getCard();
+ for (var cardToUpdate : cardsOfNewStack) {
+ final var cardEntity = cardToUpdate.getCard();
if (cardEntity.getOrder() < newOrder) {
continue;
}
@@ -1693,8 +1688,8 @@ public class SyncManager {
} else {
// down
startingAtOrder = oldOrder;
- for (FullCard cardToUpdate : cardsOfNewStack) {
- Card cardEntity = cardToUpdate.getCard();
+ for (var cardToUpdate : cardsOfNewStack) {
+ final var cardEntity = cardToUpdate.getCard();
if (cardEntity.getOrder() <= oldOrder) {
continue;
}
@@ -1710,7 +1705,7 @@ public class SyncManager {
movedInnerCard.setStackId(newStackId);
movedInnerCard.setStatusEnum(DBStatus.LOCAL_MOVED);
changedCards.add(movedCard.getCard());
- for (FullCard fullCard : cardsOfNewStack) {
+ for (var fullCard : cardsOfNewStack) {
// skip unchanged cards
if (fullCard.getCard().getOrder() < newOrder) {
continue;
@@ -1722,8 +1717,8 @@ public class SyncManager {
}
private void reorderAscending(@NonNull Card movedCard, @NonNull List<Card> cardsToReorganize, int startingAtOrder) {
- final Instant now = Instant.now();
- for (Card card : cardsToReorganize) {
+ final var now = Instant.now();
+ for (var card : cardsToReorganize) {
card.setOrder(startingAtOrder);
if (card.getStatus() == DBStatus.UP_TO_DATE.getId()) {
card.setStatusEnum(DBStatus.LOCAL_EDITED_SILENT);
@@ -1748,14 +1743,14 @@ public class SyncManager {
@AnyThread
public void addAttachmentToCard(long accountId, long localCardId, @NonNull String mimeType, @NonNull File file, @NonNull IResponseCallback<Attachment> callback) {
executor.submit(() -> {
- Attachment attachment = populateAttachmentEntityForFile(new Attachment(), localCardId, mimeType, file);
- final Instant now = Instant.now();
+ final var attachment = populateAttachmentEntityForFile(new Attachment(), localCardId, mimeType, file);
+ final var now = Instant.now();
attachment.setLastModifiedLocal(now);
attachment.setCreatedAt(now);
- FullCard card = dataBaseAdapter.getFullCardByLocalIdDirectly(accountId, localCardId);
- Stack stack = dataBaseAdapter.getStackByLocalIdDirectly(card.getCard().getStackId());
- Board board = dataBaseAdapter.getBoardByLocalIdDirectly(stack.getBoardId());
- Account account = dataBaseAdapter.getAccountByIdDirectly(card.getAccountId());
+ final var card = dataBaseAdapter.getFullCardByLocalIdDirectly(accountId, localCardId);
+ final var stack = dataBaseAdapter.getStackByLocalIdDirectly(card.getCard().getStackId());
+ final var board = dataBaseAdapter.getBoardByLocalIdDirectly(stack.getBoardId());
+ final var account = dataBaseAdapter.getAccountByIdDirectly(card.getAccountId());
new DataPropagationHelper(serverAdapter, dataBaseAdapter, executor).createEntity(
new AttachmentDataProvider(null, board, stack, card, Collections.singletonList(attachment)),
attachment, ResponseCallback.from(account, callback)
@@ -1765,17 +1760,17 @@ public class SyncManager {
@AnyThread
public WrappedLiveData<Attachment> updateAttachmentForCard(long accountId, @NonNull Attachment existing, @NonNull String mimeType, @NonNull File file) {
- WrappedLiveData<Attachment> liveData = new WrappedLiveData<>();
+ final var liveData = new WrappedLiveData<Attachment>();
executor.submit(() -> {
- Attachment attachment = populateAttachmentEntityForFile(existing, existing.getCardId(), mimeType, file);
+ final var attachment = populateAttachmentEntityForFile(existing, existing.getCardId(), mimeType, file);
attachment.setLastModifiedLocal(Instant.now());
if (serverAdapter.hasInternetConnection()) {
- FullCard card = dataBaseAdapter.getFullCardByLocalIdDirectly(accountId, existing.getCardId());
- Stack stack = dataBaseAdapter.getStackByLocalIdDirectly(card.getCard().getStackId());
- Board board = dataBaseAdapter.getBoardByLocalIdDirectly(stack.getBoardId());
- Account account = dataBaseAdapter.getAccountByIdDirectly(card.getAccountId());
+ final var card = dataBaseAdapter.getFullCardByLocalIdDirectly(accountId, existing.getCardId());
+ final var stack = dataBaseAdapter.getStackByLocalIdDirectly(card.getCard().getStackId());
+ final var board = dataBaseAdapter.getBoardByLocalIdDirectly(stack.getBoardId());
+ final var account = dataBaseAdapter.getAccountByIdDirectly(card.getAccountId());
new DataPropagationHelper(serverAdapter, dataBaseAdapter, executor)
- .updateEntity(new AttachmentDataProvider(null, board, stack, card, Collections.singletonList(attachment)), attachment, new ResponseCallback<Attachment>(account) {
+ .updateEntity(new AttachmentDataProvider(null, board, stack, card, Collections.singletonList(attachment)), attachment, new ResponseCallback<>(account) {
@Override
public void onResponse(Attachment response) {
liveData.postValue(response);
@@ -1808,11 +1803,11 @@ public class SyncManager {
public void deleteAttachmentOfCard(long accountId, long localCardId, long localAttachmentId, @NonNull IResponseCallback<Void> callback) {
executor.submit(() -> {
if (serverAdapter.hasInternetConnection()) {
- FullCard card = dataBaseAdapter.getFullCardByLocalIdDirectly(accountId, localCardId);
- Stack stack = dataBaseAdapter.getStackByLocalIdDirectly(card.getCard().getStackId());
- Board board = dataBaseAdapter.getBoardByLocalIdDirectly(stack.getBoardId());
- Attachment attachment = dataBaseAdapter.getAttachmentByLocalIdDirectly(accountId, localAttachmentId);
- Account account = dataBaseAdapter.getAccountByIdDirectly(card.getAccountId());
+ final var card = dataBaseAdapter.getFullCardByLocalIdDirectly(accountId, localCardId);
+ final var stack = dataBaseAdapter.getStackByLocalIdDirectly(card.getCard().getStackId());
+ final var board = dataBaseAdapter.getBoardByLocalIdDirectly(stack.getBoardId());
+ final var attachment = dataBaseAdapter.getAttachmentByLocalIdDirectly(accountId, localAttachmentId);
+ final var account = dataBaseAdapter.getAccountByIdDirectly(card.getAccountId());
new DataPropagationHelper(serverAdapter, dataBaseAdapter, executor)
.deleteEntity(new AttachmentDataProvider(null, board, stack, card, Collections.singletonList(attachment)), attachment, ResponseCallback.from(account, callback));
@@ -1830,7 +1825,7 @@ public class SyncManager {
public void createFilterWidget(@NonNull FilterWidget filterWidget, @NonNull IResponseCallback<Integer> callback) {
executor.submit(() -> {
try {
- int filterWidgetId = dataBaseAdapter.createFilterWidgetDirectly(filterWidget);
+ final var filterWidgetId = dataBaseAdapter.createFilterWidgetDirectly(filterWidget);
callback.onResponse(filterWidgetId);
} catch (Throwable t) {
callback.onError(t);
@@ -1905,7 +1900,7 @@ public class SyncManager {
@WorkerThread
public FullSingleCardWidgetModel getSingleCardWidgetModelDirectly(int appWidgetId) throws NoSuchElementException {
- final FullSingleCardWidgetModel model = dataBaseAdapter.getFullSingleCardWidgetModel(appWidgetId);
+ final var model = dataBaseAdapter.getFullSingleCardWidgetModel(appWidgetId);
if (model == null) {
throw new NoSuchElementException("There is no " + FullSingleCardWidgetModel.class.getSimpleName() + " with the given appWidgetId " + appWidgetId);
}
@@ -1923,7 +1918,7 @@ public class SyncManager {
@WorkerThread
public StackWidgetModel getStackWidgetModelDirectly(int appWidgetId) throws NoSuchElementException {
- final StackWidgetModel model = dataBaseAdapter.getStackWidgetModelDirectly(appWidgetId);
+ final var model = dataBaseAdapter.getStackWidgetModelDirectly(appWidgetId);
if (model == null) {
throw new NoSuchElementException();
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/BoardDataProvider.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/BoardDataProvider.java
index 62acb0ac1..fbde8333a 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/BoardDataProvider.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/BoardDataProvider.java
@@ -31,7 +31,7 @@ public class BoardDataProvider extends AbstractSyncDataProvider<FullBoard> {
@Override
public void getAllFromServer(ServerAdapter serverAdapter, DataBaseAdapter dataBaseAdapter, long accountId, ResponseCallback<List<FullBoard>> responder, Instant lastSync) {
- serverAdapter.getBoards(new ResponseCallback<ParsedResponse<List<FullBoard>>>(responder.getAccount()) {
+ serverAdapter.getBoards(new ResponseCallback<>(responder.getAccount()) {
@Override
public void onResponse(ParsedResponse<List<FullBoard>> response) {
String etag = response.getHeaders().get("ETag");
@@ -51,14 +51,14 @@ public class BoardDataProvider extends AbstractSyncDataProvider<FullBoard> {
}
@Override
- public FullBoard getSingleFromDB(DataBaseAdapter dataBaseAdapter, long accountId, FullBoard entitiy) {
- return dataBaseAdapter.getFullBoardByRemoteIdDirectly(accountId, entitiy.getEntity().getId());
+ public FullBoard getSingleFromDB(DataBaseAdapter dataBaseAdapter, long accountId, FullBoard entity) {
+ return dataBaseAdapter.getFullBoardByRemoteIdDirectly(accountId, entity.getEntity().getId());
}
@Override
public long createInDB(DataBaseAdapter dataBaseAdapter, long accountId, FullBoard entity) {
handleOwner(dataBaseAdapter, accountId, entity);
- Long localId = dataBaseAdapter.createBoardDirectly(accountId, entity.getBoard());
+ final long localId = dataBaseAdapter.createBoardDirectly(accountId, entity.getBoard());
entity.getBoard().setLocalId(localId);
handleUsers(dataBaseAdapter, accountId, entity);
return localId;
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/MainActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/MainActivity.java
index 5f8fda81b..c1fcaaa70 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/MainActivity.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/MainActivity.java
@@ -1,5 +1,29 @@
package it.niedermann.nextcloud.deck.ui;
+import static androidx.lifecycle.Transformations.switchMap;
+import static it.niedermann.nextcloud.deck.DeckApplication.NO_ACCOUNT_ID;
+import static it.niedermann.nextcloud.deck.DeckApplication.NO_BOARD_ID;
+import static it.niedermann.nextcloud.deck.DeckApplication.NO_STACK_ID;
+import static it.niedermann.nextcloud.deck.DeckApplication.readCurrentAccountId;
+import static it.niedermann.nextcloud.deck.DeckApplication.readCurrentBoardId;
+import static it.niedermann.nextcloud.deck.DeckApplication.readCurrentStackId;
+import static it.niedermann.nextcloud.deck.DeckApplication.saveCurrentAccount;
+import static it.niedermann.nextcloud.deck.DeckApplication.saveCurrentBoardId;
+import static it.niedermann.nextcloud.deck.DeckApplication.saveCurrentStackId;
+import static it.niedermann.nextcloud.deck.persistence.sync.adapters.db.util.LiveDataHelper.observeOnce;
+import static it.niedermann.nextcloud.deck.ui.branding.BrandingUtil.applyBrandToFAB;
+import static it.niedermann.nextcloud.deck.ui.branding.BrandingUtil.applyBrandToPrimaryTabLayout;
+import static it.niedermann.nextcloud.deck.ui.branding.BrandingUtil.clearBrandColors;
+import static it.niedermann.nextcloud.deck.ui.branding.BrandingUtil.getSecondaryForegroundColorDependingOnTheme;
+import static it.niedermann.nextcloud.deck.ui.branding.BrandingUtil.saveBrandColors;
+import static it.niedermann.nextcloud.deck.util.DeckColorUtil.contrastRatioIsSufficient;
+import static it.niedermann.nextcloud.deck.util.DeckColorUtil.contrastRatioIsSufficientBigAreas;
+import static it.niedermann.nextcloud.deck.util.DrawerMenuUtil.MENU_ID_ABOUT;
+import static it.niedermann.nextcloud.deck.util.DrawerMenuUtil.MENU_ID_ADD_BOARD;
+import static it.niedermann.nextcloud.deck.util.DrawerMenuUtil.MENU_ID_ARCHIVED_BOARDS;
+import static it.niedermann.nextcloud.deck.util.DrawerMenuUtil.MENU_ID_SETTINGS;
+import static it.niedermann.nextcloud.deck.util.DrawerMenuUtil.MENU_ID_UPCOMING_CARDS;
+
import android.animation.AnimatorInflater;
import android.annotation.SuppressLint;
import android.content.Context;
@@ -105,30 +129,6 @@ import it.niedermann.nextcloud.deck.ui.upcomingcards.UpcomingCardsActivity;
import it.niedermann.nextcloud.deck.util.CustomAppGlideModule;
import it.niedermann.nextcloud.deck.util.DrawerMenuUtil;
-import static androidx.lifecycle.Transformations.switchMap;
-import static it.niedermann.nextcloud.deck.DeckApplication.NO_ACCOUNT_ID;
-import static it.niedermann.nextcloud.deck.DeckApplication.NO_BOARD_ID;
-import static it.niedermann.nextcloud.deck.DeckApplication.NO_STACK_ID;
-import static it.niedermann.nextcloud.deck.DeckApplication.readCurrentAccountId;
-import static it.niedermann.nextcloud.deck.DeckApplication.readCurrentBoardId;
-import static it.niedermann.nextcloud.deck.DeckApplication.readCurrentStackId;
-import static it.niedermann.nextcloud.deck.DeckApplication.saveCurrentAccount;
-import static it.niedermann.nextcloud.deck.DeckApplication.saveCurrentBoardId;
-import static it.niedermann.nextcloud.deck.DeckApplication.saveCurrentStackId;
-import static it.niedermann.nextcloud.deck.persistence.sync.adapters.db.util.LiveDataHelper.observeOnce;
-import static it.niedermann.nextcloud.deck.ui.branding.BrandingUtil.applyBrandToFAB;
-import static it.niedermann.nextcloud.deck.ui.branding.BrandingUtil.applyBrandToPrimaryTabLayout;
-import static it.niedermann.nextcloud.deck.ui.branding.BrandingUtil.clearBrandColors;
-import static it.niedermann.nextcloud.deck.ui.branding.BrandingUtil.getSecondaryForegroundColorDependingOnTheme;
-import static it.niedermann.nextcloud.deck.ui.branding.BrandingUtil.saveBrandColors;
-import static it.niedermann.nextcloud.deck.util.DeckColorUtil.contrastRatioIsSufficient;
-import static it.niedermann.nextcloud.deck.util.DeckColorUtil.contrastRatioIsSufficientBigAreas;
-import static it.niedermann.nextcloud.deck.util.DrawerMenuUtil.MENU_ID_ABOUT;
-import static it.niedermann.nextcloud.deck.util.DrawerMenuUtil.MENU_ID_ADD_BOARD;
-import static it.niedermann.nextcloud.deck.util.DrawerMenuUtil.MENU_ID_ARCHIVED_BOARDS;
-import static it.niedermann.nextcloud.deck.util.DrawerMenuUtil.MENU_ID_SETTINGS;
-import static it.niedermann.nextcloud.deck.util.DrawerMenuUtil.MENU_ID_UPCOMING_CARDS;
-
public class MainActivity extends AppCompatActivity implements DeleteStackListener, EditStackListener, DeleteBoardListener, EditBoardListener, ArchiveBoardListener, OnScrollListener, OnNavigationItemSelectedListener {
protected ActivityMainBinding binding;
@@ -178,7 +178,7 @@ public class MainActivity extends AppCompatActivity implements DeleteStackListen
setTheme(R.style.AppTheme);
- final TypedValue typedValue = new TypedValue();
+ final var typedValue = new TypedValue();
getTheme().resolveAttribute(R.attr.colorAccent, typedValue, true);
colorAccent = typedValue.data;
@@ -195,7 +195,7 @@ public class MainActivity extends AppCompatActivity implements DeleteStackListen
setSupportActionBar(binding.toolbar);
- final ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, binding.drawerLayout, binding.toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
+ final var toggle = new ActionBarDrawerToggle(this, binding.drawerLayout, binding.toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
binding.drawerLayout.addDrawerListener(toggle);
toggle.syncState();
@@ -237,16 +237,16 @@ public class MainActivity extends AppCompatActivity implements DeleteStackListen
startActivityForResult(ImportAccountActivity.createIntent(this), ImportAccountActivity.REQUEST_CODE_IMPORT_ACCOUNT);
return null;
}
- }).observe(this, (List<Account> accounts) -> {
+ }).observe(this, accounts -> {
if (accounts == null || accounts.size() == 0) {
// Last account has been deleted. hasAccounts LiveData will handle this, but we make sure, that branding is reset.
saveBrandColors(this, ContextCompat.getColor(this, R.color.defaultBrand));
return;
}
- long lastAccountId = readCurrentAccountId(this);
+ final var lastAccountId = readCurrentAccountId(this);
- for (Account account : accounts) {
+ for (var account : accounts) {
if (lastAccountId == account.getId() || lastAccountId == NO_ACCOUNT_ID) {
mainViewModel.setCurrentAccount(account);
if (!firstAccountAdded) {
@@ -306,7 +306,7 @@ public class MainActivity extends AppCompatActivity implements DeleteStackListen
binding.filter.setOnClickListener(null);
}
- final Board finalCurrentBoard = currentBoard;
+ final var finalCurrentBoard = currentBoard;
if (hasArchivedBoardsLiveData != null && hasArchivedBoardsLiveDataObserver != null) {
hasArchivedBoardsLiveData.removeObserver(hasArchivedBoardsLiveDataObserver);
}
@@ -342,14 +342,14 @@ public class MainActivity extends AppCompatActivity implements DeleteStackListen
binding.viewPager.setAdapter(stackAdapter);
binding.viewPager.setOffscreenPageLimit(2);
- final CrossTabDragAndDrop<StackFragment, CardAdapter, FullCard> dragAndDrop = new CrossTabDragAndDrop<>(getResources(), ViewCompat.getLayoutDirection(binding.getRoot()) == ViewCompat.LAYOUT_DIRECTION_LTR);
+ final var dragAndDrop = new CrossTabDragAndDrop<StackFragment, CardAdapter, FullCard>(getResources(), ViewCompat.getLayoutDirection(binding.getRoot()) == ViewCompat.LAYOUT_DIRECTION_LTR);
dragAndDrop.register(binding.viewPager, binding.stackTitles, getSupportFragmentManager());
dragAndDrop.addItemMovedByDragListener((movedCard, stackId, position) -> {
mainViewModel.reorder(mainViewModel.getCurrentAccount().getId(), movedCard, stackId, position);
DeckLog.info("Card", movedCard.getCard().getTitle(), "was moved to Stack", stackId, "on position", position);
});
- final PopupMenu listMenuPopup = new PopupMenu(this, binding.listMenuButton);
+ final var listMenuPopup = new PopupMenu(this, binding.listMenuButton);
listMenu = listMenuPopup.getMenu();
getMenuInflater().inflate(R.menu.list_menu, listMenu);
listMenuPopup.setOnMenuItemClickListener(this::onOptionsItemSelected);
@@ -487,7 +487,7 @@ public class MainActivity extends AppCompatActivity implements DeleteStackListen
@Override
public void onUpdateStack(long localStackId, String stackName) {
- mainViewModel.updateStackTitle(localStackId, stackName, new IResponseCallback<FullStack>() {
+ mainViewModel.updateStackTitle(localStackId, stackName, new IResponseCallback<>() {
@Override
public void onResponse(FullStack response) {
DeckLog.info("Successfully updated", Stack.class.getSimpleName(), "to", stackName);
@@ -507,7 +507,7 @@ public class MainActivity extends AppCompatActivity implements DeleteStackListen
throw new IllegalStateException("Cannot create board when noone observe boards yet. boardsLiveData or observer is null.");
}
boardsLiveData.removeObserver(boardsLiveDataObserver);
- final Board boardToCreate = new Board(title, color);
+ final var boardToCreate = new Board(title, color);
boardToCreate.setPermissionEdit(true);
boardToCreate.setPermissionManage(true);
@@ -644,7 +644,7 @@ public class MainActivity extends AppCompatActivity implements DeleteStackListen
int stackPositionInAdapter = 0;
stackAdapter.setStacks(stacks);
- final long currentStackId = readCurrentStackId(this, mainViewModel.getCurrentAccount().getId(), mainViewModel.getCurrentBoardLocalId());
+ final var currentStackId = readCurrentStackId(this, mainViewModel.getCurrentAccount().getId(), mainViewModel.getCurrentBoardLocalId());
for (int i = 0; i < currentBoardStacksCount; i++) {
if (stacks.get(i).getLocalId() == currentStackId || currentStackId == NO_STACK_ID) {
stackPositionInAdapter = i;
@@ -660,7 +660,7 @@ public class MainActivity extends AppCompatActivity implements DeleteStackListen
return "ERROR";
}
};
- final TabLayoutMediator newMediator = new TabLayoutMediator(binding.stackTitles, binding.viewPager, (tab, position) -> tab.setText(tabTitleGenerator.getTitle(position)));
+ final var newMediator = new TabLayoutMediator(binding.stackTitles, binding.viewPager, (tab, position) -> tab.setText(tabTitleGenerator.getTitle(position)));
runOnUiThread(() -> {
setStackMediator(newMediator);
binding.viewPager.setCurrentItem(stackPositionInAdapterClone, false);
@@ -697,7 +697,7 @@ public class MainActivity extends AppCompatActivity implements DeleteStackListen
@UiThread
protected void inflateBoardMenu(@Nullable Board currentBoard) {
binding.navigationView.setItemIconTintList(null);
- final Menu menu = binding.navigationView.getMenu();
+ final var menu = binding.navigationView.getMenu();
menu.clear();
DrawerMenuUtil.inflateBoards(this, menu, this.boardsList, mainViewModel.currentAccountHasArchivedBoards(), mainViewModel.getCurrentAccount().getServerDeckVersionAsObject().isSupported());
binding.navigationView.setCheckedItem(boardsList.indexOf(currentBoard));
@@ -731,10 +731,10 @@ public class MainActivity extends AppCompatActivity implements DeleteStackListen
@Override
public boolean onOptionsItemSelected(MenuItem item) {
- int itemId = item.getItemId();
+ final int itemId = item.getItemId();
if (itemId == R.id.archive_cards) {
- final Stack stack = stackAdapter.getItem(binding.viewPager.getCurrentItem());
- final long stackLocalId = stack.getLocalId();
+ final var stack = stackAdapter.getItem(binding.viewPager.getCurrentItem());
+ final var stackLocalId = stack.getLocalId();
mainViewModel.countCardsInStack(mainViewModel.getCurrentAccount().getId(), stackLocalId, (numberOfCards) -> runOnUiThread(() ->
new AlertDialog.Builder(this)
.setTitle(R.string.archive_cards)
@@ -767,7 +767,7 @@ public class MainActivity extends AppCompatActivity implements DeleteStackListen
EditStackDialogFragment.newInstance().show(getSupportFragmentManager(), addList);
return true;
} else if (itemId == R.id.rename_list) {
- final long stackId = stackAdapter.getItem(binding.viewPager.getCurrentItem()).getLocalId();
+ final var stackId = stackAdapter.getItem(binding.viewPager.getCurrentItem()).getLocalId();
observeOnce(mainViewModel.getStack(mainViewModel.getCurrentAccount().getId(), stackId), MainActivity.this, fullStack ->
EditStackDialogFragment.newInstance(fullStack.getLocalId(), fullStack.getStack().getTitle())
.show(getSupportFragmentManager(), EditStackDialogFragment.class.getCanonicalName()));
@@ -834,11 +834,11 @@ public class MainActivity extends AppCompatActivity implements DeleteStackListen
default:
try {
AccountImporter.onActivityResult(requestCode, resultCode, data, this, (account) -> {
- final Account accountToCreate = new Account(account.name, account.userId, account.url);
- mainViewModel.createAccount(accountToCreate, new IResponseCallback<Account>() {
+ final var accountToCreate = new Account(account.name, account.userId, account.url);
+ mainViewModel.createAccount(accountToCreate, new IResponseCallback<>() {
@Override
public void onResponse(Account createdAccount) {
- final SyncManager importSyncManager = new SyncManager(MainActivity.this, account.name);
+ final var importSyncManager = new SyncManager(MainActivity.this, account.name);
importSyncManager.refreshCapabilities(new ResponseCallback<Capabilities>(createdAccount) {
@SuppressLint("StringFormatInvalid")
@Override
@@ -846,9 +846,9 @@ public class MainActivity extends AppCompatActivity implements DeleteStackListen
if (!response.isMaintenanceEnabled()) {
if (response.getDeckVersion().isSupported()) {
runOnUiThread(() -> {
- final Snackbar importSnackbar = BrandedSnackbar.make(binding.coordinatorLayout, R.string.account_is_getting_imported, Snackbar.LENGTH_INDEFINITE);
+ final var importSnackbar = BrandedSnackbar.make(binding.coordinatorLayout, R.string.account_is_getting_imported, Snackbar.LENGTH_INDEFINITE);
importSnackbar.show();
- importSyncManager.synchronize(new ResponseCallback<Boolean>(createdAccount) {
+ importSyncManager.synchronize(new ResponseCallback<>(createdAccount) {
@Override
public void onResponse(Boolean syncSuccess) {
importSnackbar.dismiss();
@@ -878,7 +878,7 @@ public class MainActivity extends AppCompatActivity implements DeleteStackListen
.setMessage(getString(R.string.deck_outdated_please_update, response.getDeckVersion().getOriginalVersion()))
.setNegativeButton(R.string.simple_discard, null)
.setPositiveButton(R.string.simple_update, (dialog, whichButton) -> {
- final Intent openURL = new Intent(Intent.ACTION_VIEW);
+ final var openURL = new Intent(Intent.ACTION_VIEW);
openURL.setData(Uri.parse(createdAccount.getUrl() + getString(R.string.url_fragment_update_deck)));
startActivity(openURL);
finish();
@@ -949,14 +949,14 @@ public class MainActivity extends AppCompatActivity implements DeleteStackListen
binding.searchToolbar.setNavigationOnClickListener(v1 -> onBackPressed());
binding.enableSearch.setVisibility(View.GONE);
binding.filterText.requestFocus();
- final InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
+ final var imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(binding.filterText, InputMethodManager.SHOW_IMPLICIT);
binding.toolbarCard.setStateListAnimator(AnimatorInflater.loadStateListAnimator(this, R.animator.appbar_elevation_on));
}
private void hideFilterTextToolbar() {
binding.filterText.setText(null);
- final InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
+ final var imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
binding.searchToolbar.setVisibility(View.GONE);
binding.enableSearch.setVisibility(View.VISIBLE);
@@ -965,8 +965,8 @@ public class MainActivity extends AppCompatActivity implements DeleteStackListen
}
private void registerAutoSyncOnNetworkAvailable() {
- final ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
- final NetworkRequest.Builder builder = new NetworkRequest.Builder();
+ final var connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
+ final var builder = new NetworkRequest.Builder();
if (connectivityManager != null) {
if (networkCallback == null) {
@@ -974,7 +974,7 @@ public class MainActivity extends AppCompatActivity implements DeleteStackListen
@Override
public void onAvailable(@NonNull Network network) {
DeckLog.log("Got Network connection");
- mainViewModel.synchronize(new ResponseCallback<Boolean>(mainViewModel.getCurrentAccount()) {
+ mainViewModel.synchronize(new ResponseCallback<>(mainViewModel.getCurrentAccount()) {
@Override
public void onResponse(Boolean response) {
DeckLog.log("Auto-Sync after connection available successful");
@@ -1084,7 +1084,7 @@ public class MainActivity extends AppCompatActivity implements DeleteStackListen
@Override
public void onArchive(@NonNull Board board) {
- mainViewModel.archiveBoard(board, new IResponseCallback<FullBoard>() {
+ mainViewModel.archiveBoard(board, new IResponseCallback<>() {
@Override
public void onResponse(FullBoard response) {
DeckLog.info("Successfully archived board", board.getTitle());
@@ -1107,9 +1107,9 @@ public class MainActivity extends AppCompatActivity implements DeleteStackListen
.setMultiChoiceItems(animals, checkedItems, (dialog, which, isChecked) -> checkedItems[0] = isChecked)
.setPositiveButton(R.string.simple_clone, (dialog, which) -> {
binding.drawerLayout.closeDrawer(GravityCompat.START);
- final Snackbar snackbar = BrandedSnackbar.make(binding.coordinatorLayout, getString(R.string.cloning_board, board.getTitle()), Snackbar.LENGTH_INDEFINITE);
+ final var snackbar = BrandedSnackbar.make(binding.coordinatorLayout, getString(R.string.cloning_board, board.getTitle()), Snackbar.LENGTH_INDEFINITE);
snackbar.show();
- mainViewModel.cloneBoard(board.getAccountId(), board.getLocalId(), board.getAccountId(), board.getColor(), checkedItems[0], new IResponseCallback<FullBoard>() {
+ mainViewModel.cloneBoard(board.getAccountId(), board.getLocalId(), board.getAccountId(), board.getColor(), checkedItems[0], new IResponseCallback<>() {
@Override
public void onResponse(FullBoard response) {
runOnUiThread(() -> {
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/widget/stack/StackWidgetConfigurationActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/widget/stack/StackWidgetConfigurationActivity.java
index 85c987740..95604de26 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/widget/stack/StackWidgetConfigurationActivity.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/widget/stack/StackWidgetConfigurationActivity.java
@@ -63,7 +63,7 @@ public class StackWidgetConfigurationActivity extends PickStackActivity {
Collections.singletonList(filterWidgetBoard));
config.setAccounts(Collections.singletonList(filterWidgetAccount));
- stackWidgetConfigurationViewModel.addStackWidget(config, new ResponseCallback<Integer>(account) {
+ stackWidgetConfigurationViewModel.addStackWidget(config, new ResponseCallback<>(account) {
@Override
public void onResponse(Integer response) {
final Intent updateIntent = new Intent(AppWidgetManager.ACTION_APPWIDGET_UPDATE, null,
diff --git a/build.gradle b/build.gradle
index 0970cb67d..5cda39344 100644
--- a/build.gradle
+++ b/build.gradle
@@ -7,7 +7,7 @@ buildscript {
mavenCentral()
}
dependencies {
- classpath 'com.android.tools.build:gradle:4.2.2'
+ classpath 'com.android.tools.build:gradle:7.0.0'
//noinspection DifferentKotlinGradleVersion
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.21"
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 1f3fdbc52..29e413457 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists