diff --git a/Habitica/res/layout/fragment_avatar_overview.xml b/Habitica/res/layout/fragment_avatar_overview.xml index 4be059026..396edd01e 100644 --- a/Habitica/res/layout/fragment_avatar_overview.xml +++ b/Habitica/res/layout/fragment_avatar_overview.xml @@ -68,6 +68,11 @@ android:layout_height="wrap_content" android:id="@+id/avatarSkinView" app:equipmentTitle="@string/avatar_skin"/> + ) { for ((position, obj) in customizationList.withIndex()) { if (obj.javaClass == Customization::class.java) { - val customization = obj as Customization + val customization = obj as? Customization ?: return if (customization.purchased != ownedCustomizations.contains(customization.id)) { customization.purchased = ownedCustomizations.contains(customization.id) notifyItemChanged(position) diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/customization/AvatarOverviewFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/customization/AvatarOverviewFragment.kt index bb1e8ac07..1ffc0a40f 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/customization/AvatarOverviewFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/customization/AvatarOverviewFragment.kt @@ -38,6 +38,7 @@ class AvatarOverviewFragment : BaseMainFragment(), AdapterView.OnItemSelectedLis avatarShirtView.setOnClickListener { displayCustomizationFragment("shirt", null) } avatarSkinView.setOnClickListener { displayCustomizationFragment("skin", null) } + avatarChairView.setOnClickListener { displayCustomizationFragment("chair", null) } avatarHairColorView.setOnClickListener { displayCustomizationFragment("hair", "color") } avatarHairBangsView.setOnClickListener { displayCustomizationFragment("hair", "bangs") } avatarHairBaseView.setOnClickListener { displayCustomizationFragment("hair", "base") } @@ -54,6 +55,9 @@ class AvatarOverviewFragment : BaseMainFragment(), AdapterView.OnItemSelectedLis avatarShirtView.equipmentName = user?.preferences?.shirt avatarSkinView.customizationIdentifier = "skin_" + user?.preferences?.skin avatarSkinView.equipmentName = user?.preferences?.skin + val chair = user?.preferences?.chair + avatarChairView.customizationIdentifier = if (chair?.startsWith("handleless") == true) "chair_$chair" else chair + avatarChairView.equipmentName = chair?.removePrefix("chair_") avatarHairColorView.customizationIdentifier = if (user?.preferences?.hair?.color != null && user?.preferences?.hair?.color != "") "hair_bangs_1_" + user?.preferences?.hair?.color else "" avatarHairColorView.equipmentName = user?.preferences?.hair?.color avatarHairBangsView.customizationIdentifier = if (user?.preferences?.hair?.bangs != null && user?.preferences?.hair?.bangs != 0) "hair_bangs_" + user?.preferences?.hair?.bangs + "_" + user?.preferences?.hair?.color else "" @@ -100,7 +104,7 @@ class AvatarOverviewFragment : BaseMainFragment(), AdapterView.OnItemSelectedLis override fun onItemSelected(parent: AdapterView<*>, view: View, position: Int, id: Long) { val newSize: String = if (position == 0) "slim" else "broad" - if (this.user != null && this.user!!.preferences?.size != newSize) { + if (this.user != null && this.user?.preferences?.size != newSize) { userRepository.updateUser(user, "preferences.size", newSize) .subscribe(Consumer { }, RxErrorHandler.handleEmptyError()) } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/NPCBannerView.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/NPCBannerView.kt index 805cd6d01..80d7711fd 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/NPCBannerView.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/NPCBannerView.kt @@ -28,7 +28,7 @@ class NPCBannerView(context: Context?, attrs: AttributeSet?) : FrameLayout(conte field = if (value.isEmpty() || value.startsWith("_")) { value } else { - "_"+value + "_$value" } if (identifier.isNotEmpty()) { setImage() diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/utils/CustomizationDeserializer.java b/Habitica/src/main/java/com/habitrpg/android/habitica/utils/CustomizationDeserializer.java index 0f95aa27b..ec92af32a 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/utils/CustomizationDeserializer.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/utils/CustomizationDeserializer.java @@ -47,7 +47,7 @@ public class CustomizationDeserializer implements JsonDeserializer entry : object.get(type).getAsJsonObject().entrySet()) { customizations.add(this.parseCustomization(null, type, null, entry.getKey(), entry.getValue().getAsJsonObject())); }