diff --git a/Habitica/res/values/strings.xml b/Habitica/res/values/strings.xml
index 16b8f1061..8f2eff2ec 100644
--- a/Habitica/res/values/strings.xml
+++ b/Habitica/res/values/strings.xml
@@ -865,6 +865,7 @@
Dismiss All
New Bailey Update!
%1$s has new posts]]>
+ %1$s, has new posts]]>
%1$s unallocated Stat Points]]>
Create
Only leader can create Challenges
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/NotificationsActivity.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/NotificationsActivity.kt
index 00b5c789a..7b8591dd1 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/NotificationsActivity.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/NotificationsActivity.kt
@@ -114,10 +114,11 @@ class NotificationsActivity : BaseActivity(), androidx.swiperefreshlayout.widget
private fun createNewChatMessageNotification(notification: GlobalNotification): View? {
val data = notification.getData() as? NewChatMessageData
+ val stringId = if (viewModel.isPartyMessage(data)) R.string.new_msg_party else R.string.new_msg_guild;
return createNotificationItem(
notification,
- fromHtml(getString(R.string.new_msg_guild, data?.group?.name))
+ fromHtml(getString(stringId, data?.group?.name))
)
}
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewmodels/NotificationsViewModel.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewmodels/NotificationsViewModel.kt
index 39f4cf0fd..3c4d2efdc 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewmodels/NotificationsViewModel.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewmodels/NotificationsViewModel.kt
@@ -2,7 +2,9 @@ package com.habitrpg.android.habitica.ui.viewmodels
import com.habitrpg.android.habitica.components.AppComponent
import com.habitrpg.android.habitica.models.notifications.GlobalNotification
+import com.habitrpg.android.habitica.models.notifications.NewChatMessageData
import com.habitrpg.android.habitica.models.notifications.NotificationType
+import com.habitrpg.android.habitica.models.social.UserParty
import com.playseeds.android.sdk.inappmessaging.Log
import io.reactivex.Flowable
import io.reactivex.android.schedulers.AndroidSchedulers
@@ -10,12 +12,15 @@ import io.realm.RealmList
open class NotificationsViewModel : BaseViewModel() {
+ var party: UserParty? = null
+
override fun inject(component: AppComponent) {
component.inject(this)
}
fun getNotifications(): Flowable> {
return userRepository.getUser()
+ .doOnEach { party = it.value?.party }
.map { filterSupportedTypes(it.notifications) }
.observeOn(AndroidSchedulers.mainThread())
}
@@ -33,6 +38,14 @@ open class NotificationsViewModel : BaseViewModel() {
return notifications.filter { NotificationType.contains(it.type) }
}
+ fun isPartyMessage(data: NewChatMessageData?): Boolean {
+ if (party == null || data?.group?.id == null) {
+ return false
+ }
+
+ return party?.id == data.group?.id
+ }
+
fun dismissNotification(notification: GlobalNotification) {
Log.d("NotificationsViewModel.dismissNotification " + notification.type + " " + notification.id)
//TODO("not implemented")