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:
authorNiedermann IT-Dienstleistungen <stefan-niedermann@users.noreply.github.com>2024-01-20 12:16:15 +0300
committerGitHub <noreply@github.com>2024-01-20 12:16:15 +0300
commitc9d48c4a798fc3b5d0a9b4fcbf73d67db73b71bc (patch)
tree8483dbf84aaad25b72788ce1fb9b484caddacd1d
parent8596ebefdcd1ea5a50c04fc11a9a65049a7f6773 (diff)
parent3b9dcd41459a1d41ea9037641fc4c567be9d13c5 (diff)
Merge pull request #1564 from stefan-niedermann/agp-8
chore: AGP 8, Java 17, SSO 1.0.0
-rw-r--r--.github/workflows/android.yml24
-rw-r--r--.github/workflows/codeql.yml8
-rw-r--r--app/build.gradle29
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/remote/adapters/ServerAdapter.java23
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/remote/api/DeckAPI.java21
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/remote/api/NextcloudServerAPI.java3
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/DataPropagationHelper.java6
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/SyncHelper.java5
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/AbstractSyncDataProvider.java4
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/AccessControlDataProvider.java4
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/ActivityDataProvider.java4
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/AttachmentDataProvider.java4
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/BoardDataProvider.java3
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/CardDataProvider.java11
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/CardPropagationDataProvider.java4
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/DeckCommentsDataProvider.java4
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/LabelDataProvider.java4
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/OcsProjectDataProvider.java4
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/StackDataProvider.java4
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/UserDataProvider.java4
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/repository/SyncRepository.java29
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/PickStackActivity.java6
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/archivedboards/ArchivedBoardsActivity.java4
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/archivedboards/ArchivedBoardsViewModel.java3
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/board/accesscontrol/AccessControlDialogFragment.java3
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/board/accesscontrol/AccessControlViewModel.java3
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/board/managelabels/LabelsViewModel.java3
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/board/managelabels/ManageLabelsDialogFragment.java3
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/card/EditCardViewModel.java3
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/CardAttachmentsFragment.java13
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/CardCommentsFragment.java3
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/CommentsViewModel.java3
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/main/MainActivity.java11
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/main/MainViewModel.java11
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/preparecreate/PrepareCreateActivity.java4
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/StackFragment.java5
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/StackViewModel.java5
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/upcomingcards/UpcomingCardsActivity.java5
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/upcomingcards/UpcomingCardsViewModel.java5
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/view/DueDateChip.java4
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/view/FilterIndicator.java27
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/widget/stack/StackWidgetConfigurationActivity.java4
-rw-r--r--app/src/main/res/values/colors.xml1
-rw-r--r--app/src/test/java/it/niedermann/nextcloud/deck/remote/api/ResponseCallbackTest.java6
-rw-r--r--app/src/test/java/it/niedermann/nextcloud/deck/remote/api/ServerCommunicationErrorHandlerTest.java2
-rw-r--r--app/src/test/java/it/niedermann/nextcloud/deck/repository/SyncRepositoryTest.java9
-rw-r--r--build.gradle4
-rw-r--r--cross-tab-drag-and-drop/build.gradle8
-rw-r--r--gradle.properties15
-rw-r--r--gradle/wrapper/gradle-wrapper.properties2
-rw-r--r--reactive-livedata/build.gradle19
-rw-r--r--tab-layout-helper/build.gradle10
52 files changed, 228 insertions, 178 deletions
diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml
index 0b2d4d282..e45a649e9 100644
--- a/.github/workflows/android.yml
+++ b/.github/workflows/android.yml
@@ -21,8 +21,14 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v4
+ - uses: actions/setup-java@v4
+ with:
+ distribution: 'temurin'
+ java-version: '17'
+ check-latest: true
+ cache: 'gradle'
- name: Lint
- run: bash ./gradlew lintDebug --stacktrace
+ run: bash ./gradlew lintDebug --stacktrace --no-configuration-cache
test:
name: Unit tests
@@ -30,8 +36,14 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v4
+ - uses: actions/setup-java@v4
+ with:
+ distribution: 'temurin'
+ java-version: '17'
+ check-latest: true
+ cache: 'gradle'
- name: Unit tests
- run: bash ./gradlew test --stacktrace
+ run: bash ./gradlew test --stacktrace --no-configuration-cache
apk:
name: Generate APK
@@ -39,8 +51,14 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v4
+ - uses: actions/setup-java@v4
+ with:
+ distribution: 'temurin'
+ java-version: '17'
+ check-latest: true
+ cache: 'gradle'
- name: Build debug APK
- run: bash ./gradlew assembleDev
+ run: bash ./gradlew assembleDev --no-configuration-cache
- name: Upload APK
uses: actions/upload-artifact@v4
with:
diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
index 9b201704b..04220e473 100644
--- a/.github/workflows/codeql.yml
+++ b/.github/workflows/codeql.yml
@@ -17,11 +17,17 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v4
+ - uses: actions/setup-java@v4
+ with:
+ distribution: 'temurin'
+ java-version: '17'
+ check-latest: true
+ cache: 'gradle'
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: java
- name: Build debug APK
- run: bash ./gradlew assembleDev --stacktrace
+ run: bash ./gradlew assembleDev --stacktrace --no-configuration-cache
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
diff --git a/app/build.gradle b/app/build.gradle
index aa3e7efe4..b38ec42e5 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -2,12 +2,13 @@ apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
android {
- compileSdkVersion 33
- buildToolsVersion "31.0.0"
+ compileSdk 34
+ namespace 'it.niedermann.nextcloud.deck'
+
defaultConfig {
applicationId "it.niedermann.nextcloud.deck"
- minSdkVersion 24
- targetSdkVersion 33
+ minSdk 24
+ targetSdk 34
versionCode 1023004
versionName "1.23.4"
vectorDrawables.useSupportLibrary true
@@ -20,6 +21,7 @@ android {
}
buildFeatures {
viewBinding true
+ buildConfig true
}
buildTypes {
release {
@@ -29,8 +31,8 @@ android {
}
compileOptions {
coreLibraryDesugaringEnabled true
- sourceCompatibility JavaVersion.VERSION_11
- targetCompatibility JavaVersion.VERSION_11
+ sourceCompatibility JavaVersion.VERSION_17
+ targetCompatibility JavaVersion.VERSION_17
}
flavorDimensions "version"
productFlavors {
@@ -63,16 +65,15 @@ android {
abortOnError false
disable 'MissingTranslation'
}
- namespace 'it.niedermann.nextcloud.deck'
}
dependencies {
- def cameraVersion = "1.2.3"
+ def cameraVersion = "1.3.1"
def lifecycleVersion = "2.6.2"
- def roomVersion = "2.5.2"
+ def roomVersion = "2.6.1"
def glideVersion = "4.16.0"
- def nextcloudCommonsVersion = "1.8.2"
- def androidCommonsVersion = "0.2.9"
+ def nextcloudCommonsVersion = "1.9.0"
+ def androidCommonsVersion = "0.3.2"
implementation project(path: ':cross-tab-drag-and-drop')
implementation project(path: ':tab-layout-helper')
@@ -93,7 +94,7 @@ dependencies {
annotationProcessor "androidx.room:room-compiler:$roomVersion"
implementation 'androidx.core:core-splashscreen:1.0.1'
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
- implementation 'androidx.work:work-runtime:2.8.1'
+ implementation 'androidx.work:work-runtime:2.9.0'
implementation "com.google.android.material:material:$rootProject.materialVersion"
// Glide
@@ -104,8 +105,8 @@ dependencies {
implementation 'id.zelory:compressor:3.0.1'
// Single-Sign-On
- implementation 'com.github.nextcloud:Android-SingleSignOn:0.8.1'
- implementation 'com.github.nextcloud:android-common:0.12.0'
+ implementation 'com.github.nextcloud:Android-SingleSignOn:1.0.0'
+ implementation 'com.github.nextcloud:android-common:0.13.0'
implementation "com.github.stefan-niedermann.nextcloud-commons:sso-glide:$nextcloudCommonsVersion"
implementation "com.github.stefan-niedermann.nextcloud-commons:exception:$nextcloudCommonsVersion"
implementation("com.github.stefan-niedermann.nextcloud-commons:markdown:$nextcloudCommonsVersion") {
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/remote/adapters/ServerAdapter.java b/app/src/main/java/it/niedermann/nextcloud/deck/remote/adapters/ServerAdapter.java
index 33c781a5d..ec5dc551b 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/remote/adapters/ServerAdapter.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/remote/adapters/ServerAdapter.java
@@ -10,6 +10,7 @@ import android.webkit.MimeTypeMap;
import androidx.annotation.NonNull;
import androidx.preference.PreferenceManager;
+import com.nextcloud.android.sso.api.EmptyResponse;
import com.nextcloud.android.sso.api.ParsedResponse;
import com.nextcloud.android.sso.model.SingleSignOnAccount;
@@ -139,7 +140,7 @@ public class ServerAdapter {
RequestHelper.request(provider, () -> provider.getDeckAPI().createBoard(board), responseCallback);
}
- public void deleteBoard(Board board, @NonNull ResponseCallback<Void> responseCallback) {
+ public void deleteBoard(Board board, @NonNull ResponseCallback<EmptyResponse> responseCallback) {
ensureInternetConnection();
RequestHelper.request(provider, () -> provider.getDeckAPI().deleteBoard(board.getId()), responseCallback);
}
@@ -159,7 +160,7 @@ public class ServerAdapter {
RequestHelper.request(provider, () -> provider.getDeckAPI().updateAccessControl(remoteBoardId, acl.getId(), acl), responseCallback);
}
- public void deleteAccessControl(long remoteBoardId, AccessControl acl, @NonNull ResponseCallback<Void> responseCallback) {
+ public void deleteAccessControl(long remoteBoardId, AccessControl acl, @NonNull ResponseCallback<EmptyResponse> responseCallback) {
ensureInternetConnection();
RequestHelper.request(provider, () -> provider.getDeckAPI().deleteAccessControl(remoteBoardId, acl.getId(), acl), responseCallback);
}
@@ -179,7 +180,7 @@ public class ServerAdapter {
RequestHelper.request(provider, () -> provider.getDeckAPI().createStack(board.getId(), stack), responseCallback);
}
- public void deleteStack(Board board, Stack stack, @NonNull ResponseCallback<Void> responseCallback) {
+ public void deleteStack(Board board, Stack stack, @NonNull ResponseCallback<EmptyResponse> responseCallback) {
ensureInternetConnection();
RequestHelper.request(provider, () -> provider.getDeckAPI().deleteStack(board.getId(), stack.getId()), responseCallback);
@@ -207,7 +208,7 @@ public class ServerAdapter {
RequestHelper.request(provider, () -> provider.getDeckAPI().createCard(boardId, stackId, card), responseCallback);
}
- public void deleteCard(long boardId, long stackId, Card card, @NonNull ResponseCallback<Void> responseCallback) {
+ public void deleteCard(long boardId, long stackId, Card card, @NonNull ResponseCallback<EmptyResponse> responseCallback) {
ensureInternetConnection();
RequestHelper.request(provider, () -> provider.getDeckAPI().deleteCard(boardId, stackId, card.getId()), responseCallback);
}
@@ -217,22 +218,22 @@ public class ServerAdapter {
RequestHelper.request(provider, () -> provider.getDeckAPI().updateCard(boardId, stackId, card.getId(), card), responseCallback);
}
- public void assignUserToCard(long boardId, long stackId, long cardId, String userUID, @NonNull ResponseCallback<Void> responseCallback) {
+ public void assignUserToCard(long boardId, long stackId, long cardId, String userUID, @NonNull ResponseCallback<EmptyResponse> responseCallback) {
ensureInternetConnection();
RequestHelper.request(provider, () -> provider.getDeckAPI().assignUserToCard(boardId, stackId, cardId, userUID), responseCallback);
}
- public void unassignUserFromCard(long boardId, long stackId, long cardId, String userUID, @NonNull ResponseCallback<Void> responseCallback) {
+ public void unassignUserFromCard(long boardId, long stackId, long cardId, String userUID, @NonNull ResponseCallback<EmptyResponse> responseCallback) {
ensureInternetConnection();
RequestHelper.request(provider, () -> provider.getDeckAPI().unassignUserFromCard(boardId, stackId, cardId, userUID), responseCallback);
}
- public void assignLabelToCard(long boardId, long stackId, long cardId, long labelId, @NonNull ResponseCallback<Void> responseCallback) {
+ public void assignLabelToCard(long boardId, long stackId, long cardId, long labelId, @NonNull ResponseCallback<EmptyResponse> responseCallback) {
ensureInternetConnection();
RequestHelper.request(provider, () -> provider.getDeckAPI().assignLabelToCard(boardId, stackId, cardId, labelId), responseCallback);
}
- public void unassignLabelFromCard(long boardId, long stackId, long cardId, long labelId, @NonNull ResponseCallback<Void> responseCallback) {
+ public void unassignLabelFromCard(long boardId, long stackId, long cardId, long labelId, @NonNull ResponseCallback<EmptyResponse> responseCallback) {
ensureInternetConnection();
RequestHelper.request(provider, () -> provider.getDeckAPI().unassignLabelFromCard(boardId, stackId, cardId, labelId), responseCallback);
}
@@ -245,7 +246,7 @@ public class ServerAdapter {
RequestHelper.request(provider, () -> provider.getDeckAPI().createLabel(boardId, label), responseCallback);
}
- public void deleteLabel(long boardId, Label label, @NonNull ResponseCallback<Void> responseCallback) {
+ public void deleteLabel(long boardId, Label label, @NonNull ResponseCallback<EmptyResponse> responseCallback) {
ensureInternetConnection();
RequestHelper.request(provider, () -> provider.getDeckAPI().deleteLabel(boardId, label.getId()), responseCallback);
}
@@ -304,7 +305,7 @@ public class ServerAdapter {
RequestHelper.request(provider, () -> provider.getDeckAPI().downloadAttachment(remoteBoardId, remoteStackId, remoteCardId, remoteAttachmentId), responseCallback);
}
- public void deleteAttachment(Long remoteBoardId, long remoteStackId, long remoteCardId, long remoteAttachmentId, @NonNull ResponseCallback<Void> responseCallback) {
+ public void deleteAttachment(Long remoteBoardId, long remoteStackId, long remoteCardId, long remoteAttachmentId, @NonNull ResponseCallback<EmptyResponse> responseCallback) {
ensureInternetConnection();
RequestHelper.request(provider, () -> provider.getDeckAPI().deleteAttachment(remoteBoardId, remoteStackId, remoteCardId, remoteAttachmentId), responseCallback);
}
@@ -329,7 +330,7 @@ public class ServerAdapter {
RequestHelper.request(provider, () -> provider.getNextcloudAPI().updateCommentForCard(comment.getObjectId(), comment.getId(), comment), responseCallback);
}
- public void deleteCommentForCard(DeckComment comment, @NonNull ResponseCallback<Void> responseCallback) {
+ public void deleteCommentForCard(DeckComment comment, @NonNull ResponseCallback<EmptyResponse> responseCallback) {
ensureInternetConnection();
RequestHelper.request(provider, () -> provider.getNextcloudAPI().deleteCommentForCard(comment.getObjectId(), comment.getId()), responseCallback);
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/remote/api/DeckAPI.java b/app/src/main/java/it/niedermann/nextcloud/deck/remote/api/DeckAPI.java
index 576ccc33b..1f17d2daa 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/remote/api/DeckAPI.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/remote/api/DeckAPI.java
@@ -1,6 +1,7 @@
package it.niedermann.nextcloud.deck.remote.api;
+import com.nextcloud.android.sso.api.EmptyResponse;
import com.nextcloud.android.sso.api.ParsedResponse;
import java.util.List;
@@ -54,7 +55,7 @@ public interface DeckAPI {
Observable<FullBoard> updateBoard(@Path("id") long id, @Body Board board);
@DELETE("v1.0/boards/{id}")
- Observable<Void> deleteBoard(@Path("id") long id);
+ Observable<EmptyResponse> deleteBoard(@Path("id") long id);
@DELETE("v1.0/boards/{id}/undo_delete")
Observable<FullBoard> restoreBoard(@Path("id") long id);
@@ -75,7 +76,7 @@ public interface DeckAPI {
Observable<FullStack> updateStack(@Path("boardId") long boardId, @Path("stackId") long id, @Body Stack stack);
@DELETE("v1.0/boards/{boardId}/stacks/{stackId}")
- Observable<Void> deleteStack(@Path("boardId") long boardId, @Path("stackId") long id);
+ Observable<EmptyResponse> deleteStack(@Path("boardId") long boardId, @Path("stackId") long id);
@GET("v1.0/boards/{boardId}/stacks/{stackId}")
Observable<FullStack> getStack(@Path("boardId") long boardId, @Path("stackId") long id, @Header(MODIFIED_SINCE_HEADER) String lastSync);
@@ -97,25 +98,25 @@ public interface DeckAPI {
@FormUrlEncoded
@PUT("v1.0/boards/{boardId}/stacks/{stackId}/cards/{cardId}/assignLabel")
- Observable<Void> assignLabelToCard(@Path("boardId") long boardId, @Path("stackId") long stackId, @Path("cardId") long cardId, @Field("labelId") long labelId);
+ Observable<EmptyResponse> assignLabelToCard(@Path("boardId") long boardId, @Path("stackId") long stackId, @Path("cardId") long cardId, @Field("labelId") long labelId);
@FormUrlEncoded
@PUT("v1.0/boards/{boardId}/stacks/{stackId}/cards/{cardId}/removeLabel")
- Observable<Void> unassignLabelFromCard(@Path("boardId") long boardId, @Path("stackId") long stackId, @Path("cardId") long cardId, @Field("labelId") long labelId);
+ Observable<EmptyResponse> unassignLabelFromCard(@Path("boardId") long boardId, @Path("stackId") long stackId, @Path("cardId") long cardId, @Field("labelId") long labelId);
@FormUrlEncoded
@PUT("v1.0/boards/{boardId}/stacks/{stackId}/cards/{cardId}/assignUser")
- Observable<Void> assignUserToCard(@Path("boardId") long boardId, @Path("stackId") long stackId, @Path("cardId") long cardId, @Field("userId") String userUID);
+ Observable<EmptyResponse> assignUserToCard(@Path("boardId") long boardId, @Path("stackId") long stackId, @Path("cardId") long cardId, @Field("userId") String userUID);
@FormUrlEncoded
@PUT("v1.0/boards/{boardId}/stacks/{stackId}/cards/{cardId}/unassignUser")
- Observable<Void> unassignUserFromCard(@Path("boardId") long boardId, @Path("stackId") long stackId, @Path("cardId") long cardId, @Field("userId") String userUID);
+ Observable<EmptyResponse> unassignUserFromCard(@Path("boardId") long boardId, @Path("stackId") long stackId, @Path("cardId") long cardId, @Field("userId") String userUID);
@PUT("v1.0/boards/{boardId}/stacks/{stackId}/cards/{cardId}/reorder")
Observable<List<FullCard>> moveCard(@Path("boardId") long boardId, @Path("stackId") long stackId, @Path("cardId") long cardId, @Body Reorder reorder);
@DELETE("v1.0/boards/{boardId}/stacks/{stackId}/cards/{cardId}")
- Observable<Void> deleteCard(@Path("boardId") long boardId, @Path("stackId") long stackId, @Path("cardId") long cardId);
+ Observable<EmptyResponse> deleteCard(@Path("boardId") long boardId, @Path("stackId") long stackId, @Path("cardId") long cardId);
/**
* @see <a href="https://github.com/nextcloud/deck/issues/2874">This endpoint does only return {@link Attachment}s of type {@link EAttachmentType.DECK_FILE}</a>
@@ -140,7 +141,7 @@ public interface DeckAPI {
Observable<Label> createLabel(@Path("boardId") long boardId, @Body Label label);
@DELETE("v1.0/boards/{boardId}/labels/{labelId}")
- Observable<Void> deleteLabel(@Path("boardId") long boardId, @Path("labelId") long labelId);
+ Observable<EmptyResponse> deleteLabel(@Path("boardId") long boardId, @Path("labelId") long labelId);
// Attachments
@@ -160,7 +161,7 @@ public interface DeckAPI {
Observable<Attachment> updateAttachment(@Path("boardId") long boardId, @Path("stackId") long stackId, @Path("cardId") long cardId, @Path("attachmentId") long attachmentId, @Part MultipartBody.Part type, @Part MultipartBody.Part attachment);
@DELETE("v1.0/boards/{boardId}/stacks/{stackId}/cards/{cardId}/attachments/{attachmentId}")
- Observable<Void> deleteAttachment(@Path("boardId") long boardId, @Path("stackId") long stackId, @Path("cardId") long cardId, @Path("attachmentId") long attachmentId);
+ Observable<EmptyResponse> deleteAttachment(@Path("boardId") long boardId, @Path("stackId") long stackId, @Path("cardId") long cardId, @Path("attachmentId") long attachmentId);
@PUT("v1.0/boards/{boardId}/stacks/{stackId}/cards/{cardId}/attachments/{attachmentId}/restore")
Observable<Attachment> restoreAttachment(@Path("boardId") long boardId, @Path("stackId") long stackId, @Path("cardId") long cardId, @Path("attachmentId") long attachmentId);
@@ -175,6 +176,6 @@ public interface DeckAPI {
Observable<AccessControl> updateAccessControl(@Path("boardId") long boardId, @Path("aclId") long aclId, @Body AccessControl acl);
@DELETE("v1.0/boards/{boardId}/acl/{aclId}")
- Observable<Void> deleteAccessControl(@Path("boardId") long boardId, @Path("aclId") long aclId, @Body AccessControl acl);
+ Observable<EmptyResponse> deleteAccessControl(@Path("boardId") long boardId, @Path("aclId") long aclId, @Body AccessControl acl);
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/remote/api/NextcloudServerAPI.java b/app/src/main/java/it/niedermann/nextcloud/deck/remote/api/NextcloudServerAPI.java
index 6f260f31a..2e005d35f 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/remote/api/NextcloudServerAPI.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/remote/api/NextcloudServerAPI.java
@@ -1,6 +1,7 @@
package it.niedermann.nextcloud.deck.remote.api;
+import com.nextcloud.android.sso.api.EmptyResponse;
import com.nextcloud.android.sso.api.ParsedResponse;
import java.util.List;
@@ -89,5 +90,5 @@ public interface NextcloudServerAPI {
"Content-Type: application/json;charset=utf-8"
})
@DELETE("apps/deck/api/v1.0/cards/{cardId}/comments/{commentId}")
- Observable<Void> deleteCommentForCard(@Path("cardId") long cardId, @Path("commentId") long commentId);
+ Observable<EmptyResponse> deleteCommentForCard(@Path("cardId") long cardId, @Path("commentId") long commentId);
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/DataPropagationHelper.java b/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/DataPropagationHelper.java
index ac6bdedc2..6b6549ac7 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/DataPropagationHelper.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/DataPropagationHelper.java
@@ -3,6 +3,8 @@ package it.niedermann.nextcloud.deck.remote.helpers;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
+import com.nextcloud.android.sso.api.EmptyResponse;
+
import java.util.concurrent.ExecutorService;
import java.util.function.BiConsumer;
@@ -109,7 +111,7 @@ public class DataPropagationHelper {
}
}
- public <T extends IRemoteEntity> void deleteEntity(@NonNull final AbstractSyncDataProvider<T> provider, @NonNull T entity, @NonNull ResponseCallback<Void> callback){
+ public <T extends IRemoteEntity> void deleteEntity(@NonNull final AbstractSyncDataProvider<T> provider, @NonNull T entity, @NonNull ResponseCallback<EmptyResponse> callback){
final long accountId = callback.getAccount().getId();
// known to server?
if (entity.getId() != null) {
@@ -122,7 +124,7 @@ public class DataPropagationHelper {
try {
provider.deleteOnServer(serverAdapter, accountId, new ResponseCallback<>(new Account(accountId)) {
@Override
- public void onResponse(Void response) {
+ public void onResponse(EmptyResponse response) {
executor.submit(() -> {
provider.deletePhysicallyInDB(dataBaseAdapter, accountId, entity);
callback.onResponse(null);
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/SyncHelper.java b/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/SyncHelper.java
index 846c7cf0e..4028e3ad3 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/SyncHelper.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/SyncHelper.java
@@ -3,6 +3,7 @@ package it.niedermann.nextcloud.deck.remote.helpers;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
+import com.nextcloud.android.sso.api.EmptyResponse;
import com.nextcloud.android.sso.exceptions.NextcloudHttpRequestFailedException;
import java.net.HttpURLConnection;
@@ -133,10 +134,10 @@ public class SyncHelper {
}
}
- private <T extends IRemoteEntity> ResponseCallback<Void> getDeleteCallback(@NonNull AbstractSyncDataProvider<T> provider, T entity) {
+ private <T extends IRemoteEntity> ResponseCallback<EmptyResponse> getDeleteCallback(@NonNull AbstractSyncDataProvider<T> provider, T entity) {
return new ResponseCallback<>(account) {
@Override
- public void onResponse(Void response) {
+ public void onResponse(EmptyResponse response) {
provider.deletePhysicallyInDB(dataBaseAdapter, accountId, entity);
provider.goDeeperForUpSync(SyncHelper.this, serverAdapter, dataBaseAdapter, responseCallback);
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/AbstractSyncDataProvider.java b/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/AbstractSyncDataProvider.java
index 36eba5704..4347af0b5 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/AbstractSyncDataProvider.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/AbstractSyncDataProvider.java
@@ -2,6 +2,8 @@ package it.niedermann.nextcloud.deck.remote.helpers.providers;
import androidx.annotation.Nullable;
+import com.nextcloud.android.sso.api.EmptyResponse;
+
import java.time.Instant;
import java.util.ArrayList;
import java.util.List;
@@ -105,7 +107,7 @@ public abstract class AbstractSyncDataProvider<T extends IRemoteEntity> {
public abstract void updateOnServer(ServerAdapter serverAdapter, DataBaseAdapter dataBaseAdapter, long accountId, ResponseCallback<T> callback, T entity);
- public abstract void deleteOnServer(ServerAdapter serverAdapter, long accountId, ResponseCallback<Void> callback, T entity, DataBaseAdapter dataBaseAdapter);
+ public abstract void deleteOnServer(ServerAdapter serverAdapter, long accountId, ResponseCallback<EmptyResponse> callback, T entity, DataBaseAdapter dataBaseAdapter);
public void childDone(AbstractSyncDataProvider<?> child, ResponseCallback<Boolean> responseCallback, boolean syncChangedSomething) {
removeChild(child);
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/AccessControlDataProvider.java b/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/AccessControlDataProvider.java
index cff7dae89..030669158 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/AccessControlDataProvider.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/AccessControlDataProvider.java
@@ -2,6 +2,8 @@ package it.niedermann.nextcloud.deck.remote.helpers.providers;
import androidx.annotation.Nullable;
+import com.nextcloud.android.sso.api.EmptyResponse;
+
import java.time.Instant;
import java.util.List;
import java.util.concurrent.CountDownLatch;
@@ -174,7 +176,7 @@ public class AccessControlDataProvider extends AbstractSyncDataProvider<AccessCo
}
@Override
- public void deleteOnServer(ServerAdapter serverAdapter, long accountId, ResponseCallback<Void> callback, AccessControl entity, DataBaseAdapter dataBaseAdapter) {
+ public void deleteOnServer(ServerAdapter serverAdapter, long accountId, ResponseCallback<EmptyResponse> callback, AccessControl entity, DataBaseAdapter dataBaseAdapter) {
serverAdapter.deleteAccessControl(board.getBoard().getId(), entity, callback);
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/ActivityDataProvider.java b/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/ActivityDataProvider.java
index 018ac0282..b4981bf08 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/ActivityDataProvider.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/ActivityDataProvider.java
@@ -2,6 +2,8 @@ package it.niedermann.nextcloud.deck.remote.helpers.providers;
import androidx.annotation.NonNull;
+import com.nextcloud.android.sso.api.EmptyResponse;
+
import java.time.Instant;
import java.util.Collections;
import java.util.List;
@@ -63,7 +65,7 @@ public class ActivityDataProvider extends AbstractSyncDataProvider<Activity> {
}
@Override
- public void deleteOnServer(ServerAdapter serverAdapter, long accountId, ResponseCallback<Void> callback, Activity entity, DataBaseAdapter dataBaseAdapter) {
+ public void deleteOnServer(ServerAdapter serverAdapter, long accountId, ResponseCallback<EmptyResponse> callback, Activity entity, DataBaseAdapter dataBaseAdapter) {
// nope.
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/AttachmentDataProvider.java b/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/AttachmentDataProvider.java
index 0d8ca5d51..e3f84fdaf 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/AttachmentDataProvider.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/AttachmentDataProvider.java
@@ -3,6 +3,8 @@ package it.niedermann.nextcloud.deck.remote.helpers.providers;
import android.annotation.SuppressLint;
import android.net.Uri;
+import com.nextcloud.android.sso.api.EmptyResponse;
+
import java.io.File;
import java.io.IOException;
import java.time.Instant;
@@ -101,7 +103,7 @@ public class AttachmentDataProvider extends AbstractSyncDataProvider<Attachment>
}
@Override
- public void deleteOnServer(ServerAdapter serverAdapter, long accountId, ResponseCallback<Void> callback, Attachment entity, DataBaseAdapter dataBaseAdapter) {
+ public void deleteOnServer(ServerAdapter serverAdapter, long accountId, ResponseCallback<EmptyResponse> callback, Attachment entity, DataBaseAdapter dataBaseAdapter) {
serverAdapter.deleteAttachment(board.getId(), stack.getId(), card.getId(), entity.getId(), callback);
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/BoardDataProvider.java b/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/BoardDataProvider.java
index cd8350535..a4d29f4bc 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/BoardDataProvider.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/BoardDataProvider.java
@@ -5,6 +5,7 @@ import android.util.Pair;
import androidx.lifecycle.MutableLiveData;
+import com.nextcloud.android.sso.api.EmptyResponse;
import com.nextcloud.android.sso.api.ParsedResponse;
import java.time.Instant;
@@ -242,7 +243,7 @@ public class BoardDataProvider extends AbstractSyncDataProvider<FullBoard> {
}
@Override
- public void deleteOnServer(ServerAdapter serverAdapter, long accountId, ResponseCallback<Void> callback, FullBoard entity, DataBaseAdapter dataBaseAdapter) {
+ public void deleteOnServer(ServerAdapter serverAdapter, long accountId, ResponseCallback<EmptyResponse> callback, FullBoard entity, DataBaseAdapter dataBaseAdapter) {
serverAdapter.deleteBoard(entity.getBoard(), callback);
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/CardDataProvider.java b/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/CardDataProvider.java
index b8f3e5000..a1e87897e 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/CardDataProvider.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/CardDataProvider.java
@@ -2,6 +2,7 @@ package it.niedermann.nextcloud.deck.remote.helpers.providers;
import android.annotation.SuppressLint;
+import com.nextcloud.android.sso.api.EmptyResponse;
import com.nextcloud.android.sso.exceptions.NextcloudHttpRequestFailedException;
import java.time.Instant;
@@ -203,7 +204,7 @@ public class CardDataProvider extends AbstractSyncDataProvider<FullCard> {
}
@Override
- public void deleteOnServer(ServerAdapter serverAdapter, long accountId, ResponseCallback<Void> callback, FullCard entity, DataBaseAdapter dataBaseAdapter) {
+ public void deleteOnServer(ServerAdapter serverAdapter, long accountId, ResponseCallback<EmptyResponse> callback, FullCard entity, DataBaseAdapter dataBaseAdapter) {
serverAdapter.deleteCard(board.getId(), stack.getId(), entity.getCard(), callback);
}
@@ -255,7 +256,7 @@ public class CardDataProvider extends AbstractSyncDataProvider<FullCard> {
} else {
serverAdapter.unassignLabelFromCard(board.getId(), stack.getId(), changedLabel.getCardId(), changedLabel.getLabelId(), new ResponseCallback<>(account) {
@Override
- public void onResponse(Void response) {
+ public void onResponse(EmptyResponse response) {
dataBaseAdapter.deleteJoinedLabelForCardPhysicallyByRemoteIDs(account.getId(), changedLabel.getCardId(), changedLabel.getLabelId());
}
});
@@ -270,7 +271,7 @@ public class CardDataProvider extends AbstractSyncDataProvider<FullCard> {
LABEL_JOINS_IN_SYNC.add(changedLabel);
serverAdapter.assignLabelToCard(board.getId(), stack.getId(), changedLabel.getCardId(), changedLabel.getLabelId(), new ResponseCallback<>(account) {
@Override
- public void onResponse(Void response) {
+ public void onResponse(EmptyResponse response) {
Label label = dataBaseAdapter.getLabelByRemoteIdDirectly(account.getId(), changedLabel.getLabelId());
dataBaseAdapter.setStatusForJoinCardWithLabel(card.getLocalId(), label.getLocalId(), DBStatus.UP_TO_DATE.getId());
LABEL_JOINS_IN_SYNC.remove(changedLabel);
@@ -322,14 +323,14 @@ public class CardDataProvider extends AbstractSyncDataProvider<FullCard> {
if (changedUser.getStatusEnum() == DBStatus.LOCAL_DELETED) {
serverAdapter.unassignUserFromCard(board.getId(), stack.getId(), changedUser.getCardId(), user.getUid(), new ResponseCallback<>(account) {
@Override
- public void onResponse(Void response) {
+ public void onResponse(EmptyResponse 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<>(account) {
@Override
- public void onResponse(Void response) {
+ public void onResponse(EmptyResponse response) {
dataBaseAdapter.setStatusForJoinCardWithUser(card.getLocalId(), user.getLocalId(), DBStatus.UP_TO_DATE.getId());
}
});
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/CardPropagationDataProvider.java b/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/CardPropagationDataProvider.java
index e9028c685..c91ac9740 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/CardPropagationDataProvider.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/CardPropagationDataProvider.java
@@ -2,6 +2,8 @@ package it.niedermann.nextcloud.deck.remote.helpers.providers;
import android.annotation.SuppressLint;
+import com.nextcloud.android.sso.api.EmptyResponse;
+
import it.niedermann.nextcloud.deck.database.DataBaseAdapter;
import it.niedermann.nextcloud.deck.model.Board;
import it.niedermann.nextcloud.deck.model.Card;
@@ -83,7 +85,7 @@ public class CardPropagationDataProvider extends CardDataProvider {
}
@Override
- public void deleteOnServer(ServerAdapter serverAdapter, long accountId, ResponseCallback<Void> callback, FullCard entity, DataBaseAdapter dataBaseAdapter) {
+ public void deleteOnServer(ServerAdapter serverAdapter, long accountId, ResponseCallback<EmptyResponse> callback, FullCard entity, DataBaseAdapter dataBaseAdapter) {
serverAdapter.deleteCard(board.getId(), stack.getId(), entity.getCard(), callback);
}
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/DeckCommentsDataProvider.java b/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/DeckCommentsDataProvider.java
index c366ca1fc..ee0b357f0 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/DeckCommentsDataProvider.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/DeckCommentsDataProvider.java
@@ -2,6 +2,8 @@ package it.niedermann.nextcloud.deck.remote.helpers.providers;
import android.annotation.SuppressLint;
+import com.nextcloud.android.sso.api.EmptyResponse;
+
import java.time.Instant;
import java.util.ArrayList;
import java.util.Collections;
@@ -154,7 +156,7 @@ public class DeckCommentsDataProvider extends AbstractSyncDataProvider<OcsCommen
}
@Override
- public void deleteOnServer(ServerAdapter serverAdapter, long accountId, ResponseCallback<Void> callback, OcsComment entity, DataBaseAdapter dataBaseAdapter) {
+ public void deleteOnServer(ServerAdapter serverAdapter, long accountId, ResponseCallback<EmptyResponse> callback, OcsComment entity, DataBaseAdapter dataBaseAdapter) {
DeckComment comment = entity.getSingle();
comment.setObjectId(card.getId());
serverAdapter.deleteCommentForCard(comment, callback);
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/LabelDataProvider.java b/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/LabelDataProvider.java
index 9259391bb..b01ca2b51 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/LabelDataProvider.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/LabelDataProvider.java
@@ -2,6 +2,8 @@ package it.niedermann.nextcloud.deck.remote.helpers.providers;
import android.annotation.SuppressLint;
+import com.nextcloud.android.sso.api.EmptyResponse;
+
import java.time.Instant;
import java.util.List;
@@ -94,7 +96,7 @@ public class LabelDataProvider extends AbstractSyncDataProvider<Label> {
}
@Override
- public void deleteOnServer(ServerAdapter serverAdapter, long accountId, ResponseCallback<Void> callback, Label entity, DataBaseAdapter dataBaseAdapter) {
+ public void deleteOnServer(ServerAdapter serverAdapter, long accountId, ResponseCallback<EmptyResponse> callback, Label entity, DataBaseAdapter dataBaseAdapter) {
serverAdapter.deleteLabel(board.getId(), entity, callback);
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/OcsProjectDataProvider.java b/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/OcsProjectDataProvider.java
index 40d661b8b..0f5d28ff6 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/OcsProjectDataProvider.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/OcsProjectDataProvider.java
@@ -1,5 +1,7 @@
package it.niedermann.nextcloud.deck.remote.helpers.providers;
+import com.nextcloud.android.sso.api.EmptyResponse;
+
import java.time.Instant;
import java.util.Collections;
import java.util.List;
@@ -105,7 +107,7 @@ public class OcsProjectDataProvider extends AbstractSyncDataProvider<OcsProject>
}
@Override
- public void deleteOnServer(ServerAdapter serverAdapter, long accountId, ResponseCallback<Void> callback, OcsProject entity, DataBaseAdapter dataBaseAdapter) {
+ public void deleteOnServer(ServerAdapter serverAdapter, long accountId, ResponseCallback<EmptyResponse> callback, OcsProject entity, DataBaseAdapter dataBaseAdapter) {
// Do Nothing
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/StackDataProvider.java b/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/StackDataProvider.java
index 6645390a5..16eea8692 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/StackDataProvider.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/StackDataProvider.java
@@ -1,5 +1,7 @@
package it.niedermann.nextcloud.deck.remote.helpers.providers;
+import com.nextcloud.android.sso.api.EmptyResponse;
+
import java.time.Instant;
import java.util.Collections;
import java.util.List;
@@ -91,7 +93,7 @@ public class StackDataProvider extends AbstractSyncDataProvider<FullStack> {
}
@Override
- public void deleteOnServer(ServerAdapter serverAdapter, long accountId, ResponseCallback<Void> callback, FullStack entity, DataBaseAdapter dataBaseAdapter) {
+ public void deleteOnServer(ServerAdapter serverAdapter, long accountId, ResponseCallback<EmptyResponse> callback, FullStack entity, DataBaseAdapter dataBaseAdapter) {
entity.getStack().setBoardId(board.getId());
serverAdapter.deleteStack(board.getBoard(), entity.getStack(), callback);
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/UserDataProvider.java b/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/UserDataProvider.java
index e644b3a8d..7b322b5e9 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/UserDataProvider.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/remote/helpers/providers/UserDataProvider.java
@@ -1,5 +1,7 @@
package it.niedermann.nextcloud.deck.remote.helpers.providers;
+import com.nextcloud.android.sso.api.EmptyResponse;
+
import java.time.Instant;
import java.util.List;
@@ -62,7 +64,7 @@ public class UserDataProvider extends AbstractSyncDataProvider<User> {
}
@Override
- public void deleteOnServer(ServerAdapter serverAdapter, long accountId, ResponseCallback<Void> callback, User entity, DataBaseAdapter dataBaseAdapter) {
+ public void deleteOnServer(ServerAdapter serverAdapter, long accountId, ResponseCallback<EmptyResponse> callback, User entity, DataBaseAdapter dataBaseAdapter) {
//TODO: implement
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/repository/SyncRepository.java b/app/src/main/java/it/niedermann/nextcloud/deck/repository/SyncRepository.java
index fa425038a..b08cbc8a7 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/repository/SyncRepository.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/repository/SyncRepository.java
@@ -18,6 +18,7 @@ import androidx.lifecycle.MediatorLiveData;
import androidx.lifecycle.MutableLiveData;
import com.nextcloud.android.sso.AccountImporter;
+import com.nextcloud.android.sso.api.EmptyResponse;
import com.nextcloud.android.sso.api.ParsedResponse;
import com.nextcloud.android.sso.exceptions.NextcloudFilesAppAccountNotFoundException;
import com.nextcloud.android.sso.exceptions.NextcloudHttpRequestFailedException;
@@ -559,7 +560,7 @@ public class SyncRepository extends BaseRepository {
}
@AnyThread
- public void deleteComment(long accountId, long localCardId, long localCommentId, @NonNull IResponseCallback<Void> callback) {
+ public void deleteComment(long accountId, long localCardId, long localCommentId, @NonNull IResponseCallback<EmptyResponse> callback) {
executor.submit(() -> {
final Account account = dataBaseAdapter.getAccountByIdDirectly(accountId);
final Card card = dataBaseAdapter.getCardByLocalIdDirectly(accountId, localCardId);
@@ -571,7 +572,7 @@ public class SyncRepository extends BaseRepository {
}
@AnyThread
- public void deleteBoard(@NonNull Board board, @NonNull IResponseCallback<Void> callback) {
+ public void deleteBoard(@NonNull Board board, @NonNull IResponseCallback<EmptyResponse> callback) {
executor.submit(() -> {
long accountId = board.getAccountId();
Account account = dataBaseAdapter.getAccountByIdDirectly(accountId);
@@ -614,14 +615,14 @@ public class SyncRepository extends BaseRepository {
}
@AnyThread
- public void deleteAccessControl(@NonNull AccessControl entity, @NonNull IResponseCallback<Void> callback) {
+ public void deleteAccessControl(@NonNull AccessControl entity, @NonNull IResponseCallback<EmptyResponse> callback) {
executor.submit(() -> {
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<>(account) {
@Override
- public void onResponse(Void response) {
+ public void onResponse(EmptyResponse response) {
// revoked own board-access?
if (entity.getAccountId() == entity.getAccountId() && entity.getUser().getUid().equals(account.getUserName())) {
dataBaseAdapter.saveNeighbourOfBoard(board.getAccountId(), board.getLocalId());
@@ -658,7 +659,7 @@ public class SyncRepository extends BaseRepository {
}
@AnyThread
- public void deleteStack(long accountId, long boardLocalId, long stackLocalId, @NonNull IResponseCallback<Void> callback) {
+ public void deleteStack(long accountId, long boardLocalId, long stackLocalId, @NonNull IResponseCallback<EmptyResponse> callback) {
executor.submit(() -> {
Account account = dataBaseAdapter.getAccountByIdDirectly(accountId);
FullStack fullStack = dataBaseAdapter.getFullStackByLocalIdDirectly(stackLocalId);
@@ -828,7 +829,7 @@ public class SyncRepository extends BaseRepository {
}
@AnyThread
- public void deleteCard(@NonNull Card card, @NonNull IResponseCallback<Void> callback) {
+ public void deleteCard(@NonNull Card card, @NonNull IResponseCallback<EmptyResponse> callback) {
executor.submit(() -> {
FullCard fullCard = dataBaseAdapter.getFullCardByLocalIdDirectly(card.getAccountId(), card.getLocalId());
if (fullCard == null) {
@@ -868,7 +869,7 @@ public class SyncRepository extends BaseRepository {
}
@AnyThread
- public void archiveCardsInStack(long accountId, long stackLocalId, @NonNull FilterInformation filterInformation, @NonNull IResponseCallback<Void> callback) {
+ public void archiveCardsInStack(long accountId, long stackLocalId, @NonNull FilterInformation filterInformation, @NonNull IResponseCallback<EmptyResponse> callback) {
executor.submit(() -> {
Account account = dataBaseAdapter.getAccountByIdDirectly(accountId);
FullStack stack = dataBaseAdapter.getFullStackByLocalIdDirectly(stackLocalId);
@@ -1033,7 +1034,7 @@ public class SyncRepository extends BaseRepository {
*/
@SuppressWarnings("JavadocReference")
@AnyThread
- public void moveCard(long originAccountId, long originCardLocalId, long targetAccountId, long targetBoardLocalId, long targetStackLocalId, @NonNull IResponseCallback<Void> callback) {
+ public void moveCard(long originAccountId, long originCardLocalId, long targetAccountId, long targetBoardLocalId, long targetStackLocalId, @NonNull IResponseCallback<EmptyResponse> callback) {
executor.submit(() -> {
final FullCard originalCard = dataBaseAdapter.getFullCardByLocalIdDirectly(originAccountId, originCardLocalId);
final int newIndex = dataBaseAdapter.getHighestCardOrderInStack(targetStackLocalId) + 1;
@@ -1207,7 +1208,7 @@ public class SyncRepository extends BaseRepository {
}
@AnyThread
- public void deleteLabel(@NonNull Label label, @NonNull IResponseCallback<Void> callback) {
+ public void deleteLabel(@NonNull Label label, @NonNull IResponseCallback<EmptyResponse> callback) {
executor.submit(() -> {
Account account = dataBaseAdapter.getAccountByIdDirectly(label.getAccountId());
Board board = dataBaseAdapter.getBoardByLocalIdDirectly(label.getBoardId());
@@ -1243,7 +1244,7 @@ public class SyncRepository extends BaseRepository {
serverAdapter.assignUserToCard(board.getId(), stack.getId(), card.getId(), user.getUid(), new ResponseCallback<>(account) {
@Override
- public void onResponse(Void response) {
+ public void onResponse(EmptyResponse response) {
dataBaseAdapter.setStatusForJoinCardWithUser(localCardId, localUserId, DBStatus.UP_TO_DATE.getId());
}
});
@@ -1272,7 +1273,7 @@ public class SyncRepository extends BaseRepository {
serverAdapterToUse.assignLabelToCard(board.getId(), stack.getId(), card.getId(), label.getId(), new ResponseCallback<>(account) {
@Override
- public void onResponse(Void response) {
+ public void onResponse(EmptyResponse response) {
dataBaseAdapter.setStatusForJoinCardWithLabel(localCardId, localLabelId, DBStatus.UP_TO_DATE.getId());
}
});
@@ -1290,7 +1291,7 @@ public class SyncRepository extends BaseRepository {
if (connectivityUtil.hasInternetConnection()) {
serverAdapter.unassignLabelFromCard(board.getId(), stack.getId(), card.getId(), label.getId(), new ResponseCallback<>(account) {
@Override
- public void onResponse(Void response) {
+ public void onResponse(EmptyResponse response) {
dataBaseAdapter.deleteJoinedLabelForCardPhysically(card.getLocalId(), label.getLocalId());
}
});
@@ -1308,7 +1309,7 @@ public class SyncRepository extends BaseRepository {
Account account = dataBaseAdapter.getAccountByIdDirectly(card.getAccountId());
serverAdapter.unassignUserFromCard(board.getId(), stack.getId(), card.getId(), user.getUid(), new ResponseCallback<>(account) {
@Override
- public void onResponse(Void response) {
+ public void onResponse(EmptyResponse response) {
dataBaseAdapter.deleteJoinedUserForCardPhysically(card.getLocalId(), user.getLocalId());
}
});
@@ -1499,7 +1500,7 @@ public class SyncRepository extends BaseRepository {
}
@AnyThread
- public void deleteAttachmentOfCard(long accountId, long localCardId, long localAttachmentId, @NonNull IResponseCallback<Void> callback) {
+ public void deleteAttachmentOfCard(long accountId, long localCardId, long localAttachmentId, @NonNull IResponseCallback<EmptyResponse> callback) {
executor.submit(() -> {
if (connectivityUtil.hasInternetConnection()) {
FullCard card = dataBaseAdapter.getFullCardByLocalIdDirectly(accountId, localCardId);
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 93902d9f8..7e2535755 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
@@ -10,6 +10,8 @@ import androidx.appcompat.app.AppCompatActivity;
import androidx.core.content.ContextCompat;
import androidx.lifecycle.ViewModelProvider;
+import com.nextcloud.android.sso.api.EmptyResponse;
+
import it.niedermann.android.reactivelivedata.ReactiveLiveData;
import it.niedermann.nextcloud.deck.R;
import it.niedermann.nextcloud.deck.databinding.ActivityPickStackBinding;
@@ -61,7 +63,7 @@ public abstract class PickStackActivity extends AppCompatActivity implements The
viewModel.setSubmitInProgress(true);
onSubmit(viewModel.getAccount(), viewModel.getBoardLocalId(), viewModel.getStackLocalId(), new IResponseCallback<>() {
@Override
- public void onResponse(Void response) {
+ public void onResponse(EmptyResponse response) {
runOnUiThread(() -> viewModel.setSubmitInProgress(false));
}
@@ -113,7 +115,7 @@ public abstract class PickStackActivity extends AppCompatActivity implements The
utils.material.colorTextInputLayout(binding.inputWrapper);
}
- abstract protected void onSubmit(Account account, long boardLocalId, long stackId, @NonNull IResponseCallback<Void> callback);
+ abstract protected void onSubmit(Account account, long boardLocalId, long stackId, @NonNull IResponseCallback<EmptyResponse> callback);
abstract protected boolean showBoardsWithoutEditPermission();
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/archivedboards/ArchivedBoardsActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/archivedboards/ArchivedBoardsActivity.java
index 58237dbd5..866f539ba 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/archivedboards/ArchivedBoardsActivity.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/archivedboards/ArchivedBoardsActivity.java
@@ -10,6 +10,8 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
+import com.nextcloud.android.sso.api.EmptyResponse;
+
import it.niedermann.android.reactivelivedata.ReactiveLiveData;
import it.niedermann.nextcloud.deck.DeckLog;
import it.niedermann.nextcloud.deck.databinding.ActivityArchivedBinding;
@@ -82,7 +84,7 @@ public class ArchivedBoardsActivity extends AppCompatActivity implements Themed,
public void onBoardDeleted(Board board) {
archivedBoardsViewModel.deleteBoard(board, new IResponseCallback<>() {
@Override
- public void onResponse(Void response) {
+ public void onResponse(EmptyResponse response) {
DeckLog.info("Successfully deleted board", board.getTitle());
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/archivedboards/ArchivedBoardsViewModel.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/archivedboards/ArchivedBoardsViewModel.java
index bcd9345fc..4b54017ba 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/archivedboards/ArchivedBoardsViewModel.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/archivedboards/ArchivedBoardsViewModel.java
@@ -5,6 +5,7 @@ import android.app.Application;
import androidx.annotation.NonNull;
import androidx.lifecycle.LiveData;
+import com.nextcloud.android.sso.api.EmptyResponse;
import com.nextcloud.android.sso.exceptions.NextcloudFilesAppAccountNotFoundException;
import java.util.Collections;
@@ -32,7 +33,7 @@ public class ArchivedBoardsViewModel extends SyncViewModel {
syncRepository.updateBoard(board, callback);
}
- public void deleteBoard(@NonNull Board board, @NonNull IResponseCallback<Void> callback) {
+ public void deleteBoard(@NonNull Board board, @NonNull IResponseCallback<EmptyResponse> callback) {
syncRepository.deleteBoard(board, callback);
}
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 aeb2e62c4..d25f1507b 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
@@ -16,6 +16,7 @@ import androidx.fragment.app.DialogFragment;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.google.android.material.snackbar.Snackbar;
+import com.nextcloud.android.sso.api.EmptyResponse;
import com.nextcloud.android.sso.exceptions.NextcloudFilesAppAccountNotFoundException;
import java.util.List;
@@ -141,7 +142,7 @@ public class AccessControlDialogFragment extends DialogFragment implements Acces
public void deleteAccessControl(AccessControl ac) {
accessControlViewModel.deleteAccessControl(ac, new IResponseCallback<>() {
@Override
- public void onResponse(Void response) {
+ public void onResponse(EmptyResponse response) {
DeckLog.info("Successfully deleted access control for user", ac.getUser().getDisplayname());
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/accesscontrol/AccessControlViewModel.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/accesscontrol/AccessControlViewModel.java
index a83ead085..570eacf3c 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/accesscontrol/AccessControlViewModel.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/accesscontrol/AccessControlViewModel.java
@@ -5,6 +5,7 @@ import android.app.Application;
import androidx.annotation.NonNull;
import androidx.lifecycle.LiveData;
+import com.nextcloud.android.sso.api.EmptyResponse;
import com.nextcloud.android.sso.exceptions.NextcloudFilesAppAccountNotFoundException;
import java.util.List;
@@ -42,7 +43,7 @@ public class AccessControlViewModel extends SyncViewModel {
syncRepository.updateAccessControl(entity, callback);
}
- public void deleteAccessControl(@NonNull AccessControl entity, @NonNull IResponseCallback<Void> callback) {
+ public void deleteAccessControl(@NonNull AccessControl entity, @NonNull IResponseCallback<EmptyResponse> callback) {
syncRepository.deleteAccessControl(entity, callback);
}
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/managelabels/LabelsViewModel.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/managelabels/LabelsViewModel.java
index 699d7ed8e..3537b8521 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/managelabels/LabelsViewModel.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/managelabels/LabelsViewModel.java
@@ -5,6 +5,7 @@ import android.app.Application;
import androidx.annotation.NonNull;
import androidx.lifecycle.LiveData;
+import com.nextcloud.android.sso.api.EmptyResponse;
import com.nextcloud.android.sso.exceptions.NextcloudFilesAppAccountNotFoundException;
import it.niedermann.android.reactivelivedata.ReactiveLiveData;
@@ -32,7 +33,7 @@ public class LabelsViewModel extends SyncViewModel {
syncRepository.createLabel(account.getId(), label, localBoardId, callback);
}
- public void deleteLabel(@NonNull Label label, @NonNull IResponseCallback<Void> callback) {
+ public void deleteLabel(@NonNull Label label, @NonNull IResponseCallback<EmptyResponse> callback) {
syncRepository.deleteLabel(label, callback);
}
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 6accebc80..07bc4c215 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
@@ -13,6 +13,7 @@ import androidx.annotation.UiThread;
import androidx.fragment.app.DialogFragment;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
+import com.nextcloud.android.sso.api.EmptyResponse;
import java.util.Random;
@@ -162,7 +163,7 @@ public class ManageLabelsDialogFragment extends ThemedDialogFragment implements
private void deleteLabel(@NonNull Label label) {
labelsViewModel.deleteLabel(label, new IResponseCallback<>() {
@Override
- public void onResponse(Void response) {
+ public void onResponse(EmptyResponse response) {
DeckLog.info("Successfully deleted label", label.getTitle());
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/EditCardViewModel.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/EditCardViewModel.java
index 2d2eb585f..9d201659b 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/EditCardViewModel.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/EditCardViewModel.java
@@ -13,6 +13,7 @@ import androidx.lifecycle.LiveData;
import androidx.lifecycle.MutableLiveData;
import androidx.preference.PreferenceManager;
+import com.nextcloud.android.sso.api.EmptyResponse;
import com.nextcloud.android.sso.exceptions.NextcloudFilesAppAccountNotFoundException;
import java.io.File;
@@ -190,7 +191,7 @@ public class EditCardViewModel extends BaseViewModel {
syncRepository.addAttachmentToCard(accountId, localCardId, mimeType, file, callback);
}
- public void deleteAttachmentOfCard(long accountId, long localCardId, long localAttachmentId, @NonNull IResponseCallback<Void> callback) {
+ public void deleteAttachmentOfCard(long accountId, long localCardId, long localAttachmentId, @NonNull IResponseCallback<EmptyResponse> callback) {
syncRepository.deleteAttachmentOfCard(accountId, localCardId, localAttachmentId, callback);
}
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 458f048be..4de403ba7 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
@@ -46,6 +46,7 @@ import androidx.recyclerview.widget.RecyclerView;
import com.google.android.material.bottomsheet.BottomSheetBehavior;
import com.google.android.material.snackbar.Snackbar;
import com.nextcloud.android.common.ui.theme.utils.ColorRole;
+import com.nextcloud.android.sso.api.EmptyResponse;
import com.nextcloud.android.sso.exceptions.NextcloudHttpRequestFailedException;
import java.io.File;
@@ -159,7 +160,15 @@ public class CardAttachmentsFragment extends Fragment implements AttachmentDelet
mBottomSheetBehaviour.setDraggable(true);
mBottomSheetBehaviour.setHideable(true);
mBottomSheetBehaviour.setState(STATE_HIDDEN);
- mBottomSheetBehaviour.addBottomSheetCallback(new CardAttachmentsBottomsheetBehaviorCallback(requireContext(), backPressedCallback, binding.fab, binding.pickerBackdrop, binding.bottomNavigation, R.color.mdtp_transparent_black, android.R.color.transparent, R.dimen.attachments_bottom_navigation_height));
+ mBottomSheetBehaviour.addBottomSheetCallback(new CardAttachmentsBottomsheetBehaviorCallback(
+ requireContext(),
+ backPressedCallback,
+ binding.fab,
+ binding.pickerBackdrop,
+ binding.bottomNavigation,
+ R.color.bottom_sheet_backdrop,
+ android.R.color.transparent,
+ R.dimen.attachments_bottom_navigation_height));
binding.pickerBackdrop.setOnClickListener(v -> mBottomSheetBehaviour.setState(STATE_HIDDEN));
final var displayMetrics = getResources().getDisplayMetrics();
@@ -493,7 +502,7 @@ public class CardAttachmentsFragment extends Fragment implements AttachmentDelet
if (attachment.getLocalId() != null) {
editViewModel.deleteAttachmentOfCard(editViewModel.getAccount().getId(), editViewModel.getFullCard().getLocalId(), attachment.getLocalId(), new IResponseCallback<>() {
@Override
- public void onResponse(Void response) {
+ public void onResponse(EmptyResponse 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 495aabd50..caa13cb07 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
@@ -21,6 +21,7 @@ import androidx.lifecycle.ViewModelProvider;
import com.bumptech.glide.Glide;
import com.bumptech.glide.request.RequestOptions;
+import com.nextcloud.android.sso.api.EmptyResponse;
import java.time.Instant;
@@ -172,7 +173,7 @@ public class CardCommentsFragment extends Fragment implements Themed, CommentEdi
public void onCommentDeleted(Long localId) {
commentsViewModel.deleteComment(editCardViewModel.getAccount().getId(), editCardViewModel.getFullCard().getLocalId(), localId, new IResponseCallback<>() {
@Override
- public void onResponse(Void response) {
+ public void onResponse(EmptyResponse response) {
DeckLog.info("Successfully deleted comment with localId", localId);
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/CommentsViewModel.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/CommentsViewModel.java
index 79b0043fe..41179ce37 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/CommentsViewModel.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/CommentsViewModel.java
@@ -8,6 +8,7 @@ import androidx.annotation.NonNull;
import androidx.lifecycle.LiveData;
import androidx.lifecycle.MutableLiveData;
+import com.nextcloud.android.sso.api.EmptyResponse;
import com.nextcloud.android.sso.exceptions.NextcloudFilesAppAccountNotFoundException;
import java.util.List;
@@ -47,7 +48,7 @@ public class CommentsViewModel extends SyncViewModel {
syncRepository.updateComment(accountId, localCardId, localCommentId, comment);
}
- public void deleteComment(long accountId, long localCardId, long localCommentId, @NonNull IResponseCallback<Void> callback) {
+ public void deleteComment(long accountId, long localCardId, long localCommentId, @NonNull IResponseCallback<EmptyResponse> callback) {
syncRepository.deleteComment(accountId, localCardId, localCommentId, callback);
}
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/main/MainActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/main/MainActivity.java
index fc5992b68..e6d4693e0 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/main/MainActivity.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/main/MainActivity.java
@@ -45,6 +45,7 @@ import com.bumptech.glide.request.transition.Transition;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.google.android.material.snackbar.Snackbar;
import com.google.android.material.tabs.TabLayoutMediator;
+import com.nextcloud.android.sso.api.EmptyResponse;
import com.nextcloud.android.sso.exceptions.NextcloudFilesAppAccountNotFoundException;
import com.nextcloud.android.sso.exceptions.NextcloudHttpRequestFailedException;
import com.nextcloud.android.sso.exceptions.UnknownErrorException;
@@ -706,7 +707,7 @@ public class MainActivity extends AppCompatActivity implements DeleteStackListen
final var filterInformation = Optional.ofNullable(filterViewModel.getFilterInformation().getValue()).orElse(new FilterInformation());
mainViewModel.archiveCardsInStack(stack.getAccountId(), stackLocalId, filterInformation, new IResponseCallback<>() {
@Override
- public void onResponse(Void response) {
+ public void onResponse(EmptyResponse response) {
DeckLog.info("Successfully archived all cards in stack local id", stackLocalId);
}
@@ -860,7 +861,7 @@ public class MainActivity extends AppCompatActivity implements DeleteStackListen
public void onDeleteStack(long accountId, long boardId, long stackId) {
mainViewModel.deleteStack(accountId, boardId, stackId, new IResponseCallback<>() {
@Override
- public void onResponse(Void response) {
+ public void onResponse(EmptyResponse response) {
DeckLog.info("Successfully deleted stack with local id", stackId, "and remote id", stackId);
}
@@ -878,7 +879,7 @@ public class MainActivity extends AppCompatActivity implements DeleteStackListen
public void onBoardDeleted(Board board) {
mainViewModel.deleteBoard(board, new IResponseCallback<>() {
@Override
- public void onResponse(Void response) {
+ public void onResponse(EmptyResponse response) {
DeckLog.info("Successfully deleted board", board.getTitle());
}
@@ -969,7 +970,7 @@ public class MainActivity extends AppCompatActivity implements DeleteStackListen
public void onDelete(@NonNull FullCard fullCard) {
mainViewModel.deleteCard(fullCard.getCard(), new IResponseCallback<>() {
@Override
- public void onResponse(Void response) {
+ public void onResponse(EmptyResponse response) {
DeckLog.info("Successfully deleted card", fullCard.getCard().getTitle());
}
@@ -1030,7 +1031,7 @@ public class MainActivity extends AppCompatActivity implements DeleteStackListen
public void move(long originAccountId, long originCardLocalId, long targetAccountId, long targetBoardLocalId, long targetStackLocalId) {
mainViewModel.moveCard(originAccountId, originCardLocalId, targetAccountId, targetBoardLocalId, targetStackLocalId, new IResponseCallback<>() {
@Override
- public void onResponse(Void response) {
+ public void onResponse(EmptyResponse 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/main/MainViewModel.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/main/MainViewModel.java
index 8fe3ce0a5..54c39600e 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/main/MainViewModel.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/main/MainViewModel.java
@@ -11,6 +11,7 @@ import androidx.core.util.Pair;
import androidx.lifecycle.LiveData;
import androidx.lifecycle.MutableLiveData;
+import com.nextcloud.android.sso.api.EmptyResponse;
import com.nextcloud.android.sso.exceptions.NextcloudFilesAppAccountNotFoundException;
import java.io.File;
@@ -129,7 +130,7 @@ public class MainViewModel extends BaseViewModel {
}
}
- public void deleteBoard(@NonNull Board board, @NonNull IResponseCallback<Void> callback) {
+ public void deleteBoard(@NonNull Board board, @NonNull IResponseCallback<EmptyResponse> callback) {
if (syncRepository == null) {
callback.onError(getInvalidSyncManagerException());
} else {
@@ -172,7 +173,7 @@ public class MainViewModel extends BaseViewModel {
}
}
- public void deleteStack(long accountId, long boardId, long stackLocalId, @NonNull IResponseCallback<Void> callback) {
+ public void deleteStack(long accountId, long boardId, long stackLocalId, @NonNull IResponseCallback<EmptyResponse> callback) {
if (syncRepository == null) {
callback.onError(getInvalidSyncManagerException());
} else {
@@ -196,7 +197,7 @@ public class MainViewModel extends BaseViewModel {
}
}
- public void archiveCardsInStack(long accountId, long stackId, @NonNull FilterInformation filterInformation, @NonNull IResponseCallback<Void> callback) {
+ public void archiveCardsInStack(long accountId, long stackId, @NonNull FilterInformation filterInformation, @NonNull IResponseCallback<EmptyResponse> callback) {
if (syncRepository == null) {
callback.onError(getInvalidSyncManagerException());
} else {
@@ -274,7 +275,7 @@ public class MainViewModel extends BaseViewModel {
}
}
- public void deleteCard(@NonNull Card card, @NonNull IResponseCallback<Void> callback) {
+ public void deleteCard(@NonNull Card card, @NonNull IResponseCallback<EmptyResponse> callback) {
if (syncRepository == null) {
callback.onError(getInvalidSyncManagerException());
} else {
@@ -304,7 +305,7 @@ public class MainViewModel extends BaseViewModel {
return baseRepository.getUserByUidDirectly(accountId, uid);
}
- public void moveCard(long originAccountId, long originCardLocalId, long targetAccountId, long targetBoardLocalId, long targetStackLocalId, @NonNull IResponseCallback<Void> callback) {
+ public void moveCard(long originAccountId, long originCardLocalId, long targetAccountId, long targetBoardLocalId, long targetStackLocalId, @NonNull IResponseCallback<EmptyResponse> callback) {
if (syncRepository == null) {
callback.onError(getInvalidSyncManagerException());
} else {
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 1a87cd2c7..fd39beefb 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
@@ -10,6 +10,8 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.lifecycle.ViewModelProvider;
+import com.nextcloud.android.sso.api.EmptyResponse;
+
import it.niedermann.nextcloud.deck.R;
import it.niedermann.nextcloud.deck.model.Account;
import it.niedermann.nextcloud.deck.model.full.FullCard;
@@ -33,7 +35,7 @@ public class PrepareCreateActivity extends PickStackActivity {
}
@Override
- protected void onSubmit(Account account, long boardId, long stackId, @NonNull IResponseCallback<Void> callback) {
+ protected void onSubmit(Account account, long boardId, long stackId, @NonNull IResponseCallback<EmptyResponse> callback) {
Toast.makeText(this, R.string.saving_new_card, Toast.LENGTH_SHORT).show();
final FullCard fullCard;
if (requireContent()) {
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 33925a8f5..6e328b7d7 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
@@ -20,6 +20,7 @@ import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.nextcloud.android.common.ui.theme.utils.ColorRole;
+import com.nextcloud.android.sso.api.EmptyResponse;
import it.niedermann.android.crosstabdnd.DragAndDropTab;
import it.niedermann.android.reactivelivedata.ReactiveLiveData;
@@ -170,7 +171,7 @@ public class StackFragment extends Fragment implements Themed, DragAndDropTab<Ca
public void move(long originAccountId, long originCardLocalId, long targetAccountId, long targetBoardLocalId, long targetStackLocalId) {
stackViewModel.moveCard(originAccountId, originCardLocalId, targetAccountId, targetBoardLocalId, targetStackLocalId, new IResponseCallback<>() {
@Override
- public void onResponse(Void response) {
+ public void onResponse(EmptyResponse response) {
DeckLog.log("Moved", Card.class.getSimpleName(), originCardLocalId, "to", Stack.class.getSimpleName(), targetStackLocalId);
}
@@ -228,7 +229,7 @@ public class StackFragment extends Fragment implements Themed, DragAndDropTab<Ca
public void onDelete(@NonNull FullCard fullCard) {
stackViewModel.deleteCard(fullCard.getCard(), new IResponseCallback<>() {
@Override
- public void onResponse(Void response) {
+ public void onResponse(EmptyResponse response) {
DeckLog.info("Successfully deleted card", fullCard.getCard().getTitle());
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/StackViewModel.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/StackViewModel.java
index c6746449c..d7fdb3364 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/StackViewModel.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/StackViewModel.java
@@ -8,6 +8,7 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.lifecycle.LiveData;
+import com.nextcloud.android.sso.api.EmptyResponse;
import com.nextcloud.android.sso.exceptions.NextcloudFilesAppAccountNotFoundException;
import java.util.List;
@@ -29,7 +30,7 @@ public class StackViewModel extends SyncViewModel {
super(application, account);
}
- public void moveCard(long originAccountId, long originCardLocalId, long targetAccountId, long targetBoardLocalId, long targetStackLocalId, @NonNull IResponseCallback<Void> callback) {
+ public void moveCard(long originAccountId, long originCardLocalId, long targetAccountId, long targetBoardLocalId, long targetStackLocalId, @NonNull IResponseCallback<EmptyResponse> callback) {
syncRepository.moveCard(originAccountId, originCardLocalId, targetAccountId, targetBoardLocalId, targetStackLocalId, callback);
}
@@ -69,7 +70,7 @@ public class StackViewModel extends SyncViewModel {
}
- public void deleteCard(@NonNull Card card, @NonNull IResponseCallback<Void> callback) {
+ public void deleteCard(@NonNull Card card, @NonNull IResponseCallback<EmptyResponse> callback) {
syncRepository.deleteCard(card, callback);
}
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 1d2e68633..aed6d5f48 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
@@ -11,6 +11,7 @@ import androidx.appcompat.app.AppCompatActivity;
import androidx.lifecycle.ViewModelProvider;
import com.nextcloud.android.common.ui.theme.utils.ColorRole;
+import com.nextcloud.android.sso.api.EmptyResponse;
import com.nextcloud.android.sso.exceptions.NextcloudFilesAppAccountNotFoundException;
import it.niedermann.nextcloud.deck.DeckLog;
@@ -84,7 +85,7 @@ public class UpcomingCardsActivity extends AppCompatActivity implements Themed,
}),
card -> viewModel.deleteCard(card, new IResponseCallback<>() {
@Override
- public void onResponse(Void response) {
+ public void onResponse(EmptyResponse response) {
DeckLog.info("Successfully deleted card", card.getTitle());
}
@@ -128,7 +129,7 @@ public class UpcomingCardsActivity extends AppCompatActivity implements Themed,
public void move(long originAccountId, long originCardLocalId, long targetAccountId, long targetBoardLocalId, long targetStackLocalId) {
viewModel.moveCard(originAccountId, originCardLocalId, targetAccountId, targetBoardLocalId, targetStackLocalId, new IResponseCallback<>() {
@Override
- public void onResponse(Void response) {
+ public void onResponse(EmptyResponse 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/UpcomingCardsViewModel.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/upcomingcards/UpcomingCardsViewModel.java
index c3dbcb8a7..870a23cdc 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/upcomingcards/UpcomingCardsViewModel.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/upcomingcards/UpcomingCardsViewModel.java
@@ -5,6 +5,7 @@ import android.app.Application;
import androidx.annotation.NonNull;
import androidx.lifecycle.LiveData;
+import com.nextcloud.android.sso.api.EmptyResponse;
import com.nextcloud.android.sso.exceptions.NextcloudFilesAppAccountNotFoundException;
import java.util.List;
@@ -49,7 +50,7 @@ public class UpcomingCardsViewModel extends BaseViewModel {
});
}
- public void deleteCard(@NonNull Card card, @NonNull IResponseCallback<Void> callback) {
+ public void deleteCard(@NonNull Card card, @NonNull IResponseCallback<EmptyResponse> callback) {
executor.submit(() -> {
final var account = baseRepository.readAccountDirectly(card.getAccountId());
try {
@@ -61,7 +62,7 @@ public class UpcomingCardsViewModel extends BaseViewModel {
});
}
- public void moveCard(long originAccountId, long originCardLocalId, long targetAccountId, long targetBoardLocalId, long targetStackLocalId, @NonNull IResponseCallback<Void> callback) {
+ public void moveCard(long originAccountId, long originCardLocalId, long targetAccountId, long targetBoardLocalId, long targetStackLocalId, @NonNull IResponseCallback<EmptyResponse> callback) {
executor.submit(() -> {
final var account = baseRepository.readAccountDirectly(originAccountId);
try {
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/view/DueDateChip.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/view/DueDateChip.java
index 095a46bd3..f2bdf8699 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/view/DueDateChip.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/view/DueDateChip.java
@@ -35,7 +35,7 @@ public class DueDateChip extends Chip {
}
public DueDateChip(Context context, AttributeSet attrs) {
- this(context, attrs, R.attr.chipStyle);
+ this(context, attrs, com.google.android.material.R.attr.chipStyle);
}
public DueDateChip(Context context, AttributeSet attrs, int defStyleAttr) {
@@ -43,7 +43,7 @@ public class DueDateChip extends Chip {
final var typedValue = new TypedValue();
final var theme = getContext().getTheme();
- theme.resolveAttribute(R.attr.colorOnSurfaceVariant, typedValue, true);
+ theme.resolveAttribute(com.google.android.material.R.attr.colorOnSecondary, typedValue, true);
this.colorOnSurface = typedValue.data;
final var styles = context.obtainStyledAttributes(attrs, R.styleable.DueDateChip, defStyleAttr, 0);
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/view/FilterIndicator.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/view/FilterIndicator.java
deleted file mode 100644
index 73b3a84a6..000000000
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/view/FilterIndicator.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package it.niedermann.nextcloud.deck.ui.view;
-
-import android.content.Context;
-import android.util.AttributeSet;
-
-import androidx.core.content.ContextCompat;
-
-import com.google.android.material.button.MaterialButton;
-
-import it.niedermann.nextcloud.deck.R;
-
-public class FilterIndicator extends MaterialButton {
-
- public FilterIndicator(Context context) {
- this(context, null, 0);
- }
-
- public FilterIndicator(Context context, AttributeSet attrs) {
- this(context, attrs, 0);
- }
-
- public FilterIndicator(Context context, AttributeSet attrs, int defStyleAttr) {
- super(context, attrs, R.style.ThemeOverlay_Material3_Button_IconButton);
- setIcon(ContextCompat.getDrawable(context, R.drawable.filter_active));
- }
-
-} \ No newline at end of file
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/widget/stack/StackWidgetConfigurationActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/widget/stack/StackWidgetConfigurationActivity.java
index eaa8ba264..965c2b938 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/widget/stack/StackWidgetConfigurationActivity.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/widget/stack/StackWidgetConfigurationActivity.java
@@ -9,6 +9,8 @@ import androidx.annotation.NonNull;
import androidx.appcompat.app.ActionBar;
import androidx.lifecycle.ViewModelProvider;
+import com.nextcloud.android.sso.api.EmptyResponse;
+
import java.util.Collections;
import it.niedermann.nextcloud.deck.DeckLog;
@@ -53,7 +55,7 @@ public class StackWidgetConfigurationActivity extends PickStackActivity {
}
@Override
- protected void onSubmit(Account account, long boardId, long stackId, @NonNull IResponseCallback<Void> callback) {
+ protected void onSubmit(Account account, long boardId, long stackId, @NonNull IResponseCallback<EmptyResponse> callback) {
final FilterWidget config = new FilterWidget(appWidgetId, EWidgetType.STACK_WIDGET);
final FilterWidgetAccount filterWidgetAccount = new FilterWidgetAccount(account.getId(), false);
filterWidgetAccount.setIncludeNoProject(false);
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index b556a9e94..1b9a313f4 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -15,6 +15,7 @@
<!-- TODO REMOVE -->
<!-- ======================================= -->
+ <color name="bottom_sheet_backdrop">#7f000000</color>
<color name="grey600">#757575</color>
<color name="fg_secondary">#999</color>
<color name="bg_highlighted">#eee</color>
diff --git a/app/src/test/java/it/niedermann/nextcloud/deck/remote/api/ResponseCallbackTest.java b/app/src/test/java/it/niedermann/nextcloud/deck/remote/api/ResponseCallbackTest.java
index 14c398132..4b5786564 100644
--- a/app/src/test/java/it/niedermann/nextcloud/deck/remote/api/ResponseCallbackTest.java
+++ b/app/src/test/java/it/niedermann/nextcloud/deck/remote/api/ResponseCallbackTest.java
@@ -10,6 +10,8 @@ import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
+import com.nextcloud.android.sso.api.EmptyResponse;
+
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
@@ -50,9 +52,9 @@ public class ResponseCallbackTest {
@Test
public void testFrom() {
// No lambda, since Mockito requires a non final class for a spy
- final var originalCallback = new IResponseCallback<Void>() {
+ final var originalCallback = new IResponseCallback<EmptyResponse>() {
@Override
- public void onResponse(Void response) {
+ public void onResponse(EmptyResponse response) {
// Do nothing...
}
};
diff --git a/app/src/test/java/it/niedermann/nextcloud/deck/remote/api/ServerCommunicationErrorHandlerTest.java b/app/src/test/java/it/niedermann/nextcloud/deck/remote/api/ServerCommunicationErrorHandlerTest.java
index b9c7288a0..1ff698707 100644
--- a/app/src/test/java/it/niedermann/nextcloud/deck/remote/api/ServerCommunicationErrorHandlerTest.java
+++ b/app/src/test/java/it/niedermann/nextcloud/deck/remote/api/ServerCommunicationErrorHandlerTest.java
@@ -51,6 +51,6 @@ public class ServerCommunicationErrorHandlerTest {
@Test
public void shouldSkip_KnownExceptions_WithNullMessages() {
assertEquals(ClassNotFoundException.class, ServerCommunicationErrorHandler.translateError(new ClassNotFoundException()).getClass());
- assertEquals(UnknownErrorException.class, ServerCommunicationErrorHandler.translateError(new UnknownErrorException()).getClass());
+ assertEquals(UnknownErrorException.class, ServerCommunicationErrorHandler.translateError(new UnknownErrorException("Foo")).getClass());
}
}
diff --git a/app/src/test/java/it/niedermann/nextcloud/deck/repository/SyncRepositoryTest.java b/app/src/test/java/it/niedermann/nextcloud/deck/repository/SyncRepositoryTest.java
index 54bc2dc4a..0273a1b64 100644
--- a/app/src/test/java/it/niedermann/nextcloud/deck/repository/SyncRepositoryTest.java
+++ b/app/src/test/java/it/niedermann/nextcloud/deck/repository/SyncRepositoryTest.java
@@ -229,7 +229,7 @@ public class SyncRepositoryTest {
when(dataBaseAdapter.createAccountDirectly(any(Account.class))).thenReturn(account);
doAnswer(invocation -> {
((ResponseCallback<ParsedResponse<Capabilities>>) invocation.getArgument(0))
- .onError(new NextcloudHttpRequestFailedException(404, new RuntimeException()));
+ .onError(new NextcloudHttpRequestFailedException(ApplicationProvider.getApplicationContext(), 404, new RuntimeException()));
return null;
}).when(serverAdapter).getBoards(any());
@@ -269,7 +269,6 @@ public class SyncRepositoryTest {
public void testRefreshCapabilities() throws ExecutionException, InterruptedException {
final var account = new Account(1337L, "Test", "Peter", "example.com");
account.setEtag("This-Is-The-Old_ETag");
- //noinspection unchecked
final var mockedResponse = mock(ParsedResponse.class);
final var serverResponse = new Capabilities();
serverResponse.setDeckVersion(Version.of("1.0.0"));
@@ -309,7 +308,7 @@ public class SyncRepositoryTest {
doAnswer(invocation -> {
//noinspection unchecked
((ResponseCallback<ParsedResponse<Capabilities>>) invocation.getArgument(1))
- .onError(new NextcloudHttpRequestFailedException(304, new RuntimeException()));
+ .onError(new NextcloudHttpRequestFailedException(ApplicationProvider.getApplicationContext(), 304, new RuntimeException()));
return null;
}).when(serverAdapter).getCapabilities(anyString(), any());
@@ -335,7 +334,7 @@ public class SyncRepositoryTest {
doAnswer(invocation -> {
//noinspection unchecked
((ResponseCallback<ParsedResponse<Capabilities>>) invocation.getArgument(1))
- .onError(new NextcloudHttpRequestFailedException(500, new RuntimeException()));
+ .onError(new NextcloudHttpRequestFailedException(ApplicationProvider.getApplicationContext(), 500, new RuntimeException()));
return null;
}).when(serverAdapter).getCapabilities(anyString(), any());
@@ -358,7 +357,7 @@ public class SyncRepositoryTest {
doAnswer(invocation -> {
//noinspection unchecked
((ResponseCallback<ParsedResponse<Capabilities>>) invocation.getArgument(1))
- .onError(new NextcloudHttpRequestFailedException(503, new RuntimeException("{\"ocs\": {\"meta\": {\"statuscode\": 503}, \"data\": {\"version\": {\"major\": 20, \"minor\": 0, \"patch\": 1}}}}")));
+ .onError(new NextcloudHttpRequestFailedException(ApplicationProvider.getApplicationContext(), 503, new RuntimeException("{\"ocs\": {\"meta\": {\"statuscode\": 503}, \"data\": {\"version\": {\"major\": 20, \"minor\": 0, \"patch\": 1}}}}")));
return null;
}).when(serverAdapter).getCapabilities(anyString(), any());
diff --git a/build.gradle b/build.gradle
index c2b883b1e..4ca574f30 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,13 +1,13 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
- ext.materialVersion = "1.9.0"
+ ext.materialVersion = "1.11.0"
repositories {
google()
mavenCentral()
}
dependencies {
- classpath 'com.android.tools.build:gradle:7.4.2'
+ classpath 'com.android.tools.build:gradle:8.2.1'
//noinspection DifferentKotlinGradleVersion
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.22"
diff --git a/cross-tab-drag-and-drop/build.gradle b/cross-tab-drag-and-drop/build.gradle
index df18a07b2..fd907ec29 100644
--- a/cross-tab-drag-and-drop/build.gradle
+++ b/cross-tab-drag-and-drop/build.gradle
@@ -1,13 +1,13 @@
apply plugin: 'com.android.library'
android {
- compileSdkVersion 33
- buildToolsVersion "31.0.0"
+ compileSdk 34
+ namespace 'it.niedermann.android.crosstabdnd'
+
defaultConfig {
minSdkVersion 22
- targetSdkVersion 33
+ targetSdk 34
}
- namespace 'it.niedermann.android.crosstabdnd'
}
dependencies {
diff --git a/gradle.properties b/gradle.properties
index eab924acd..4e8e44e95 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,14 +1,3 @@
-# Project-wide Gradle settings.
-# IDE (e.g. Android Studio) users:
-# Gradle settings configured through the IDE *will override*
-# any settings specified in this file.
-# For more details on how to configure your build environment visit
-# http://www.gradle.org/docs/current/userguide/build_environment.html
-# Specifies the JVM arguments used for the daemon process.
-# The setting is particularly useful for tweaking memory settings.
+org.gradle.jvmargs=-Xmx4096m -Dfile.encoding=UTF-8
+org.gradle.configuration-cache=true
android.useAndroidX=true
-org.gradle.jvmargs=-Xmx4096m
-# When configured, Gradle will run in incubating parallel mode.
-# This option should only be used with decoupled projects. More details, visit
-# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
-# org.gradle.parallel=true
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 8fad3f5a9..b93c46a5f 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/reactive-livedata/build.gradle b/reactive-livedata/build.gradle
index 66d7eeb92..c18feca69 100644
--- a/reactive-livedata/build.gradle
+++ b/reactive-livedata/build.gradle
@@ -1,25 +1,26 @@
apply plugin: 'com.android.library'
android {
- compileSdkVersion 33
- buildToolsVersion "31.0.0"
+ compileSdk 34
+ namespace 'it.niedermann.android.reactivelivedata'
+
defaultConfig {
- minSdkVersion 22
- targetSdkVersion 33
+ minSdk 22
+ targetSdk 34
}
- namespace 'it.niedermann.android.reactivelivedata'
+
compileOptions {
coreLibraryDesugaringEnabled true
- sourceCompatibility JavaVersion.VERSION_11
- targetCompatibility JavaVersion.VERSION_11
+ sourceCompatibility JavaVersion.VERSION_17
+ targetCompatibility JavaVersion.VERSION_17
}
}
dependencies {
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.4'
- implementation "androidx.lifecycle:lifecycle-livedata:2.6.2"
- implementation 'androidx.core:core:1.10.1'
+ implementation "androidx.lifecycle:lifecycle-livedata:2.7.0"
+ implementation 'androidx.core:core:1.12.0'
testImplementation 'junit:junit:4.13.2'
testImplementation 'org.robolectric:robolectric:4.11.1'
diff --git a/tab-layout-helper/build.gradle b/tab-layout-helper/build.gradle
index 95aef30bb..f741a324c 100644
--- a/tab-layout-helper/build.gradle
+++ b/tab-layout-helper/build.gradle
@@ -1,13 +1,13 @@
apply plugin: 'com.android.library'
android {
- compileSdkVersion 33
- buildToolsVersion "31.0.0"
+ compileSdk 34
+ namespace 'it.niedermann.android.tablayouthelper'
+
defaultConfig {
- minSdkVersion 22
- targetSdkVersion 33
+ minSdk 22
+ targetSdk 34
}
- namespace 'it.niedermann.android.tablayouthelper'
}
dependencies {