fix relay reconnecting when returning from external signer
This commit is contained in:
@@ -49,6 +49,8 @@ import kotlinx.coroutines.GlobalScope
|
|||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import java.net.URLEncoder
|
import java.net.URLEncoder
|
||||||
import java.nio.charset.StandardCharsets
|
import java.nio.charset.StandardCharsets
|
||||||
|
import java.util.Timer
|
||||||
|
import kotlin.concurrent.schedule
|
||||||
|
|
||||||
class MainActivity : AppCompatActivity() {
|
class MainActivity : AppCompatActivity() {
|
||||||
private val isOnMobileDataState = mutableStateOf(false)
|
private val isOnMobileDataState = mutableStateOf(false)
|
||||||
@@ -108,6 +110,7 @@ class MainActivity : AppCompatActivity() {
|
|||||||
DefaultMutedSetting.value = true
|
DefaultMutedSetting.value = true
|
||||||
|
|
||||||
// Keep connection alive if it's calling the signer app
|
// Keep connection alive if it's calling the signer app
|
||||||
|
Log.d("shouldPauseService", "shouldPauseService onResume: $shouldPauseService")
|
||||||
if (shouldPauseService) {
|
if (shouldPauseService) {
|
||||||
GlobalScope.launch(Dispatchers.IO) {
|
GlobalScope.launch(Dispatchers.IO) {
|
||||||
serviceManager.justStart()
|
serviceManager.justStart()
|
||||||
@@ -121,8 +124,10 @@ class MainActivity : AppCompatActivity() {
|
|||||||
(getSystemService(ConnectivityManager::class.java) as ConnectivityManager).registerDefaultNetworkCallback(networkCallback)
|
(getSystemService(ConnectivityManager::class.java) as ConnectivityManager).registerDefaultNetworkCallback(networkCallback)
|
||||||
|
|
||||||
// resets state until next External Signer Call
|
// resets state until next External Signer Call
|
||||||
|
Timer().schedule(350) {
|
||||||
shouldPauseService = true
|
shouldPauseService = true
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
override fun onPause() {
|
override fun onPause() {
|
||||||
LanguageTranslatorService.clear()
|
LanguageTranslatorService.clear()
|
||||||
@@ -134,6 +139,7 @@ class MainActivity : AppCompatActivity() {
|
|||||||
}
|
}
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
Log.d("shouldPauseService", "shouldPauseService onPause: $shouldPauseService")
|
||||||
if (shouldPauseService) {
|
if (shouldPauseService) {
|
||||||
GlobalScope.launch(Dispatchers.IO) {
|
GlobalScope.launch(Dispatchers.IO) {
|
||||||
serviceManager.pauseForGood()
|
serviceManager.pauseForGood()
|
||||||
@@ -171,10 +177,13 @@ class MainActivity : AppCompatActivity() {
|
|||||||
override fun onAvailable(network: Network) {
|
override fun onAvailable(network: Network) {
|
||||||
super.onAvailable(network)
|
super.onAvailable(network)
|
||||||
|
|
||||||
|
Log.d("shouldPauseService", "shouldPauseService onAvailable: $shouldPauseService")
|
||||||
|
if (shouldPauseService) {
|
||||||
GlobalScope.launch(Dispatchers.IO) {
|
GlobalScope.launch(Dispatchers.IO) {
|
||||||
serviceManager.forceRestart()
|
serviceManager.forceRestart()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Network capabilities have changed for the network
|
// Network capabilities have changed for the network
|
||||||
override fun onCapabilitiesChanged(
|
override fun onCapabilitiesChanged(
|
||||||
@@ -202,7 +211,8 @@ class MainActivity : AppCompatActivity() {
|
|||||||
changedNetwork = true
|
changedNetwork = true
|
||||||
}
|
}
|
||||||
|
|
||||||
if (changedNetwork) {
|
Log.d("shouldPauseService", "shouldPauseService onCapabilitiesChanged: $shouldPauseService")
|
||||||
|
if (changedNetwork && shouldPauseService) {
|
||||||
GlobalScope.launch(Dispatchers.IO) {
|
GlobalScope.launch(Dispatchers.IO) {
|
||||||
serviceManager.forceRestart()
|
serviceManager.forceRestart()
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user