Как отрефакторить функцию либо добавить ее асинхронное выполнение? Kotlin android studi
У меня есть фунция, которая на вход получает 2 двумерных массива на полторы+- тысячи строк каждый и лист с какими-то поисковыми запросами, единственная проблема - я искренне не понимаю, как это рефакторить и единственное, что пришло в голову - раскидать это по разным потокам, но не оч понимаю, как это должно выглядеть
private fun calcTotalRun(wheelData: Array<Array<String>>, bearingData: Array<Array<String>>, searches:List<String>?, numWheel:Int, numBearing:Int) {
for (i in 0 until numWheel) {
for (search: String in searches!!)
if ((search == wheelData[i][0] || search.isEmpty()))
for (j in 0 until numBearing)
if (bearingData[j][0].isNotEmpty())
if (wheelData[i][2].toInt() == bearingData[j][0].toInt())
if (isNumber(bearingData[j][1]) && (bearingData[j][1].toInt() != 0))
wheelData[i][4] =
(wheelData[i][3].toInt() + bearingData[j][1].toInt()).toString() else
wheelData[i][4] =
wheelData[i][3] + " и " + bearingData[j][1]
}
}