Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/stefan-niedermann/nextcloud-deck.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Niedermann <info@niedermann.it>2021-08-03 16:53:37 +0300
committerStefan Niedermann <info@niedermann.it>2021-08-03 16:53:37 +0300
commit1027c67c681159a3326d2bcec0095a32608d6d11 (patch)
tree7464ae7a0ac5d6cd11f9666d00a6bfe3ecdfcd2b
parentd6035cec024bd23b24651b740b67a09885d747de (diff)
Replaced explicit types with diamond operator
Signed-off-by: Stefan Niedermann <info@niedermann.it>
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/api/RequestHelper.java2
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/api/ResponseCallback.java4
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/model/ocs/Version.java6
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/SyncManager.java48
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/util/LiveDataHelper.java8
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/util/extrawurst/Debouncer.java2
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/util/extrawurst/UserSearchLiveData.java2
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/DataPropagationHelper.java6
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/SyncHelper.java6
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/AccessControlDataProvider.java6
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/AttachmentDataProvider.java2
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/CardDataProvider.java14
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/CardPropagationDataProvider.java4
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/DeckCommentsDataProvider.java5
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/LabelDataProvider.java2
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/OcsProjectDataProvider.java2
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/ImportAccountActivity.java10
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/MainActivity.java22
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/PickStackActivity.java12
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/PushNotificationActivity.java8
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/archivedboards/ArchivedBoardsActvitiy.java6
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/archivedcards/ArchivedCardsAdapter.java4
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/attachments/AttachmentViewHolder.java2
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/board/accesscontrol/AccessControlDialogFragment.java12
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/board/managelabels/ManageLabelsDialogFragment.java12
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardAdapter.java4
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/CardAttachmentsFragment.java4
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/CardCommentsFragment.java12
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/card/details/CardDetailsFragment.java2
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/pickstack/PickStackFragment.java19
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/preparecreate/PrepareCreateActivity.java2
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/sharetarget/ShareTargetActivity.java4
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/StackFragment.java2
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/upcomingcards/UpcomingCardsActivity.java6
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/widget/upcoming/UpcomingWidget.java6
-rw-r--r--app/src/test/java/it/niedermann/nextcloud/deck/TestUtil.java6
-rw-r--r--app/src/test/java/it/niedermann/nextcloud/deck/api/ResponseCallbackTest.java22
-rw-r--r--app/src/test/java/it/niedermann/nextcloud/deck/persistence/sync/SyncManagerTest.java62
-rw-r--r--app/src/test/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DataBaseAdapterTest.java27
-rw-r--r--app/src/test/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DeckDatabaseTestUtil.java28
-rw-r--r--app/src/test/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/dao/AccountDaoTest.java17
-rw-r--r--app/src/test/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/dao/BoardDaoTest.java29
42 files changed, 212 insertions, 247 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/api/RequestHelper.java b/app/src/main/java/it/niedermann/nextcloud/deck/api/RequestHelper.java
index f17810370..e1c2b738f 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/api/RequestHelper.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/api/RequestHelper.java
@@ -49,7 +49,7 @@ public class RequestHelper {
@NonNull
private final ResponseCallback<T> callback;
@NonNull
- private final Consumer<Throwable> exceptionConsumer = new Consumer<Throwable>() {
+ private final Consumer<Throwable> exceptionConsumer = new Consumer<>() {
@Override
public void accept(final Throwable throwable) {
callback.onError(throwable);
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/api/ResponseCallback.java b/app/src/main/java/it/niedermann/nextcloud/deck/api/ResponseCallback.java
index 4b23bda60..113d58332 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/api/ResponseCallback.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/api/ResponseCallback.java
@@ -49,7 +49,7 @@ public abstract class ResponseCallback<T> implements IResponseCallback<T> {
private boolean isListOfRemoteEntity(T response) {
if (response instanceof List) {
- List<?> collection = (List) response;
+ final var collection = (List<?>) response;
return collection.size() > 0 && collection.get(0) instanceof AbstractRemoteEntity;
}
return false;
@@ -64,7 +64,7 @@ public abstract class ResponseCallback<T> implements IResponseCallback<T> {
* Forwards responses and errors to the given {@param callback}
*/
public static <T> ResponseCallback<T> from(@NonNull Account account, IResponseCallback<T> callback) {
- return new ResponseCallback<T>(account) {
+ return new ResponseCallback<>(account) {
@Override
public void onResponse(T response) {
callback.onResponse(response);
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/model/ocs/Version.java b/app/src/main/java/it/niedermann/nextcloud/deck/model/ocs/Version.java
index e3ded9305..4f4698a5a 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/model/ocs/Version.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/model/ocs/Version.java
@@ -19,9 +19,9 @@ public class Version implements Comparable<Version> {
private static final Version VERSION_1_3_0 = new Version("1.3.0", 1, 3, 0);
private String originalVersion = "?";
- private int major = 0;
- private int minor = 0;
- private int patch = 0;
+ private int major;
+ private int minor;
+ private int patch;
public Version(String originalVersion, int major, int minor, int patch) {
this(major, minor, patch);
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 d2fc568df..c0002c43f 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
@@ -141,7 +141,7 @@ public class SyncManager {
CountDownLatch latch = new CountDownLatch(accounts.size());
try {
for (Account account : accounts) {
- new SyncManager(dataBaseAdapter.getContext(), account.getName()).synchronize(new ResponseCallback<Boolean>(account) {
+ new SyncManager(dataBaseAdapter.getContext(), account.getName()).synchronize(new ResponseCallback<>(account) {
@Override
public void onResponse(Boolean response) {
success.set(success.get() && Boolean.TRUE.equals(response));
@@ -206,7 +206,7 @@ public class SyncManager {
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()) {
@@ -216,10 +216,10 @@ public class SyncManager {
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());
@@ -388,7 +388,7 @@ public class SyncManager {
executor.submit(() -> {
for (Account 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));
@@ -406,7 +406,7 @@ public class SyncManager {
return executor.submit(() -> {
try {
Account accountForEtag = dataBaseAdapter.getAccountByIdDirectly(callback.getAccount().getId());
- serverAdapter.getCapabilities(accountForEtag.getEtag(), new ResponseCallback<ParsedResponse<Capabilities>>(callback.getAccount()) {
+ serverAdapter.getCapabilities(accountForEtag.getEtag(), new ResponseCallback<>(callback.getAccount()) {
@Override
public void onResponse(ParsedResponse<Capabilities> response) {
Account acc = dataBaseAdapter.getAccountByIdDirectly(account.getId());
@@ -657,7 +657,7 @@ public class SyncManager {
serverAdapterToUse = new ServerAdapter(appContext, targetAccount.getName());
}
syncHelperFactory.create(serverAdapterToUse, dataBaseAdapter, null)
- .setResponseCallback(new ResponseCallback<Boolean>(targetAccount) {
+ .setResponseCallback(new ResponseCallback<>(targetAccount) {
@Override
public void onResponse(Boolean response) {
callback.onResponse(dataBaseAdapter.getFullBoardByLocalIdDirectly(targetAccountId, newBoardId));
@@ -681,7 +681,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
@@ -701,7 +701,7 @@ public class SyncManager {
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) {
+ new DataPropagationHelper(serverAdapter, dataBaseAdapter, executor).createEntity(new DeckCommentsDataProvider(null, card), commentEntity, new ResponseCallback<>(account) {
@Override
public void onResponse(OcsComment response) {
// nothing so far
@@ -718,7 +718,7 @@ public class SyncManager {
DeckComment 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) {
+ new DataPropagationHelper(serverAdapter, dataBaseAdapter, executor).updateEntity(new DeckCommentsDataProvider(null, card), commentEntity, new ResponseCallback<>(account) {
@Override
public void onResponse(OcsComment response) {
// nothing so far
@@ -814,7 +814,7 @@ public class SyncManager {
Account account = dataBaseAdapter.getAccountByIdDirectly(entity.getAccountId());
FullBoard 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) {
+ new AccessControlDataProvider(null, board, Collections.singletonList(entity)), entity, new ResponseCallback<>(account) {
@Override
public void onResponse(Void response) {
// revoked own board-access?
@@ -1020,7 +1020,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);
@@ -1101,7 +1101,7 @@ public class SyncManager {
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();
@@ -1185,7 +1185,7 @@ public class SyncManager {
if (serverAdapter.hasInternetConnection()) {
Account 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()));
@@ -1263,7 +1263,7 @@ public class SyncManager {
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());
@@ -1380,7 +1380,7 @@ public class SyncManager {
Account account = dataBaseAdapter.getAccountByIdDirectly(accountId);
Board board = dataBaseAdapter.getBoardByLocalCardIdDirectly(localCardId);
label.setAccountId(accountId);
- new DataPropagationHelper(serverAdapterToUse, dataBaseAdapter, executor).createEntity(new LabelDataProvider(null, board, null), label, new ResponseCallback<Label>(account) {
+ new DataPropagationHelper(serverAdapterToUse, dataBaseAdapter, executor).createEntity(new LabelDataProvider(null, board, null), label, new ResponseCallback<>(account) {
@Override
public void onResponse(Label response) {
assignLabelToCard(response, dataBaseAdapter.getCardByLocalIdDirectly(accountId, localCardId));
@@ -1392,9 +1392,7 @@ public class SyncManager {
super.onError(throwable);
assignLabelToCard(label, dataBaseAdapter.getCardByLocalIdDirectly(accountId, localCardId));
}
- }, (entity, response) -> {
- response.setBoardId(board.getLocalId());
- });
+ }, (entity, response) -> response.setBoardId(board.getLocalId()));
});
return liveData;
}
@@ -1433,7 +1431,7 @@ public class SyncManager {
Board board = dataBaseAdapter.getBoardByLocalIdDirectly(stack.getBoardId());
Account 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) {
@@ -1462,7 +1460,7 @@ public class SyncManager {
Board board = dataBaseAdapter.getBoardByLocalIdDirectly(stack.getBoardId());
Account 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) {
@@ -1481,7 +1479,7 @@ public class SyncManager {
Board board = dataBaseAdapter.getBoardByLocalIdDirectly(stack.getBoardId());
Account 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());
@@ -1499,7 +1497,7 @@ public class SyncManager {
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) {
+ 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());
@@ -1651,7 +1649,7 @@ public class SyncManager {
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) {
+ syncHelperFactory.create(serverAdapter, dataBaseAdapter, Instant.now()).setResponseCallback(new ResponseCallback<>(account) {
@Override
public void onResponse(Boolean response) {
// doNothing();
@@ -1775,7 +1773,7 @@ public class SyncManager {
Board board = dataBaseAdapter.getBoardByLocalIdDirectly(stack.getBoardId());
Account 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);
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/util/LiveDataHelper.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/util/LiveDataHelper.java
index 397d1339f..af503b029 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/util/LiveDataHelper.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/util/LiveDataHelper.java
@@ -1,5 +1,7 @@
package it.niedermann.nextcloud.deck.persistence.sync.adapters.db.util;
+import static androidx.lifecycle.Transformations.distinctUntilChanged;
+
import androidx.annotation.NonNull;
import androidx.lifecycle.LifecycleOwner;
import androidx.lifecycle.LiveData;
@@ -9,8 +11,6 @@ import androidx.lifecycle.Observer;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
-import static androidx.lifecycle.Transformations.distinctUntilChanged;
-
public class LiveDataHelper {
private LiveDataHelper() {
@@ -39,7 +39,7 @@ public class LiveDataHelper {
}
public static <I> MediatorLiveData<I> of(I oneShot) {
- return new MediatorLiveData<I>() {
+ return new MediatorLiveData<>() {
@Override
public void observe(@NonNull LifecycleOwner owner, @NonNull Observer observer) {
super.observe(owner, observer);
@@ -55,7 +55,7 @@ public class LiveDataHelper {
}
public static <T> void observeOnce(LiveData<T> liveData, LifecycleOwner owner, Observer<T> observer) {
- final Observer<T> tempObserver = new Observer<T>() {
+ final Observer<T> tempObserver = new Observer<>() {
@Override
public void onChanged(T result) {
liveData.removeObserver(this);
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/util/extrawurst/Debouncer.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/util/extrawurst/Debouncer.java
index fca4ca369..b9fa58b7d 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/util/extrawurst/Debouncer.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/util/extrawurst/Debouncer.java
@@ -7,7 +7,7 @@ import java.util.concurrent.TimeUnit;
public class Debouncer <T> {
private final ScheduledExecutorService sched = Executors.newScheduledThreadPool(1);
- private final ConcurrentHashMap<T, TimerTask> delayedMap = new ConcurrentHashMap<T, TimerTask>();
+ private final ConcurrentHashMap<T, TimerTask> delayedMap = new ConcurrentHashMap<>();
private final Callback<T> callback;
private final int interval;
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/util/extrawurst/UserSearchLiveData.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/util/extrawurst/UserSearchLiveData.java
index 4a90664c9..e0f546399 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/util/extrawurst/UserSearchLiveData.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/util/extrawurst/UserSearchLiveData.java
@@ -52,7 +52,7 @@ public class UserSearchLiveData extends MediatorLiveData<List<User>> implements
if (server.hasInternetConnection()) {
try {
Account account = db.getAccountByIdDirectly(accountId);
- server.searchUser(term, new ResponseCallback<OcsUserList>(account) {
+ server.searchUser(term, new ResponseCallback<>(account) {
@Override
public void onResponse(OcsUserList response) {
if (response == null || response.getUsers().isEmpty()){
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/DataPropagationHelper.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/DataPropagationHelper.java
index f67c0f107..41accd486 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/DataPropagationHelper.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/DataPropagationHelper.java
@@ -45,7 +45,7 @@ public class DataPropagationHelper {
entity.setLocalId(newID);
if (serverAdapter.hasInternetConnection()) {
try {
- provider.createOnServer(serverAdapter, dataBaseAdapter, accountId, new ResponseCallback<T>(callback.getAccount()) {
+ provider.createOnServer(serverAdapter, dataBaseAdapter, accountId, new ResponseCallback<>(callback.getAccount()) {
@Override
public void onResponse(T response) {
executor.submit(() -> {
@@ -85,7 +85,7 @@ public class DataPropagationHelper {
}
if (entity.getId() != null && serverAdapter.hasInternetConnection()) {
try {
- provider.updateOnServer(serverAdapter, dataBaseAdapter, accountId, new ResponseCallback<T>(new Account(accountId)) {
+ provider.updateOnServer(serverAdapter, dataBaseAdapter, accountId, new ResponseCallback<>(new Account(accountId)) {
@Override
public void onResponse(T response) {
executor.submit(() -> {
@@ -114,7 +114,7 @@ public class DataPropagationHelper {
provider.deleteInDB(dataBaseAdapter, accountId, entity);
if (entity.getId() != null && serverAdapter.hasInternetConnection()) {
try {
- provider.deleteOnServer(serverAdapter, accountId, new ResponseCallback<Void>(new Account(accountId)) {
+ provider.deleteOnServer(serverAdapter, accountId, new ResponseCallback<>(new Account(accountId)) {
@Override
public void onResponse(Void response) {
executor.submit(() -> {
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/SyncHelper.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/SyncHelper.java
index a334d05fe..b58d0bf9c 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/SyncHelper.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/SyncHelper.java
@@ -44,7 +44,7 @@ public class SyncHelper {
// Sync Server -> App
public <T extends IRemoteEntity> void doSyncFor(@NonNull final AbstractSyncDataProvider<T> provider) {
provider.registerChildInParent(provider);
- provider.getAllFromServer(serverAdapter, dataBaseAdapter, accountId, new ResponseCallback<List<T>>(account) {
+ provider.getAllFromServer(serverAdapter, dataBaseAdapter, accountId, new ResponseCallback<>(account) {
@Override
public void onResponse(List<T> response) {
if (response != null) {
@@ -134,7 +134,7 @@ public class SyncHelper {
}
private <T extends IRemoteEntity> ResponseCallback<Void> getDeleteCallback(@NonNull AbstractSyncDataProvider<T> provider, T entity) {
- return new ResponseCallback<Void>(account) {
+ return new ResponseCallback<>(account) {
@Override
public void onResponse(Void response) {
provider.deletePhysicallyInDB(dataBaseAdapter, accountId, entity);
@@ -150,7 +150,7 @@ public class SyncHelper {
}
private <T extends IRemoteEntity> ResponseCallback<T> getUpdateCallback(@NonNull AbstractSyncDataProvider<T> provider, @NonNull T entity, @Nullable CountDownLatch countDownLatch) {
- return new ResponseCallback<T>(account) {
+ return new ResponseCallback<>(account) {
@Override
public void onResponse(T response) {
response.setAccountId(this.account.getId());
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/AccessControlDataProvider.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/AccessControlDataProvider.java
index 1288ca66a..55cb5514b 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/AccessControlDataProvider.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/AccessControlDataProvider.java
@@ -35,7 +35,7 @@ public class AccessControlDataProvider extends AbstractSyncDataProvider<AccessCo
AsyncUtil.awaitAsyncWork(acl.size(), latch -> {
for (AccessControl accessControl : acl) {
if (TYPE_GROUP.equals(accessControl.getType())) {
- serverAdapter.searchGroupMembers(accessControl.getUser().getUid(), new ResponseCallback<GroupMemberUIDs>(responder.getAccount()) {
+ serverAdapter.searchGroupMembers(accessControl.getUser().getUid(), new ResponseCallback<>(responder.getAccount()) {
@Override
public void onResponse(GroupMemberUIDs response) {
accessControl.setGroupMemberUIDs(response);
@@ -64,7 +64,7 @@ public class AccessControlDataProvider extends AbstractSyncDataProvider<AccessCo
User user = dataBaseAdapter.getUserByUidDirectly(account.getId(), uid);
if (user == null) {
// unknown user. fetch!
- serverAdapter.getSingleUserData(uid, new ResponseCallback<OcsUser>(account) {
+ serverAdapter.getSingleUserData(uid, new ResponseCallback<>(account) {
@Override
public void onResponse(OcsUser response) {
DeckLog.log(response);
@@ -106,7 +106,7 @@ public class AccessControlDataProvider extends AbstractSyncDataProvider<AccessCo
}
private void handleGroupMemberships(DataBaseAdapter dataBaseAdapter, AccessControl entity) {
- if (entity.getType() != TYPE_GROUP) {
+ if (!TYPE_GROUP.equals(entity.getType())) {
return;
}
dataBaseAdapter.deleteGroupMembershipsOfGroup(entity.getUser().getLocalId());
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/AttachmentDataProvider.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/AttachmentDataProvider.java
index 2aae97c37..41091b4a4 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/AttachmentDataProvider.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/AttachmentDataProvider.java
@@ -68,7 +68,7 @@ public class AttachmentDataProvider extends AbstractSyncDataProvider<Attachment>
@Override
public void createOnServer(ServerAdapter serverAdapter, DataBaseAdapter dataBaseAdapter, long accountId, ResponseCallback<Attachment> responder, Attachment entity) {
File file = new File(entity.getLocalPath());
- serverAdapter.uploadAttachment(board.getId(), stack.getId(), card.getId(), file, new ResponseCallback<Attachment>(responder.getAccount()) {
+ serverAdapter.uploadAttachment(board.getId(), stack.getId(), card.getId(), file, new ResponseCallback<>(responder.getAccount()) {
@Override
public void onResponse(Attachment response) {
if (file.delete()) {
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/CardDataProvider.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/CardDataProvider.java
index 88e93db68..7a710733d 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/CardDataProvider.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/CardDataProvider.java
@@ -51,7 +51,7 @@ public class CardDataProvider extends AbstractSyncDataProvider<FullCard> {
}
List<FullCard> result = Collections.synchronizedList(new ArrayList<>());
for (Card card : stack.getCards()) {
- serverAdapter.getCard(board.getId(), stack.getId(), card.getId(), new ResponseCallback<FullCard>(responder.getAccount()) {
+ serverAdapter.getCard(board.getId(), stack.getId(), card.getId(), new ResponseCallback<>(responder.getAccount()) {
@Override
public void onResponse(FullCard response) {
result.add(response);
@@ -171,7 +171,7 @@ public class CardDataProvider extends AbstractSyncDataProvider<FullCard> {
CardUpdate update = toCardUpdate(entity);
update.setStackId(stack.getId());
// https://github.com/stefan-niedermann/nextcloud-deck/issues/787 resolve archiving-conflict
- serverAdapter.updateCard(board.getId(), stack.getId(), update, new ResponseCallback<FullCard>(callback.getAccount()) {
+ serverAdapter.updateCard(board.getId(), stack.getId(), update, new ResponseCallback<>(callback.getAccount()) {
@Override
public void onResponse(FullCard response) {
callback.onResponse(response);
@@ -249,7 +249,7 @@ public class CardDataProvider extends AbstractSyncDataProvider<FullCard> {
if (changedLabel.getLabelId() == null || changedLabel.getCardId() == null) {
dataBaseAdapter.deleteJoinedLabelForCardPhysicallyByRemoteIDs(account.getId(), changedLabel.getCardId(), changedLabel.getLabelId());
} else {
- serverAdapter.unassignLabelFromCard(board.getId(), stack.getId(), changedLabel.getCardId(), changedLabel.getLabelId(), new ResponseCallback<Void>(account) {
+ serverAdapter.unassignLabelFromCard(board.getId(), stack.getId(), changedLabel.getCardId(), changedLabel.getLabelId(), new ResponseCallback<>(account) {
@Override
public void onResponse(Void response) {
dataBaseAdapter.deleteJoinedLabelForCardPhysicallyByRemoteIDs(account.getId(), changedLabel.getCardId(), changedLabel.getLabelId());
@@ -261,7 +261,7 @@ public class CardDataProvider extends AbstractSyncDataProvider<FullCard> {
// Sync next time, the card should be available on server then.
continue;
} else {
- serverAdapter.assignLabelToCard(board.getId(), stack.getId(), changedLabel.getCardId(), changedLabel.getLabelId(), new ResponseCallback<Void>(account) {
+ serverAdapter.assignLabelToCard(board.getId(), stack.getId(), changedLabel.getCardId(), changedLabel.getLabelId(), new ResponseCallback<>(account) {
@Override
public void onResponse(Void response) {
Label label = dataBaseAdapter.getLabelByRemoteIdDirectly(account.getId(), changedLabel.getLabelId());
@@ -305,14 +305,14 @@ public class CardDataProvider extends AbstractSyncDataProvider<FullCard> {
}
User user = dataBaseAdapter.getUserByLocalIdDirectly(changedUser.getUserId());
if (changedUser.getStatusEnum() == DBStatus.LOCAL_DELETED) {
- serverAdapter.unassignUserFromCard(board.getId(), stack.getId(), changedUser.getCardId(), user.getUid(), new ResponseCallback<Void>(account) {
+ serverAdapter.unassignUserFromCard(board.getId(), stack.getId(), changedUser.getCardId(), user.getUid(), new ResponseCallback<>(account) {
@Override
public void onResponse(Void response) {
dataBaseAdapter.deleteJoinedUserForCardPhysicallyByRemoteIDs(account.getId(), changedUser.getCardId(), user.getUid());
}
});
} else if (changedUser.getStatusEnum() == DBStatus.LOCAL_EDITED) {
- serverAdapter.assignUserToCard(board.getId(), stack.getId(), changedUser.getCardId(), user.getUid(), new ResponseCallback<Void>(account) {
+ serverAdapter.assignUserToCard(board.getId(), stack.getId(), changedUser.getCardId(), user.getUid(), new ResponseCallback<>(account) {
@Override
public void onResponse(Void response) {
dataBaseAdapter.setStatusForJoinCardWithUser(card.getLocalId(), user.getLocalId(), DBStatus.UP_TO_DATE.getId());
@@ -358,7 +358,7 @@ public class CardDataProvider extends AbstractSyncDataProvider<FullCard> {
}
if (cardToDelete.getStatus() == DBStatus.LOCAL_MOVED.getId()) {
//only delete, if the card isn't availible on server anymore.
- serverAdapter.getCard(board.getId(), stack.getId(), cardToDelete.getId(), new ResponseCallback<FullCard>(new Account(accountId)) {
+ serverAdapter.getCard(board.getId(), stack.getId(), cardToDelete.getId(), new ResponseCallback<>(new Account(accountId)) {
@Override
public void onResponse(FullCard response) {
// do not delete, it's still there and was just moved!
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/CardPropagationDataProvider.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/CardPropagationDataProvider.java
index 5163b8601..1b3914319 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/CardPropagationDataProvider.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/CardPropagationDataProvider.java
@@ -22,7 +22,7 @@ public class CardPropagationDataProvider extends CardDataProvider {
public void createOnServer(ServerAdapter serverAdapter, DataBaseAdapter dataBaseAdapter, long accountId, ResponseCallback<FullCard> responder, FullCard entity) {
// make sure, all ancestors are synced properly
if (board.getId() == null) {
- serverAdapter.createBoard(board, new ResponseCallback<FullBoard>(responder.getAccount()) {
+ serverAdapter.createBoard(board, new ResponseCallback<>(responder.getAccount()) {
@Override
public void onResponse(FullBoard response) {
board.setId(response.getId());
@@ -37,7 +37,7 @@ public class CardPropagationDataProvider extends CardDataProvider {
}
});
} else if (stack.getId() == null) {
- serverAdapter.createStack(board, stack.getStack(), new ResponseCallback<FullStack>(responder.getAccount()) {
+ serverAdapter.createStack(board, stack.getStack(), new ResponseCallback<>(responder.getAccount()) {
@Override
public void onResponse(FullStack response) {
stack.setId(response.getId());
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/DeckCommentsDataProvider.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/DeckCommentsDataProvider.java
index 5240c4770..9d7ee4c70 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/DeckCommentsDataProvider.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/DeckCommentsDataProvider.java
@@ -3,6 +3,7 @@ package it.niedermann.nextcloud.deck.persistence.sync.helpers.providers;
import java.time.Instant;
import java.util.ArrayList;
import java.util.Collections;
+import java.util.Comparator;
import java.util.List;
import it.niedermann.nextcloud.deck.DeckLog;
@@ -25,14 +26,14 @@ public class DeckCommentsDataProvider extends AbstractSyncDataProvider<OcsCommen
@Override
public void getAllFromServer(ServerAdapter serverAdapter, long accountId, ResponseCallback<List<OcsComment>> responder, Instant lastSync) {
- serverAdapter.getCommentsForRemoteCardId(card.getId(), new ResponseCallback<OcsComment>(responder.getAccount()) {
+ serverAdapter.getCommentsForRemoteCardId(card.getId(), new ResponseCallback<>(responder.getAccount()) {
@Override
public void onResponse(OcsComment response) {
if (response == null) {
response = new OcsComment();
}
List<OcsComment> comments = response.split();
- Collections.sort(comments, (o1, o2) -> o1.getSingle().getCreationDateTime().compareTo(o2.getSingle().getCreationDateTime()));
+ Collections.sort(comments, Comparator.comparing(o -> o.getSingle().getCreationDateTime()));
verifyCommentListIntegrity(comments);
responder.onResponse(comments);
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/LabelDataProvider.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/LabelDataProvider.java
index 23f63c12f..9bfeba8cd 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/LabelDataProvider.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/LabelDataProvider.java
@@ -57,7 +57,7 @@ public class LabelDataProvider extends AbstractSyncDataProvider<Label> {
}
private ResponseCallback<Label> getLabelUniqueHandler(DataBaseAdapter dataBaseAdapter, Label entitiy, ResponseCallback<Label> responder) {
- return new ResponseCallback<Label>(responder.getAccount()) {
+ return new ResponseCallback<>(responder.getAccount()) {
@Override
public void onResponse(Label response) {
responder.onResponse(response);
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/OcsProjectDataProvider.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/OcsProjectDataProvider.java
index bbd324092..ccbb01530 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/OcsProjectDataProvider.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/OcsProjectDataProvider.java
@@ -24,7 +24,7 @@ public class OcsProjectDataProvider extends AbstractSyncDataProvider<OcsProject>
@Override
public void getAllFromServer(ServerAdapter serverAdapter, long accountId, ResponseCallback<List<OcsProject>> responder, Instant lastSync) {
- serverAdapter.getProjectsForCard(card.getId(), new ResponseCallback<OcsProjectList>(responder.getAccount()) {
+ serverAdapter.getProjectsForCard(card.getId(), new ResponseCallback<>(responder.getAccount()) {
@Override
public void onResponse(OcsProjectList response) {
responder.onResponse(response.getProjects());
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/ImportAccountActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/ImportAccountActivity.java
index 85b1d6b1e..79824e1a3 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/ImportAccountActivity.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/ImportAccountActivity.java
@@ -1,5 +1,7 @@
package it.niedermann.nextcloud.deck.ui;
+import static com.nextcloud.android.sso.AccountImporter.REQUEST_AUTH_TOKEN_SSO;
+
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
@@ -35,8 +37,6 @@ import it.niedermann.nextcloud.deck.persistence.sync.SyncWorker;
import it.niedermann.nextcloud.deck.ui.exception.ExceptionDialogFragment;
import it.niedermann.nextcloud.deck.ui.exception.ExceptionHandler;
-import static com.nextcloud.android.sso.AccountImporter.REQUEST_AUTH_TOKEN_SSO;
-
public class ImportAccountActivity extends AppCompatActivity {
public static final int REQUEST_CODE_IMPORT_ACCOUNT = 1;
@@ -115,7 +115,7 @@ public class ImportAccountActivity extends AppCompatActivity {
SingleAccountHelper.setCurrentAccount(getApplicationContext(), account.name);
SyncManager syncManager = new SyncManager(ImportAccountActivity.this);
final Account accountToCreate = new Account(account.name, account.userId, account.url);
- syncManager.createAccount(accountToCreate, new IResponseCallback<Account>() {
+ syncManager.createAccount(accountToCreate, new IResponseCallback<>() {
@Override
public void onResponse(Account createdAccount) {
// Remember last account - THIS HAS TO BE DONE SYNCHRONOUSLY
@@ -124,12 +124,12 @@ public class ImportAccountActivity extends AppCompatActivity {
editor.putLong(sharedPreferenceLastAccount, createdAccount.getId());
editor.commit();
- syncManager.refreshCapabilities(new ResponseCallback<Capabilities>(createdAccount) {
+ syncManager.refreshCapabilities(new ResponseCallback<>(createdAccount) {
@Override
public void onResponse(Capabilities response) {
if (!response.isMaintenanceEnabled()) {
if (response.getDeckVersion().isSupported()) {
- syncManager.synchronize(new ResponseCallback<Boolean>(account) {
+ syncManager.synchronize(new ResponseCallback<>(account) {
@Override
public void onResponse(Boolean response) {
restoreWifiPref();
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 ad8f50535..8c1f30f70 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
@@ -401,7 +401,7 @@ public class MainActivity extends AppCompatActivity implements DeleteStackListen
}
});
filterViewModel.hasActiveFilter().observe(this, (hasActiveFilter) -> binding.filterIndicator.setVisibility(hasActiveFilter ? View.VISIBLE : View.GONE));
-// binding.archivedCards.setOnClickListener((v) -> startActivity(ArchivedCardsActvitiy.createIntent(this, mainViewModel.getCurrentAccount(), mainViewModel.getCurrentBoardLocalId(), mainViewModel.currentBoardHasEditPermission())));
+// binding.archivedCards.setOnClickListener((v) -> startActivity(ArchivedCardsActivity.createIntent(this, mainViewModel.getCurrentAccount(), mainViewModel.getCurrentBoardLocalId(), mainViewModel.currentBoardHasEditPermission())));
binding.enableSearch.setOnClickListener((v) -> showFilterTextToolbar());
binding.toolbar.setOnClickListener((v) -> showFilterTextToolbar());
@@ -414,7 +414,7 @@ public class MainActivity extends AppCompatActivity implements DeleteStackListen
DeckLog.verbose("Trigger refresh capabilities for", mainViewModel.getCurrentAccount().getName());
refreshCapabilities(mainViewModel.getCurrentAccount(), () -> {
DeckLog.verbose("Trigger synchronization for", mainViewModel.getCurrentAccount().getName());
- mainViewModel.synchronize(new ResponseCallback<Boolean>(mainViewModel.getCurrentAccount()) {
+ mainViewModel.synchronize(new ResponseCallback<>(mainViewModel.getCurrentAccount()) {
@Override
public void onResponse(Boolean response) {
DeckLog.info("End of synchronization for " + mainViewModel.getCurrentAccount().getName() + " → Stop spinner.");
@@ -462,7 +462,7 @@ public class MainActivity extends AppCompatActivity implements DeleteStackListen
@Override
public void onCreateStack(String stackName) {
DeckLog.info("Create Stack in account", mainViewModel.getCurrentAccount().getName(), "on board", mainViewModel.getCurrentBoardLocalId());
- mainViewModel.createStack(mainViewModel.getCurrentAccount().getId(), stackName, mainViewModel.getCurrentBoardLocalId(), new IResponseCallback<FullStack>() {
+ mainViewModel.createStack(mainViewModel.getCurrentAccount().getId(), stackName, mainViewModel.getCurrentBoardLocalId(), new IResponseCallback<>() {
@Override
public void onResponse(FullStack response) {
DeckApplication.saveCurrentStackId(MainActivity.this, mainViewModel.getCurrentAccount().getId(), mainViewModel.getCurrentBoardLocalId(), response.getLocalId());
@@ -504,14 +504,14 @@ public class MainActivity extends AppCompatActivity implements DeleteStackListen
@Override
public void onCreateBoard(String title, @ColorInt int color) {
if (boardsLiveData == null || boardsLiveDataObserver == null) {
- throw new IllegalStateException("Cannot create board when noone observe boards yet. boardsLiveData or observer is null.");
+ throw new IllegalStateException("Cannot create board when no one observe boards yet. boardsLiveData or observer is null.");
}
boardsLiveData.removeObserver(boardsLiveDataObserver);
final var boardToCreate = new Board(title, color);
boardToCreate.setPermissionEdit(true);
boardToCreate.setPermissionManage(true);
- mainViewModel.createBoard(mainViewModel.getCurrentAccount().getId(), boardToCreate, new IResponseCallback<FullBoard>() {
+ mainViewModel.createBoard(mainViewModel.getCurrentAccount().getId(), boardToCreate, new IResponseCallback<>() {
@Override
public void onResponse(FullBoard response) {
runOnUiThread(() -> {
@@ -537,7 +537,7 @@ public class MainActivity extends AppCompatActivity implements DeleteStackListen
@Override
public void onUpdateBoard(FullBoard fullBoard) {
- mainViewModel.updateBoard(fullBoard, new IResponseCallback<FullBoard>() {
+ mainViewModel.updateBoard(fullBoard, new IResponseCallback<>() {
@Override
public void onResponse(FullBoard response) {
DeckLog.info("Successfully updated board", fullBoard.getBoard().getTitle());
@@ -553,7 +553,7 @@ public class MainActivity extends AppCompatActivity implements DeleteStackListen
private void refreshCapabilities(final Account account, @Nullable Runnable runAfter) {
DeckLog.verbose("Refreshing capabilities for", account.getName());
- mainViewModel.refreshCapabilities(new ResponseCallback<Capabilities>(account) {
+ mainViewModel.refreshCapabilities(new ResponseCallback<>(account) {
@Override
public void onResponse(Capabilities response) {
DeckLog.verbose("Finished refreshing capabilities for", account.getName(), "successfully.");
@@ -743,7 +743,7 @@ public class MainActivity extends AppCompatActivity implements DeleteStackListen
: R.string.do_you_want_to_archive_all_cards_of_the_list, stack.getTitle()))
.setPositiveButton(R.string.simple_archive, (dialog, whichButton) -> {
final FilterInformation filterInformation = filterViewModel.getFilterInformation().getValue();
- mainViewModel.archiveCardsInStack(mainViewModel.getCurrentAccount().getId(), stackLocalId, filterInformation == null ? new FilterInformation() : filterInformation, new IResponseCallback<Void>() {
+ mainViewModel.archiveCardsInStack(mainViewModel.getCurrentAccount().getId(), stackLocalId, filterInformation == null ? new FilterInformation() : filterInformation, new IResponseCallback<>() {
@Override
public void onResponse(Void response) {
DeckLog.info("Successfully archived all cards in stack local id", stackLocalId);
@@ -839,7 +839,7 @@ public class MainActivity extends AppCompatActivity implements DeleteStackListen
@Override
public void onResponse(Account createdAccount) {
final var importSyncManager = new SyncManager(MainActivity.this, account.name);
- importSyncManager.refreshCapabilities(new ResponseCallback<Capabilities>(createdAccount) {
+ importSyncManager.refreshCapabilities(new ResponseCallback<>(createdAccount) {
@SuppressLint("StringFormatInvalid")
@Override
public void onResponse(Capabilities response) {
@@ -1018,7 +1018,7 @@ public class MainActivity extends AppCompatActivity implements DeleteStackListen
DeckLog.logError(e);
}
binding.viewPager.setCurrentItem(nextStackPosition);
- mainViewModel.deleteStack(mainViewModel.getCurrentAccount().getId(), stackLocalId, mainViewModel.getCurrentBoardLocalId(), new IResponseCallback<Void>() {
+ mainViewModel.deleteStack(mainViewModel.getCurrentAccount().getId(), stackLocalId, mainViewModel.getCurrentBoardLocalId(), new IResponseCallback<>() {
@Override
public void onResponse(Void response) {
DeckLog.info("Successfully deleted stack with local id", stackLocalId, "and remote id", stackLocalId);
@@ -1049,7 +1049,7 @@ public class MainActivity extends AppCompatActivity implements DeleteStackListen
}
}
- mainViewModel.deleteBoard(board, new IResponseCallback<Void>() {
+ mainViewModel.deleteBoard(board, new IResponseCallback<>() {
@Override
public void onResponse(Void response) {
DeckLog.info("Successfully deleted board", board.getTitle());
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/PickStackActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/PickStackActivity.java
index 34df713c7..a024f1290 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/PickStackActivity.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/PickStackActivity.java
@@ -1,5 +1,10 @@
package it.niedermann.nextcloud.deck.ui;
+import static androidx.lifecycle.Transformations.switchMap;
+import static it.niedermann.nextcloud.deck.DeckApplication.isDarkTheme;
+import static it.niedermann.nextcloud.deck.ui.branding.BrandingUtil.getSecondaryForegroundColorDependingOnTheme;
+import static it.niedermann.nextcloud.deck.util.DeckColorUtil.contrastRatioIsSufficientBigAreas;
+
import android.content.res.ColorStateList;
import android.graphics.Color;
import android.os.Bundle;
@@ -33,11 +38,6 @@ import it.niedermann.nextcloud.deck.ui.pickstack.PickStackFragment;
import it.niedermann.nextcloud.deck.ui.pickstack.PickStackListener;
import it.niedermann.nextcloud.deck.ui.pickstack.PickStackViewModel;
-import static androidx.lifecycle.Transformations.switchMap;
-import static it.niedermann.nextcloud.deck.DeckApplication.isDarkTheme;
-import static it.niedermann.nextcloud.deck.ui.branding.BrandingUtil.getSecondaryForegroundColorDependingOnTheme;
-import static it.niedermann.nextcloud.deck.util.DeckColorUtil.contrastRatioIsSufficientBigAreas;
-
public abstract class PickStackActivity extends AppCompatActivity implements Branded, PickStackListener {
private ActivityPickStackBinding binding;
@@ -74,7 +74,7 @@ public abstract class PickStackActivity extends AppCompatActivity implements Bra
binding.cancel.setOnClickListener((v) -> finish());
binding.submit.setOnClickListener((v) -> {
viewModel.setSubmitInProgress(true);
- onSubmit(viewModel.getAccount(), viewModel.getBoardLocalId(), viewModel.getStackLocalId(), new IResponseCallback<Void>() {
+ onSubmit(viewModel.getAccount(), viewModel.getBoardLocalId(), viewModel.getStackLocalId(), new IResponseCallback<>() {
@Override
public void onResponse(Void response) {
runOnUiThread(() -> viewModel.setSubmitInProgress(false));
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/PushNotificationActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/PushNotificationActivity.java
index eb9c4cd30..59f01f862 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/PushNotificationActivity.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/PushNotificationActivity.java
@@ -1,5 +1,7 @@
package it.niedermann.nextcloud.deck.ui;
+import static it.niedermann.nextcloud.deck.persistence.sync.adapters.db.util.LiveDataHelper.observeOnce;
+
import android.content.Intent;
import android.net.Uri;
import android.text.TextUtils;
@@ -22,8 +24,6 @@ import it.niedermann.nextcloud.deck.ui.exception.ExceptionDialogFragment;
import it.niedermann.nextcloud.deck.ui.exception.ExceptionHandler;
import it.niedermann.nextcloud.deck.util.ProjectUtil;
-import static it.niedermann.nextcloud.deck.persistence.sync.adapters.db.util.LiveDataHelper.observeOnce;
-
/**
* Warning: Do not move this class to another package or folder!
* The integration of the Nextcloud Android app <a href="https://github.com/nextcloud/android/blob/master/src/main/java/com/nextcloud/client/integrations/deck/DeckApiImpl.java#L42">assumes it to be at this location</a>.
@@ -88,7 +88,7 @@ public class PushNotificationActivity extends AppCompatActivity {
observeOnce(viewModel.getCardByRemoteID(account.getId(), cardRemoteId), PushNotificationActivity.this, (card -> {
DeckLog.verbose("Card:", card);
if (card != null) {
- viewModel.synchronizeCard(new ResponseCallback<Boolean>(account) {
+ viewModel.synchronizeCard(new ResponseCallback<>(account) {
@Override
public void onResponse(Boolean response) {
openCardOnSubmit(account, board.getLocalId(), card.getLocalId());
@@ -103,7 +103,7 @@ public class PushNotificationActivity extends AppCompatActivity {
} else {
DeckLog.info("Card is not yet available locally. Synchronize board with localId", board);
- viewModel.synchronizeBoard(new ResponseCallback<Boolean>(account) {
+ viewModel.synchronizeBoard(new ResponseCallback<>(account) {
@Override
public void onResponse(Boolean response) {
runOnUiThread(() -> observeOnce(viewModel.getCardByRemoteID(account.getId(), cardRemoteId), PushNotificationActivity.this, (card -> {
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/archivedboards/ArchivedBoardsActvitiy.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/archivedboards/ArchivedBoardsActvitiy.java
index c824fb37f..083606019 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/archivedboards/ArchivedBoardsActvitiy.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/archivedboards/ArchivedBoardsActvitiy.java
@@ -76,7 +76,7 @@ public class ArchivedBoardsActvitiy extends AppCompatActivity implements DeleteB
@Override
public void onBoardDeleted(Board board) {
- viewModel.deleteBoard(board, new IResponseCallback<Void>() {
+ viewModel.deleteBoard(board, new IResponseCallback<>() {
@Override
public void onResponse(Void response) {
DeckLog.info("Successfully deleted board", board.getTitle());
@@ -94,7 +94,7 @@ public class ArchivedBoardsActvitiy extends AppCompatActivity implements DeleteB
@Override
public void onUpdateBoard(FullBoard fullBoard) {
- viewModel.updateBoard(fullBoard, new IResponseCallback<FullBoard>() {
+ viewModel.updateBoard(fullBoard, new IResponseCallback<>() {
@Override
public void onResponse(FullBoard response) {
DeckLog.info("Successfully updated board", fullBoard.getBoard().getTitle());
@@ -110,7 +110,7 @@ public class ArchivedBoardsActvitiy extends AppCompatActivity implements DeleteB
@Override
public void onArchive(Board board) {
- viewModel.dearchiveBoard(board, new IResponseCallback<FullBoard>() {
+ viewModel.dearchiveBoard(board, new IResponseCallback<>() {
@Override
public void onResponse(FullBoard response) {
DeckLog.info("Successfully dearchived board", response.getBoard().getTitle());
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/archivedcards/ArchivedCardsAdapter.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/archivedcards/ArchivedCardsAdapter.java
index 60ddfd660..45212f287 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/archivedcards/ArchivedCardsAdapter.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/archivedcards/ArchivedCardsAdapter.java
@@ -33,7 +33,7 @@ public class ArchivedCardsAdapter extends CardAdapter {
public boolean onCardOptionsItemSelected(@NonNull MenuItem menuItem, @NonNull FullCard fullCard) {
int itemId = menuItem.getItemId();
if (itemId == R.id.action_card_dearchive) {
- mainViewModel.dearchiveCard(fullCard, new IResponseCallback<FullCard>() {
+ mainViewModel.dearchiveCard(fullCard, new IResponseCallback<>() {
@Override
public void onResponse(FullCard response) {
DeckLog.info("Successfully dearchived", Card.class.getSimpleName(), fullCard.getCard().getTitle());
@@ -47,7 +47,7 @@ public class ArchivedCardsAdapter extends CardAdapter {
});
return true;
} else if (itemId == R.id.action_card_delete) {
- mainViewModel.deleteCard(fullCard.getCard(), new IResponseCallback<Void>() {
+ mainViewModel.deleteCard(fullCard.getCard(), new IResponseCallback<>() {
@Override
public void onResponse(Void response) {
DeckLog.info("Successfully deleted card", fullCard.getCard().getTitle());
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/attachments/AttachmentViewHolder.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/attachments/AttachmentViewHolder.java
index 336e085d7..bfc21b787 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/attachments/AttachmentViewHolder.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/attachments/AttachmentViewHolder.java
@@ -42,7 +42,7 @@ public class AttachmentViewHolder extends RecyclerView.ViewHolder {
final String uri = AttachmentUtil.getThumbnailUrl(account, cardRemoteId, attachment, binding.preview.getWidth(), binding.preview.getHeight());
Glide.with(parentContext)
.load(uri)
- .listener(new RequestListener<Drawable>() {
+ .listener(new RequestListener<>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e, Object model,
Target<Drawable> target, boolean isFirstResource) {
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/accesscontrol/AccessControlDialogFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/accesscontrol/AccessControlDialogFragment.java
index f5d453479..241fa6121 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/accesscontrol/AccessControlDialogFragment.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/accesscontrol/AccessControlDialogFragment.java
@@ -1,5 +1,8 @@
package it.niedermann.nextcloud.deck.ui.board.accesscontrol;
+import static it.niedermann.nextcloud.deck.ui.board.accesscontrol.AccessControlAdapter.HEADER_ITEM_LOCAL_ID;
+import static it.niedermann.nextcloud.deck.ui.branding.BrandingUtil.applyBrandToEditTextInputLayout;
+
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
@@ -30,9 +33,6 @@ import it.niedermann.nextcloud.deck.ui.branding.BrandedSnackbar;
import it.niedermann.nextcloud.deck.ui.card.UserAutoCompleteAdapter;
import it.niedermann.nextcloud.deck.ui.exception.ExceptionDialogFragment;
-import static it.niedermann.nextcloud.deck.ui.board.accesscontrol.AccessControlAdapter.HEADER_ITEM_LOCAL_ID;
-import static it.niedermann.nextcloud.deck.ui.branding.BrandingUtil.applyBrandToEditTextInputLayout;
-
public class AccessControlDialogFragment extends DialogFragment implements AccessControlChangedListener, OnItemClickListener {
private MainViewModel viewModel;
@@ -100,7 +100,7 @@ public class AccessControlDialogFragment extends DialogFragment implements Acces
@Override
public void updateAccessControl(AccessControl accessControl) {
- viewModel.updateAccessControl(accessControl, new IResponseCallback<AccessControl>() {
+ viewModel.updateAccessControl(accessControl, new IResponseCallback<>() {
@Override
public void onResponse(AccessControl response) {
DeckLog.info("Successfully updated", AccessControl.class.getSimpleName(), "for user", accessControl.getUser().getDisplayname());
@@ -116,7 +116,7 @@ public class AccessControlDialogFragment extends DialogFragment implements Acces
@Override
public void deleteAccessControl(AccessControl ac) {
- viewModel.deleteAccessControl(ac, new IResponseCallback<Void>() {
+ viewModel.deleteAccessControl(ac, new IResponseCallback<>() {
@Override
public void onResponse(Void response) {
DeckLog.info("Successfully deleted access control for user", ac.getUser().getDisplayname());
@@ -144,7 +144,7 @@ public class AccessControlDialogFragment extends DialogFragment implements Acces
ac.setType(0L); // https://github.com/nextcloud/deck/blob/master/docs/API.md#post-boardsboardidacl---add-new-acl-rule
ac.setUserId(user.getLocalId());
ac.setUser(user);
- viewModel.createAccessControl(viewModel.getCurrentAccount().getId(), ac, new IResponseCallback<AccessControl>() {
+ viewModel.createAccessControl(viewModel.getCurrentAccount().getId(), ac, new IResponseCallback<>() {
@Override
public void onResponse(AccessControl response) {
DeckLog.info("Successfully created", AccessControl.class.getSimpleName(), "for user", user.getDisplayname());
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/managelabels/ManageLabelsDialogFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/managelabels/ManageLabelsDialogFragment.java
index 4a81dd04c..8f778c749 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/managelabels/ManageLabelsDialogFragment.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/managelabels/ManageLabelsDialogFragment.java
@@ -1,5 +1,8 @@
package it.niedermann.nextcloud.deck.ui.board.managelabels;
+import static it.niedermann.nextcloud.deck.ui.branding.BrandingUtil.applyBrandToEditTextInputLayout;
+import static it.niedermann.nextcloud.deck.ui.branding.BrandingUtil.applyBrandToFAB;
+
import android.app.Dialog;
import android.content.Context;
import android.database.sqlite.SQLiteConstraintException;
@@ -26,9 +29,6 @@ import it.niedermann.nextcloud.deck.ui.MainViewModel;
import it.niedermann.nextcloud.deck.ui.branding.BrandedDialogFragment;
import it.niedermann.nextcloud.deck.ui.branding.DeleteAlertDialogBuilder;
-import static it.niedermann.nextcloud.deck.ui.branding.BrandingUtil.applyBrandToEditTextInputLayout;
-import static it.niedermann.nextcloud.deck.ui.branding.BrandingUtil.applyBrandToFAB;
-
public class ManageLabelsDialogFragment extends BrandedDialogFragment implements ManageLabelListener, EditLabelListener {
private MainViewModel viewModel;
@@ -81,7 +81,7 @@ public class ManageLabelsDialogFragment extends BrandedDialogFragment implements
label.setTitle(binding.addLabelTitle.getText().toString());
label.setColor(colors[new Random().nextInt(colors.length)]);
- viewModel.createLabel(viewModel.getCurrentAccount().getId(), label, boardId, new IResponseCallback<Label>() {
+ viewModel.createLabel(viewModel.getCurrentAccount().getId(), label, boardId, new IResponseCallback<>() {
@Override
public void onResponse(Label response) {
requireActivity().runOnUiThread(() -> {
@@ -144,7 +144,7 @@ public class ManageLabelsDialogFragment extends BrandedDialogFragment implements
}
private void deleteLabel(@NonNull Label label) {
- viewModel.deleteLabel(label, new IResponseCallback<Void>() {
+ viewModel.deleteLabel(label, new IResponseCallback<>() {
@Override
public void onResponse(Void response) {
DeckLog.info("Successfully deleted label", label.getTitle());
@@ -167,7 +167,7 @@ public class ManageLabelsDialogFragment extends BrandedDialogFragment implements
@Override
public void onLabelUpdated(@NonNull Label label) {
- viewModel.updateLabel(label, new IResponseCallback<Label>() {
+ viewModel.updateLabel(label, new IResponseCallback<>() {
@Override
public void onResponse(Label label) {
DeckLog.info("Successfully update label", label.getTitle());
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardAdapter.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardAdapter.java
index ecbc3f4ce..1c0567793 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardAdapter.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardAdapter.java
@@ -223,7 +223,7 @@ public class CardAdapter extends RecyclerView.Adapter<AbstractCardViewHolder> im
.show(fragmentManager, MoveCardDialogFragment.class.getSimpleName());
return true;
} else if (itemId == R.id.action_card_archive) {
- mainViewModel.archiveCard(fullCard, new IResponseCallback<FullCard>() {
+ mainViewModel.archiveCard(fullCard, new IResponseCallback<>() {
@Override
public void onResponse(FullCard response) {
DeckLog.info("Successfully archived", Card.class.getSimpleName(), fullCard.getCard().getTitle());
@@ -237,7 +237,7 @@ public class CardAdapter extends RecyclerView.Adapter<AbstractCardViewHolder> im
});
return true;
} else if (itemId == R.id.action_card_delete) {
- mainViewModel.deleteCard(fullCard.getCard(), new IResponseCallback<Void>() {
+ mainViewModel.deleteCard(fullCard.getCard(), new IResponseCallback<>() {
@Override
public void onResponse(Void response) {
DeckLog.info("Successfully deleted card", fullCard.getCard().getTitle());
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/CardAttachmentsFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/CardAttachmentsFragment.java
index 534e296e5..8ddb0add9 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/CardAttachmentsFragment.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/CardAttachmentsFragment.java
@@ -461,7 +461,7 @@ public class CardAttachmentsFragment extends Fragment implements AttachmentDelet
a.setStatusEnum(DBStatus.LOCAL_EDITED);
editViewModel.getFullCard().getAttachments().add(0, a);
adapter.addAttachment(a);
- editViewModel.addAttachmentToCard(editViewModel.getAccount().getId(), editViewModel.getFullCard().getLocalId(), a.getMimetype(), fileToUpload, new IResponseCallback<Attachment>() {
+ editViewModel.addAttachmentToCard(editViewModel.getAccount().getId(), editViewModel.getFullCard().getLocalId(), a.getMimetype(), fileToUpload, new IResponseCallback<>() {
@Override
public void onResponse(Attachment response) {
requireActivity().runOnUiThread(() -> {
@@ -525,7 +525,7 @@ public class CardAttachmentsFragment extends Fragment implements AttachmentDelet
adapter.removeAttachment(attachment);
editViewModel.getFullCard().getAttachments().remove(attachment);
if (attachment.getLocalId() != null) {
- editViewModel.deleteAttachmentOfCard(editViewModel.getAccount().getId(), editViewModel.getFullCard().getLocalId(), attachment.getLocalId(), new IResponseCallback<Void>() {
+ editViewModel.deleteAttachmentOfCard(editViewModel.getAccount().getId(), editViewModel.getFullCard().getLocalId(), attachment.getLocalId(), new IResponseCallback<>() {
@Override
public void onResponse(Void response) {
DeckLog.info("Successfully delete", Attachment.class.getSimpleName(), attachment.getFilename(), "from", Card.class.getSimpleName(), editViewModel.getFullCard().getCard().getTitle());
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/CardCommentsFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/CardCommentsFragment.java
index f0e54a18b..08ef5cdf1 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/CardCommentsFragment.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/CardCommentsFragment.java
@@ -1,5 +1,10 @@
package it.niedermann.nextcloud.deck.ui.card.comments;
+import static android.view.View.GONE;
+import static android.view.View.VISIBLE;
+import static it.niedermann.nextcloud.deck.ui.branding.BrandingUtil.applyBrandToEditTextInputLayout;
+import static it.niedermann.nextcloud.deck.ui.branding.BrandingUtil.applyBrandToFAB;
+
import android.os.Bundle;
import android.text.TextUtils;
import android.view.KeyEvent;
@@ -30,11 +35,6 @@ import it.niedermann.nextcloud.deck.ui.card.EditCardViewModel;
import it.niedermann.nextcloud.deck.ui.exception.ExceptionDialogFragment;
import it.niedermann.nextcloud.deck.util.ViewUtil;
-import static android.view.View.GONE;
-import static android.view.View.VISIBLE;
-import static it.niedermann.nextcloud.deck.ui.branding.BrandingUtil.applyBrandToEditTextInputLayout;
-import static it.niedermann.nextcloud.deck.ui.branding.BrandingUtil.applyBrandToFAB;
-
public class CardCommentsFragment extends Fragment implements CommentEditedListener, CommentDeletedListener, CommentSelectAsReplyListener {
private FragmentCardEditTabCommentsBinding binding;
@@ -141,7 +141,7 @@ public class CardCommentsFragment extends Fragment implements CommentEditedListe
@Override
public void onCommentDeleted(Long localId) {
- commentsViewModel.deleteComment(mainViewModel.getAccount().getId(), mainViewModel.getFullCard().getLocalId(), localId, new IResponseCallback<Void>() {
+ commentsViewModel.deleteComment(mainViewModel.getAccount().getId(), mainViewModel.getFullCard().getLocalId(), localId, new IResponseCallback<>() {
@Override
public void onResponse(Void response) {
DeckLog.info("Successfully deleted comment with localId", localId);
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/details/CardDetailsFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/details/CardDetailsFragment.java
index a4e4fac72..11b565cb3 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/details/CardDetailsFragment.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/details/CardDetailsFragment.java
@@ -228,7 +228,7 @@ public class CardDetailsFragment extends Fragment implements OnDateSetListener,
newLabel.setBoardId(boardId);
newLabel.setTitle(((LabelAutoCompleteAdapter) binding.labels.getAdapter()).getLastFilterText());
newLabel.setLocalId(null);
- viewModel.createLabel(accountId, newLabel, boardId, new IResponseCallback<Label>() {
+ viewModel.createLabel(accountId, newLabel, boardId, new IResponseCallback<>() {
@Override
public void onResponse(Label response) {
requireActivity().runOnUiThread(() -> {
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/pickstack/PickStackFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/pickstack/PickStackFragment.java
index ab41e71b5..35454d496 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/pickstack/PickStackFragment.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/pickstack/PickStackFragment.java
@@ -165,19 +165,16 @@ public class PickStackFragment extends Fragment {
}
});
- binding.accountSelect.setOnItemSelectedListener((SelectedListener) (parent, view, position, id) -> {
- updateLiveDataSource(boardsLiveData, boardsObserver, showBoardsWithoutEditPermission
- ? viewModel.getBoards(parent.getSelectedItemId())
- : viewModel.getBoardsWithEditPermission(parent.getSelectedItemId()));
- });
+ binding.accountSelect.setOnItemSelectedListener((SelectedListener) (parent, view, position, id) ->
+ updateLiveDataSource(boardsLiveData, boardsObserver, showBoardsWithoutEditPermission
+ ? viewModel.getBoards(parent.getSelectedItemId())
+ : viewModel.getBoardsWithEditPermission(parent.getSelectedItemId())));
- binding.boardSelect.setOnItemSelectedListener((SelectedListener) (parent, view, position, id) -> {
- updateLiveDataSource(stacksLiveData, stacksObserver, viewModel.getStacksForBoard(binding.accountSelect.getSelectedItemId(), parent.getSelectedItemId()));
- });
+ binding.boardSelect.setOnItemSelectedListener((SelectedListener) (parent, view, position, id) ->
+ updateLiveDataSource(stacksLiveData, stacksObserver, viewModel.getStacksForBoard(binding.accountSelect.getSelectedItemId(), parent.getSelectedItemId())));
- binding.stackSelect.setOnItemSelectedListener((SelectedListener) (parent, view, position, id) -> {
- pickStackListener.onStackPicked((Account) binding.accountSelect.getSelectedItem(), (Board) binding.boardSelect.getSelectedItem(), (Stack) parent.getSelectedItem());
- });
+ binding.stackSelect.setOnItemSelectedListener((SelectedListener) (parent, view, position, id) ->
+ pickStackListener.onStackPicked((Account) binding.accountSelect.getSelectedItem(), (Board) binding.boardSelect.getSelectedItem(), (Stack) parent.getSelectedItem()));
return binding.getRoot();
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/preparecreate/PrepareCreateActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/preparecreate/PrepareCreateActivity.java
index 0557001b7..5e316593f 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/preparecreate/PrepareCreateActivity.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/preparecreate/PrepareCreateActivity.java
@@ -55,7 +55,7 @@ public class PrepareCreateActivity extends PickStackActivity {
);
}
- viewModel.saveCard(account.getId(), boardId, stackId, fullCard, new IResponseCallback<FullCard>() {
+ viewModel.saveCard(account.getId(), boardId, stackId, fullCard, new IResponseCallback<>() {
@Override
public void onResponse(FullCard response) {
saveCurrentAccount(PrepareCreateActivity.this, account);
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/sharetarget/ShareTargetActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/sharetarget/ShareTargetActivity.java
index 450450fe6..2c67556a9 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/sharetarget/ShareTargetActivity.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/sharetarget/ShareTargetActivity.java
@@ -123,7 +123,7 @@ public class ShareTargetActivity extends MainActivity implements SelectCardListe
if (mimeType == null) {
throw new IllegalArgumentException("MimeType of uri is null. [" + uri + "]");
}
- mainViewModel.addAttachmentToCard(fullCard.getAccountId(), fullCard.getCard().getLocalId(), mimeType, tempFile, new IResponseCallback<Attachment>() {
+ mainViewModel.addAttachmentToCard(fullCard.getAccountId(), fullCard.getCard().getLocalId(), mimeType, tempFile, new IResponseCallback<>() {
@Override
public void onResponse(Attachment response) {
runOnUiThread(shareProgressViewModel::increaseProgress);
@@ -162,7 +162,7 @@ public class ShareTargetActivity extends MainActivity implements SelectCardListe
? receivedText
: oldDescription + "\n\n" + receivedText
);
- mainViewModel.updateCard(fullCard, new IResponseCallback<FullCard>() {
+ mainViewModel.updateCard(fullCard, new IResponseCallback<>() {
@Override
public void onResponse(FullCard response) {
Toast.makeText(getApplicationContext(), getString(R.string.share_success, "\"" + receivedText + "\"", "\"" + fullCard.getCard().getTitle() + "\""), Toast.LENGTH_LONG).show();
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/StackFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/StackFragment.java
index 93ebd0093..61f58a9d4 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/StackFragment.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/StackFragment.java
@@ -159,7 +159,7 @@ public class StackFragment extends Fragment implements DragAndDropTab<CardAdapte
@Override
public void move(long originAccountId, long originCardLocalId, long targetAccountId, long targetBoardLocalId, long targetStackLocalId) {
- mainViewModel.moveCard(originAccountId, originCardLocalId, targetAccountId, targetBoardLocalId, targetStackLocalId, new IResponseCallback<Void>() {
+ mainViewModel.moveCard(originAccountId, originCardLocalId, targetAccountId, targetBoardLocalId, targetStackLocalId, new IResponseCallback<>() {
@Override
public void onResponse(Void response) {
DeckLog.log("Moved", Card.class.getSimpleName(), originCardLocalId, "to", Stack.class.getSimpleName(), targetStackLocalId);
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/upcomingcards/UpcomingCardsActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/upcomingcards/UpcomingCardsActivity.java
index e5f9297fd..9bfa165c4 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/upcomingcards/UpcomingCardsActivity.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/upcomingcards/UpcomingCardsActivity.java
@@ -42,7 +42,7 @@ public class UpcomingCardsActivity extends AppCompatActivity implements MoveCard
final var adapter = new UpcomingCardsAdapter(this, getSupportFragmentManager(),
viewModel::assignUser,
viewModel::unassignUser,
- (fullCard) -> viewModel.archiveCard(fullCard, new IResponseCallback<FullCard>() {
+ (fullCard) -> viewModel.archiveCard(fullCard, new IResponseCallback<>() {
@Override
public void onResponse(FullCard response) {
DeckLog.info("Successfully archived", Card.class.getSimpleName(), fullCard.getCard().getTitle());
@@ -54,7 +54,7 @@ public class UpcomingCardsActivity extends AppCompatActivity implements MoveCard
runOnUiThread(() -> ExceptionDialogFragment.newInstance(throwable, null).show(getSupportFragmentManager(), ExceptionDialogFragment.class.getSimpleName()));
}
}),
- (card) -> viewModel.deleteCard(card, new IResponseCallback<Void>() {
+ (card) -> viewModel.deleteCard(card, new IResponseCallback<>() {
@Override
public void onResponse(Void response) {
DeckLog.info("Successfully deleted card", card.getTitle());
@@ -91,7 +91,7 @@ public class UpcomingCardsActivity extends AppCompatActivity implements MoveCard
@Override
public void move(long originAccountId, long originCardLocalId, long targetAccountId, long targetBoardLocalId, long targetStackLocalId) {
- viewModel.moveCard(originAccountId, originCardLocalId, targetAccountId, targetBoardLocalId, targetStackLocalId, new IResponseCallback<Void>() {
+ viewModel.moveCard(originAccountId, originCardLocalId, targetAccountId, targetBoardLocalId, targetStackLocalId, new IResponseCallback<>() {
@Override
public void onResponse(Void response) {
DeckLog.log("Moved", Card.class.getSimpleName(), originCardLocalId, "to", Stack.class.getSimpleName(), targetStackLocalId);
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/widget/upcoming/UpcomingWidget.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/widget/upcoming/UpcomingWidget.java
index 42c7989dd..cfb22bccd 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/widget/upcoming/UpcomingWidget.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/widget/upcoming/UpcomingWidget.java
@@ -1,5 +1,7 @@
package it.niedermann.nextcloud.deck.ui.widget.upcoming;
+import static android.appwidget.AppWidgetManager.ACTION_APPWIDGET_UPDATE;
+
import android.app.PendingIntent;
import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProvider;
@@ -30,8 +32,6 @@ import it.niedermann.nextcloud.deck.model.widget.filter.FilterWidgetUser;
import it.niedermann.nextcloud.deck.persistence.sync.SyncManager;
import it.niedermann.nextcloud.deck.ui.card.EditActivity;
-import static android.appwidget.AppWidgetManager.ACTION_APPWIDGET_UPDATE;
-
public class UpcomingWidget extends AppWidgetProvider {
private static final String PENDING_INTENT_ACTION_EDIT = "edit";
private static final String PENDING_INTENT_ACTION_OPEN = "open";
@@ -58,7 +58,7 @@ public class UpcomingWidget extends AppWidgetProvider {
fwa.setUsers(new FilterWidgetUser(syncManager.getUserByUidDirectly(account.getId(), account.getUserName()).getLocalId()));
return fwa;
}).collect(Collectors.toList()));
- syncManager.createFilterWidget(config, new IResponseCallback<Integer>() {
+ syncManager.createFilterWidget(config, new IResponseCallback<>() {
@Override
public void onResponse(Integer response) {
DeckLog.verbose("Successfully created", UpcomingWidget.class.getSimpleName(), "with id", appWidgetId);
diff --git a/app/src/test/java/it/niedermann/nextcloud/deck/TestUtil.java b/app/src/test/java/it/niedermann/nextcloud/deck/TestUtil.java
index 25d237c99..bd7dd8cbe 100644
--- a/app/src/test/java/it/niedermann/nextcloud/deck/TestUtil.java
+++ b/app/src/test/java/it/niedermann/nextcloud/deck/TestUtil.java
@@ -17,9 +17,9 @@ public class TestUtil {
* @see <a href="https://gist.github.com/JoseAlcerreca/1e9ee05dcdd6a6a6fa1cbfc125559bba">Source</a>
*/
public static <T> T getOrAwaitValue(final LiveData<T> liveData) throws InterruptedException {
- final Object[] data = new Object[1];
- final CountDownLatch latch = new CountDownLatch(1);
- Observer<T> observer = new Observer<T>() {
+ final var data = new Object[1];
+ final var latch = new CountDownLatch(1);
+ final var observer = new Observer<T>() {
@Override
public void onChanged(@Nullable T o) {
data[0] = o;
diff --git a/app/src/test/java/it/niedermann/nextcloud/deck/api/ResponseCallbackTest.java b/app/src/test/java/it/niedermann/nextcloud/deck/api/ResponseCallbackTest.java
index 47e1bcedf..7f7e068a0 100644
--- a/app/src/test/java/it/niedermann/nextcloud/deck/api/ResponseCallbackTest.java
+++ b/app/src/test/java/it/niedermann/nextcloud/deck/api/ResponseCallbackTest.java
@@ -1,5 +1,15 @@
package it.niedermann.nextcloud.deck.api;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
@@ -11,23 +21,13 @@ import it.niedermann.nextcloud.deck.model.Account;
import it.niedermann.nextcloud.deck.model.Board;
import it.niedermann.nextcloud.deck.model.Card;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotEquals;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-
@RunWith(RobolectricTestRunner.class)
public class ResponseCallbackTest {
@Test
public void testFillAccountIDs() {
final Account account = new Account(1337L);
- ResponseCallback<Object> callback = new ResponseCallback<Object>(account) {
+ ResponseCallback<Object> callback = new ResponseCallback<>(account) {
@Override
public void onResponse(Object response) {
fail("I didn't ask you!");
diff --git a/app/src/test/java/it/niedermann/nextcloud/deck/persistence/sync/SyncManagerTest.java b/app/src/test/java/it/niedermann/nextcloud/deck/persistence/sync/SyncManagerTest.java
index 50cd2b779..13325fd7b 100644
--- a/app/src/test/java/it/niedermann/nextcloud/deck/persistence/sync/SyncManagerTest.java
+++ b/app/src/test/java/it/niedermann/nextcloud/deck/persistence/sync/SyncManagerTest.java
@@ -1,5 +1,25 @@
package it.niedermann.nextcloud.deck.persistence.sync;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertThrows;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyLong;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.argThat;
+import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.doThrow;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.reset;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
import android.accounts.NetworkErrorException;
import android.content.Context;
@@ -13,7 +33,6 @@ import com.google.common.util.concurrent.MoreExecutors;
import com.nextcloud.android.sso.api.ParsedResponse;
import com.nextcloud.android.sso.exceptions.NextcloudHttpRequestFailedException;
-import org.jetbrains.annotations.NotNull;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
@@ -51,26 +70,6 @@ import it.niedermann.nextcloud.deck.persistence.sync.helpers.providers.AbstractS
import it.niedermann.nextcloud.deck.persistence.sync.helpers.providers.CardDataProvider;
import it.niedermann.nextcloud.deck.persistence.sync.helpers.providers.StackDataProvider;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertThrows;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyLong;
-import static org.mockito.ArgumentMatchers.anyString;
-import static org.mockito.ArgumentMatchers.argThat;
-import static org.mockito.Mockito.doAnswer;
-import static org.mockito.Mockito.doNothing;
-import static org.mockito.Mockito.doThrow;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.reset;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
@RunWith(RobolectricTestRunner.class)
public class SyncManagerTest {
@@ -289,7 +288,7 @@ public class SyncManagerTest {
return null;
}).when(serverAdapter).getCapabilities(anyString(), any());
- syncManager.refreshCapabilities(new ResponseCallback<Capabilities>(account) {
+ syncManager.refreshCapabilities(new ResponseCallback<>(account) {
@Override
public void onResponse(Capabilities response) {
assertEquals("Capabilities from server must be returned to the original callback",
@@ -314,7 +313,7 @@ public class SyncManagerTest {
return null;
}).when(serverAdapter).getCapabilities(anyString(), any());
- syncManager.refreshCapabilities(new ResponseCallback<Capabilities>(account) {
+ syncManager.refreshCapabilities(new ResponseCallback<>(account) {
@Override
public void onResponse(Capabilities response) {
assertEquals("Capabilities from server must be returned to the original callback",
@@ -340,7 +339,7 @@ public class SyncManagerTest {
return null;
}).when(serverAdapter).getCapabilities(anyString(), any());
- syncManager.refreshCapabilities(new ResponseCallback<Capabilities>(account) {
+ syncManager.refreshCapabilities(new ResponseCallback<>(account) {
@Override
public void onResponse(Capabilities response) {
fail("In case of an HTTP 500 the callback must not be responded successfully.");
@@ -363,7 +362,7 @@ public class SyncManagerTest {
return null;
}).when(serverAdapter).getCapabilities(anyString(), any());
- syncManager.refreshCapabilities(new ResponseCallback<Capabilities>(account) {
+ syncManager.refreshCapabilities(new ResponseCallback<>(account) {
@Override
public void onResponse(Capabilities response) {
assertEquals(Version.of("20.0.1"), response.getNextcloudVersion());
@@ -385,7 +384,7 @@ public class SyncManagerTest {
return null;
}).when(serverAdapter).getCapabilities(anyString(), any());
- syncManager.refreshCapabilities(new ResponseCallback<Capabilities>(account) {
+ syncManager.refreshCapabilities(new ResponseCallback<>(account) {
@Override
public void onResponse(Capabilities response) {
fail("In case of any other exception the callback must not be responded successfully.");
@@ -402,7 +401,7 @@ public class SyncManagerTest {
doThrow(new OfflineException()).when(serverAdapter).getCapabilities(anyString(), any());
- syncManager.refreshCapabilities(new ResponseCallback<Capabilities>(account) {
+ syncManager.refreshCapabilities(new ResponseCallback<>(account) {
@Override
public void onResponse(Capabilities response) {
fail("In case of an " + OfflineException.class.getSimpleName() + " the callback must not be responded successfully.");
@@ -450,14 +449,15 @@ public class SyncManagerTest {
// Bad paths
- assertThrows(IllegalArgumentException.class, () -> syncManagerSpy.synchronize(new ResponseCallback<Boolean>(new Account(null)) {
+ assertThrows(IllegalArgumentException.class, () -> syncManagerSpy.synchronize(new ResponseCallback<>(new Account(null)) {
@Override
public void onResponse(Boolean response) {
}
}));
- assertThrows(IllegalArgumentException.class, () -> syncManagerSpy.synchronize(new ResponseCallback<Boolean>(null) {
+ //noinspection ConstantConditions
+ assertThrows(IllegalArgumentException.class, () -> syncManagerSpy.synchronize(new ResponseCallback<>(null) {
@Override
public void onResponse(Boolean response) {
@@ -493,7 +493,7 @@ public class SyncManagerTest {
}
@Override
- public <T extends IRemoteEntity> void doSyncFor(@NonNull @NotNull AbstractSyncDataProvider<T> provider) {
+ public <U extends IRemoteEntity> void doSyncFor(@NonNull AbstractSyncDataProvider<U> provider) {
if (success) {
cb.onResponse(true);
} else {
@@ -502,7 +502,7 @@ public class SyncManagerTest {
}
@Override
- public <T extends IRemoteEntity> void doUpSyncFor(@NonNull @NotNull AbstractSyncDataProvider<T> provider) {
+ public <U extends IRemoteEntity> void doUpSyncFor(@NonNull AbstractSyncDataProvider<U> provider) {
if (success) {
cb.onResponse(true);
} else {
diff --git a/app/src/test/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DataBaseAdapterTest.java b/app/src/test/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DataBaseAdapterTest.java
index 5bbcc4e17..d15765d2c 100644
--- a/app/src/test/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DataBaseAdapterTest.java
+++ b/app/src/test/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DataBaseAdapterTest.java
@@ -1,5 +1,10 @@
package it.niedermann.nextcloud.deck.persistence.sync.adapters.db;
+import static org.junit.Assert.assertEquals;
+import static it.niedermann.nextcloud.deck.persistence.sync.adapters.db.DeckDatabaseTestUtil.createAccount;
+import static it.niedermann.nextcloud.deck.persistence.sync.adapters.db.DeckDatabaseTestUtil.createBoard;
+import static it.niedermann.nextcloud.deck.persistence.sync.adapters.db.DeckDatabaseTestUtil.createUser;
+
import android.content.Context;
import androidx.room.Room;
@@ -19,6 +24,7 @@ import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Collections;
import java.util.List;
import java.util.concurrent.ExecutorService;
@@ -29,11 +35,6 @@ import it.niedermann.nextcloud.deck.model.full.FullBoard;
import it.niedermann.nextcloud.deck.model.interfaces.AbstractRemoteEntity;
import it.niedermann.nextcloud.deck.model.interfaces.IRemoteEntity;
-import static it.niedermann.nextcloud.deck.persistence.sync.adapters.db.DeckDatabaseTestUtil.createAccount;
-import static it.niedermann.nextcloud.deck.persistence.sync.adapters.db.DeckDatabaseTestUtil.createBoard;
-import static it.niedermann.nextcloud.deck.persistence.sync.adapters.db.DeckDatabaseTestUtil.createUser;
-import static org.junit.Assert.assertEquals;
-
@RunWith(RobolectricTestRunner.class)
public class DataBaseAdapterTest {
@@ -75,9 +76,7 @@ public class DataBaseAdapterTest {
final User user = createUser(db.getUserDao(), createAccount(db.getAccountDao()));
final StringBuilder builder = new StringBuilder();
final List<Object> args = new ArrayList<>(1);
- final List<? extends AbstractRemoteEntity> entities = new ArrayList<AbstractRemoteEntity>(1) {{
- add(user);
- }};
+ final List<? extends AbstractRemoteEntity> entities = Collections.singletonList(user);
final Method fillSqlWithListValues = DataBaseAdapter.class.getDeclaredMethod("fillSqlWithListValues", StringBuilder.class, Collection.class, List.class);
fillSqlWithListValues.setAccessible(true);
@@ -105,14 +104,10 @@ public class DataBaseAdapterTest {
@Test
public void testFillSqlWithMultipleListValues() throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
- final User user = createUser(db.getUserDao(), createAccount(db.getAccountDao()));
- final StringBuilder builder = new StringBuilder();
- final List<Object> args = new ArrayList<>(2);
- final Long leet = 1337L;
- final List<?> entities = new ArrayList<Long>(2) {{
- add(leet);
- add(leet + 1);
- }};
+ final var builder = new StringBuilder();
+ final var args = new ArrayList<>(2);
+ final long leet = 1337L;
+ final var entities = List.of(leet, leet + 1);
final Method fillSqlWithListValues = DataBaseAdapter.class.getDeclaredMethod("fillSqlWithListValues", StringBuilder.class, Collection.class, List.class);
fillSqlWithListValues.setAccessible(true);
diff --git a/app/src/test/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DeckDatabaseTestUtil.java b/app/src/test/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DeckDatabaseTestUtil.java
index 7cb6d8483..cb377a8f3 100644
--- a/app/src/test/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DeckDatabaseTestUtil.java
+++ b/app/src/test/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DeckDatabaseTestUtil.java
@@ -1,13 +1,8 @@
package it.niedermann.nextcloud.deck.persistence.sync.adapters.db;
import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.lifecycle.LiveData;
-import androidx.lifecycle.Observer;
import java.util.Random;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.TimeUnit;
import it.niedermann.nextcloud.deck.model.Account;
import it.niedermann.nextcloud.deck.model.Board;
@@ -28,29 +23,6 @@ public class DeckDatabaseTestUtil {
// Util class
}
- /**
- * @see <a href="https://gist.github.com/JoseAlcerreca/1e9ee05dcdd6a6a6fa1cbfc125559bba">Source</a>
- */
- public static <T> T getOrAwaitValue(final LiveData<T> liveData) throws InterruptedException {
- final Object[] data = new Object[1];
- final CountDownLatch latch = new CountDownLatch(1);
- Observer<T> observer = new Observer<T>() {
- @Override
- public void onChanged(@Nullable T o) {
- data[0] = o;
- latch.countDown();
- liveData.removeObserver(this);
- }
- };
- liveData.observeForever(observer);
- // Don't wait indefinitely if the LiveData is not set.
- if (!latch.await(2, TimeUnit.SECONDS)) {
- throw new RuntimeException("LiveData value was never set.");
- }
- //noinspection unchecked
- return (T) data[0];
- }
-
public static Account createAccount(@NonNull AccountDao dao) {
final Account accountToCreate = new Account();
accountToCreate.setName(randomString(15) + " " + randomString(15));
diff --git a/app/src/test/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/dao/AccountDaoTest.java b/app/src/test/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/dao/AccountDaoTest.java
index a65756df3..9d6e84ab6 100644
--- a/app/src/test/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/dao/AccountDaoTest.java
+++ b/app/src/test/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/dao/AccountDaoTest.java
@@ -1,17 +1,18 @@
package it.niedermann.nextcloud.deck.persistence.sync.adapters.db.dao;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
+import it.niedermann.nextcloud.deck.TestUtil;
import it.niedermann.nextcloud.deck.model.Account;
import it.niedermann.nextcloud.deck.model.ocs.Capabilities;
import it.niedermann.nextcloud.deck.persistence.sync.adapters.db.DeckDatabaseTestUtil;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNull;
-
@RunWith(RobolectricTestRunner.class)
public class AccountDaoTest extends AbstractDaoTest {
@@ -39,13 +40,13 @@ public class AccountDaoTest extends AbstractDaoTest {
@Test
public void testGetAccountById() throws InterruptedException {
final Account account = DeckDatabaseTestUtil.createAccount(db.getAccountDao());
- assertEquals(account.getName(), DeckDatabaseTestUtil.getOrAwaitValue(db.getAccountDao().getAccountById(account.getId())).getName());
+ assertEquals(account.getName(), TestUtil.getOrAwaitValue(db.getAccountDao().getAccountById(account.getId())).getName());
}
@Test
public void testGetAccountByName() throws InterruptedException {
final Account account = DeckDatabaseTestUtil.createAccount(db.getAccountDao());
- assertEquals(account.getUserName(), DeckDatabaseTestUtil.getOrAwaitValue(db.getAccountDao().getAccountByName(account.getName())).getUserName());
+ assertEquals(account.getUserName(), TestUtil.getOrAwaitValue(db.getAccountDao().getAccountByName(account.getName())).getUserName());
}
@Test
@@ -54,7 +55,7 @@ public class AccountDaoTest extends AbstractDaoTest {
for (int i = 0; i < expectedCount; i++) {
DeckDatabaseTestUtil.createAccount(db.getAccountDao());
}
- assertEquals(expectedCount, DeckDatabaseTestUtil.getOrAwaitValue(db.getAccountDao().getAllAccounts()).size());
+ assertEquals(expectedCount, TestUtil.getOrAwaitValue(db.getAccountDao().getAllAccounts()).size());
}
@Test
@@ -72,7 +73,7 @@ public class AccountDaoTest extends AbstractDaoTest {
for (int i = 0; i < expectedCount; i++) {
DeckDatabaseTestUtil.createAccount(db.getAccountDao());
}
- assertEquals(Integer.valueOf(expectedCount), DeckDatabaseTestUtil.getOrAwaitValue(db.getAccountDao().countAccounts()));
+ assertEquals(Integer.valueOf(expectedCount), TestUtil.getOrAwaitValue(db.getAccountDao().countAccounts()));
}
@Test
diff --git a/app/src/test/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/dao/BoardDaoTest.java b/app/src/test/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/dao/BoardDaoTest.java
index e87fb06df..171a080e4 100644
--- a/app/src/test/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/dao/BoardDaoTest.java
+++ b/app/src/test/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/dao/BoardDaoTest.java
@@ -1,5 +1,14 @@
package it.niedermann.nextcloud.deck.persistence.sync.adapters.db.dao;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static it.niedermann.nextcloud.deck.persistence.sync.adapters.db.DeckDatabaseTestUtil.createAccount;
+import static it.niedermann.nextcloud.deck.persistence.sync.adapters.db.DeckDatabaseTestUtil.createBoard;
+import static it.niedermann.nextcloud.deck.persistence.sync.adapters.db.DeckDatabaseTestUtil.createCard;
+import static it.niedermann.nextcloud.deck.persistence.sync.adapters.db.DeckDatabaseTestUtil.createStack;
+import static it.niedermann.nextcloud.deck.persistence.sync.adapters.db.DeckDatabaseTestUtil.createUser;
+
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
@@ -7,6 +16,7 @@ import org.robolectric.RobolectricTestRunner;
import java.time.Instant;
import java.util.List;
+import it.niedermann.nextcloud.deck.TestUtil;
import it.niedermann.nextcloud.deck.model.Account;
import it.niedermann.nextcloud.deck.model.Board;
import it.niedermann.nextcloud.deck.model.Card;
@@ -15,15 +25,6 @@ import it.niedermann.nextcloud.deck.model.User;
import it.niedermann.nextcloud.deck.model.enums.DBStatus;
import it.niedermann.nextcloud.deck.persistence.sync.adapters.db.DeckDatabaseTestUtil;
-import static it.niedermann.nextcloud.deck.persistence.sync.adapters.db.DeckDatabaseTestUtil.createAccount;
-import static it.niedermann.nextcloud.deck.persistence.sync.adapters.db.DeckDatabaseTestUtil.createBoard;
-import static it.niedermann.nextcloud.deck.persistence.sync.adapters.db.DeckDatabaseTestUtil.createCard;
-import static it.niedermann.nextcloud.deck.persistence.sync.adapters.db.DeckDatabaseTestUtil.createStack;
-import static it.niedermann.nextcloud.deck.persistence.sync.adapters.db.DeckDatabaseTestUtil.createUser;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
@RunWith(RobolectricTestRunner.class)
public class BoardDaoTest extends AbstractDaoTest {
@@ -65,7 +66,7 @@ public class BoardDaoTest extends AbstractDaoTest {
boardVisibleArchived.setArchived(true);
db.getBoardDao().update(boardInVisible1, boardInVisible2, boardInVisible3, boardVisibleArchived);
- final List<Board> boards = DeckDatabaseTestUtil.getOrAwaitValue(db.getBoardDao().getBoardsForAccount(account.getId()));
+ final List<Board> boards = TestUtil.getOrAwaitValue(db.getBoardDao().getBoardsForAccount(account.getId()));
assertEquals(4, boards.size());
assertTrue(boards.stream().anyMatch((board -> boardVisible1.getLocalId().equals(board.getLocalId()))));
assertTrue(boards.stream().anyMatch((board -> boardVisible2.getLocalId().equals(board.getLocalId()))));
@@ -96,7 +97,7 @@ public class BoardDaoTest extends AbstractDaoTest {
board4.setArchived(true);
db.getBoardDao().update(board5, board6, board7, board4);
- final List<Board> boards = DeckDatabaseTestUtil.getOrAwaitValue(db.getBoardDao().getArchivedBoardsForAccount(account.getId()));
+ final List<Board> boards = TestUtil.getOrAwaitValue(db.getBoardDao().getArchivedBoardsForAccount(account.getId()));
assertEquals(1, boards.size());
assertFalse(boards.stream().anyMatch((board -> board1.getLocalId().equals(board.getLocalId()))));
assertFalse(boards.stream().anyMatch((board -> board2.getLocalId().equals(board.getLocalId()))));
@@ -127,7 +128,7 @@ public class BoardDaoTest extends AbstractDaoTest {
board4.setArchived(true);
db.getBoardDao().update(board5, board6, board7, board4);
- final List<Board> boards = DeckDatabaseTestUtil.getOrAwaitValue(db.getBoardDao().getNonArchivedBoardsForAccount(account.getId()));
+ final List<Board> boards = TestUtil.getOrAwaitValue(db.getBoardDao().getNonArchivedBoardsForAccount(account.getId()));
assertEquals(3, boards.size());
assertTrue(boards.stream().anyMatch((board -> board1.getLocalId().equals(board.getLocalId()))));
assertTrue(boards.stream().anyMatch((board -> board2.getLocalId().equals(board.getLocalId()))));
@@ -146,7 +147,7 @@ public class BoardDaoTest extends AbstractDaoTest {
final Stack stack = createStack(db.getStackDao(), account, board);
final Card card = createCard(db.getCardDao(), account, stack);
- assertEquals(board.getLocalId(), DeckDatabaseTestUtil.getOrAwaitValue(db.getBoardDao().getLocalBoardIdByCardRemoteIdAndAccountId(card.getId(), account.getId())));
+ assertEquals(board.getLocalId(), TestUtil.getOrAwaitValue(db.getBoardDao().getLocalBoardIdByCardRemoteIdAndAccountId(card.getId(), account.getId())));
}
@Test
@@ -169,6 +170,6 @@ public class BoardDaoTest extends AbstractDaoTest {
board4.setArchived(true);
db.getBoardDao().update(board5, board6, board7, board4);
- assertEquals(Integer.valueOf(1), DeckDatabaseTestUtil.getOrAwaitValue(db.getBoardDao().countArchivedBoards(account.getId())));
+ assertEquals(Integer.valueOf(1), TestUtil.getOrAwaitValue(db.getBoardDao().countArchivedBoards(account.getId())));
}
}