I have this class to check internet connection inside my app but i don't know how to upgrade it to the lastest version
class InternetCheck(private val mConsumer: Consumer) : AsyncTask<Void?, Void?, Boolean>() {
interface Consumer {
fun accept(internet: Boolean?)
}
override fun doInBackground(vararg params: Void?): Boolean {
return try {
val sock = Socket()
sock.connect(InetSocketAddress("8.8.8.8", 53), 1500)
sock.close()
true
} catch (e: IOException) {
false
}
}
override fun onPostExecute(internet: Boolean) {
mConsumer.accept(internet)
}
init {
execute()
}
}
And use it like this
InternetCheck(object : InternetCheck.Consumer {
override fun accept(internet: Boolean?) {
if (internet == true) {
/// There is a connection
}
}
})
The problem is that i see a deprecated strike on AsyncTask<Void?, Void?, Boolean>()
and I don't know how to upgrade