diff --git a/Habitica/res/layout/dialog_purchase_content_quest.xml b/Habitica/res/layout/dialog_purchase_content_quest.xml
index 840a9a969..c46019af8 100644
--- a/Habitica/res/layout/dialog_purchase_content_quest.xml
+++ b/Habitica/res/layout/dialog_purchase_content_quest.xml
@@ -137,7 +137,7 @@
android:id="@+id/rage_meter_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:background="@drawable/pill_bg"
+ style="@style/Pill"
android:gravity="right"
android:paddingBottom="2dp"
android:paddingLeft="8dp"
diff --git a/Habitica/res/layout/fragment_party_detail.xml b/Habitica/res/layout/fragment_party_detail.xml
index 29940d65f..97586c5dc 100644
--- a/Habitica/res/layout/fragment_party_detail.xml
+++ b/Habitica/res/layout/fragment_party_detail.xml
@@ -89,7 +89,8 @@
android:background="@drawable/layout_rounded_bg_gray_700"
android:padding="@dimen/spacing_medium"
android:gravity="center_vertical"
- android:layout_marginBottom="@dimen/spacing_medium">
+ android:layout_marginBottom="@dimen/spacing_medium"
+ android:visibility="gone">
diff --git a/Habitica/res/layout/quest_progress_old.xml b/Habitica/res/layout/quest_progress_old.xml
index dda650d19..56070eb1b 100644
--- a/Habitica/res/layout/quest_progress_old.xml
+++ b/Habitica/res/layout/quest_progress_old.xml
@@ -23,6 +23,14 @@
app:valueTextColor="@color/red_100"
app:labelSpacing="@dimen/spacing_medium"
app:descriptionTextColor="@color/yellow_5"/>
+
0.0
}
}
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MaintenanceActivity.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MaintenanceActivity.kt
index 7e4f7de02..f7169acc3 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MaintenanceActivity.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MaintenanceActivity.kt
@@ -78,7 +78,7 @@ class MaintenanceActivity : BaseActivity() {
}
}
- fun openInPlayStore() {
+ private fun openInPlayStore() {
val appPackageName = packageName
try {
startActivity(Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=$appPackageName")))
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 23735bb04..4a405dfc7 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
@@ -176,7 +176,9 @@ class PurchaseDialog(context: Context, component: AppComponent?, val item: ShopI
priceLabel.cantAfford = true
}
- checkGearClass()
+ if (shopItem.isTypeGear) {
+ checkGearClass()
+ }
}
override fun dismiss() {
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/shops/PurchaseDialogQuestContent.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/shops/PurchaseDialogQuestContent.kt
index 214392d04..2f44db4a9 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/shops/PurchaseDialogQuestContent.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/shops/PurchaseDialogQuestContent.kt
@@ -39,6 +39,7 @@ class PurchaseDialogQuestContent : PurchaseDialogContent {
constructor(context: Context, attrs: AttributeSet?) : super(context, attrs)
fun setQuestContent(questContent: QuestContent) {
+ rageMeterView.visibility = View.GONE
if (questContent.isBossQuest) {
questTypeTextView.setText(R.string.boss_quest)
questCollectView.visibility = View.GONE
@@ -59,7 +60,7 @@ class PurchaseDialogQuestContent : PurchaseDialogContent {
questDetailView.visibility = View.VISIBLE
- val inflater = context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater
+ val inflater = context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as? LayoutInflater
if (questContent.drop != null && questContent.drop.items != null) {
questContent.drop.items
@@ -79,36 +80,36 @@ class PurchaseDialogQuestContent : PurchaseDialogContent {
}
if (questContent.drop.exp > 0) {
- val view = inflater.inflate(R.layout.row_quest_reward_imageview, rewardsList, false) as ViewGroup
- val imageView = view.findViewById(R.id.imageView)
- imageView.scaleType = ImageView.ScaleType.CENTER
- imageView.setImageBitmap(HabiticaIconsHelper.imageOfExperienceReward())
- val titleTextView = view.findViewById(R.id.titleTextView)
- titleTextView.text = context.getString(R.string.experience_reward, questContent.drop.exp)
+ val view = inflater?.inflate(R.layout.row_quest_reward_imageview, rewardsList, false) as? ViewGroup
+ val imageView = view?.findViewById(R.id.imageView)
+ imageView?.scaleType = ImageView.ScaleType.CENTER
+ imageView?.setImageBitmap(HabiticaIconsHelper.imageOfExperienceReward())
+ val titleTextView = view?.findViewById(R.id.titleTextView)
+ titleTextView?.text = context.getString(R.string.experience_reward, questContent.drop.exp)
rewardsList.addView(view)
}
if (questContent.drop.gp > 0) {
- val view = inflater.inflate(R.layout.row_quest_reward_imageview, rewardsList, false) as ViewGroup
- val imageView = view.findViewById(R.id.imageView)
- imageView.scaleType = ImageView.ScaleType.CENTER
- imageView.setImageBitmap(HabiticaIconsHelper.imageOfGoldReward())
- val titleTextView = view.findViewById(R.id.titleTextView)
- titleTextView.text = context.getString(R.string.gold_reward, questContent.drop.gp)
+ val view = inflater?.inflate(R.layout.row_quest_reward_imageview, rewardsList, false) as? ViewGroup
+ val imageView = view?.findViewById(R.id.imageView)
+ imageView?.scaleType = ImageView.ScaleType.CENTER
+ imageView?.setImageBitmap(HabiticaIconsHelper.imageOfGoldReward())
+ val titleTextView = view?.findViewById(R.id.titleTextView)
+ titleTextView?.text = context.getString(R.string.gold_reward, questContent.drop.gp)
rewardsList.addView(view)
}
}
}
- private fun addRewardsRow(inflater: LayoutInflater, item: QuestDropItem, containerView: ViewGroup?) {
- val view = inflater.inflate(R.layout.row_quest_reward, containerView, false) as ViewGroup
- val imageView = view.findViewById(R.id.imageView) as SimpleDraweeView
- val titleTextView = view.findViewById(R.id.titleTextView) as TextView
+ private fun addRewardsRow(inflater: LayoutInflater?, item: QuestDropItem, containerView: ViewGroup?) {
+ val view = inflater?.inflate(R.layout.row_quest_reward, containerView, false) as? ViewGroup
+ val imageView = view?.findViewById(R.id.imageView) as? SimpleDraweeView
+ val titleTextView = view?.findViewById(R.id.titleTextView) as? TextView
DataBindingUtils.loadImage(imageView, item.imageName)
if (item.count > 1) {
- titleTextView.text = context.getString(R.string.quest_reward_count, item.text, item.count)
+ titleTextView?.text = context.getString(R.string.quest_reward_count, item.text, item.count)
} else {
- titleTextView.text = item.text
+ titleTextView?.text = item.text
}
containerView?.addView(view)
}
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/social/OldQuestProgressView.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/social/OldQuestProgressView.kt
index a769d75db..ab89ac06f 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/social/OldQuestProgressView.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/social/OldQuestProgressView.kt
@@ -12,6 +12,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.extensions.inflate
import com.habitrpg.android.habitica.ui.helpers.bindView
import com.habitrpg.android.habitica.extensions.setScaledPadding
import com.habitrpg.android.habitica.models.inventory.QuestContent
@@ -27,6 +28,7 @@ class OldQuestProgressView : LinearLayout {
private val bossNameView: TextView by bindView(R.id.bossNameView)
private val bossHealthView: ValueBar by bindView(R.id.bossHealthView)
+ private val bossRageView: ValueBar by bindView(R.id.bossRageView)
private val collectionContainer: ViewGroup by bindView(R.id.collectionContainer)
private val rect = RectF()
@@ -45,8 +47,7 @@ class OldQuestProgressView : LinearLayout {
private fun setupView(context: Context) {
setWillNotDraw(false)
- val inflater = context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater
- inflater.inflate(R.layout.quest_progress_old, this)
+ inflate(R.layout.quest_progress_old, true)
orientation = LinearLayout.VERTICAL
@@ -54,6 +55,7 @@ class OldQuestProgressView : LinearLayout {
bossHealthView.setSecondaryIcon(HabiticaIconsHelper.imageOfHeartLightBg())
bossHealthView.setDescriptionIcon(HabiticaIconsHelper.imageOfDamage())
+ bossRageView.setSecondaryIcon(HabiticaIconsHelper.imageOfRage())
}
override fun onDraw(canvas: Canvas?) {
@@ -73,23 +75,30 @@ class OldQuestProgressView : LinearLayout {
if (progress != null) {
bossHealthView.set(progress.hp, quest.boss.hp.toDouble())
}
+ if (quest.boss.hasRage()) {
+ bossRageView.visibility = View.VISIBLE
+ bossRageView.set(progress?.rage ?: 0.0, quest.boss.rage?.value ?: 0.0)
+ } else {
+ bossRageView.visibility = View.GONE
+ }
bossNameView.visibility = View.VISIBLE
bossHealthView.visibility = View.VISIBLE
} else {
bossNameView.visibility = View.GONE
bossHealthView.visibility = View.GONE
+ bossRageView.visibility = View.GONE
if (progress != null) {
val inflater = LayoutInflater.from(context)
for (collect in progress.collect ?: emptyList()) {
val contentCollect = quest.getCollectWithKey(collect.key) ?: continue
val view = inflater.inflate(R.layout.quest_collect, collectionContainer, false)
- val iconView = view.findViewById(R.id.icon_view) as SimpleDraweeView
- val nameView = view.findViewById(R.id.name_view) as TextView
- val valueView = view.findViewById(R.id.value_view) as ValueBar
+ val iconView = view.findViewById(R.id.icon_view) as? SimpleDraweeView
+ val nameView = view.findViewById(R.id.name_view) as? TextView
+ val valueView = view.findViewById(R.id.value_view) as? ValueBar
DataBindingUtils.loadImage(iconView, "quest_" + quest.key + "_" + collect.key)
- nameView.text = contentCollect.text
- valueView.set(collect.count.toDouble(), contentCollect.count.toDouble())
+ nameView?.text = contentCollect.text
+ valueView?.set(collect.count.toDouble(), contentCollect.count.toDouble())
collectionContainer.addView(view)
}