@@ -154,13 +154,10 @@ import io.homeassistant.companion.android.webview.externalbus.NavigateTo
154154import io.homeassistant.companion.android.webview.externalbus.ShowSidebar
155155import io.homeassistant.companion.android.webview.insecure.BlockInsecureFragment
156156import javax.inject.Inject
157- import kotlinx.coroutines.CoroutineScope
158157import kotlinx.coroutines.Dispatchers
159- import kotlinx.coroutines.Job
160158import kotlinx.coroutines.delay
161159import kotlinx.coroutines.launch
162160import kotlinx.coroutines.sync.Mutex
163- import kotlinx.coroutines.withContext
164161import kotlinx.serialization.json.Json
165162import kotlinx.serialization.json.JsonObject
166163import timber.log.Timber
@@ -189,7 +186,6 @@ class WebViewActivity :
189186 private const val CONNECTION_DELAY = 10000L
190187 }
191188
192- private val ioScope: CoroutineScope = CoroutineScope (Dispatchers .Main + Job ())
193189 private val requestPermissions =
194190 registerForActivityResult(ActivityResultContracts .RequestMultiplePermissions ()) {
195191 if (it.any { result -> result.value }) {
@@ -509,7 +505,7 @@ class WebViewActivity :
509505
510506 setWebViewZoom()
511507 if (moreInfoEntity != " " && view?.progress == 100 && isConnected) {
512- ioScope .launch {
508+ lifecycleScope .launch {
513509 val owner = " onPageFinished:$moreInfoEntity "
514510 if (moreInfoMutex.tryLock(owner)) {
515511 delay(2000L )
@@ -1712,10 +1708,10 @@ class WebViewActivity :
17121708 alert.setMessage(commonR.string.tls_cert_not_found_message)
17131709 alert.setTitle(commonR.string.tls_cert_title)
17141710 alert.setPositiveButton(android.R .string.ok) { _, _ ->
1715- ioScope .launch {
1711+ lifecycleScope .launch {
17161712 serverManager.getServer(presenter.getActiveServer())?.let {
17171713 serverManager.removeServer(it.id)
1718- withContext( Dispatchers . Main ) { relaunchApp() }
1714+ relaunchApp()
17191715 }
17201716 }
17211717 }
@@ -1729,18 +1725,18 @@ class WebViewActivity :
17291725 alert.setMessage(commonR.string.tls_cert_expired_message)
17301726 alert.setTitle(commonR.string.tls_cert_title)
17311727 alert.setPositiveButton(android.R .string.ok) { _, _ ->
1732- ioScope .launch {
1728+ lifecycleScope .launch {
17331729 keyChainRepository.clear()
1730+ relaunchApp()
17341731 }
1735- relaunchApp()
17361732 }
17371733 } else if (errorType == ErrorType .AUTHENTICATION ) {
17381734 alert.setMessage(commonR.string.error_auth_revoked)
17391735 alert.setPositiveButton(android.R .string.ok) { _, _ ->
1740- ioScope .launch {
1736+ lifecycleScope .launch {
17411737 serverManager.getServer(presenter.getActiveServer())?.let {
17421738 serverManager.removeServer(it.id)
1743- withContext( Dispatchers . Main ) { relaunchApp() }
1739+ relaunchApp()
17441740 }
17451741 }
17461742 }
0 commit comments