fix: fixed sync status showing

This commit is contained in:
2026-06-10 12:09:01 +03:00
parent ea4011e2ff
commit f9a1a70faf
2 changed files with 23 additions and 10 deletions
@@ -15,25 +15,38 @@ fun generateCode(value: String, format: BarcodeFormat): Bitmap {
return BarcodeEncoder().createBitmap(matrix)
}
fun sendToWatch(context: Context, path: String, message: String): Boolean {
fun sendToWatch(context: Context, path: String, message: String, onResult: (Boolean) -> Unit): Boolean {
val nodeClient = Wearable.getNodeClient(context)
var isSuccess = false
nodeClient.connectedNodes.addOnSuccessListener { nodes ->
if (nodes.isEmpty()) {
Toast.makeText(context, "Watch is not connected", Toast.LENGTH_SHORT).show()
onResult(false)
return@addOnSuccessListener
}
var completedCount = 0
var isAnySuccess = false
nodes.forEach { node ->
Wearable.getMessageClient(context).sendMessage(
node.id,
path,
message.toByteArray(Charsets.UTF_8)
).addOnSuccessListener {
isSuccess = true
).addOnCompleteListener { task ->
completedCount++
if (task.isSuccessful) {
isAnySuccess = true
}
if (completedCount == nodes.size) {
onResult(isAnySuccess)
}
}.addOnFailureListener {
onResult(false)
}
}
}