mirror of
https://github.com/meshtastic/Meshtastic-Android.git
synced 2026-04-20 22:23:37 +00:00
Added delete all messages into the AlertDialog.
This commit is contained in:
parent
863426ce6b
commit
93e81e4639
5 changed files with 33 additions and 1 deletions
|
|
@ -69,6 +69,8 @@ interface IMeshService {
|
|||
|
||||
void delete(int position);
|
||||
|
||||
void deleteAllMessages();
|
||||
|
||||
/**
|
||||
Get the IDs of everyone on the mesh. You should also subscribe for NODE_CHANGE broadcasts.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -53,6 +53,13 @@ class MessagesState(private val ui: UIViewModel) : Logging {
|
|||
messages.value = messagesList
|
||||
}
|
||||
|
||||
private fun removeAllMessages() {
|
||||
debug("Removing all messages")
|
||||
|
||||
messagesList.clear()
|
||||
messages.value = messagesList
|
||||
}
|
||||
|
||||
fun updateStatus(id: Int, status: MessageStatus) {
|
||||
// Super inefficent but this is rare
|
||||
debug("Handling message status change $id: $status")
|
||||
|
|
@ -102,4 +109,16 @@ class MessagesState(private val ui: UIViewModel) : Logging {
|
|||
}
|
||||
removeMessage(packet)
|
||||
}
|
||||
|
||||
fun deleteAllMessages() {
|
||||
val service = ui.meshService
|
||||
if (service != null) {
|
||||
try {
|
||||
service.deleteAllMessages()
|
||||
} catch (ex: RemoteException) {
|
||||
|
||||
}
|
||||
removeAllMessages()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1789,6 +1789,10 @@ class MeshService : Service(), Logging {
|
|||
}
|
||||
}
|
||||
|
||||
override fun deleteAllMessages() {
|
||||
recentDataPackets.clear()
|
||||
}
|
||||
|
||||
override fun send(p: DataPacket) {
|
||||
toRemoteExceptions {
|
||||
// Init from and id
|
||||
|
|
|
|||
|
|
@ -173,9 +173,15 @@ class MessagesFragment : ScreenFragment("Messages"), Logging {
|
|||
) { _, _ ->
|
||||
model.messagesState.deleteMessage((messages[position]), position)
|
||||
}
|
||||
deleteMessageDialog.setNegativeButton(R.string.cancel
|
||||
deleteMessageDialog.setNeutralButton(
|
||||
R.string.cancel
|
||||
) { _, _ ->
|
||||
}
|
||||
deleteMessageDialog.setNegativeButton(
|
||||
R.string.delete_all_messages
|
||||
) { _, _ ->
|
||||
model.messagesState.deleteAllMessages()
|
||||
}
|
||||
deleteMessageDialog.create()
|
||||
deleteMessageDialog.show()
|
||||
true
|
||||
|
|
|
|||
|
|
@ -122,4 +122,5 @@
|
|||
<string name="modem_config_slow_medium">Medium Range / Slow</string>
|
||||
<string name="delete_selected_message">Delete selected message?</string>
|
||||
<string name="delete">Delete</string>
|
||||
<string name="delete_all_messages">Delete All Messages</string>
|
||||
</resources>
|
||||
Loading…
Add table
Add a link
Reference in a new issue