From c9f459e1b76bbd96fb8bf005345267da30e695b6 Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Fri, 21 Feb 2020 16:56:29 +0100 Subject: [PATCH] Fix user loading issue --- .../android/habitica/utils/UserDeserializer.kt | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/utils/UserDeserializer.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/utils/UserDeserializer.kt index 366fd1f20..f91f0e761 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/utils/UserDeserializer.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/utils/UserDeserializer.kt @@ -52,18 +52,21 @@ class UserDeserializer : JsonDeserializer { user.profile = context.deserialize(obj.get("profile"), Profile::class.java) } if (obj.has("party")) { - user.party = context.deserialize(obj.get("party"), UserParty::class.java) + val partyObj = obj.getAsJsonObject("party") + user.party = context.deserialize(partyObj, UserParty::class.java) if (user.party != null && user.party?.quest != null) { user.party?.quest?.id = user.id - if (!obj.getAsJsonObject("party").getAsJsonObject("quest").has("RSVPNeeded")) { + if (!partyObj.getAsJsonObject("quest").has("RSVPNeeded")) { val realm = Realm.getDefaultInstance() val quest = realm.where(Quest::class.java).equalTo("id", user.id).findFirst() if (quest != null && quest.isValid) { user.party?.quest?.RSVPNeeded = quest.RSVPNeeded } } - if (obj.getAsJsonObject("party").getAsJsonObject("quest").has("completed")) { - user.party?.quest?.completed = obj.getAsJsonObject("party").getAsJsonObject("quest").get("completed").asString + if (partyObj.getAsJsonObject("quest").has("completed")) { + if (!partyObj.getAsJsonObject("quest").get("completed").isJsonNull) { + user.party?.quest?.completed = obj.getAsJsonObject("party").getAsJsonObject("quest").get("completed").asString + } } } }