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:
authordesperateCoder <echotodevnull@gmail.com>2023-12-22 15:24:23 +0300
committerdesperateCoder <echotodevnull@gmail.com>2023-12-22 15:24:23 +0300
commit2d62de809df626ae5601a70016681d8a7c4358df (patch)
treed5f4dcf02599610a87dac7c1f7f6665d2065e733 /app/src/main
parent07fd0c2839df58812324abd2e47ca897bd5c5fb8 (diff)
#1556 mark card as done: first impl
Diffstat (limited to 'app/src/main')
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/database/DeckDatabase.java4
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/database/migration/Migration_32_33.java20
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/model/Card.java13
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/model/propagation/CardUpdate.java1
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/remote/api/JsonToEntityParser.java1
5 files changed, 38 insertions, 1 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/database/DeckDatabase.java b/app/src/main/java/it/niedermann/nextcloud/deck/database/DeckDatabase.java
index b71abece1..a41379e8d 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/database/DeckDatabase.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/database/DeckDatabase.java
@@ -65,6 +65,7 @@ import it.niedermann.nextcloud.deck.database.migration.Migration_28_29;
import it.niedermann.nextcloud.deck.database.migration.Migration_29_30;
import it.niedermann.nextcloud.deck.database.migration.Migration_30_31;
import it.niedermann.nextcloud.deck.database.migration.Migration_31_32;
+import it.niedermann.nextcloud.deck.database.migration.Migration_32_33;
import it.niedermann.nextcloud.deck.database.migration.Migration_8_9;
import it.niedermann.nextcloud.deck.database.migration.Migration_9_10;
import it.niedermann.nextcloud.deck.model.AccessControl;
@@ -135,7 +136,7 @@ import it.niedermann.nextcloud.deck.remote.api.LastSyncUtil;
FilterWidgetSort.class,
},
exportSchema = false,
- version = 32
+ version = 33
)
@TypeConverters({DateTypeConverter.class, EnumConverter.class})
public abstract class DeckDatabase extends RoomDatabase {
@@ -188,6 +189,7 @@ public abstract class DeckDatabase extends RoomDatabase {
.addMigrations(new Migration_29_30(context))
.addMigrations(new Migration_30_31())
.addMigrations(new Migration_31_32(context))
+ .addMigrations(new Migration_32_33())
.fallbackToDestructiveMigration()
.addCallback(ON_CREATE_CALLBACK)
.build();
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/database/migration/Migration_32_33.java b/app/src/main/java/it/niedermann/nextcloud/deck/database/migration/Migration_32_33.java
new file mode 100644
index 000000000..7de80cf20
--- /dev/null
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/database/migration/Migration_32_33.java
@@ -0,0 +1,20 @@
+package it.niedermann.nextcloud.deck.database.migration;
+
+import androidx.annotation.NonNull;
+import androidx.room.migration.Migration;
+import androidx.sqlite.db.SupportSQLiteDatabase;
+
+/**
+ * Adds support for marking a card as done: https://github.com/stefan-niedermann/nextcloud-deck/issues/1556
+ */
+public class Migration_32_33 extends Migration {
+
+ public Migration_32_33() {
+ super(32, 33);
+ }
+
+ @Override
+ public void migrate(@NonNull SupportSQLiteDatabase database) {
+ database.execSQL("ALTER TABLE `Card` add column done INTEGER");
+ }
+}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/model/Card.java b/app/src/main/java/it/niedermann/nextcloud/deck/model/Card.java
index a5650f124..98a533c95 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/model/Card.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/model/Card.java
@@ -57,6 +57,7 @@ public class Card extends AbstractRemoteEntity {
private String type;
private Instant createdAt;
private Instant deletedAt;
+ private Instant done;
private int attachmentCount;
private Long userId;
@@ -252,6 +253,14 @@ public class Card extends AbstractRemoteEntity {
return this.order;
}
+ public Instant getDone() {
+ return done;
+ }
+
+ public void setDone(Instant done) {
+ this.done = done;
+ }
+
@Override
public boolean equals(Object o) {
if (this == o) return true;
@@ -274,6 +283,8 @@ public class Card extends AbstractRemoteEntity {
return false;
if (deletedAt != null ? !deletedAt.equals(card.deletedAt) : card.deletedAt != null)
return false;
+ if (done != null ? !done.equals(card.done) : card.done != null)
+ return false;
if (userId != null ? !userId.equals(card.userId) : card.userId != null) return false;
return dueDate != null ? dueDate.equals(card.dueDate) : card.dueDate == null;
}
@@ -286,6 +297,7 @@ public class Card extends AbstractRemoteEntity {
result = 31 * result + (type != null ? type.hashCode() : 0);
result = 31 * result + (createdAt != null ? createdAt.hashCode() : 0);
result = 31 * result + (deletedAt != null ? deletedAt.hashCode() : 0);
+ result = 31 * result + (done != null ? done.hashCode() : 0);
result = 31 * result + attachmentCount;
result = 31 * result + (userId != null ? userId.hashCode() : 0);
result = 31 * result + order;
@@ -306,6 +318,7 @@ public class Card extends AbstractRemoteEntity {
", type='" + type + '\'' +
", createdAt=" + createdAt +
", deletedAt=" + deletedAt +
+ ", done=" + done +
", attachmentCount=" + attachmentCount +
", userId=" + userId +
", order=" + order +
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/model/propagation/CardUpdate.java b/app/src/main/java/it/niedermann/nextcloud/deck/model/propagation/CardUpdate.java
index b13b84e36..389e26489 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/model/propagation/CardUpdate.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/model/propagation/CardUpdate.java
@@ -27,6 +27,7 @@ public class CardUpdate extends Card {
setAccountId(card.getAccountId());
setId(card.getId());
setLocalId(card.getLocalId());
+ setDone(card.getCard().getDone());
}
public User getOwner() {
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/remote/api/JsonToEntityParser.java b/app/src/main/java/it/niedermann/nextcloud/deck/remote/api/JsonToEntityParser.java
index 04a0b706e..5c2a83dff 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/remote/api/JsonToEntityParser.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/remote/api/JsonToEntityParser.java
@@ -408,6 +408,7 @@ public class JsonToEntityParser {
card.setLastModified(getTimestampFromLong(e.get("lastModified")));
card.setCreatedAt(getTimestampFromLong(e.get("createdAt")));
card.setDeletedAt(getTimestampFromLong(e.get("deletedAt")));
+ card.setDone(getTimestampFromString(e.get("done")));
if (e.has("labels") && !e.get("labels").isJsonNull()) {
JsonArray labelsJson = e.getAsJsonArray("labels");
List<Label> labels = new ArrayList<>();