From 262e6252f6deaadb4d89fd3bcec60838f73283aa Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Fri, 1 Oct 2021 19:03:42 +0200 Subject: [PATCH] Display quest status in menu --- Habitica/build.gradle | 2 +- Habitica/res/layout/drawer_main.xml | 3 +- Habitica/res/layout/quest_menu_view.xml | 48 +++++-------------- Habitica/res/values/strings.xml | 1 + .../ui/fragments/NavigationDrawerFragment.kt | 5 +- .../habitica/ui/views/social/QuestMenuView.kt | 22 ++++----- 6 files changed, 29 insertions(+), 52 deletions(-) diff --git a/Habitica/build.gradle b/Habitica/build.gradle index 684a380b9..40a08c857 100644 --- a/Habitica/build.gradle +++ b/Habitica/build.gradle @@ -153,7 +153,7 @@ android { buildConfigField "String", "TESTING_LEVEL", "\"production\"" resConfigs "en", "bg", "de", "en-rGB", "es", "fr", "hr-rHR", "in", "it", "iw", "ja", "ko", "lt", "nl", "pl", "pt-rBR", "pt-rPT", "ru", "tr", "zh", "zh-rTW" - versionCode 3051 + versionCode 3052 versionName "3.4" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" diff --git a/Habitica/res/layout/drawer_main.xml b/Habitica/res/layout/drawer_main.xml index 894696a72..a627af9cd 100644 --- a/Habitica/res/layout/drawer_main.xml +++ b/Habitica/res/layout/drawer_main.xml @@ -160,7 +160,8 @@ android:id="@+id/questMenuView" android:layout_width="match_parent" android:layout_height="wrap_content" - android:visibility="gone"/> + android:visibility="gone" + tools:visibility="visible"/> - - - - + android:paddingTop="@dimen/spacing_medium"> + @@ -63,8 +39,8 @@ android:id="@+id/bottomView" android:layout_width="match_parent" android:layout_height="30dp" - android:gravity="center_vertical" android:orientation="horizontal" + android:gravity="center_vertical" tools:background="?colorPrimaryDark" android:paddingStart="@dimen/spacing_medium" android:paddingEnd="@dimen/spacing_large"> @@ -97,6 +73,4 @@ tools:text="+1" /> - - - \ No newline at end of file + \ No newline at end of file diff --git a/Habitica/res/values/strings.xml b/Habitica/res/values/strings.xml index 6cc78e635..64a224eea 100644 --- a/Habitica/res/values/strings.xml +++ b/Habitica/res/values/strings.xml @@ -1182,4 +1182,5 @@ Privacy Policy Terms of Service %.01f dmg pending + %s remaining diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/NavigationDrawerFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/NavigationDrawerFragment.kt index 836c98900..485918e97 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/NavigationDrawerFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/NavigationDrawerFragment.kt @@ -270,8 +270,9 @@ class NavigationDrawerFragment : DialogFragment() { .doOnNext { updateUser(it) } + .filter { it.party?.quest?.key != null } .flatMap { socialRepository.getGroup(it.party?.id ?: "") } - .filter { it.quest?.key != null } + .filter { it.quest?.active == true } .map { quest = it.quest it.quest?.key ?: "" @@ -674,7 +675,7 @@ class NavigationDrawerFragment : DialogFragment() { val diff = activePromo.endDate.time - Date().time if (diff < (Duration.hours(1).inWholeMilliseconds)) Duration.seconds(1) else Duration.minutes(1) }) { - promotedItem.subtitle = context?.getString(R.string.open_for, activePromo.endDate.getShortRemainingString()) + promotedItem.subtitle = context?.getString(R.string.x_remaining, activePromo.endDate.getShortRemainingString()) updateItem(promotedItem) } } ?: run { diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/social/QuestMenuView.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/social/QuestMenuView.kt index 56fb4ec1a..4e0f0bfe9 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/social/QuestMenuView.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/social/QuestMenuView.kt @@ -20,7 +20,7 @@ import com.habitrpg.android.habitica.ui.views.HabiticaIconsHelper import java.util.Locale class QuestMenuView : LinearLayout { - private val binding = QuestMenuViewBinding.inflate(context.layoutInflater, this, true) + private val binding = QuestMenuViewBinding.inflate(context.layoutInflater, this) private var questContent: QuestContent? = null @@ -33,20 +33,19 @@ class QuestMenuView : LinearLayout { } private fun setupView(context: Context) { - val inflater = context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater - inflater.inflate(R.layout.quest_menu_view, this) + orientation = VERTICAL binding.heartIconView.setImageBitmap(HabiticaIconsHelper.imageOfHeartDarkBg()) binding.pendingDamageIconView.setImageBitmap(HabiticaIconsHelper.imageOfDamage()) - binding.closeButton.setOnClickListener { + /*binding.closeButton.setOnClickListener { hideBossArt() val preferences = context.getSharedPreferences("collapsible_sections", 0) preferences?.edit { putBoolean("boss_art_collapsed", true) } - } + }*/ } fun configure(quest: Quest) { @@ -57,9 +56,10 @@ class QuestMenuView : LinearLayout { this.questContent = questContent binding.healthBarView.setMaxValue(questContent.boss?.hp?.toDouble() ?: 0.0) binding.bottomView.setBackgroundColor(questContent.colors?.darkColor ?: 0) - binding.bossArtView.setBackgroundColor(questContent.colors?.mediumColor ?: 0) - DataBindingUtils.loadImage(binding.bossArtView, "quest_" + questContent.key) + //binding.bossArtView.setBackgroundColor(questContent.colors?.mediumColor ?: 0) + //DataBindingUtils.loadImage(binding.bossArtView, "quest_" + questContent.key) binding.bossNameView.text = questContent.boss?.name + binding.typeTextView.text = context.getString(R.string.boss_quest) } fun configure(user: User) { @@ -71,9 +71,9 @@ class QuestMenuView : LinearLayout { binding.topView.setBackgroundColor(questContent?.colors?.mediumColor ?: 0) binding.bossNameView.gravity = Gravity.START binding.bossNameView.layoutParams = LayoutParams(0, ViewGroup.LayoutParams.WRAP_CONTENT, 1F) - binding.bossArtView.visibility = View.GONE + //binding.bossArtView.visibility = View.GONE binding.typeTextView.setTextColor(questContent?.colors?.extraLightColor ?: 0) - binding.closeButton.visibility = View.GONE + //binding.closeButton.visibility = View.GONE } fun showBossArt() { @@ -81,8 +81,8 @@ class QuestMenuView : LinearLayout { binding.topView.setBackgroundColor(ContextCompat.getColor(context, R.color.transparent)) binding.bossNameView.gravity = Gravity.END binding.bossNameView.layoutParams = LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT) - binding.bossArtView.visibility = View.VISIBLE + //binding.bossArtView.visibility = View.VISIBLE binding.typeTextView.setTextColor(ContextCompat.getColor(context, R.color.white)) - binding.closeButton.visibility = View.VISIBLE + //binding.closeButton.visibility = View.VISIBLE } }