Loading app/src/main/java/foundation/e/apps/ui/LoginViewModel.kt +6 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,8 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import dagger.hilt.android.lifecycle.HiltViewModel import foundation.e.apps.data.Stores import foundation.e.apps.data.enums.Source import foundation.e.apps.data.enums.User import foundation.e.apps.data.login.AuthObject import foundation.e.apps.data.login.AuthenticatorRepository Loading @@ -37,6 +39,7 @@ import javax.inject.Inject class LoginViewModel @Inject constructor( private val authenticatorRepository: AuthenticatorRepository, private val cache: Cache, private val stores: Stores ) : ViewModel() { /** Loading Loading @@ -68,6 +71,7 @@ class LoginViewModel @Inject constructor( */ fun initialAnonymousLogin(onUserSaved: () -> Unit) { viewModelScope.launch { stores.enableStore(Source.PLAY_STORE) authenticatorRepository.saveUserType(User.ANONYMOUS) onUserSaved() startLoginFlow() Loading @@ -82,6 +86,7 @@ class LoginViewModel @Inject constructor( */ fun initialGoogleLogin(email: String, oauthToken: String, onUserSaved: () -> Unit) { viewModelScope.launch { stores.enableStore(Source.PLAY_STORE) authenticatorRepository.saveGoogleLogin(email, oauthToken) authenticatorRepository.saveUserType(User.GOOGLE) onUserSaved() Loading @@ -98,6 +103,7 @@ class LoginViewModel @Inject constructor( */ fun initialNoGoogleLogin(onUserSaved: () -> Unit) { viewModelScope.launch { stores.disableStore(Source.PLAY_STORE) authenticatorRepository.setNoGoogleMode() onUserSaved() startLoginFlow() Loading app/src/test/java/foundation/e/apps/login/LoginViewModelTest.kt +4 −1 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ package foundation.e.apps.login import androidx.arch.core.executor.testing.InstantTaskExecutorRule import com.aurora.gplayapi.data.models.AuthData import foundation.e.apps.data.ResultSupreme import foundation.e.apps.data.Stores import foundation.e.apps.data.enums.User import foundation.e.apps.data.login.AuthObject import foundation.e.apps.data.login.AuthenticatorRepository Loading @@ -38,6 +39,8 @@ class LoginViewModelTest { private lateinit var authenticatorRepository: AuthenticatorRepository @Mock private lateinit var cache: Cache @Mock private lateinit var stores: Stores private lateinit var loginViewModel: LoginViewModel Loading @@ -48,7 +51,7 @@ class LoginViewModelTest { @Before fun setup() { MockitoAnnotations.openMocks(this) loginViewModel = LoginViewModel(authenticatorRepository, cache) loginViewModel = LoginViewModel(authenticatorRepository, cache, stores) } @Test Loading Loading
app/src/main/java/foundation/e/apps/ui/LoginViewModel.kt +6 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,8 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import dagger.hilt.android.lifecycle.HiltViewModel import foundation.e.apps.data.Stores import foundation.e.apps.data.enums.Source import foundation.e.apps.data.enums.User import foundation.e.apps.data.login.AuthObject import foundation.e.apps.data.login.AuthenticatorRepository Loading @@ -37,6 +39,7 @@ import javax.inject.Inject class LoginViewModel @Inject constructor( private val authenticatorRepository: AuthenticatorRepository, private val cache: Cache, private val stores: Stores ) : ViewModel() { /** Loading Loading @@ -68,6 +71,7 @@ class LoginViewModel @Inject constructor( */ fun initialAnonymousLogin(onUserSaved: () -> Unit) { viewModelScope.launch { stores.enableStore(Source.PLAY_STORE) authenticatorRepository.saveUserType(User.ANONYMOUS) onUserSaved() startLoginFlow() Loading @@ -82,6 +86,7 @@ class LoginViewModel @Inject constructor( */ fun initialGoogleLogin(email: String, oauthToken: String, onUserSaved: () -> Unit) { viewModelScope.launch { stores.enableStore(Source.PLAY_STORE) authenticatorRepository.saveGoogleLogin(email, oauthToken) authenticatorRepository.saveUserType(User.GOOGLE) onUserSaved() Loading @@ -98,6 +103,7 @@ class LoginViewModel @Inject constructor( */ fun initialNoGoogleLogin(onUserSaved: () -> Unit) { viewModelScope.launch { stores.disableStore(Source.PLAY_STORE) authenticatorRepository.setNoGoogleMode() onUserSaved() startLoginFlow() Loading
app/src/test/java/foundation/e/apps/login/LoginViewModelTest.kt +4 −1 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ package foundation.e.apps.login import androidx.arch.core.executor.testing.InstantTaskExecutorRule import com.aurora.gplayapi.data.models.AuthData import foundation.e.apps.data.ResultSupreme import foundation.e.apps.data.Stores import foundation.e.apps.data.enums.User import foundation.e.apps.data.login.AuthObject import foundation.e.apps.data.login.AuthenticatorRepository Loading @@ -38,6 +39,8 @@ class LoginViewModelTest { private lateinit var authenticatorRepository: AuthenticatorRepository @Mock private lateinit var cache: Cache @Mock private lateinit var stores: Stores private lateinit var loginViewModel: LoginViewModel Loading @@ -48,7 +51,7 @@ class LoginViewModelTest { @Before fun setup() { MockitoAnnotations.openMocks(this) loginViewModel = LoginViewModel(authenticatorRepository, cache) loginViewModel = LoginViewModel(authenticatorRepository, cache, stores) } @Test Loading