kopia lustrzana https://github.com/meshtastic/Meshtastic-Android
feat: show names with a lock for DMs using PKC
rodzic
7e1ab62568
commit
2433cbc00a
|
@ -167,6 +167,9 @@ data class DataPacket(
|
|||
/// special broadcast address
|
||||
const val NODENUM_BROADCAST = (0xffffffff).toInt()
|
||||
|
||||
// Public-key cryptography (PKC) channel index
|
||||
const val PKC_CHANNEL_INDEX = 8
|
||||
|
||||
fun nodeNumToDefaultId(n: Int): String = "!%08x".format(n)
|
||||
fun idToDefaultNodeNum(id: String?): Int? = id?.toLong(16)?.toInt()
|
||||
|
||||
|
|
|
@ -533,7 +533,7 @@ class MeshService : Service(), Logging {
|
|||
dataType = data.portnumValue,
|
||||
bytes = data.payload.toByteArray(),
|
||||
hopLimit = packet.hopLimit,
|
||||
channel = packet.channel,
|
||||
channel = if (packet.pkiEncrypted) DataPacket.PKC_CHANNEL_INDEX else packet.channel,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,6 +22,7 @@ import androidx.lifecycle.asLiveData
|
|||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.lifecycle.repeatOnLifecycle
|
||||
import com.geeksville.mesh.DataPacket
|
||||
import com.geeksville.mesh.android.Logging
|
||||
import com.geeksville.mesh.R
|
||||
import com.geeksville.mesh.database.entity.QuickChatAction
|
||||
|
@ -121,10 +122,12 @@ class MessagesFragment : Fragment(), Logging {
|
|||
contactKey = arguments?.getString("contactKey").toString()
|
||||
val contactName = arguments?.getString("contactName").toString()
|
||||
binding.toolbar.title = contactName
|
||||
if (contactKey[1] == '!') {
|
||||
val channelNumber = contactKey[0].digitToIntOrNull()
|
||||
if (channelNumber == DataPacket.PKC_CHANNEL_INDEX) {
|
||||
binding.toolbar.title = "$contactName🔒"
|
||||
} else if (channelNumber != null && contactKey.substring(1) != DataPacket.ID_BROADCAST) {
|
||||
lifecycleScope.launch {
|
||||
repeatOnLifecycle(Lifecycle.State.STARTED) {
|
||||
val channelNumber = contactKey[0].digitToInt()
|
||||
model.channels.collect { channels ->
|
||||
val channelName =
|
||||
channels.getChannel(channelNumber)?.name ?: "Unknown Channel"
|
||||
|
|
Ładowanie…
Reference in New Issue