mirror of
https://github.com/sudoxnym/habitica-android.git
synced 2026-04-14 19:56:32 +00:00
add a way to view quest rewards from items screen
This commit is contained in:
parent
15f6052bdb
commit
262779197a
5 changed files with 43 additions and 3 deletions
|
|
@ -941,4 +941,5 @@
|
|||
<string name="confirm_deletion">Confirm deletion</string>
|
||||
<string name="new_task">New Task</string>
|
||||
<string name="create_task">Create %s</string>
|
||||
<string name="details">Details</string>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ import com.habitrpg.android.habitica.ui.helpers.DataBindingUtils
|
|||
import com.habitrpg.android.habitica.ui.helpers.bindView
|
||||
import com.habitrpg.android.habitica.ui.menu.BottomSheetMenu
|
||||
import com.habitrpg.android.habitica.ui.menu.BottomSheetMenuItem
|
||||
import com.habitrpg.android.habitica.ui.views.dialogs.DetailDialog
|
||||
import io.reactivex.BackpressureStrategy
|
||||
import io.reactivex.Flowable
|
||||
import io.reactivex.subjects.PublishSubject
|
||||
|
|
@ -160,6 +161,7 @@ class ItemRecyclerAdapter(data: OrderedRealmCollection<OwnedItem>?, autoUpdate:
|
|||
} else if (item is HatchingPotion) {
|
||||
menu.addMenuItem(BottomSheetMenuItem(resources.getString(R.string.hatch_egg)))
|
||||
} else if (item is QuestContent) {
|
||||
menu.addMenuItem(BottomSheetMenuItem(resources.getString(R.string.details)))
|
||||
menu.addMenuItem(BottomSheetMenuItem(resources.getString(R.string.invite_party)))
|
||||
} else if (item is SpecialItem) {
|
||||
val specialItem = item as SpecialItem
|
||||
|
|
@ -180,8 +182,16 @@ class ItemRecyclerAdapter(data: OrderedRealmCollection<OwnedItem>?, autoUpdate:
|
|||
event.usingFood = selectedItem
|
||||
EventBus.getDefault().post(event)
|
||||
}
|
||||
is HatchingPotion -> item?.let { startHatchingSubject.onNext(it) }
|
||||
is QuestContent -> questInvitationEvents.onNext(selectedItem)
|
||||
is HatchingPotion -> startHatchingSubject.onNext(selectedItem)
|
||||
is QuestContent -> {
|
||||
if (index == 0) {
|
||||
val dialog = DetailDialog(context)
|
||||
dialog.quest = selectedItem
|
||||
dialog.show()
|
||||
} else {
|
||||
questInvitationEvents.onNext(selectedItem)
|
||||
}
|
||||
}
|
||||
is SpecialItem -> openMysteryItemEvents.onNext(selectedItem)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,24 @@
|
|||
package com.habitrpg.android.habitica.ui.views.dialogs
|
||||
|
||||
import android.content.Context
|
||||
import com.habitrpg.android.habitica.extensions.addCloseButton
|
||||
import com.habitrpg.android.habitica.models.inventory.QuestContent
|
||||
import com.habitrpg.android.habitica.ui.views.shops.PurchaseDialogQuestContent
|
||||
|
||||
class DetailDialog(context: Context) : HabiticaAlertDialog(context) {
|
||||
|
||||
var quest: QuestContent? = null
|
||||
set(value) {
|
||||
field = value
|
||||
if (value == null) return
|
||||
|
||||
val contentView = PurchaseDialogQuestContent(context)
|
||||
contentView.setQuestContent(value)
|
||||
contentView.setQuestContentItem(value)
|
||||
setAdditionalContentView(contentView)
|
||||
}
|
||||
|
||||
init {
|
||||
addCloseButton()
|
||||
}
|
||||
}
|
||||
|
|
@ -136,7 +136,6 @@ class PurchaseDialog(context: Context, component: UserComponent?, val item: Shop
|
|||
|
||||
setCustomHeaderView(customHeader)
|
||||
|
||||
|
||||
addCloseButton()
|
||||
buyButton = addButton(layoutInflater.inflate(R.layout.dialog_purchase_shopitem_button, null)) { _, _ ->
|
||||
onBuyButtonClicked()
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ import android.widget.LinearLayout
|
|||
import android.widget.TextView
|
||||
import com.facebook.drawee.view.SimpleDraweeView
|
||||
import com.habitrpg.android.habitica.R
|
||||
import com.habitrpg.android.habitica.models.inventory.QuestContent
|
||||
import com.habitrpg.android.habitica.models.shops.ShopItem
|
||||
import com.habitrpg.android.habitica.ui.helpers.DataBindingUtils
|
||||
import com.habitrpg.android.habitica.ui.helpers.bindView
|
||||
|
|
@ -38,4 +39,9 @@ abstract class PurchaseDialogContent : LinearLayout {
|
|||
DataBindingUtils.loadImage(imageView, item.imageName)
|
||||
titleTextView.text = item.text
|
||||
}
|
||||
|
||||
open fun setQuestContentItem(questContent: QuestContent) {
|
||||
DataBindingUtils.loadImage(imageView, "inventory_quest_scroll_" + questContent.key)
|
||||
titleTextView.text = questContent.text
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue