0

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

sheko
  • 516
  • 4
  • 15

0 Answers0