diff --git a/app/build.gradle b/app/build.gradle index 2115c8f4d..efcff6e57 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -62,6 +62,7 @@ dependencies { implementation 'com.jakewharton.timber:timber:4.7.1' implementation 'com.github.skoumalcz:teanity:0.3.3' implementation 'com.ncapdevi:frag-nav:3.2.0' + implementation 'com.github.pwittchen:reactivenetwork-rx2:3.0.3' def vMarkwon = '3.1.0' implementation "ru.noties.markwon:core:${vMarkwon}" diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/base/MagiskViewModel.kt b/app/src/main/java/com/topjohnwu/magisk/ui/base/MagiskViewModel.kt index 0e5492cb7..f30d6aa4a 100644 --- a/app/src/main/java/com/topjohnwu/magisk/ui/base/MagiskViewModel.kt +++ b/app/src/main/java/com/topjohnwu/magisk/ui/base/MagiskViewModel.kt @@ -1,7 +1,10 @@ package com.topjohnwu.magisk.ui.base import android.app.Activity +import com.github.pwittchen.reactivenetwork.library.rx2.ReactiveNetwork import com.skoumal.teanity.extensions.doOnSubscribeUi +import com.skoumal.teanity.extensions.subscribeK +import com.skoumal.teanity.util.KObservableField import com.skoumal.teanity.viewmodel.LoadingViewModel import com.topjohnwu.magisk.model.events.BackPressEvent import com.topjohnwu.magisk.model.events.PermissionEvent @@ -12,6 +15,14 @@ import io.reactivex.subjects.PublishSubject abstract class MagiskViewModel : LoadingViewModel() { + val isConnected = KObservableField(true) + + init { + ReactiveNetwork.observeInternetConnectivity() + .subscribeK { isConnected.value = it } + .add() + } + fun withView(action: Activity.() -> Unit) { ViewActionEvent(action).publish() }