diff --git a/app/src/main/java/com/geeksville/mesh/database/dao/PacketDao.kt b/app/src/main/java/com/geeksville/mesh/database/dao/PacketDao.kt index a4bb580ca..82f4fbab3 100644 --- a/app/src/main/java/com/geeksville/mesh/database/dao/PacketDao.kt +++ b/app/src/main/java/com/geeksville/mesh/database/dao/PacketDao.kt @@ -23,7 +23,7 @@ interface PacketDao { fun getMessagesFrom(contact: String): Flow> @Query("Select * from packet where data = :data") - fun findDataPacket(data: DataPacket): Packet + fun findDataPacket(data: DataPacket): Packet? @Query("Delete from packet where port_num = 1") fun deleteAllMessages() @@ -45,6 +45,6 @@ interface PacketDao { @Transaction fun updateMessageStatus(data: DataPacket, m: MessageStatus) { val new = data.copy(status = m) - update(findDataPacket(data).copy(data = new)) + findDataPacket(data)?.let { update(it.copy(data = new)) } } } diff --git a/app/src/main/java/com/geeksville/mesh/model/BTScanModel.kt b/app/src/main/java/com/geeksville/mesh/model/BTScanModel.kt index f09f23d56..d027afe91 100644 --- a/app/src/main/java/com/geeksville/mesh/model/BTScanModel.kt +++ b/app/src/main/java/com/geeksville/mesh/model/BTScanModel.kt @@ -236,9 +236,10 @@ class BTScanModel @Inject constructor( devices.value = (testnodes.map { it.fullAddress to it }).toMap().toMutableMap() // If nothing was selected, by default select the first thing we see - if (selectedAddress == null) + val activity = GeeksvilleApplication.currentActivity + if (selectedAddress == null && activity is MainActivity) changeScanSelection( - GeeksvilleApplication.currentActivity as MainActivity, + activity, testnodes.first().fullAddress )