fix: fixed sync status showing
This commit is contained in:
@@ -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)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user