move DELAYED_BROADCAST logic to service

This commit is contained in:
andrekir 2022-09-03 07:38:36 -03:00
parent 8516eea9c5
commit e90b856524
4 changed files with 5 additions and 13 deletions

View file

@ -235,8 +235,7 @@ class ContactsFragment : ScreenFragment("Messages"), Logging {
// find messages for each contactId
selectedList.forEach { contactId ->
deleteList += messagesTotal.filter {
if (contactId == DataPacket.ID_BROADCAST)
it.to == DataPacket.ID_BROADCAST || it.delayed == 1 // MeshPacket.Delayed.DELAYED_BROADCAST_VALUE == 1
if (contactId == DataPacket.ID_BROADCAST) it.to == DataPacket.ID_BROADCAST
else it.from == contactId && it.to != DataPacket.ID_BROADCAST || it.from == DataPacket.ID_LOCAL && it.to == contactId
}
}

View file

@ -225,8 +225,7 @@ class MessagesFragment : Fragment(), Logging {
/// Called when our node DB changes
fun onMessagesChanged(msgIn: Collection<DataPacket>) {
messages = msgIn.filter {
if (contactId == DataPacket.ID_BROADCAST)
it.to == DataPacket.ID_BROADCAST || it.delayed == 1 // MeshPacket.Delayed.DELAYED_BROADCAST_VALUE == 1
if (contactId == DataPacket.ID_BROADCAST) it.to == DataPacket.ID_BROADCAST
else it.from == contactId && it.to != DataPacket.ID_BROADCAST || it.from == DataPacket.ID_LOCAL && it.to == contactId
}.toTypedArray()
notifyDataSetChanged() // FIXME, this is super expensive and redraws all messages