Возврат данных в главный поток из бесконечного пинга
В андроид проекте, метод runPingInfo получает данные от бесконечного пинга в виде массива. Как можно после каждого пакета, полученные данные возвращать в главный поток?
fun runPingInfo(serviceHost: String):LongArray?{
Thread{
val ex: Exchanger<LongArray>? = null
val command = "ping"
var commandProcess = Runtime.getRuntime().exec("$command -W 1 $serviceHost")
commandProcess.inputStream.bufferedReader().lines().forEach {
if (it.contains("time")) {
val arr = getPingInfo(it) //Array with data
println(Arrays.toString(arr))
}
}
}.start()
return null
}