Google is deprecating Android AsyncTask API in Android 11
Google is deprecating Android AsyncTask API in Android 11 and suggesting to use java.util.concurrent instead
My question is that what should be proper replacement of the code snippet shown below using java.util.concurrent
package gaspriceinegypt.gaspriceegypt.gaspriceinegypt
import android.os.AsyncTask
import com.google.android.gms.maps.GoogleMap
import gaspriceinegypt.gaspriceegypt.gaspriceinegypt.DownloadUrl
import org.json.JSONObject
import org.json.JSONArray
import com.google.android.gms.maps.model.LatLng
import com.google.android.gms.maps.model.MarkerOptions
import com.google.android.gms.maps.CameraUpdateFactory
import org.json.JSONException
import java.io.IOException
class FetchData : AsyncTask<Any?, String?, String?>() {
    var googleNeatByPlacesData: String? = null
    var googleMap: GoogleMap? = null
    var url: String? = null
    override fun onPostExecute(s: String?) {
        try {
            val jsonObject = JSONObject(s)
            val jsonArray = jsonObject.getJSONArray("results")
            for (i in 0 until jsonArray.length()) {
                val jsonObject1 = jsonArray.getJSONObject(i)
                val getLocation = jsonObject1.getJSONObject("geometry").getJSONObject("location")
                val lat = getLocation.getString("lat")
                val lng = getLocation.getString("lng")
                val getName = jsonArray.getJSONObject(i)
                val name = getName.getString("name")
                val latLng = LatLng(lat.toDouble(), lng.toDouble())
                val markerOptions = MarkerOptions()
                markerOptions.title(name)
                markerOptions.position(latLng)
                googleMap!!.addMarker(markerOptions)
                googleMap!!.moveCamera(CameraUpdateFactory.newLatLngZoom(latLng, 15f))
            }
        } catch (e: JSONException) {
            e.printStackTrace()
        }
    }
    override fun doInBackground(vararg objects: Any?): String? {
        try {
            googleMap = objects[0] as GoogleMap
            url = objects[1] as String
            val downloadUrl = DownloadUrl()
            googleNeatByPlacesData = downloadUrl.retireveUrl(url)
        } catch (e: IOException) {
            e.printStackTrace()
        }
        return googleNeatByPlacesData
    }
}
 
    