diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ServiceManager.kt b/app/src/main/java/com/vitorpamplona/amethyst/ServiceManager.kt index 9acaa0d60..97e7f4607 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ServiceManager.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ServiceManager.kt @@ -2,6 +2,7 @@ package com.vitorpamplona.amethyst import android.content.Context import android.os.Build +import android.util.Log import coil.Coil import coil.ImageLoader import coil.decode.GifDecoder @@ -31,7 +32,10 @@ object ServiceManager { start(context) } + @Synchronized fun start(context: Context) { + Log.d("ServiceManager", "Starting Relay Services") + val myAccount = account // Resets Proxy Use @@ -75,6 +79,8 @@ object ServiceManager { } fun pause() { + Log.d("ServiceManager", "Pausing Relay Services") + NostrAccountDataSource.stop() NostrHomeDataSource.stop() NostrChannelDataSource.stop() diff --git a/app/src/main/java/com/vitorpamplona/amethyst/VideoCache.kt b/app/src/main/java/com/vitorpamplona/amethyst/VideoCache.kt index 887daaa52..771aaa120 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/VideoCache.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/VideoCache.kt @@ -19,6 +19,7 @@ object VideoCache { lateinit var cacheDataSourceFactory: CacheDataSource.Factory + @Synchronized fun init(context: Context) { if (!this::simpleCache.isInitialized) { exoDatabaseProvider = StandaloneDatabaseProvider(context) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/MainActivity.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/MainActivity.kt index 5e0fe7109..13cc1b440 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/MainActivity.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/MainActivity.kt @@ -7,6 +7,7 @@ import android.net.Network import android.net.NetworkCapabilities import android.net.NetworkRequest import android.os.Bundle +import android.util.Log import androidx.activity.compose.setContent import androidx.activity.result.contract.ActivityResultContracts import androidx.compose.foundation.layout.fillMaxSize @@ -108,9 +109,10 @@ class MainActivity : FragmentActivity() { // network is available for use override fun onAvailable(network: Network) { super.onAvailable(network) - + Log.d("NETWORKCALLBACK", "onAvailable: Disconnecting and connecting again") // Only starts after login GlobalScope.launch(Dispatchers.IO) { + ServiceManager.pause() ServiceManager.start(this@MainActivity) } } @@ -126,7 +128,7 @@ class MainActivity : FragmentActivity() { // lost network connection override fun onLost(network: Network) { super.onLost(network) - + Log.d("NETWORKCALLBACK", "onLost: Disconnecting and pausing relay's connection") // Only starts after login GlobalScope.launch(Dispatchers.IO) { ServiceManager.pause()