hey everyone i have something for detecting if my ...
# rx
w
hey everyone i have something for detecting if my the internet connection on a device has been lost (just buffering for a few seconds) as shown here:
Copy code
class ConnectivityMonitor : ConnectivityManager.NetworkCallback() {
    private var networkTimeout: Disposable? = null
    val connectionLost = PublishSubject.create<Unit>()

    override fun onAvailable(network: Network?) {
        super.onAvailable(network)
        Timber.v("Network available")
        networkTimeout?.dispose()
    }

    override fun onLosing(network: Network?, maxMsToLive: Int) {
        super.onLosing(network, maxMsToLive)
        Timber.v("onLosing")
    }

    override fun onLost(network: Network?) {
        super.onLost(network)
        Timber.v("onLost")

        networkTimeout = Single.timer(5, TimeUnit.SECONDS)
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe { _ ->
                Timber.i("Internet connection lost.")
                connectionLost.onNext(Unit)
            }
    }
}
i am wondering if i can avoid the use of a
Subject