mirror of
https://github.com/home-assistant/android
synced 2024-10-15 12:32:54 +00:00
Fix Thread border agent IDs encoded as hex second instance (#3838)
* Fix Thread border agent IDs encoded as hex second instance * Remove unnecessary toByteArray() and brackets * Fix indentation
This commit is contained in:
parent
ffd46b385d
commit
5a9c3922b9
|
@ -158,6 +158,7 @@ class ThreadManagerImpl @Inject constructor(
|
|||
override suspend fun getPreferredDatasetFromServer(serverId: Int): ThreadDatasetResponse? =
|
||||
getDatasetsFromServer(serverId)?.firstOrNull { it.preferred }
|
||||
|
||||
@OptIn(ExperimentalStdlibApi::class)
|
||||
override suspend fun importDatasetFromServer(
|
||||
context: Context,
|
||||
datasetId: String,
|
||||
|
@ -166,13 +167,12 @@ class ThreadManagerImpl @Inject constructor(
|
|||
) {
|
||||
val tlv = serverManager.webSocketRepository(serverId).getThreadDatasetTlv(datasetId)?.tlvAsByteArray
|
||||
if (tlv != null) {
|
||||
val borderAgentId = (
|
||||
preferredBorderAgentId ?: run {
|
||||
val borderAgentId = preferredBorderAgentId ?: run {
|
||||
Log.w(TAG, "Adding dataset with placeholder border agent ID")
|
||||
BORDER_AGENT_ID
|
||||
}
|
||||
).toByteArray()
|
||||
val threadBorderAgent = ThreadBorderAgent.newBuilder(borderAgentId).build()
|
||||
val idAsBytes = borderAgentId.let { if (it.length == 16) it.toByteArray() else it.hexToByteArray() }
|
||||
val threadBorderAgent = ThreadBorderAgent.newBuilder(idAsBytes).build()
|
||||
val threadNetworkCredentials = ThreadNetworkCredentials.fromActiveOperationalDataset(tlv)
|
||||
suspendCoroutine { cont ->
|
||||
ThreadNetwork.getClient(context).addCredentials(threadBorderAgent, threadNetworkCredentials)
|
||||
|
|
Loading…
Reference in a new issue