From c31fe50667e75aa258fe9fd50933d9c1fb6902ae Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Tue, 16 Aug 2022 12:20:23 +0200 Subject: [PATCH] Fixes removing background --- .../data/implementation/UserRepositoryImpl.kt | 22 +++++++++---------- .../AvatarCustomizationFragment.kt | 5 ++++- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/UserRepositoryImpl.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/UserRepositoryImpl.kt index 4edb71f44..683ce4d31 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/UserRepositoryImpl.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/UserRepositoryImpl.kt @@ -6,7 +6,6 @@ import com.habitrpg.android.habitica.data.TaskRepository import com.habitrpg.android.habitica.data.UserRepository import com.habitrpg.android.habitica.data.local.UserLocalRepository import com.habitrpg.android.habitica.data.local.UserQuestStatus -import com.habitrpg.common.habitica.extensions.Optional import com.habitrpg.android.habitica.extensions.filterMapEmpty import com.habitrpg.android.habitica.helpers.AppConfigManager import com.habitrpg.android.habitica.helpers.RxErrorHandler @@ -16,15 +15,16 @@ import com.habitrpg.android.habitica.models.Skill import com.habitrpg.android.habitica.models.TeamPlan import com.habitrpg.android.habitica.models.inventory.Customization import com.habitrpg.android.habitica.models.responses.SkillResponse -import com.habitrpg.common.habitica.models.responses.TaskDirection import com.habitrpg.android.habitica.models.responses.UnlockResponse -import com.habitrpg.common.habitica.models.responses.VerifyUsernameResponse import com.habitrpg.android.habitica.models.social.Group -import com.habitrpg.common.habitica.models.tasks.Attribute import com.habitrpg.android.habitica.models.tasks.Task import com.habitrpg.android.habitica.models.user.Stats import com.habitrpg.android.habitica.models.user.User import com.habitrpg.android.habitica.proxy.AnalyticsManager +import com.habitrpg.common.habitica.extensions.Optional +import com.habitrpg.common.habitica.models.responses.TaskDirection +import com.habitrpg.common.habitica.models.responses.VerifyUsernameResponse +import com.habitrpg.common.habitica.models.tasks.Attribute import io.reactivex.rxjava3.core.Flowable import io.reactivex.rxjava3.core.Maybe import io.reactivex.rxjava3.functions.BiFunction @@ -94,7 +94,7 @@ class UserRepositoryImpl( val calendar = GregorianCalendar() val timeZone = calendar.timeZone val offset = -TimeUnit.MINUTES.convert(timeZone.getOffset(calendar.timeInMillis).toLong(), TimeUnit.MILLISECONDS) - if (offset.toInt() != user.preferences?.timezoneOffset ?: 0) { + if (offset.toInt() != (user.preferences?.timezoneOffset ?: 0)) { return@flatMap updateUser(user.id ?: "", "preferences.timezoneOffset", offset.toString()) } else { return@flatMap Flowable.just(user) @@ -136,9 +136,9 @@ class UserRepositoryImpl( override fun useSkill(key: String, target: String?, taskId: String): Flowable { return zipWithLiveUser(apiClient.useSkill(key, target ?: "", taskId)) { response, user -> - response.hpDiff = response.user?.stats?.hp ?: 0 - (user.stats?.hp ?: 0.0) - response.expDiff = response.user?.stats?.exp ?: 0 - (user.stats?.exp ?: 0.0) - response.goldDiff = response.user?.stats?.gp ?: 0 - (user.stats?.gp ?: 0.0) + response.hpDiff = (response.user?.stats?.hp ?: 0.0) - (user.stats?.hp ?: 0.0) + response.expDiff = (response.user?.stats?.exp ?: 0.0) - (user.stats?.exp ?: 0.0) + response.goldDiff = (response.user?.stats?.gp ?: 0.0) - (user.stats?.gp ?: 0.0) response.damage = (response.user?.party?.quest?.progress?.up ?: 0.0f) - (user.party?.quest?.progress?.up ?: 0.0f) response.user?.let { mergeUser(user, it) } response @@ -147,9 +147,9 @@ class UserRepositoryImpl( override fun useSkill(key: String, target: String?): Flowable { return zipWithLiveUser(apiClient.useSkill(key, target ?: "")) { response, user -> - response.hpDiff = response.user?.stats?.hp ?: 0 - (user.stats?.hp ?: 0.0) - response.expDiff = response.user?.stats?.exp ?: 0 - (user.stats?.exp ?: 0.0) - response.goldDiff = response.user?.stats?.gp ?: 0 - (user.stats?.gp ?: 0.0) + response.hpDiff = (response.user?.stats?.hp ?: 0.0) - (user.stats?.hp ?: 0.0) + response.expDiff = (response.user?.stats?.exp ?: 0.0) - (user.stats?.exp ?: 0.0) + response.goldDiff = (response.user?.stats?.gp ?: 0.0) - (user.stats?.gp ?: 0.0) response.damage = (response.user?.party?.quest?.progress?.up ?: 0.0f) - (user.party?.quest?.progress?.up ?: 0.0f) response.user?.let { mergeUser(user, it) } response diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/customization/AvatarCustomizationFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/customization/AvatarCustomizationFragment.kt index 412176cc9..36f2569ce 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/customization/AvatarCustomizationFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/customization/AvatarCustomizationFragment.kt @@ -81,7 +81,10 @@ class AvatarCustomizationFragment : adapter.getSelectCustomizationEvents() .flatMap { customization -> if (customization.type == "background") { - userRepository.unlockPath(customization) + val using = if (customization.identifier?.isBlank() != false) { + customization.unlockPath + activeCustomization + } else customization.unlockPath + userRepository.unlockPath(using, 0) .flatMap { userRepository.retrieveUser(false, true, true) } } else { userRepository.useCustomization(customization.type ?: "", customization.category, customization.identifier ?: "")