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>2019-10-26 23:07:06 +0300
committerdesperateCoder <echotodevnull@gmail.com>2019-10-26 23:07:06 +0300
commit564f5cada5c1990043bc1bb1966776cdc1c7904d (patch)
treee3b1635ee3b1a8821b2a69851d778fc63109ccfb /app/src/main
parent0496077c9b9d8fe882d7e424d23e4e3aa4b04ad5 (diff)
upgrade room to version 2.2.1
Diffstat (limited to 'app/src/main')
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/model/Card.java8
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/model/full/FullBoard.java18
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/model/full/FullCard.java44
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/SyncManager.java2
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DataBaseAdapter.java29
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DeckDatabase.java2
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/BoardDataProvider.java4
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/board/AccessControlDialogFragment.java2
8 files changed, 46 insertions, 63 deletions
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 d7a27372c..8340622bc 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
@@ -31,7 +31,7 @@ public class Card extends AbstractRemoteEntity {
private String title;
private String description;
@NonNull
- private long stackId;
+ private Long stackId;
private String type;
private Date createdAt;
private Date deletedAt;
@@ -114,11 +114,11 @@ public class Card extends AbstractRemoteEntity {
this.description = description;
}
- public long getStackId() {
+ public Long getStackId() {
return stackId;
}
- public void setStackId(long stackId) {
+ public void setStackId(Long stackId) {
this.stackId = stackId;
}
@@ -202,7 +202,7 @@ public class Card extends AbstractRemoteEntity {
return this.userId;
}
- public void setUserId(long userId) {
+ public void setUserId(Long userId) {
this.userId = userId;
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/model/full/FullBoard.java b/app/src/main/java/it/niedermann/nextcloud/deck/model/full/FullBoard.java
index 3cc823432..31ad21f16 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/model/full/FullBoard.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/model/full/FullBoard.java
@@ -1,11 +1,11 @@
package it.niedermann.nextcloud.deck.model.full;
-import java.util.ArrayList;
-import java.util.List;
-
import androidx.room.Embedded;
import androidx.room.Ignore;
import androidx.room.Relation;
+
+import java.util.List;
+
import it.niedermann.nextcloud.deck.model.AccessControl;
import it.niedermann.nextcloud.deck.model.Board;
import it.niedermann.nextcloud.deck.model.Label;
@@ -21,7 +21,7 @@ public class FullBoard implements IRemoteEntity {
public List<Label> labels;
@Relation(parentColumn = "ownerId", entityColumn = "localId")
- public List<User> owner;
+ public User owner;
@Relation(entity = AccessControl.class, parentColumn = "localId", entityColumn = "boardId")
public List<AccessControl> participants;
@@ -30,14 +30,12 @@ public class FullBoard implements IRemoteEntity {
public List<Stack> stacks;
- public List<User> getOwner() {
+ public User getOwner() {
return owner;
}
public void setOwner(User owner) {
- List<User> user = new ArrayList<>();
- user.add(owner);
- this.owner = user;
+ this.owner = owner;
}
public Board getBoard() {
@@ -62,10 +60,6 @@ public class FullBoard implements IRemoteEntity {
return board;
}
- public void setOwner(List<User> owner) {
- this.owner = owner;
- }
-
public List<AccessControl> getParticipants() {
return participants;
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/model/full/FullCard.java b/app/src/main/java/it/niedermann/nextcloud/deck/model/full/FullCard.java
index 91f3ad6d3..f8d28597f 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/model/full/FullCard.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/model/full/FullCard.java
@@ -2,6 +2,7 @@ package it.niedermann.nextcloud.deck.model.full;
import androidx.room.Embedded;
import androidx.room.Ignore;
+import androidx.room.Junction;
import androidx.room.Relation;
import java.util.ArrayList;
@@ -19,17 +20,22 @@ public class FullCard implements IRemoteEntity {
@Embedded
public Card card;
- @Relation(entity = JoinCardWithLabel.class, parentColumn = "localId", entityColumn = "cardId", projection = "labelId")
- public List<Long> labelIDs;
+// @Relation(entity = JoinCardWithLabel.class, parentColumn = "localId", entityColumn = "cardId", projection = "labelId")
+// public List<Long> labelIDs;
+
+// @Ignore
+ @Relation(entity = Label.class, parentColumn = "localId", entityColumn = "localId",
+ associateBy = @Junction(value = JoinCardWithLabel.class, parentColumn = "cardId", entityColumn = "labelId"))
- @Ignore
public List<Label> labels = new ArrayList<>();
- @Relation(entity = JoinCardWithUser.class, parentColumn = "localId", entityColumn = "cardId", projection = "userId")
- public List<Long> assignedUserIDs;
+// @Relation(entity = JoinCardWithUser.class, parentColumn = "localId", entityColumn = "cardId", projection = "userId")
+// public List<Long> assignedUserIDs;
- @Ignore
+// @Ignore
+ @Relation(entity = User.class, parentColumn = "localId", entityColumn = "localId",
+ associateBy = @Junction(value = JoinCardWithUser.class, parentColumn = "cardId", entityColumn = "userId"))
public List<User> assignedUsers = new ArrayList<>();
@Relation(parentColumn = "userId", entityColumn = "localId")
@@ -45,9 +51,7 @@ public class FullCard implements IRemoteEntity {
public FullCard(FullCard fullCard) {
this.card = new Card(fullCard.getCard());
- this.labelIDs = copyList(fullCard.getLabelIDs());
this.labels = copyList(fullCard.getLabels());
- this.assignedUserIDs = copyList(fullCard.getAssignedUserIDs());
this.assignedUsers = copyList(fullCard.getAssignedUsers());
this.owner = copyList(fullCard.getOwner());
this.attachments = copyList(fullCard.getAttachments());
@@ -81,22 +85,6 @@ public class FullCard implements IRemoteEntity {
return owner;
}
- public List<Long> getAssignedUserIDs() {
- return assignedUserIDs;
- }
-
- public void setAssignedUserIDs(List<Long> assignedUserIDs) {
- this.assignedUserIDs = assignedUserIDs;
- }
-
- public List<Long> getLabelIDs() {
- return labelIDs;
- }
-
- public void setLabelIDs(List<Long> labelIDs) {
- this.labelIDs = labelIDs;
- }
-
public void setOwner(User owner) {
List<User> user = new ArrayList<>();
user.add(owner);
@@ -125,9 +113,7 @@ public class FullCard implements IRemoteEntity {
public String toString() {
return "FullCard{" +
"card=" + card +
- ", labelIDs=" + labelIDs +
", labels=" + labels +
- ", assignedUserIDs=" + assignedUserIDs +
", assignedUsers=" + assignedUsers +
", owner=" + owner +
", attachments=" + attachments +
@@ -142,12 +128,8 @@ public class FullCard implements IRemoteEntity {
FullCard fullCard = (FullCard) o;
if (card != null ? !card.equals(fullCard.card) : fullCard.card != null) return false;
- if (labelIDs != null ? !labelIDs.equals(fullCard.labelIDs) : fullCard.labelIDs != null)
- return false;
if (labels != null ? !labels.equals(fullCard.labels) : fullCard.labels != null)
return false;
- if (assignedUserIDs != null ? !assignedUserIDs.equals(fullCard.assignedUserIDs) : fullCard.assignedUserIDs != null)
- return false;
if (assignedUsers != null ? !assignedUsers.equals(fullCard.assignedUsers) : fullCard.assignedUsers != null)
return false;
if (owner != null ? !owner.equals(fullCard.owner) : fullCard.owner != null) return false;
@@ -157,9 +139,7 @@ public class FullCard implements IRemoteEntity {
@Override
public int hashCode() {
int result = card != null ? card.hashCode() : 0;
- result = 31 * result + (labelIDs != null ? labelIDs.hashCode() : 0);
result = 31 * result + (labels != null ? labels.hashCode() : 0);
- result = 31 * result + (assignedUserIDs != null ? assignedUserIDs.hashCode() : 0);
result = 31 * result + (assignedUsers != null ? assignedUsers.hashCode() : 0);
result = 31 * result + (owner != null ? owner.hashCode() : 0);
result = 31 * result + (attachments != null ? attachments.hashCode() : 0);
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/SyncManager.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/SyncManager.java
index f46c28c2f..7f9fc324e 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/SyncManager.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/SyncManager.java
@@ -482,7 +482,7 @@ public class SyncManager {
throw new IllegalArgumentException("card to update does not exist.");
}
- dataBaseAdapter.readRelationsForCard(fullCardFromDB);
+ dataBaseAdapter.filterRelationsForCard(fullCardFromDB);
List<User> deletedUsers = AbstractSyncDataProvider.findDelta(card.getAssignedUsers(), fullCardFromDB.getAssignedUsers());
List<User> addedUsers = AbstractSyncDataProvider.findDelta(fullCardFromDB.getAssignedUsers(), card.getAssignedUsers());
for (User addedUser : addedUsers) {
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DataBaseAdapter.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DataBaseAdapter.java
index 7778446a4..79fb70c11 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DataBaseAdapter.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DataBaseAdapter.java
@@ -4,6 +4,7 @@ import android.content.Context;
import androidx.lifecycle.LiveData;
+import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -88,26 +89,34 @@ public class DataBaseAdapter {
public FullCard getFullCardByRemoteIdDirectly(long accountId, long remoteId) {
FullCard card = db.getCardDao().getFullCardByRemoteIdDirectly(accountId, remoteId);
- readRelationsForCard(card);
+ filterRelationsForCard(card);
return card;
}
public FullCard getFullCardByLocalIdDirectly(long accountId, long localId) {
return db.getCardDao().getFullCardByLocalIdDirectly(accountId, localId);
}
- public void readRelationsForCard(FullCard card) {
+ public void filterRelationsForCard(FullCard card) {
if (card != null){
- if (card.getLabelIDs() != null && !card.getLabelIDs().isEmpty()){
- List<Long> filteredIDs = db.getJoinCardWithLabelDao().filterDeleted(card.getLocalId(), card.getLabelIDs());
+ if (card.getLabels() != null && !card.getLabels().isEmpty()){
+ List<Long> filteredIDs = db.getJoinCardWithLabelDao().filterDeleted(card.getLocalId(), getLocalIDs(card.getLabels()));
card.setLabels(db.getLabelDao().getLabelsByIdsDirectly(filteredIDs));
}
- if (card.getAssignedUserIDs() != null && !card.getAssignedUserIDs().isEmpty()){
- List<Long> filteredIDs = db.getJoinCardWithUserDao().filterDeleted(card.getLocalId(), card.getAssignedUserIDs());
+ if (card.getAssignedUsers() != null && !card.getAssignedUsers().isEmpty()){
+ List<Long> filteredIDs = db.getJoinCardWithUserDao().filterDeleted(card.getLocalId(), getLocalIDs(card.getAssignedUsers()));
card.setAssignedUsers(db.getUserDao().getUsersByIdsDirectly(filteredIDs));
}
}
}
+ private <T> List<Long> getLocalIDs(List<? extends AbstractRemoteEntity> remoteEntityList){
+ ArrayList<Long> ids = new ArrayList<>(remoteEntityList.size());
+ for (AbstractRemoteEntity entity : remoteEntityList) {
+ ids.add(entity.getLocalId());
+ }
+ return ids;
+ }
+
public void readRelationsForACL(List<AccessControl> acl) {
if (acl != null){
for (AccessControl accessControl : acl) {
@@ -123,12 +132,12 @@ public class DataBaseAdapter {
}
}
- private void readRelationsForCard(List<FullCard> card) {
+ private void filterRelationsForCard(List<FullCard> card) {
if (card == null){
return;
}
for (FullCard c : card) {
- readRelationsForCard(c);
+ filterRelationsForCard(c);
}
}
@@ -137,7 +146,7 @@ public class DataBaseAdapter {
}
public LiveData<List<FullCard>> getFullCardsForStack(long accountId, long localStackId) {
- return LiveDataHelper.interceptLiveData(db.getCardDao().getFullCardsForStack(accountId, localStackId), this::readRelationsForCard);
+ return LiveDataHelper.interceptLiveData(db.getCardDao().getFullCardsForStack(accountId, localStackId), this::filterRelationsForCard);
}
public List<FullCard> getFullCardsForStackDirectly(long accountId, long localStackId) {
@@ -358,7 +367,7 @@ public class DataBaseAdapter {
}
public LiveData<FullCard> getCardByLocalId(long accountId, long localCardId) {
- return LiveDataHelper.interceptLiveData(db.getCardDao().getFullCardByLocalId(accountId, localCardId), this::readRelationsForCard);
+ return LiveDataHelper.interceptLiveData(db.getCardDao().getFullCardByLocalId(accountId, localCardId), this::filterRelationsForCard);
}
public List<FullCard> getLocallyChangedCardsDirectly(long accountId) {
return db.getCardDao().getLocallyChangedCardsDirectly(accountId);
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DeckDatabase.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DeckDatabase.java
index 37f1ad3e8..97b2dcf10 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DeckDatabase.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DeckDatabase.java
@@ -61,7 +61,7 @@ import it.niedermann.nextcloud.deck.persistence.sync.adapters.db.dao.UserDao;
Activity.class,
},
exportSchema = false,
- version = 6
+ version = 7
)
@TypeConverters({DateTypeConverter.class})
public abstract class DeckDatabase extends RoomDatabase {
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/BoardDataProvider.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/BoardDataProvider.java
index dabcbcbe7..5e5b071f1 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/BoardDataProvider.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/BoardDataProvider.java
@@ -41,8 +41,8 @@ public class BoardDataProvider extends AbstractSyncDataProvider<FullBoard> {
}
private void handleOwner(DataBaseAdapter dataBaseAdapter, long accountId, FullBoard entity) {
- if (entity.getOwner()!=null && entity.getOwner().size() == 1) {
- User remoteOwner = entity.getOwner().get(0);
+ if (entity.getOwner()!=null) {
+ User remoteOwner = entity.getOwner();
User owner = dataBaseAdapter.getUserByUidDirectly(accountId, remoteOwner.getUid());
if (owner == null){
dataBaseAdapter.createUser(accountId, remoteOwner);
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/AccessControlDialogFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/AccessControlDialogFragment.java
index 8398cdeac..fd302c323 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/AccessControlDialogFragment.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/AccessControlDialogFragment.java
@@ -68,7 +68,7 @@ public class AccessControlDialogFragment extends DialogFragment implements
syncManager.getFullBoardById(accountId, boardId).observe(this, (FullBoard fullBoard) -> {
syncManager.getAccessControlByLocalBoardId(accountId, boardId).observe(this, (List<AccessControl> accessControlList) -> {
AccessControl ownerControl = new AccessControl();
- ownerControl.setUser(fullBoard.getOwner().get(0));
+ ownerControl.setUser(fullBoard.getOwner());
accessControlList.add(0, ownerControl);
RecyclerView.Adapter adapter = new AccessControlAdapter(accessControlList, this, getContext());
peopleList.setAdapter(adapter);