From 21f52e89e90052ffff68b01f07dd63dd5e43380e Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Thu, 25 Apr 2019 11:43:40 +0200 Subject: [PATCH] Improve stable display --- Habitica/res/values/strings.xml | 3 ++- .../ui/adapter/inventory/PetDetailRecyclerAdapter.kt | 6 +++++- .../ui/adapter/inventory/StableRecyclerAdapter.kt | 2 +- .../android/habitica/utils/ContentDeserializer.kt | 8 ++++++++ 4 files changed, 16 insertions(+), 3 deletions(-) diff --git a/Habitica/res/values/strings.xml b/Habitica/res/values/strings.xml index 0d1a30819..a7784e7d3 100644 --- a/Habitica/res/values/strings.xml +++ b/Habitica/res/values/strings.xml @@ -340,7 +340,7 @@ Standard Magic Potion Quest - Rare + Special Wacky World Quest Need a break? Check into Daniel’s Inn to pause some of Habitica’s more difficult game mechanics:\n\n @@ -894,4 +894,5 @@ Guild Description Invite to Guild Join Guild + Garden diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/PetDetailRecyclerAdapter.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/PetDetailRecyclerAdapter.kt index cfa897c5d..3694bdb94 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/PetDetailRecyclerAdapter.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/PetDetailRecyclerAdapter.kt @@ -96,7 +96,11 @@ class PetDetailRecyclerAdapter(data: OrderedRealmCollection?, autoUpdate: B fun bind(item: Pet, ownedPet: OwnedPet?) { this.animal = item this.ownedPet = ownedPet - this.titleView.text = item.color + if (item.color == "Veggie") { + this.titleView.text = context?.getString(R.string.garden) + } else { + this.titleView.text = item.color + } this.imageView.alpha = 1.0f val imageName = "Pet-$itemType-${item.color}" if (this.ownedPet?.trained ?: 0 > 0) { diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/StableRecyclerAdapter.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/StableRecyclerAdapter.kt index 04d5dae18..e093ce4ee 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/StableRecyclerAdapter.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/StableRecyclerAdapter.kt @@ -87,7 +87,7 @@ class StableRecyclerAdapter : androidx.recyclerview.widget.RecyclerView.Adapter< "Mount_Icon_" + item.key } this.ownedTextView.text = animal?.numberOwned?.toString() - ownedTextView.visibility = if (animal?.numberOwned == 0) View.GONE else View.VISIBLE + ownedTextView.visibility = if (animal?.numberOwned == 0 || animal?.type == "special") View.GONE else View.VISIBLE imageView.background = null DataBindingUtils.loadImage(imageName) { val drawable = BitmapDrawable(context?.resources, if (item.numberOwned > 0) it else it.extractAlpha()) diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/utils/ContentDeserializer.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/utils/ContentDeserializer.kt index 360672422..a26869712 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/utils/ContentDeserializer.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/utils/ContentDeserializer.kt @@ -69,6 +69,10 @@ class ContentDeserializer : JsonDeserializer { pet.key = petObj.getAsString("key") pet.text = petObj.getAsString("text") pet.type = petObj.getAsString("type") + if (pet.type == "special") { + pet.animal = pet.key.split("-")[0] + pet.color = pet.key.split("-")[1] + } if (pet.type == "premium") { pet.premium = true } @@ -84,6 +88,10 @@ class ContentDeserializer : JsonDeserializer { mount.color = mountObj.getAsString("potion") mount.key = mountObj.getAsString("key") mount.type = mountObj.getAsString("type") + if (mount.type == "special") { + mount.animal = mount.key.split("-")[0] + mount.color = mount.key.split("-")[1] + } if (mount.type == "premium") { mount.premium = true }