Перевод на сопрограммы [требует редактирования] - PullRequest
0 голосов
/ 05 октября 2019

Не могли бы вы помочь мне перевести код в сопрограммы? Я не понимаю, что и как делать, я действительно прошу вашей помощи. Я все еще новичок в Kotlin, поэтому я не могу сделать это сам. Я буду вам очень благодарен.

PS Извините за ошибки, я не очень хорошо знаю английский

закрытый внутренний класс GetDirection (val url: String, val index: Int):AsyncTask >> () {

override fun onPreExecute() {
    super.onPreExecute()
    openBottomSheetFinal()
}

override fun doInBackground(vararg params: Void?): List<List<LatLng>> {
    val client = OkHttpClient()
    val request = Request.Builder().url(url).build()
    val response = client.newCall(request).execute()
    val data = response.body()!!.string()
    Log.d("GoogleMap", " data : $data")
    val result = ArrayList<List<LatLng>>()
    try {
        val respObj = Gson().fromJson(data, GoogleMapDTO::class.java)

        val path = ArrayList<LatLng>()

        for (i in 0 until respObj.routes[0].legs[0].steps.size) {
            path.addAll(decodePolyline(respObj.routes[0].legs[0].steps[i].polyline.points))
        }
        result.add(path)
    } catch (e: Exception) {
        e.printStackTrace()
    }
    return result
}

override fun onPostExecute(result: List<List<LatLng>>) {
    val lineOption = PolylineOptions()

    for (i in result.indices) {
        lineOption.addAll(result[i])
        lineOption.width(10f)
        lineOption.color(colorArray[index])
        lineOption.geodesic(true)
    }
    if(polylineFinal[index] != null) {
        polylineFinal[index]!!.remove()
        polylineFinal[index] = null
    }
    polylineFinal[index] = map.addPolyline(lineOption)

    polylineFinal[index]!!.startCap = CustomCap(
        bitmapDescriptorFromVector(
            applicationContext,
            R.drawable.icon_round_black
        )
    )
    polylineFinal[index]!!.endCap = CustomCap(
        bitmapDescriptorFromVector(
            applicationContext,
            R.drawable.icon_round_black
        )
    )
}

}

...