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:
Diffstat (limited to 'app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/CommentsViewModel.java')
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/CommentsViewModel.java37
1 files changed, 34 insertions, 3 deletions
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 f7fd247a9..dada94d5b 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
@@ -1,15 +1,30 @@
package it.niedermann.nextcloud.deck.ui.card.comments;
+import android.app.Application;
+
+import androidx.annotation.NonNull;
+import androidx.lifecycle.AndroidViewModel;
import androidx.lifecycle.LiveData;
import androidx.lifecycle.MutableLiveData;
-import androidx.lifecycle.ViewModel;
+import java.util.List;
+
+import it.niedermann.nextcloud.deck.model.ocs.comment.DeckComment;
import it.niedermann.nextcloud.deck.model.ocs.comment.full.FullDeckComment;
+import it.niedermann.nextcloud.deck.persistence.sync.SyncManager;
+import it.niedermann.nextcloud.deck.persistence.sync.adapters.db.util.WrappedLiveData;
@SuppressWarnings("WeakerAccess")
-public class CommentsViewModel extends ViewModel {
+public class CommentsViewModel extends AndroidViewModel {
- private MutableLiveData<FullDeckComment> replyToComment = new MutableLiveData<>();
+ private final SyncManager syncManager;
+
+ private final MutableLiveData<FullDeckComment> replyToComment = new MutableLiveData<>();
+
+ public CommentsViewModel(@NonNull Application application) {
+ super(application);
+ this.syncManager = new SyncManager(application);
+ }
public void setReplyToComment(FullDeckComment replyToComment) {
this.replyToComment.postValue(replyToComment);
@@ -18,4 +33,20 @@ public class CommentsViewModel extends ViewModel {
public LiveData<FullDeckComment> getReplyToComment() {
return this.replyToComment;
}
+
+ public LiveData<List<FullDeckComment>> getFullCommentsForLocalCardId(long localCardId) {
+ return syncManager.getFullCommentsForLocalCardId(localCardId);
+ }
+
+ public void addCommentToCard(long accountId, long cardId, @NonNull DeckComment comment) {
+ syncManager.addCommentToCard(accountId, cardId, comment);
+ }
+
+ public void updateComment(long accountId, long localCardId, long localCommentId, String comment) {
+ syncManager.updateComment(accountId, localCardId, localCommentId, comment);
+ }
+
+ public WrappedLiveData<Void> deleteComment(long accountId, long localCardId, long localCommentId) {
+ return syncManager.deleteComment(accountId, localCardId, localCommentId);
+ }
}