Fixed detecting if account has unread messages

This commit is contained in:
Juha Heinanen
2022-03-09 11:19:56 +02:00
parent b543310f38
commit 05f601a4dd
@@ -21,6 +21,7 @@ class ChatsActivity: AppCompatActivity() {
internal lateinit var peerUri: AutoCompleteTextView internal lateinit var peerUri: AutoCompleteTextView
private lateinit var plusButton: ImageButton private lateinit var plusButton: ImageButton
internal lateinit var aor: String internal lateinit var aor: String
internal lateinit var account: Account
private var scrollPosition = -1 private var scrollPosition = -1
public override fun onCreate(savedInstanceState: Bundle?) { public override fun onCreate(savedInstanceState: Bundle?) {
@@ -34,6 +35,7 @@ class ChatsActivity: AppCompatActivity() {
aor = intent.extras!!.getString("aor")!! aor = intent.extras!!.getString("aor")!!
Utils.addActivity("chats,$aor") Utils.addActivity("chats,$aor")
account = UserAgent.ofAor(aor)!!.account
val headerView = binding.account val headerView = binding.account
val headerText = "${getString(R.string.account)} ${aor.split(":")[1]}" val headerText = "${getString(R.string.account)} ${aor.split(":")[1]}"
@@ -188,7 +190,7 @@ class ChatsActivity: AppCompatActivity() {
Message.save() Message.save()
uaMessages.clear() uaMessages.clear()
clAdapter.notifyDataSetChanged() clAdapter.notifyDataSetChanged()
UserAgent.ofAor(aor)!!.account.unreadMessages = false account.unreadMessages = false
dialog.dismiss() dialog.dismiss()
} }
setNeutralButton(getText(R.string.cancel)) { dialog, _ -> setNeutralButton(getText(R.string.cancel)) { dialog, _ ->
@@ -221,6 +223,7 @@ class ChatsActivity: AppCompatActivity() {
private fun uaMessages(aor: String) : ArrayList<Message> { private fun uaMessages(aor: String) : ArrayList<Message> {
val res = ArrayList<Message>() val res = ArrayList<Message>()
account.unreadMessages = false
for (m in Message.messages().reversed()) { for (m in Message.messages().reversed()) {
if (m.aor != aor) continue if (m.aor != aor) continue
var found = false var found = false
@@ -229,7 +232,11 @@ class ChatsActivity: AppCompatActivity() {
found = true found = true
break break
} }
if (!found) res.add(m) if (!found) {
res.add(m)
if (m.new)
account.unreadMessages = true
}
} }
return res return res
} }