diff options
author | desperateCoder <echotodevnull@gmail.com> | 2021-08-03 00:27:38 +0300 |
---|---|---|
committer | desperateCoder <echotodevnull@gmail.com> | 2021-08-03 00:27:38 +0300 |
commit | 19cc843ef7ee65427935b51cc9d88ca382051a8e (patch) | |
tree | 002c3c4863540bdeaadf5e94e26a52ba7a5aa7d5 /app/src/main/java/it | |
parent | 89f1c29ec69b1ac4b4b9492e4160818efff25a5c (diff) |
fix possible NPE
Diffstat (limited to 'app/src/main/java/it')
-rw-r--r-- | app/src/main/java/it/niedermann/nextcloud/deck/api/JsonToEntityParser.java | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/api/JsonToEntityParser.java b/app/src/main/java/it/niedermann/nextcloud/deck/api/JsonToEntityParser.java index b2af80f88..e9a6b7364 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/api/JsonToEntityParser.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/api/JsonToEntityParser.java @@ -1,5 +1,8 @@ package it.niedermann.nextcloud.deck.api; +import static it.niedermann.nextcloud.deck.exceptions.DeckException.Hint.CAPABILITIES_VERSION_NOT_PARSABLE; +import static it.niedermann.nextcloud.deck.exceptions.TraceableException.makeTraceableIfFails; + import android.graphics.Color; import com.google.gson.JsonArray; @@ -40,9 +43,6 @@ import it.niedermann.nextcloud.deck.model.ocs.user.GroupMemberUIDs; import it.niedermann.nextcloud.deck.model.ocs.user.OcsUser; import it.niedermann.nextcloud.deck.model.ocs.user.OcsUserList; -import static it.niedermann.nextcloud.deck.exceptions.DeckException.Hint.CAPABILITIES_VERSION_NOT_PARSABLE; -import static it.niedermann.nextcloud.deck.exceptions.TraceableException.makeTraceableIfFails; - public class JsonToEntityParser { @SuppressWarnings("unchecked") @@ -286,7 +286,13 @@ public class JsonToEntityParser { board.setTitle(getNullAsEmptyString(e.get("title"))); board.setColor(getNullAsEmptyString(e.get("color"))); board.setEtag(getNullAsNull(e.get("ETag"))); - board.setArchived(e.get("archived").getAsBoolean()); + // bugfix inital sync missing archived flag + boolean isArchived = false; + if (e.has("archived")) { + JsonElement archived = e.get("archived"); + isArchived = !archived.isJsonNull() && archived.getAsBoolean(); + } + board.setArchived(isArchived); board.setLastModified(getTimestampFromLong(e.get("lastModified"))); board.setDeletedAt(getTimestampFromLong(e.get("deletedAt"))); |