From 2374ba26e26cf2790432ef930bea2a93a394a024 Mon Sep 17 00:00:00 2001 From: antonydp <38143733+antonydp@users.noreply.github.com> Date: Mon, 7 Nov 2022 14:06:44 +0100 Subject: [PATCH] accountsLoginLock.withLock{} --- .../lagradost/cloudstream3/MainActivity.kt | 29 ++++++++++++------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/com/lagradost/cloudstream3/MainActivity.kt b/app/src/main/java/com/lagradost/cloudstream3/MainActivity.kt index cfd650bb..6805ec81 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/MainActivity.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/MainActivity.kt @@ -329,6 +329,7 @@ class MainActivity : AppCompatActivity(), ColorPickerDialogListener { //private var mCastSession: CastSession? = null lateinit var mSessionManager: SessionManager private val mSessionManagerListener: SessionManagerListener by lazy { SessionManagerListenerImpl() } + private val accountsLoginLock = Mutex() private inner class SessionManagerListenerImpl : SessionManagerListener { override fun onSessionStarting(session: Session) { @@ -507,8 +508,14 @@ class MainActivity : AppCompatActivity(), ColorPickerDialogListener { val settingsManager = PreferenceManager.getDefaultSharedPreferences(this) super.onStart() ioSafe { - if (githubApi.getLatestLoginData() != null && settingsManager.getBoolean(getString(R.string.automatic_cloud_backups), true)){ - context?.restorePromptGithub() + accountsLoginLock.withLock { + if (githubApi.getLatestLoginData() != null && settingsManager.getBoolean( + getString(R.string.automatic_cloud_backups), + true + ) + ) { + context?.restorePromptGithub() + } } } } @@ -605,15 +612,17 @@ class MainActivity : AppCompatActivity(), ColorPickerDialogListener { // init accounts ioSafe { - for (api in accountManagers) { - api.init() - } + accountsLoginLock.withLock{ + for (api in accountManagers) { + api.init() + } - inAppAuths.amap { api -> - try { - api.initialize() - } catch (e: Exception) { - logError(e) + inAppAuths.amap { api -> + try { + api.initialize() + } catch (e: Exception) { + logError(e) + } } } }