show world boss state on tavern menu entry

This commit is contained in:
Phillip Thelen 2018-02-09 17:14:16 +01:00
parent da18a6b77d
commit 9d3bcc2525
4 changed files with 28 additions and 10 deletions

View file

@ -755,4 +755,5 @@
<string name="tavern_owner_long">Daniel the inn keeper</string>
<string name="stable_owner_long">Matt the beast master</string>
<string name="hide_boss_art">Hide Boss Art</string>
<string name="active_world_boss">Active World Boss</string>
</resources>

View file

@ -1,5 +1,6 @@
package com.habitrpg.android.habitica.ui.adapter
import android.content.Context
import android.graphics.PorterDuff
import android.support.v4.content.ContextCompat
import android.support.v7.widget.RecyclerView
@ -114,17 +115,24 @@ class NavigationDrawerAdapter(tintColor: Int, backgroundTintColor: Int): Recycle
if (drawerItem.additionalInfo != null) {
additionalInfoView.visibility = View.VISIBLE
additionalInfoView.text = drawerItem.additionalInfo
val drawable = ContextCompat.getDrawable(itemView.context, R.drawable.pill_bg)
if (drawable != null) {
DrawableCompat.setTint(drawable, backgroundTintColor)
if (drawerItem.additionalInfoAsPill) {
val drawable = ContextCompat.getDrawable(itemView.context, R.drawable.pill_bg)
if (drawable != null) {
DrawableCompat.setTint(drawable, backgroundTintColor)
val pL = additionalInfoView.paddingLeft
val pT = additionalInfoView.paddingTop
val pR = additionalInfoView.paddingRight
val pB = additionalInfoView.paddingBottom
val pL = additionalInfoView.paddingLeft
val pT = additionalInfoView.paddingTop
val pR = additionalInfoView.paddingRight
val pB = additionalInfoView.paddingBottom
additionalInfoView.backgroundCompat = drawable
additionalInfoView.setPadding(pL, pT, pR, pB)
additionalInfoView.backgroundCompat = drawable
additionalInfoView.setTextColor(ContextCompat.getColor(itemView.context, R.color.white))
additionalInfoView.setPadding(pL, pT, pR, pB)
}
} else {
additionalInfoView.setBackgroundColor(ContextCompat.getColor(itemView.context, R.color.transparent))
additionalInfoView.setTextColor(tintColor)
additionalInfoView.setPadding(0, 0, 0,0)
}
} else {
additionalInfoView.visibility = View.GONE

View file

@ -97,6 +97,9 @@ class NavigationDrawerFragment : DialogFragment() {
adapter.tintColor = ContextCompat.getColor(it, R.color.brand_300)
adapter.backgroundTintColor = ContextCompat.getColor(it, R.color.brand_200)
}
adapter.items.filter { it.identifier == SIDEBAR_TAVERN }.forEach {
it.additionalInfo = null
}
return
}
questMenuView.visibility = View.VISIBLE
@ -117,6 +120,12 @@ class NavigationDrawerFragment : DialogFragment() {
questMenuView.showBossArt()
}*/
questMenuView.hideBossArt()
adapter.items.filter { it.identifier == SIDEBAR_TAVERN }.forEach {
it.additionalInfo = context?.getString(R.string.active_world_boss)
it.additionalInfoAsPill = false
}
adapter.notifyDataSetChanged()
}
override fun onCreate(savedInstanceState: Bundle?) {

View file

@ -1,6 +1,6 @@
package com.habitrpg.android.habitica.ui.menu
class HabiticaDrawerItem(val identifier: String, val text: String, val isHeader: Boolean = false) {
class HabiticaDrawerItem(val identifier: String, val text: String, val isHeader: Boolean = false, var additionalInfoAsPill: Boolean = true) {
var additionalInfo: String? = null
var isVisible: Boolean = true