From 835b2a737e0333b642d278f7ecc842e78174b389 Mon Sep 17 00:00:00 2001 From: Alejandro Rios Date: Wed, 21 Apr 2021 15:20:54 -0500 Subject: [PATCH 1/2] - User model included on Pet, Mount and Stable Adapters to verify item status. - Added "Equip" and "Unequip" strings in different languages. --- Habitica/res/values-de/strings.xml | 3 +- Habitica/res/values-en-rGB/strings.xml | 1 + Habitica/res/values-es/strings.xml | 1 + Habitica/res/values-fr/strings.xml | 1 + Habitica/res/values-hr-rHR/strings.xml | 2 +- Habitica/res/values-it/strings.xml | 3 +- Habitica/res/values-ja/strings.xml | 1 + Habitica/res/values-nl/strings.xml | 3 +- Habitica/res/values-pt-rBR/strings.xml | 3 +- Habitica/res/values-ru/strings.xml | 3 +- Habitica/res/values-tr/strings.xml | 1 + Habitica/res/values-uk/strings.xml | 1 + Habitica/res/values-vi/strings.xml | 3 +- Habitica/res/values-zh-rTW/strings.xml | 3 +- Habitica/res/values-zh/strings.xml | 3 +- Habitica/res/values/strings.xml | 1 + .../inventory/MountDetailRecyclerAdapter.kt | 9 +++++- .../inventory/PetDetailRecyclerAdapter.kt | 10 ++++++- .../inventory/StableRecyclerAdapter.kt | 30 ++++++++++++------- .../stable/MountDetailRecyclerFragment.kt | 5 +++- .../stable/PetDetailRecyclerFragment.kt | 6 ++-- .../stable/StableRecyclerFragment.kt | 1 + .../ui/viewHolders/MountViewHolder.kt | 12 ++++++-- .../habitica/ui/viewHolders/PetViewHolder.kt | 30 ++++++++++++------- 24 files changed, 99 insertions(+), 37 deletions(-) diff --git a/Habitica/res/values-de/strings.xml b/Habitica/res/values-de/strings.xml index 46262b4ed..83b4dbc0b 100644 --- a/Habitica/res/values-de/strings.xml +++ b/Habitica/res/values-de/strings.xml @@ -1024,6 +1024,7 @@ Die Quest-Schriftrolle wird an den Quest-Besitzer zurückgegeben. Haustier schlüpfen Einstiegsaufgaben ansehen Ausrüsten + Unausrüsten Du hast bereits alles, was Du für alle %s Haustiere benötigst. Bist Du Dir sicher, dass Du %d %ss kaufen willst\? %d kaufen Du brauchst nur %d %s um alle möglichen Haustiere zu schlüpfen. Bist Du Dir sicher, dass Du %d kaufen willst\? @@ -1103,4 +1104,4 @@ Die Quest-Schriftrolle wird an den Quest-Besitzer zurückgegeben. Zwischen 29. Oktober und 2. November kannst Du wie gewohnt ein Edelstein-Paket kaufen, Deinem Konto wird aber der Aktions-Betrag Edelsteine hinzugefügt. Mehr Edelsteine zum ausgeben, teilen oder aufsparen für spätere Neuerungen! Edelstein-Pakete anzeigen Die Herbstgala ist in vollem Gange. Deshalb haben wir gedacht, dass dies der perfekte Zeitpunkt für den allerersten Edelstein-Sonderverkauf ist! Jetzt bekommst Du mit jedem Einkauf mehr Edelsteine als je zuvor. - \ No newline at end of file + diff --git a/Habitica/res/values-en-rGB/strings.xml b/Habitica/res/values-en-rGB/strings.xml index 0918cdf79..5bd3d220c 100644 --- a/Habitica/res/values-en-rGB/strings.xml +++ b/Habitica/res/values-en-rGB/strings.xml @@ -1041,6 +1041,7 @@ You still need a %s Egg to hatch this pet View Onboarding Tasks Equip + Unequip You already have everything you need for all %s pets. Are you sure you want to purchase %d %ss\? Purchase %d You only need %d %s to hatch all possible pets. Are you sure you want to purchase %d\? diff --git a/Habitica/res/values-es/strings.xml b/Habitica/res/values-es/strings.xml index 4f5ea2ef9..85bb49219 100644 --- a/Habitica/res/values-es/strings.xml +++ b/Habitica/res/values-es/strings.xml @@ -905,6 +905,7 @@ Aún necesitas una poción %s para eclosionar esta mascota Aún necesitas un huevo %s para eclosionar esta mascota Equipar + Desequipar Ya tienes todo lo que necesitas para todas las mascotas %s. ¿Estás seguro de que quieres comprar %d %ss\? Exceso de objetos ¡Has encontrado nuevos objetos! diff --git a/Habitica/res/values-fr/strings.xml b/Habitica/res/values-fr/strings.xml index d6d3ecfb6..99580170c 100644 --- a/Habitica/res/values-fr/strings.xml +++ b/Habitica/res/values-fr/strings.xml @@ -1046,6 +1046,7 @@ Vous avez besoin d\'un œuf de %s pour faire éclore ce familier Voir les tâches d’intégration Équiper + Déséquiper Vous avez déjà tout le nécessaire pour tous les familiers %s. Voulez vous vraiment acheter %d %ss \? Acheter %d Vous avez seulement besoin de %d %@s pour faire éclore tous les familiers possibles. Voulez-vous vraiment acheter %d \? diff --git a/Habitica/res/values-hr-rHR/strings.xml b/Habitica/res/values-hr-rHR/strings.xml index fbf280979..8d650a52b 100644 --- a/Habitica/res/values-hr-rHR/strings.xml +++ b/Habitica/res/values-hr-rHR/strings.xml @@ -200,7 +200,7 @@ Naočale Oklop Natrag - Tijelo + Tijelo" Štit Oružje Nosi Kostim diff --git a/Habitica/res/values-it/strings.xml b/Habitica/res/values-it/strings.xml index 687bffa83..1ec11b2ac 100644 --- a/Habitica/res/values-it/strings.xml +++ b/Habitica/res/values-it/strings.xml @@ -1073,6 +1073,7 @@ Hai bisogno di un uovo %s per poter schiudere questo animale Visualizza le attività introduttive Equipaggia + Disequip Hai già tutto il necessario per tutti gli animali %@. Sei sicuro di voler acquistare %d %ss\? Acquista %d Hai solo bisogno di %d %s per schiudere tutti i possibili animali. Sei sicuro di voler acquistare %d\? @@ -1098,4 +1099,4 @@ Come funziona %s a %s Solitamente %d Gemme - \ No newline at end of file + diff --git a/Habitica/res/values-ja/strings.xml b/Habitica/res/values-ja/strings.xml index 29d23bc31..9147ac22a 100644 --- a/Habitica/res/values-ja/strings.xml +++ b/Habitica/res/values-ja/strings.xml @@ -1074,6 +1074,7 @@ ペットをかえす 「初心者入門のタスク」を見る 装備 + 装備解除 すでに%sペットは全て所有しています。本当に%d%ssを購入しますか? %dを買う 今孵せるペットに必要なのは%d%sだけです。本当に%dを購入しますか? diff --git a/Habitica/res/values-nl/strings.xml b/Habitica/res/values-nl/strings.xml index 8cec08097..6243c696c 100644 --- a/Habitica/res/values-nl/strings.xml +++ b/Habitica/res/values-nl/strings.xml @@ -999,6 +999,7 @@ Je hebt je Onboarding Taken afgerond! Bekijk Onboarding Taken Aantrekken + Niet uitrusten Alle Habitica karakters hebben vier statistieken die ieder invloed hebben op aspecten van de gameplay van Habitica. \n \n**Kracht (KRA)** beïnvloedt voltreffers en verhoogt de schade toegebracht aan Quest Eindbazen. Krijgers en Dieven krijgen extra KRA van hun klasse-specifieke uitrusting. @@ -1023,4 +1024,4 @@ \n**Verdien Goud** door taken en kweestes af te ronden, en met sommige klassevaardigheden. Een hogere **Perceptie stat** zorgt voor een hogere goudopbrengst. \n \nAls je een abonnement neemt op Habitica, kun je Goud zelfs gebruiken om een aantal Edelstenen te kopen, gebaseerd op de tijdsduur van je abonnement. - \ No newline at end of file + diff --git a/Habitica/res/values-pt-rBR/strings.xml b/Habitica/res/values-pt-rBR/strings.xml index ba81a6076..8dace4864 100644 --- a/Habitica/res/values-pt-rBR/strings.xml +++ b/Habitica/res/values-pt-rBR/strings.xml @@ -1037,6 +1037,7 @@ Você ainda precisa de um Ovo de %s para chocar esse mascote Ver Tarefas Iniciais Equipar + Desequipar Você já tem tudo o que precisa para todos os %s mascotes. Você tem certeza que quer comprar %d %ss\? Comprar %d Você só precisa %d %s para chocar todos os mascotes possíveis. Você tem certeza que quer comprar %d\? @@ -1100,4 +1101,4 @@ Como funciona %s a %s Usualmente %d Gemas - \ No newline at end of file + diff --git a/Habitica/res/values-ru/strings.xml b/Habitica/res/values-ru/strings.xml index 35fbcf108..2dbcfef2d 100644 --- a/Habitica/res/values-ru/strings.xml +++ b/Habitica/res/values-ru/strings.xml @@ -914,6 +914,7 @@ Волшебные эликсиры Посмотреть первые задания Надеть + Необорудовать Купить: %d Лишние предметы Вы выполнили свои первые задания! @@ -969,4 +970,4 @@ Вы получили %d сообщений от %s Удалить напоминание Удалить - \ No newline at end of file + diff --git a/Habitica/res/values-tr/strings.xml b/Habitica/res/values-tr/strings.xml index 4ac8f7066..363ada5b0 100644 --- a/Habitica/res/values-tr/strings.xml +++ b/Habitica/res/values-tr/strings.xml @@ -886,6 +886,7 @@ Ayrıl ve Görevi Sil Mücadele Görevi Silinsin mi\? Yanına Al + Boşalt Daha fazlasını istiyorsanız Başarılar\'a göz atın ve toplamaya başlayın! Yeni eşyalar buldun! Eşyalara Git diff --git a/Habitica/res/values-uk/strings.xml b/Habitica/res/values-uk/strings.xml index 2595654b5..bcecd4577 100755 --- a/Habitica/res/values-uk/strings.xml +++ b/Habitica/res/values-uk/strings.xml @@ -963,6 +963,7 @@ Не можу знайти користувача Дивні Одягнути + Неоснащення Ім\'я користувача підтверджено Ім\'я користувача не підтверджено Двуручний diff --git a/Habitica/res/values-vi/strings.xml b/Habitica/res/values-vi/strings.xml index b350bf701..f8a942798 100755 --- a/Habitica/res/values-vi/strings.xml +++ b/Habitica/res/values-vi/strings.xml @@ -1040,6 +1040,7 @@ Bạn còn cần một %s Trứng để ấp thú cưng này Xem Công việc Nhập môn Trang bị + Giải đáp thắc mắc Bạn đã có mọi thứ bạn cần cho tất cả %s thú cưng. Bạn có chắc muốn mua %d %ss\? Mua %d Bạn chỉ cần %d %s để ấp tất cả thú cưng mà bạn có thể. Bạn có chắc muốn mua %d\? @@ -1103,4 +1104,4 @@ Khuyến mãi này chỉ áp dụng trong thời gian giới hạn của sự kiện. Sự kiện này bắt đầu vào ngày 29 tháng Mười lúc 8:00 AM EDT (12:00 UTC) và sẽ kết thúc vào ngày 2 tháng Mười Một vào lúc 8:00 PM EDT (00:00 UTC). Khuyến mãi chỉ áp dụng khi mua Gem cho bản thân bạn. Từ ngày 29 tháng 10 đến ngày 2 tháng 11, đơn giản là mua bất kỳ gói Gem nào như thường lệ và tài khoản của bạn sẽ cộng được thêm một khoảng Gem. Thêm nhiều Gem để xài, chia sẻ hay để dành cho những lần ra mắt trong tương lai! Chương trình giảm giá Gem trở lại và tiếp diễn đến khi kết thúc Dạ tiệc Mùa Thu! Đây là cơ hội cuối cùng để nhận nhiều Gem hơn bao giờ hết, vì thế hãy mua dự trữ khi chương trình đang diễn ra! - \ No newline at end of file + diff --git a/Habitica/res/values-zh-rTW/strings.xml b/Habitica/res/values-zh-rTW/strings.xml index c5097c126..d7b3c7504 100644 --- a/Habitica/res/values-zh-rTW/strings.xml +++ b/Habitica/res/values-zh-rTW/strings.xml @@ -1040,6 +1040,7 @@ 你還需要一個%s寵物蛋來孵化這個寵物任務 查看新手任務 裝備 + 取消裝備 你已經有得到所有%s寵物所需的一切物品。你確定你要買%d個%s? 買%d個 你只需要%d個%s即可孵化所有可得到的這種寵物。你確定你想要買%d個? @@ -1084,4 +1085,4 @@ 退出挑戰,並刪除挑戰任務 退出挑戰,並保留挑戰任務 在退出挑戰之後,你可以在自己的任務列表裡保留參加挑戰時的任務,也可以刪除它們 - \ No newline at end of file + diff --git a/Habitica/res/values-zh/strings.xml b/Habitica/res/values-zh/strings.xml index be6e5633c..d8b0fbae8 100644 --- a/Habitica/res/values-zh/strings.xml +++ b/Habitica/res/values-zh/strings.xml @@ -1018,6 +1018,7 @@ 你还需要一个%s宠物蛋来孵化这个宠物 查看新手任务 装备 + 取消装备 你已经有得到所有%s宠物所需的一切物品。你确定你要买%d个%s? 你只需要%d个%s即可孵化所有可得到的这种宠物。你确定你想要买%d个? 买%d个 @@ -1101,4 +1102,4 @@ 如何工作 %s到%s 通常%d颗宝石 - \ No newline at end of file + diff --git a/Habitica/res/values/strings.xml b/Habitica/res/values/strings.xml index 6d9980786..b9060d3f6 100644 --- a/Habitica/res/values/strings.xml +++ b/Habitica/res/values/strings.xml @@ -1059,6 +1059,7 @@ Purchase %d You already have everything you need for all %s pets. Are you sure you want to purchase %d %ss? Equip + Unequip View Onboarding Tasks You still need a %s Egg to hatch this pet You still need a %s Potion to hatch this pet diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/MountDetailRecyclerAdapter.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/MountDetailRecyclerAdapter.kt index 61824d3c0..9fee5c580 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/MountDetailRecyclerAdapter.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/MountDetailRecyclerAdapter.kt @@ -4,6 +4,7 @@ import android.view.ViewGroup import com.habitrpg.android.habitica.models.inventory.Mount import com.habitrpg.android.habitica.models.inventory.StableSection import com.habitrpg.android.habitica.models.user.OwnedMount +import com.habitrpg.android.habitica.models.user.User import com.habitrpg.android.habitica.ui.viewHolders.MountViewHolder import com.habitrpg.android.habitica.ui.viewHolders.SectionViewHolder import io.reactivex.rxjava3.core.BackpressureStrategy @@ -14,6 +15,7 @@ class MountDetailRecyclerAdapter : androidx.recyclerview.widget.RecyclerView.Ada private var ownedMounts: Map? = null private val equipEvents = PublishSubject.create() + private var user: User? = null private var itemList: List = ArrayList() @@ -35,7 +37,7 @@ class MountDetailRecyclerAdapter : androidx.recyclerview.widget.RecyclerView.Ada override fun onBindViewHolder(holder: androidx.recyclerview.widget.RecyclerView.ViewHolder, position: Int) { when (val obj = this.itemList[position]) { is StableSection -> (holder as? SectionViewHolder)?.bind(obj) - is Mount -> (holder as? MountViewHolder)?.bind(obj, ownedMounts?.get(obj.key ?: "")?.owned == true) + is Mount -> (holder as? MountViewHolder)?.bind(obj, ownedMounts?.get(obj.key ?: "")?.owned == true, user) } } @@ -47,4 +49,9 @@ class MountDetailRecyclerAdapter : androidx.recyclerview.widget.RecyclerView.Ada this.ownedMounts = ownedMounts notifyDataSetChanged() } + + fun setUser(user: User) { + this.user = user + notifyDataSetChanged() + } } 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 b7d76edba..919d13df7 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 @@ -5,6 +5,7 @@ import com.habitrpg.android.habitica.models.inventory.* import com.habitrpg.android.habitica.models.user.OwnedItem import com.habitrpg.android.habitica.models.user.OwnedMount import com.habitrpg.android.habitica.models.user.OwnedPet +import com.habitrpg.android.habitica.models.user.User import com.habitrpg.android.habitica.ui.viewHolders.PetViewHolder import com.habitrpg.android.habitica.ui.viewHolders.SectionViewHolder import io.reactivex.rxjava3.core.BackpressureStrategy @@ -17,6 +18,7 @@ class PetDetailRecyclerAdapter : androidx.recyclerview.widget.RecyclerView.Adapt private var ownedPets: Map? = null private var ownedMounts: Map? = null private var ownedItems: Map? = null + private var user: User? = null private val equipEvents = PublishSubject.create() private var ownsSaddles: Boolean = false @@ -27,6 +29,11 @@ class PetDetailRecyclerAdapter : androidx.recyclerview.widget.RecyclerView.Adapt this.notifyDataSetChanged() } + fun setUser(user: User) { + this.user = user + notifyDataSetChanged() + } + fun getEquipFlowable(): Flowable { return equipEvents.toFlowable(BackpressureStrategy.DROP) } @@ -69,7 +76,8 @@ class PetDetailRecyclerAdapter : androidx.recyclerview.widget.RecyclerView.Adapt ownsSaddles, ownedItems?.get(obj.animal + "-eggs") != null, ownedItems?.get(obj.color + "-hatchingPotions") != null, - ownedMounts?.containsKey(obj.key) == true + ownedMounts?.containsKey(obj.key) == true, + user ) } } 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 e2c59aaf6..f68b0ea06 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 @@ -13,6 +13,7 @@ import com.habitrpg.android.habitica.extensions.inflate import com.habitrpg.android.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.models.inventory.* import com.habitrpg.android.habitica.models.user.OwnedItem +import com.habitrpg.android.habitica.models.user.User import com.habitrpg.android.habitica.ui.fragments.inventory.stable.StableFragmentDirections import com.habitrpg.android.habitica.ui.helpers.loadImage import com.habitrpg.android.habitica.ui.viewHolders.MountViewHolder @@ -29,6 +30,7 @@ class StableRecyclerAdapter : RecyclerView.Adapter() { private var eggs: Map = mapOf() var animalIngredientsRetriever: ((Animal, ((Pair) -> Unit)) -> Unit)? = null var itemType: String? = null + private var user: User? = null private val equipEvents = PublishSubject.create() var ownedEggs: Map? = null @@ -36,6 +38,11 @@ class StableRecyclerAdapter : RecyclerView.Adapter() { return equipEvents.toFlowable(BackpressureStrategy.DROP) } + fun setUser(user: User){ + this.user = user + notifyDataSetChanged() + } + private var itemList: List = ArrayList() fun setItemList(itemList: List) { @@ -68,17 +75,20 @@ class StableRecyclerAdapter : RecyclerView.Adapter() { val isIndividualAnimal = item.type == "special" || item.type == "wacky" if (isIndividualAnimal) { if (item is Pet) { - (holder as? PetViewHolder)?.bind(item, - item.numberOwned, - canRaiseToMount = false, - eggCount = 0, - potionCount = 0, - ownsSaddles = false, - hasUnlockedEgg = false, - hasUnlockedPotion = false, - hasMount = false) + (holder as? PetViewHolder)?.bind( + item, + item.numberOwned, + eggCount = 0, + potionCount = 0, + canRaiseToMount = false, + ownsSaddles = false, + hasUnlockedEgg = false, + hasUnlockedPotion = false, + hasMount = false, + user = user + ) } else if (item is Mount) { - (holder as? MountViewHolder)?.bind(item, item.numberOwned > 0) + (holder as? MountViewHolder)?.bind(item, item.numberOwned > 0, user) } return } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/stable/MountDetailRecyclerFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/stable/MountDetailRecyclerFragment.kt index 002ea37a1..702be0320 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/stable/MountDetailRecyclerFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/stable/MountDetailRecyclerFragment.kt @@ -84,7 +84,9 @@ class MountDetailRecyclerFragment : BaseMainFragment inventoryRepository.equip(user, "mount", key) } - ?.subscribe({ }, RxErrorHandler.handleEmptyError())?.let { compositeSubscription.add(it) } + ?.subscribe({ + user?.let { updatedUser -> adapter?.setUser(updatedUser) } + }, RxErrorHandler.handleEmptyError())?.let { compositeSubscription.add(it) } } if (savedInstanceState != null) { @@ -124,6 +126,7 @@ class MountDetailRecyclerFragment : BaseMainFragment adapter?.setUser(updatedUser) } }, { unsortedAnimals, ownedAnimals -> val items = mutableListOf() var lastMount: Mount? = null diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/stable/PetDetailRecyclerFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/stable/PetDetailRecyclerFragment.kt index ca7b0abd3..27f038c9a 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/stable/PetDetailRecyclerFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/stable/PetDetailRecyclerFragment.kt @@ -22,7 +22,6 @@ import com.habitrpg.android.habitica.ui.fragments.BaseMainFragment import com.habitrpg.android.habitica.ui.fragments.inventory.items.ItemRecyclerFragment import com.habitrpg.android.habitica.ui.helpers.MarginDecoration import com.habitrpg.android.habitica.ui.helpers.SafeDefaultItemAnimator -import io.reactivex.rxjava3.core.Flowable import io.reactivex.rxjava3.core.Maybe import io.reactivex.rxjava3.kotlin.Flowables import org.greenrobot.eventbus.Subscribe @@ -104,7 +103,9 @@ class PetDetailRecyclerFragment : BaseMainFragment( compositeSubscription.add(adapter.getEquipFlowable() .flatMap { key -> inventoryRepository.equip(user, "pet", key) } - .subscribe({ }, RxErrorHandler.handleEmptyError())) + .subscribe({ + user?.let { updatedUser -> adapter.setUser(updatedUser) } + }, RxErrorHandler.handleEmptyError())) view.post { setGridSpanCount(view.width) } @@ -151,6 +152,7 @@ class PetDetailRecyclerFragment : BaseMainFragment( return@map petMap }.doOnNext { adapter.setOwnedPets(it) + user?.let { updatedUser -> adapter.setUser(updatedUser) } }).map { val items = mutableListOf() var lastPet: Pet? = null diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/stable/StableRecyclerFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/stable/StableRecyclerFragment.kt index abebebd38..aee28b8db 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/stable/StableRecyclerFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/stable/StableRecyclerFragment.kt @@ -86,6 +86,7 @@ class StableRecyclerFragment : BaseFragment() { adapter = binding?.recyclerView?.adapter as? StableRecyclerAdapter if (adapter == null) { adapter = StableRecyclerAdapter() + user?.let { adapter?.setUser(it) } adapter?.animalIngredientsRetriever = { animal, callback -> Maybe.zip( inventoryRepository.getItems(Egg::class.java, arrayOf(animal.animal)).firstElement(), diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/MountViewHolder.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/MountViewHolder.kt index 9ceeae1c7..3471f9ba5 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/MountViewHolder.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/MountViewHolder.kt @@ -9,6 +9,7 @@ import com.habitrpg.android.habitica.databinding.MountOverviewItemBinding import com.habitrpg.android.habitica.extensions.inflate import com.habitrpg.android.habitica.helpers.RxErrorHandler import com.habitrpg.android.habitica.models.inventory.Mount +import com.habitrpg.android.habitica.models.user.User import com.habitrpg.android.habitica.ui.helpers.DataBindingUtils import com.habitrpg.android.habitica.ui.menu.BottomSheetMenu import com.habitrpg.android.habitica.ui.menu.BottomSheetMenuItem @@ -20,6 +21,7 @@ class MountViewHolder(parent: ViewGroup, private val equipEvents: PublishSubject private var binding: MountOverviewItemBinding = MountOverviewItemBinding.bind(itemView) private var owned: Boolean = false var animal: Mount? = null + private var user: User? = null var resources: Resources = itemView.resources @@ -27,9 +29,10 @@ class MountViewHolder(parent: ViewGroup, private val equipEvents: PublishSubject itemView.setOnClickListener(this) } - fun bind(item: Mount, owned: Boolean) { + fun bind(item: Mount, owned: Boolean, user: User?) { animal = item this.owned = owned + this.user = user binding.titleTextView.visibility = View.GONE binding.ownedTextView.visibility = View.GONE val imageName = "stable_Mount_Icon_" + item.animal + "-" + item.color @@ -54,10 +57,13 @@ class MountViewHolder(parent: ViewGroup, private val equipEvents: PublishSubject } val menu = BottomSheetMenu(itemView.context) menu.setTitle(animal?.text) - menu.addMenuItem(BottomSheetMenuItem(resources.getString(R.string.equip))) + + val hasCurrentMount = user?.currentMount.equals(animal?.key) + val labelId = if (hasCurrentMount) R.string.unequip else R.string.equip + menu.addMenuItem(BottomSheetMenuItem(resources.getString(labelId))) menu.setSelectionRunnable { animal?.let { equipEvents.onNext(it.key ?: "") } } menu.show() } -} \ No newline at end of file +} diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/PetViewHolder.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/PetViewHolder.kt index e597c9134..8aaa9e763 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/PetViewHolder.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewHolders/PetViewHolder.kt @@ -10,6 +10,7 @@ import com.habitrpg.android.habitica.events.commands.FeedCommand import com.habitrpg.android.habitica.extensions.inflate import com.habitrpg.android.habitica.helpers.RxErrorHandler import com.habitrpg.android.habitica.models.inventory.* +import com.habitrpg.android.habitica.models.user.User import com.habitrpg.android.habitica.ui.helpers.DataBindingUtils import com.habitrpg.android.habitica.ui.menu.BottomSheetMenu import com.habitrpg.android.habitica.ui.menu.BottomSheetMenuItem @@ -27,6 +28,7 @@ class PetViewHolder(parent: ViewGroup, private val equipEvents: PublishSubject 0 binding.imageView.alpha = 1.0f @@ -60,6 +65,7 @@ class PetViewHolder(parent: ViewGroup, private val equipEvents: PublishSubject Date: Wed, 21 Apr 2021 20:20:52 -0500 Subject: [PATCH 2/2] - Strings fix. --- Habitica/res/values-hr-rHR/strings.xml | 2 +- Habitica/res/values-ja/strings.xml | 2 +- Habitica/res/values-uk/strings.xml | 2 +- Habitica/res/values-vi/strings.xml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Habitica/res/values-hr-rHR/strings.xml b/Habitica/res/values-hr-rHR/strings.xml index 8d650a52b..fbf280979 100644 --- a/Habitica/res/values-hr-rHR/strings.xml +++ b/Habitica/res/values-hr-rHR/strings.xml @@ -200,7 +200,7 @@ Naočale Oklop Natrag - Tijelo" + Tijelo Štit Oružje Nosi Kostim diff --git a/Habitica/res/values-ja/strings.xml b/Habitica/res/values-ja/strings.xml index 9147ac22a..d9b48c020 100644 --- a/Habitica/res/values-ja/strings.xml +++ b/Habitica/res/values-ja/strings.xml @@ -1074,7 +1074,7 @@ ペットをかえす 「初心者入門のタスク」を見る 装備 - 装備解除 + 装備解除 すでに%sペットは全て所有しています。本当に%d%ssを購入しますか? %dを買う 今孵せるペットに必要なのは%d%sだけです。本当に%dを購入しますか? diff --git a/Habitica/res/values-uk/strings.xml b/Habitica/res/values-uk/strings.xml index bcecd4577..9c35ab2eb 100755 --- a/Habitica/res/values-uk/strings.xml +++ b/Habitica/res/values-uk/strings.xml @@ -963,7 +963,7 @@ Не можу знайти користувача Дивні Одягнути - Неоснащення + Неоснащення Ім\'я користувача підтверджено Ім\'я користувача не підтверджено Двуручний diff --git a/Habitica/res/values-vi/strings.xml b/Habitica/res/values-vi/strings.xml index f8a942798..b88c42d54 100755 --- a/Habitica/res/values-vi/strings.xml +++ b/Habitica/res/values-vi/strings.xml @@ -1040,7 +1040,7 @@ Bạn còn cần một %s Trứng để ấp thú cưng này Xem Công việc Nhập môn Trang bị - Giải đáp thắc mắc + Giải đáp thắc mắc Bạn đã có mọi thứ bạn cần cho tất cả %s thú cưng. Bạn có chắc muốn mua %d %ss\? Mua %d Bạn chỉ cần %d %s để ấp tất cả thú cưng mà bạn có thể. Bạn có chắc muốn mua %d\?