From 7e85b6e79b7273cdd18b710a67b777d3456debb9 Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Tue, 30 Aug 2022 13:08:27 +0200 Subject: [PATCH] fix parcelize --- .../android/habitica/data/ApiClient.kt | 10 ---- .../habitica/data/InventoryRepository.kt | 1 - .../implementation/InventoryRepositoryImpl.kt | 1 - .../ui/activities/TaskFormActivity.kt | 4 +- shared/build.gradle.kts | 1 + .../models/responses/TaskDirectionDataTemp.kt | 12 ++--- .../models/responses/TaskScoringResult.kt | 49 +++++++++---------- version.properties | 2 +- .../wearos/habitica/models/user/Gear.kt | 7 +-- .../wearos/habitica/models/user/Items.kt | 9 ++-- .../wearos/habitica/models/user/User.kt | 7 ++- 11 files changed, 50 insertions(+), 53 deletions(-) diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/data/ApiClient.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/data/ApiClient.kt index 10f327af5..e972141e9 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/data/ApiClient.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/data/ApiClient.kt @@ -1,29 +1,19 @@ package com.habitrpg.android.habitica.data -import com.habitrpg.common.habitica.api.HostConfig import com.habitrpg.android.habitica.models.Achievement import com.habitrpg.android.habitica.models.ContentResult import com.habitrpg.android.habitica.models.LeaveChallengeBody -import com.habitrpg.common.habitica.models.PurchaseValidationRequest -import com.habitrpg.common.habitica.models.PurchaseValidationResult import com.habitrpg.android.habitica.models.Tag import com.habitrpg.android.habitica.models.TeamPlan import com.habitrpg.android.habitica.models.WorldState -import com.habitrpg.common.habitica.models.auth.UserAuthResponse import com.habitrpg.android.habitica.models.inventory.Equipment import com.habitrpg.android.habitica.models.inventory.Quest import com.habitrpg.android.habitica.models.members.Member import com.habitrpg.android.habitica.models.responses.BulkTaskScoringData import com.habitrpg.android.habitica.models.responses.BuyResponse -import com.habitrpg.common.habitica.models.responses.ErrorResponse -import com.habitrpg.common.habitica.models.responses.FeedResponse -import com.habitrpg.common.habitica.models.responses.HabitResponse import com.habitrpg.android.habitica.models.responses.PostChatMessageResult import com.habitrpg.android.habitica.models.responses.SkillResponse -import com.habitrpg.common.habitica.models.responses.Status -import com.habitrpg.common.habitica.models.responses.TaskDirectionData import com.habitrpg.android.habitica.models.responses.UnlockResponse -import com.habitrpg.common.habitica.models.responses.VerifyUsernameResponse import com.habitrpg.android.habitica.models.shops.Shop import com.habitrpg.android.habitica.models.shops.ShopItem import com.habitrpg.android.habitica.models.social.Challenge diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/data/InventoryRepository.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/data/InventoryRepository.kt index 91f741bc8..1b2480794 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/data/InventoryRepository.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/data/InventoryRepository.kt @@ -10,7 +10,6 @@ import com.habitrpg.android.habitica.models.inventory.Pet import com.habitrpg.android.habitica.models.inventory.Quest import com.habitrpg.android.habitica.models.inventory.QuestContent import com.habitrpg.android.habitica.models.responses.BuyResponse -import com.habitrpg.common.habitica.models.responses.FeedResponse import com.habitrpg.android.habitica.models.shops.Shop import com.habitrpg.android.habitica.models.shops.ShopItem import com.habitrpg.android.habitica.models.user.Items diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/InventoryRepositoryImpl.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/InventoryRepositoryImpl.kt index a51dbbb09..c4e52a386 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/InventoryRepositoryImpl.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/InventoryRepositoryImpl.kt @@ -14,7 +14,6 @@ import com.habitrpg.android.habitica.models.inventory.Pet import com.habitrpg.android.habitica.models.inventory.Quest import com.habitrpg.android.habitica.models.inventory.QuestContent import com.habitrpg.android.habitica.models.responses.BuyResponse -import com.habitrpg.common.habitica.models.responses.FeedResponse import com.habitrpg.android.habitica.models.shops.Shop import com.habitrpg.android.habitica.models.shops.ShopItem import com.habitrpg.android.habitica.models.user.Items diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.kt index 9b33d52fd..42e13b8b6 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.kt @@ -38,6 +38,8 @@ import com.habitrpg.android.habitica.models.tasks.Task import com.habitrpg.android.habitica.ui.helpers.dismissKeyboard import com.habitrpg.android.habitica.ui.viewmodels.MainUserViewModel import com.habitrpg.android.habitica.ui.views.dialogs.HabiticaAlertDialog +import com.habitrpg.common.habitica.extensions.dpToPx +import com.habitrpg.common.habitica.extensions.getThemeColor import com.habitrpg.shared.habitica.models.tasks.Attribute import com.habitrpg.shared.habitica.models.tasks.Frequency import com.habitrpg.shared.habitica.models.tasks.HabitResetOption @@ -537,7 +539,7 @@ class TaskFormActivity : BaseActivity() { thisTask = configureTask(thisTask) val resultIntent = Intent() - resultIntent.putExtra(TASK_TYPE_KEY, taskType) + resultIntent.putExtra(TASK_TYPE_KEY, taskType.value) if (!isChallengeTask) { if (isCreating) { if (isDiscardCancelled) { diff --git a/shared/build.gradle.kts b/shared/build.gradle.kts index f9f97dc31..5eb9e78bf 100644 --- a/shared/build.gradle.kts +++ b/shared/build.gradle.kts @@ -2,6 +2,7 @@ plugins { kotlin("multiplatform") id("com.android.library") id("kotlin-parcelize") + id("kotlin-kapt") } kotlin { diff --git a/shared/src/commonMain/kotlin/com/habitrpg/shared/habitica/models/responses/TaskDirectionDataTemp.kt b/shared/src/commonMain/kotlin/com/habitrpg/shared/habitica/models/responses/TaskDirectionDataTemp.kt index 71eb7cbe9..3e9e78700 100644 --- a/shared/src/commonMain/kotlin/com/habitrpg/shared/habitica/models/responses/TaskDirectionDataTemp.kt +++ b/shared/src/commonMain/kotlin/com/habitrpg/shared/habitica/models/responses/TaskDirectionDataTemp.kt @@ -16,9 +16,9 @@ class TaskDirectionDataQuest { } @HParcelize -class TaskDirectionDataDrop: HParcelable { - var value: Int = 0 - var key: String? = null - var type: String? = null - var dialog: String? = null -} +data class TaskDirectionDataDrop( + var value: Int, + var key: String?, + var type: String?, + var dialog: String?, +): HParcelable diff --git a/shared/src/commonMain/kotlin/com/habitrpg/shared/habitica/models/responses/TaskScoringResult.kt b/shared/src/commonMain/kotlin/com/habitrpg/shared/habitica/models/responses/TaskScoringResult.kt index ddcb20cb7..a4ed01aa9 100644 --- a/shared/src/commonMain/kotlin/com/habitrpg/shared/habitica/models/responses/TaskScoringResult.kt +++ b/shared/src/commonMain/kotlin/com/habitrpg/shared/habitica/models/responses/TaskScoringResult.kt @@ -5,32 +5,31 @@ import com.habitrpg.shared.habitica.HParcelize import com.habitrpg.shared.habitica.models.AvatarStats @HParcelize -class TaskScoringResult(): HParcelable { - constructor(data: TaskDirectionData, stats: AvatarStats?) : this() { - hasLeveledUp = data.lvl > (stats?.lvl ?: 0) - healthDelta = data.hp - (stats?.hp ?: 0.0) - hasDied = data.hp <= 0.0 - experienceDelta = if (hasLeveledUp) { +data class TaskScoringResult(var hasDied: Boolean, + var drop: TaskDirectionDataDrop?, + var experienceDelta: Double, + var healthDelta: Double, + var goldDelta: Double, + var manaDelta: Double, + var hasLeveledUp: Boolean, + var level: Int, + var questDamage: Double?, + var questItemsFound: Int?): HParcelable { + + constructor(data: TaskDirectionData, stats: AvatarStats?) : this( + data.hp <= 0.0, + data._tmp?.drop, + if (data.lvl > (stats?.lvl ?: 0)) { (stats?.toNextLevel ?: 0).toDouble() - (stats?.exp ?: 0.0) + data.exp } else { data.exp - (stats?.exp ?: 0.0) - } - manaDelta = data.mp - (stats?.mp ?: 0.0) - goldDelta = data.gp - (stats?.gp ?: 0.0) - level = data.lvl - questDamage = data._tmp?.quest?.progressDelta - questItemsFound = data._tmp?.quest?.collection - drop = data._tmp?.drop - } - - var hasDied: Boolean = false - var drop: TaskDirectionDataDrop? = null - var experienceDelta: Double? = null - var healthDelta: Double? = null - var goldDelta: Double? = null - var manaDelta: Double? = null - var hasLeveledUp: Boolean = false - var level: Int? = null - var questDamage: Double? = null - var questItemsFound: Int? = null + }, + data.hp - (stats?.hp ?: 0.0), + data.gp - (stats?.gp ?: 0.0), + data.mp - (stats?.mp ?: 0.0), + data.lvl > (stats?.lvl ?: 0), + data.lvl, + data._tmp?.quest?.progressDelta, + data._tmp?.quest?.collection + ) } diff --git a/version.properties b/version.properties index f985e1c8e..97b264fe0 100644 --- a/version.properties +++ b/version.properties @@ -1,2 +1,2 @@ NAME=4.0.1 -CODE=4420 \ No newline at end of file +CODE=4460 \ No newline at end of file diff --git a/wearos/src/main/java/com/habitrpg/wearos/habitica/models/user/Gear.kt b/wearos/src/main/java/com/habitrpg/wearos/habitica/models/user/Gear.kt index b30dadb52..16491ddee 100644 --- a/wearos/src/main/java/com/habitrpg/wearos/habitica/models/user/Gear.kt +++ b/wearos/src/main/java/com/habitrpg/wearos/habitica/models/user/Gear.kt @@ -1,9 +1,10 @@ package com.habitrpg.wearos.habitica.models.user +import com.habitrpg.shared.habitica.models.AvatarGear import com.squareup.moshi.JsonClass @JsonClass(generateAdapter = true) -open class Gear { - var equipped: Outfit? = null - var costume: Outfit? = null +open class Gear: AvatarGear { + override var equipped: Outfit? = null + override var costume: Outfit? = null } \ No newline at end of file diff --git a/wearos/src/main/java/com/habitrpg/wearos/habitica/models/user/Items.kt b/wearos/src/main/java/com/habitrpg/wearos/habitica/models/user/Items.kt index 2539a8419..600b64b71 100644 --- a/wearos/src/main/java/com/habitrpg/wearos/habitica/models/user/Items.kt +++ b/wearos/src/main/java/com/habitrpg/wearos/habitica/models/user/Items.kt @@ -1,11 +1,12 @@ package com.habitrpg.wearos.habitica.models.user +import com.habitrpg.shared.habitica.models.AvatarItems import com.squareup.moshi.JsonClass @JsonClass(generateAdapter = true) -class Items { - var gear: Gear? = null +class Items: AvatarItems { + override var gear: Gear? = null - var currentMount: String? = null - var currentPet: String? = null + override var currentMount: String? = null + override var currentPet: String? = null } \ No newline at end of file diff --git a/wearos/src/main/java/com/habitrpg/wearos/habitica/models/user/User.kt b/wearos/src/main/java/com/habitrpg/wearos/habitica/models/user/User.kt index 9c96c27ae..a855f96ae 100644 --- a/wearos/src/main/java/com/habitrpg/wearos/habitica/models/user/User.kt +++ b/wearos/src/main/java/com/habitrpg/wearos/habitica/models/user/User.kt @@ -1,7 +1,9 @@ package com.habitrpg.wearos.habitica.models.user import com.habitrpg.shared.habitica.models.Avatar +import com.habitrpg.shared.habitica.models.AvatarAuthentication import com.habitrpg.shared.habitica.models.tasks.TasksOrder +import com.squareup.moshi.Json import com.squareup.moshi.JsonClass @JsonClass(generateAdapter = true) @@ -14,12 +16,15 @@ class User: Avatar { override val currentPet: String? get() = items?.currentPet override var sleep: Boolean = false + override var balance: Double = 0.0 + @Json(ignore = true) + override var authentication: AvatarAuthentication? = null override var stats: Stats? = null override var preferences: Preferences? = null override var flags: Flags? = null override var gemCount: Int = 0 override var hourglassCount: Int = 0 - var items: Items? = null + override var items: Items? = null override val costume: Outfit? get() = items?.gear?.costume override val equipped: Outfit?