Fix Thread border agent IDs encoded as hex (#3828)

This commit is contained in:
Joris Pelgröm 2023-08-28 23:44:49 +02:00 committed by GitHub
parent 3cc7bdca08
commit 02160c4f48
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -252,8 +252,10 @@ class ThreadManagerImpl @Inject constructor(
serverManager.integrationRepository(serverId).clearOrphanedThreadBorderAgentIds()
}
@OptIn(ExperimentalStdlibApi::class)
private suspend fun deleteThreadCredential(context: Context, borderAgentId: String) = suspendCoroutine { cont ->
val threadBorderAgent = ThreadBorderAgent.newBuilder(borderAgentId.toByteArray()).build()
val idAsBytes = borderAgentId.let { if (it.length == 16) it.toByteArray() else it.hexToByteArray() }
val threadBorderAgent = ThreadBorderAgent.newBuilder(idAsBytes).build()
ThreadNetwork.getClient(context)
.removeCredentials(threadBorderAgent)
.addOnSuccessListener { cont.resume(true) }