diff --git a/auth/src/main/java/org/futo/circles/auth/feature/log_in/LogInViewModel.kt b/auth/src/main/java/org/futo/circles/auth/feature/log_in/LogInViewModel.kt index fe4aecd2c3ef35e3cbe3baf6bc944ff442905602..9c50802a2f9e2a727eadc3ab686d9dd0b91a9371 100644 --- a/auth/src/main/java/org/futo/circles/auth/feature/log_in/LogInViewModel.kt +++ b/auth/src/main/java/org/futo/circles/auth/feature/log_in/LogInViewModel.kt @@ -3,16 +3,18 @@ package org.futo.circles.auth.feature.log_in import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import dagger.hilt.android.lifecycle.HiltViewModel -import org.futo.circles.core.extensions.Response -import org.futo.circles.core.extensions.launchBg import org.futo.circles.auth.feature.log_in.switch_user.SwitchUserDataSource +import org.futo.circles.auth.feature.token.RefreshTokenManager import org.futo.circles.core.base.SingleEventLiveData +import org.futo.circles.core.extensions.Response +import org.futo.circles.core.extensions.launchBg import javax.inject.Inject @HiltViewModel class LogInViewModel @Inject constructor( private val loginDataSource: LoginDataSource, - private val switchUserDataSource: SwitchUserDataSource + private val switchUserDataSource: SwitchUserDataSource, + private val refreshTokenManager: RefreshTokenManager ) : ViewModel() { val loginResultLiveData = SingleEventLiveData<Response<Unit>>() @@ -28,6 +30,7 @@ class LogInViewModel @Inject constructor( fun removeSwitchUser(id: String) { launchBg { switchUserDataSource.removeSwitchUser(id) + refreshTokenManager.cancelTokenRefreshingById(id) switchUsersLiveData.postValue(switchUserDataSource.getSwitchUsersList()) } } diff --git a/auth/src/main/java/org/futo/circles/auth/feature/token/RefreshTokenManager.kt b/auth/src/main/java/org/futo/circles/auth/feature/token/RefreshTokenManager.kt index 743c4f6b930153da6e613dff12a0eb283237fdc5..ef14c6f28ee8db95ec91fae6e3f16111e5ba41eb 100644 --- a/auth/src/main/java/org/futo/circles/auth/feature/token/RefreshTokenManager.kt +++ b/auth/src/main/java/org/futo/circles/auth/feature/token/RefreshTokenManager.kt @@ -51,7 +51,11 @@ class RefreshTokenManager @Inject constructor( fun cancelTokenRefreshing(session: Session) { val credentials = session.sessionParams.credentials - WorkManager.getInstance(context).cancelUniqueWork(credentials.sessionId()) + cancelTokenRefreshingById(credentials.sessionId()) + } + + fun cancelTokenRefreshingById(credentialsSessionId: String) { + WorkManager.getInstance(context).cancelUniqueWork(credentialsSessionId) } } \ No newline at end of file