mirror of
https://github.com/sudoxnym/habitica-android.git
synced 2026-04-14 19:56:32 +00:00
Equip background dialog added
This commit is contained in:
parent
3ab122883c
commit
491e7f33f9
5 changed files with 40 additions and 4 deletions
15
Habitica/res/layout/purchased_equip_dialog.xml
Normal file
15
Habitica/res/layout/purchased_equip_dialog.xml
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="?attr/colorContentBackground">
|
||||
|
||||
<com.habitrpg.android.habitica.ui.AvatarView
|
||||
android:id="@+id/avatar_view"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_width="@dimen/avatar_width"
|
||||
android:layout_height="@dimen/avatar_height"
|
||||
android:layout_marginTop="24dp"/>
|
||||
|
||||
</RelativeLayout>
|
||||
|
|
@ -437,7 +437,7 @@ class AvatarView : FrameLayout {
|
|||
}
|
||||
}
|
||||
|
||||
fun setAvatarWithBackgroundForPurchase(avatar: Avatar, backgroundForPurchase: String?) {
|
||||
fun setAvatarWithSelectedBackground(avatar: Avatar, backgroundForPurchase: String?) {
|
||||
val oldUser = this.avatar
|
||||
this.avatar = avatar
|
||||
this.backgroundForPurchase = backgroundForPurchase
|
||||
|
|
|
|||
|
|
@ -12,9 +12,11 @@ import com.habitrpg.android.habitica.databinding.CustomizationGridItemBinding
|
|||
import com.habitrpg.android.habitica.databinding.CustomizationSectionFooterBinding
|
||||
import com.habitrpg.android.habitica.databinding.CustomizationSectionHeaderBinding
|
||||
import com.habitrpg.android.habitica.helpers.MainNavigationController
|
||||
import com.habitrpg.android.habitica.models.Avatar
|
||||
import com.habitrpg.android.habitica.models.inventory.Customization
|
||||
import com.habitrpg.android.habitica.models.inventory.CustomizationSet
|
||||
import com.habitrpg.android.habitica.models.shops.ShopItem
|
||||
import com.habitrpg.android.habitica.ui.AvatarView
|
||||
import com.habitrpg.android.habitica.ui.helpers.loadImage
|
||||
import com.habitrpg.android.habitica.ui.views.dialogs.HabiticaAlertDialog
|
||||
import com.habitrpg.android.habitica.ui.views.shops.PurchaseDialog
|
||||
|
|
@ -27,6 +29,7 @@ class CustomizationRecyclerViewAdapter() : androidx.recyclerview.widget.Recycler
|
|||
|
||||
var userSize: String? = null
|
||||
var hairColor: String? = null
|
||||
var avatar: Avatar? = null
|
||||
var customizationType: String? = null
|
||||
var gemBalance: Int = 0
|
||||
var unsortedCustomizations: List<Customization> = ArrayList()
|
||||
|
|
@ -194,8 +197,25 @@ class CustomizationRecyclerViewAdapter() : androidx.recyclerview.widget.Recycler
|
|||
return
|
||||
}
|
||||
|
||||
customization?.let {
|
||||
selectCustomizationEvents.onNext(it)
|
||||
if (customization?.type == "background" && avatar != null){
|
||||
val alert = HabiticaAlertDialog(context = itemView.context)
|
||||
val purchasedCustomizationView: View = LayoutInflater.from(itemView.context).inflate(R.layout.purchased_equip_dialog, null)
|
||||
purchasedCustomizationView.findViewById<AvatarView>(R.id.avatar_view).setAvatarWithSelectedBackground(avatar!!, customization?.let { ShopItem.fromCustomization(it, userSize, hairColor).imageName })
|
||||
alert.setAdditionalContentView(purchasedCustomizationView)
|
||||
alert.addButton(R.string.equip, true) { _, _ ->
|
||||
customization?.let {
|
||||
selectCustomizationEvents.onNext(it)
|
||||
}
|
||||
}
|
||||
alert.addButton(R.string.close, false) { _, _ ->
|
||||
alert.dismiss()
|
||||
}
|
||||
alert.show()
|
||||
} else {
|
||||
customization?.let {
|
||||
selectCustomizationEvents.onNext(it)
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -221,6 +221,7 @@ class AvatarCustomizationFragment :
|
|||
this.adapter.userSize = user.preferences?.size
|
||||
this.adapter.hairColor = user.preferences?.hair?.color
|
||||
this.adapter.gemBalance = user.gemCount
|
||||
this.adapter.avatar = user
|
||||
adapter.notifyDataSetChanged()
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -21,6 +21,6 @@ class PurchaseDialogBackgroundContent(context: Context) : PurchaseDialogContent(
|
|||
}
|
||||
|
||||
fun setAvatarWithBackgroundForPurchase(avatar: Avatar, item: ShopItem) {
|
||||
binding.avatarView.setAvatarWithBackgroundForPurchase(avatar, item.imageName)
|
||||
binding.avatarView.setAvatarWithSelectedBackground(avatar, item.imageName)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue