Я использую библиотеку Реактивная сеть для Android.Я абсолютный новичок в RxJava, и я пытаюсь обернуть голову вокруг него.Я пытаюсь сделать следующее:
1] Постоянно наблюдать изменения в состоянии сетевого подключения телефона
2] Если телефон подключен к сети, проверьте один раз, есть ли подключение к Интернету.
Для этого у меня есть следующий код в Kotlin:
ReactiveNetwork.observeNetworkConnectivity(applicationContext)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe { connectivity ->
if (connectivity.state == NetworkInfo.State.CONNECTED) {
ReactiveNetwork.checkInternetConnectivity()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe { isConnectedToInternet ->
if (isConnectedToInternet) {
Log.d("VED-APP", "Connected to Internet")
} else {
Log.d("VED-APP", "Not Connected to Internet")
}
}
}
}
Однако этот код уродлив и очень вложен.Есть ли способ очистить этот код?
Несмотря на то, что образец в Kotlin, ответы на Java или Kotlin были бы полезны.