diff --git a/app/src/main/java/org/futo/circles/App.kt b/app/src/main/java/org/futo/circles/App.kt index 7c94023e5e469d37d502c4cf81d8bb90c3ec61c5..644f369d1942c39bc4cb5aaf0251e6a5d3a17183 100644 --- a/app/src/main/java/org/futo/circles/App.kt +++ b/app/src/main/java/org/futo/circles/App.kt @@ -90,6 +90,7 @@ class App : Application() { override fun onResume(owner: LifecycleOwner) { fcmHelper.onEnterForeground() MatrixSessionProvider.currentSession?.syncService()?.stopAnyBackgroundSync() + NetworkObserver.updateConnectionState(applicationContext) } override fun onPause(owner: LifecycleOwner) { diff --git a/core/src/main/AndroidManifest.xml b/core/src/main/AndroidManifest.xml index 3de53f08d1a3637f60e5f0f887e94cc3d855ba8a..9af6326419d89b2b53a9a7e44760504d81ed99ec 100644 --- a/core/src/main/AndroidManifest.xml +++ b/core/src/main/AndroidManifest.xml @@ -1,6 +1,7 @@ <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android"> + <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.VIBRATE" /> </manifest> \ No newline at end of file diff --git a/core/src/main/java/org/futo/circles/core/base/NetworkObserver.kt b/core/src/main/java/org/futo/circles/core/base/NetworkObserver.kt index 175028eafd3cce4ee9b751aa760f079bf4c3ae95..e0d6dde162e6bbfd6476071d80cdfb774a1f502c 100644 --- a/core/src/main/java/org/futo/circles/core/base/NetworkObserver.kt +++ b/core/src/main/java/org/futo/circles/core/base/NetworkObserver.kt @@ -21,10 +21,14 @@ object NetworkObserver { fun isConnected() = internetConnectionFlow.value fun register(context: Context) { - internetConnectionFlow.value = isConnectedToInternet(context) + updateConnectionState(context) setInternetConnectionObserver(context) { internetConnectionFlow.value = it } } + fun updateConnectionState(context: Context) { + internetConnectionFlow.value = isConnectedToInternet(context) + } + fun observe(lifecycleOwner: LifecycleOwner, onConnectionChanged: (Boolean) -> Unit) { lifecycleOwner.lifecycleScope.launch { lifecycleOwner.repeatOnLifecycle(Lifecycle.State.STARTED) {