From adca1cd62da0128b707fb6e47bf9060a86161ebc Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Tue, 25 May 2021 17:33:50 +0200 Subject: [PATCH] Fixes #1515 --- .../com/habitrpg/android/habitica/models/user/Flags.kt | 1 + .../android/habitica/models/user/OwnedCustomization.kt | 10 +++++++--- .../habitrpg/android/habitica/models/user/Purchases.kt | 4 ++++ .../com/habitrpg/android/habitica/models/user/User.kt | 3 +++ 4 files changed, 15 insertions(+), 3 deletions(-) diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/Flags.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/Flags.kt index 735569bda..6ff8decae 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/Flags.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/Flags.kt @@ -13,6 +13,7 @@ open class Flags : RealmObject() { var dropsEnabled = false var itemsEnabled = false var newStuff = false + var lastNewStuffRead: String? = null var classSelected = false var rebirthEnabled = false var welcomed = false diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/OwnedCustomization.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/OwnedCustomization.kt index 1d793e136..c3713096e 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/OwnedCustomization.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/OwnedCustomization.kt @@ -10,19 +10,23 @@ open class OwnedCustomization : RealmObject(), OwnedObject { override var userID: String? = null set(value) { field = value - combinedKey = field + type + key + combinedKey = field + type + category + key } override var key: String? = null set(value) { field = value - combinedKey = userID + type + field + combinedKey = userID + type + category +field } var type: String? = null set(value) { field = value - combinedKey = userID + field + key + combinedKey = userID + field + category +key } var category: String? = null + set(value) { + field = value + combinedKey = userID + type + field + key + } var purchased = false } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/Purchases.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/Purchases.kt index 37f8f0f3c..0653e1722 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/Purchases.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/Purchases.kt @@ -7,6 +7,10 @@ import io.realm.annotations.PrimaryKey open class Purchases : RealmObject() { @PrimaryKey var userId: String? = null + set(value) { + field = value + customizations?.forEach { it.userID = value } + } @JvmField var customizations: RealmList? = null var user: User? = null diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/User.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/User.kt index 7790b3360..b6d3f75f4 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/User.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/User.kt @@ -40,6 +40,9 @@ open class User : RealmObject(), BaseObject, Avatar, VersionedObject { if (preferences?.isManaged != true) { preferences?.userId = id } + if (purchased?.isManaged != true) { + purchased?.userId = id + } if (this.profile?.isManaged != true) { this.profile?.userId = id }