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()));
}