diff --git a/Habitica/res/layout/snackbar_view.xml b/Habitica/res/layout/snackbar_view.xml index 4bfadd158..010339170 100644 --- a/Habitica/res/layout/snackbar_view.xml +++ b/Habitica/res/layout/snackbar_view.xml @@ -25,7 +25,8 @@ tools:visibility="visible" /> Pets Mounts - You found a piece of rare Equipment in the Armoire: %s! Awesome! + You found %s in the Armoire You rummage in the Armoire and find %1$s %2$s. What\'s that doing in here? You wrestle with the Armoire and gain Experience. Take that! Open the Armoire to randomly receive special Equipment, Experience, or food! Equipment pieces remaining: %d diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/RewardsRecyclerviewFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/RewardsRecyclerviewFragment.kt index 34c9da315..a93765f61 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/RewardsRecyclerviewFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/RewardsRecyclerviewFragment.kt @@ -21,7 +21,7 @@ import java.util.* class RewardsRecyclerviewFragment : TaskRecyclerViewFragment() { override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { - inventoryRepository.retrieveInAppRewards().subscribe(Consumer { }, RxErrorHandler.handleEmptyError()) + compositeSubscription.add(inventoryRepository.retrieveInAppRewards().subscribe(Consumer { }, RxErrorHandler.handleEmptyError())) return super.onCreateView(inflater, container, savedInstanceState) } @@ -44,9 +44,9 @@ class RewardsRecyclerviewFragment : TaskRecyclerViewFragment() { } recyclerView.itemAnimator = SafeDefaultItemAnimator() - inventoryRepository.getInAppRewards().subscribe(Consumer { + compositeSubscription.add(inventoryRepository.getInAppRewards().subscribe(Consumer { (recyclerAdapter as RewardsRecyclerViewAdapter?)?.updateItemRewards(it) - }, RxErrorHandler.handleEmptyError()) + }, RxErrorHandler.handleEmptyError())) } override fun getLayoutManager(context: Context?): LinearLayoutManager = @@ -54,11 +54,11 @@ class RewardsRecyclerviewFragment : TaskRecyclerViewFragment() { override fun onRefresh() { refreshLayout.isRefreshing = true - userRepository.retrieveUser(true, true) + compositeSubscription.add(userRepository.retrieveUser(true, true) .flatMap> { inventoryRepository.retrieveInAppRewards() } .doOnTerminate { refreshLayout?.isRefreshing = false - }.subscribe(Consumer { }, RxErrorHandler.handleEmptyError()) + }.subscribe(Consumer { }, RxErrorHandler.handleEmptyError())) } private fun setGridSpanCount(width: Int) { diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/HabiticaSnackbar.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/HabiticaSnackbar.kt index 9a5016afb..6b7f9cfde 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/HabiticaSnackbar.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/HabiticaSnackbar.kt @@ -26,16 +26,16 @@ class HabiticaSnackbar private constructor(parent: ViewGroup, content: View, callback: ContentViewCallback) : BaseTransientBottomBar(parent, content, callback) { fun setTitle(title: CharSequence?): HabiticaSnackbar { - val textView = view.findViewById(R.id.snackbar_title) as TextView - textView.text = title - textView.visibility = if (title != null) View.VISIBLE else View.GONE + val textView = view.findViewById(R.id.snackbar_title) as? TextView + textView?.text = title + textView?.visibility = if (title != null) View.VISIBLE else View.GONE return this } fun setText(text: CharSequence?): HabiticaSnackbar { - val textView = view.findViewById(R.id.snackbar_text) as TextView - textView.text = text - textView.visibility = if (text != null) View.VISIBLE else View.GONE + val textView = view.findViewById(R.id.snackbar_text) as? TextView + textView?.text = text + textView?.visibility = if (text != null) View.VISIBLE else View.GONE return this } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/shops/PurchaseDialog.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/shops/PurchaseDialog.kt index 6b36906bc..36ef95826 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/shops/PurchaseDialog.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/shops/PurchaseDialog.kt @@ -218,7 +218,7 @@ class PurchaseDialog(context: Context, component: UserComponent?, val item: Shop if (shopItem.key == "armoire") { snackbarText[0] = when { buyResponse.armoire["type"] == "gear" -> context.getString(R.string.armoireEquipment, buyResponse.armoire["dropText"]) - buyResponse.armoire["type"] == "food" -> context.getString(R.string.armoireFood, buyResponse.armoire["dropArticle"], buyResponse.armoire["dropText"]) + buyResponse.armoire["type"] == "food" -> context.getString(R.string.armoireFood, buyResponse.armoire["dropArticle"] ?: "", buyResponse.armoire["dropText"]) else -> context.getString(R.string.armoireExp) } } @@ -231,7 +231,6 @@ class PurchaseDialog(context: Context, component: UserComponent?, val item: Shop .doOnNext { val event = ShowSnackbarEvent() if (snackbarText[0].isNotEmpty()) { - event.title = context.getString(R.string.successful_purchase, shopItem.text) event.text = snackbarText[0] } else { event.text = context.getString(R.string.successful_purchase, shopItem.text)