diff --git a/Habitica/res/layout/quest_menu_view.xml b/Habitica/res/layout/quest_menu_view.xml
index d519ec75e..a156a763f 100644
--- a/Habitica/res/layout/quest_menu_view.xml
+++ b/Habitica/res/layout/quest_menu_view.xml
@@ -36,9 +36,8 @@
android:textSize="12sp"/>
+
+
+
+
\ No newline at end of file
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/api/ApiService.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/api/ApiService.kt
index 795d5463c..4c9a92965 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/api/ApiService.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/api/ApiService.kt
@@ -218,7 +218,7 @@ interface ApiService {
fun seenMessages(@Path("gid") groupId: String): Flowable>
@POST("groups/{gid}/invite")
- fun inviteToGroup(@Path("gid") groupId: String, @Body inviteData: Map): Flowable>
+ fun inviteToGroup(@Path("gid") groupId: String, @Body inviteData: Map): Flowable>>
@POST("groups/{gid}/reject-invite")
fun rejectGroupInvite(@Path("gid") groupId: String): Flowable>
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/data/ApiClient.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/data/ApiClient.kt
index 88586a755..c3a7eed58 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/data/ApiClient.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/data/ApiClient.kt
@@ -153,7 +153,7 @@ interface ApiClient {
fun seenMessages(groupId: String): Flowable
- fun inviteToGroup(groupId: String, inviteData: Map): Flowable
+ fun inviteToGroup(groupId: String, inviteData: Map): Flowable>
fun rejectGroupInvite(groupId: String): Flowable
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/data/SocialRepository.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/data/SocialRepository.kt
index 61da77a81..68db3419d 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/data/SocialRepository.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/data/SocialRepository.kt
@@ -51,7 +51,7 @@ interface SocialRepository : BaseRepository {
fun getGroupMembers(id: String): Flowable>
fun retrieveGroupMembers(id: String, includeAllPublicFields: Boolean): Flowable>
- fun inviteToGroup(id: String, inviteData: Map): Flowable
+ fun inviteToGroup(id: String, inviteData: Map): Flowable>
fun getMember(userId: String?): Flowable
fun getMemberWithUsername(username: String?): Flowable
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/ApiClientImpl.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/ApiClientImpl.kt
index c6d60fcd5..38c17e637 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/ApiClientImpl.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/ApiClientImpl.kt
@@ -554,7 +554,7 @@ class ApiClientImpl // private OnHabitsAPIResult mResultListener;
return apiService.seenMessages(groupId).compose(configureApiCallObserver())
}
- override fun inviteToGroup(groupId: String, inviteData: Map): Flowable {
+ override fun inviteToGroup(groupId: String, inviteData: Map): Flowable> {
return apiService.inviteToGroup(groupId, inviteData).compose(configureApiCallObserver())
}
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/SocialRepositoryImpl.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/SocialRepositoryImpl.kt
index c58fabf92..784a45634 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/SocialRepositoryImpl.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/SocialRepositoryImpl.kt
@@ -241,7 +241,7 @@ class SocialRepositoryImpl(localRepository: SocialLocalRepository, apiClient: Ap
.doOnNext { members -> localRepository.saveGroupMembers(id, members) }
}
- override fun inviteToGroup(id: String, inviteData: Map): Flowable = apiClient.inviteToGroup(id, inviteData)
+ override fun inviteToGroup(id: String, inviteData: Map): Flowable> = apiClient.inviteToGroup(id, inviteData)
override fun getMember(userId: String?): Flowable {
return if (userId == null) {
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 07fe20db1..452d898e5 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
@@ -280,6 +280,7 @@ class NavigationDrawerFragment : DialogFragment() {
it.quest?.key ?: ""
}
.flatMapMaybe { inventoryRepository.getQuestContent(it).firstElement() }
+ .filter { (it.boss?.hp ?: 0) > 0 }
.subscribe(
{
questContent = it
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/guilds/GuildDetailFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/guilds/GuildDetailFragment.kt
index 1a80da036..c0b64f33c 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/guilds/GuildDetailFragment.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/guilds/GuildDetailFragment.kt
@@ -112,23 +112,24 @@ class GuildDetailFragment : BaseFragment() {
if (it.resultCode == Activity.RESULT_OK) {
val inviteData = HashMap()
inviteData["inviter"] = viewModel?.user?.value?.profile?.name ?: ""
- if (it.data?.getBooleanExtra(GroupInviteActivity.IS_EMAIL_KEY, false) == true) {
- val emails = it.data?.getStringArrayExtra(GroupInviteActivity.EMAILS_KEY)
+ val emails = it.data?.getStringArrayExtra(GroupInviteActivity.EMAILS_KEY)
+ if (emails != null && emails.isNotEmpty()) {
val invites = ArrayList>()
- emails?.forEach { email ->
+ emails.forEach { email ->
val invite = HashMap()
invite["name"] = ""
invite["email"] = email
invites.add(invite)
}
inviteData["emails"] = invites
- } else {
- val userIDs = it.data?.getStringArrayExtra(GroupInviteActivity.USER_IDS_KEY)
- val invites = mutableListOf()
- userIDs?.forEach { invites.add(it) }
+ }
+ val userIDs = it.data?.getStringArrayExtra(GroupInviteActivity.USER_IDS_KEY)
+ if (userIDs != null && userIDs.isNotEmpty()) {
+ val invites = ArrayList()
+ userIDs.forEach { invites.add(it) }
inviteData["usernames"] = invites
}
- viewModel?.inviteToGroup(inviteData)
+ viewModel.inviteToGroup(inviteData)
}
}
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 4e0f0bfe9..3e80cb578 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
@@ -36,6 +36,7 @@ class QuestMenuView : LinearLayout {
orientation = VERTICAL
binding.heartIconView.setImageBitmap(HabiticaIconsHelper.imageOfHeartDarkBg())
+ binding.rageIconView.setImageBitmap(HabiticaIconsHelper.imageOfRage())
binding.pendingDamageIconView.setImageBitmap(HabiticaIconsHelper.imageOfDamage())
@@ -50,16 +51,21 @@ class QuestMenuView : LinearLayout {
fun configure(quest: Quest) {
binding.healthBarView.setCurrentValue(quest.progress?.hp ?: 0.0)
+ binding.rageBarView.setCurrentValue(quest.progress?.rage ?: 0.0)
}
fun configure(questContent: QuestContent) {
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.bossNameView.text = questContent.boss?.name
binding.typeTextView.text = context.getString(R.string.boss_quest)
+
+ if (questContent.boss?.hasRage == true) {
+ binding.rageView.visibility = View.VISIBLE
+ binding.rageBarView.setMaxValue(questContent.boss?.rage?.value ?: 0.0)
+ } else {
+ binding.rageView.visibility = View.GONE
+ }
}
fun configure(user: User) {