Loading app/src/main/java/foundation/e/apps/MainActivity.kt +10 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,7 @@ import com.google.android.material.snackbar.Snackbar import dagger.hilt.android.AndroidEntryPoint import foundation.e.apps.databinding.ActivityMainBinding import foundation.e.apps.manager.workmanager.InstallWorkManager import foundation.e.apps.setup.signin.SignInViewModel import foundation.e.apps.updates.UpdatesNotifier import foundation.e.apps.utils.enums.Status import foundation.e.apps.utils.enums.User Loading @@ -58,6 +59,7 @@ class MainActivity : AppCompatActivity() { var hasInternet = true val viewModel = ViewModelProvider(this)[MainActivityViewModel::class.java] val signInViewModel = ViewModelProvider(this)[SignInViewModel::class.java] // navOptions and activityNavController for TOS and SignIn Fragments val navOptions = NavOptions.Builder() Loading Loading @@ -91,11 +93,19 @@ class MainActivity : AppCompatActivity() { navController.navigate(R.id.signInFragment, null, navOptions) } User.GOOGLE -> { if (viewModel.authData.value == null && !viewModel.authRequestRunning) { Log.d(TAG, "Fetching new authentication data") signInViewModel.fetchAuthData() } } } } } signInViewModel.authLiveData.observe(this) { viewModel.updateAuthData(it) } // Watch and refresh authentication data viewModel.authDataJson.observe(this) { if (!it.isNullOrEmpty()) { Loading app/src/main/java/foundation/e/apps/MainActivityViewModel.kt +4 −0 Original line number Diff line number Diff line Loading @@ -81,6 +81,10 @@ class MainActivityViewModel @Inject constructor( } } fun updateAuthData(authData: AuthData) { _authData.value = authData } fun destroyCredentials() { viewModelScope.launch { dataStoreModule.destroyCredentials() Loading app/src/main/java/foundation/e/apps/api/fused/FusedAPIImpl.kt +1 −1 Original line number Diff line number Diff line Loading @@ -144,7 +144,7 @@ class FusedAPIImpl @Inject constructor( return gPlayAPIRepository.fetchAuthData() } suspend fun fetchAuthData(email: String, aasToken: String) { suspend fun fetchAuthData(email: String, aasToken: String): AuthData { return gPlayAPIRepository.fetchAuthData(email, aasToken) } Loading app/src/main/java/foundation/e/apps/api/fused/FusedAPIRepository.kt +1 −1 Original line number Diff line number Diff line Loading @@ -87,7 +87,7 @@ class FusedAPIRepository @Inject constructor( return fusedAPIImpl.fetchAuthData() } suspend fun fetchAuthData(email: String, aasToken: String) { suspend fun fetchAuthData(email: String, aasToken: String): AuthData { return fusedAPIImpl.fetchAuthData(email, aasToken) } Loading app/src/main/java/foundation/e/apps/api/gplay/GPlayAPIImpl.kt +2 −3 Original line number Diff line number Diff line Loading @@ -49,9 +49,8 @@ class GPlayAPIImpl @Inject constructor( data.await()?.let { dataStoreModule.saveCredentials(it) } } suspend fun fetchAuthData(email: String, aasToken: String) = withContext(Dispatchers.IO) { val data = async { tokenRepository.getAuthData(email, aasToken) } dataStoreModule.saveCredentials(data.await()) fun fetchAuthData(email: String, aasToken: String): AuthData { return tokenRepository.getAuthData(email, aasToken) } suspend fun validateAuthData(authData: AuthData): Boolean { Loading Loading
app/src/main/java/foundation/e/apps/MainActivity.kt +10 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,7 @@ import com.google.android.material.snackbar.Snackbar import dagger.hilt.android.AndroidEntryPoint import foundation.e.apps.databinding.ActivityMainBinding import foundation.e.apps.manager.workmanager.InstallWorkManager import foundation.e.apps.setup.signin.SignInViewModel import foundation.e.apps.updates.UpdatesNotifier import foundation.e.apps.utils.enums.Status import foundation.e.apps.utils.enums.User Loading @@ -58,6 +59,7 @@ class MainActivity : AppCompatActivity() { var hasInternet = true val viewModel = ViewModelProvider(this)[MainActivityViewModel::class.java] val signInViewModel = ViewModelProvider(this)[SignInViewModel::class.java] // navOptions and activityNavController for TOS and SignIn Fragments val navOptions = NavOptions.Builder() Loading Loading @@ -91,11 +93,19 @@ class MainActivity : AppCompatActivity() { navController.navigate(R.id.signInFragment, null, navOptions) } User.GOOGLE -> { if (viewModel.authData.value == null && !viewModel.authRequestRunning) { Log.d(TAG, "Fetching new authentication data") signInViewModel.fetchAuthData() } } } } } signInViewModel.authLiveData.observe(this) { viewModel.updateAuthData(it) } // Watch and refresh authentication data viewModel.authDataJson.observe(this) { if (!it.isNullOrEmpty()) { Loading
app/src/main/java/foundation/e/apps/MainActivityViewModel.kt +4 −0 Original line number Diff line number Diff line Loading @@ -81,6 +81,10 @@ class MainActivityViewModel @Inject constructor( } } fun updateAuthData(authData: AuthData) { _authData.value = authData } fun destroyCredentials() { viewModelScope.launch { dataStoreModule.destroyCredentials() Loading
app/src/main/java/foundation/e/apps/api/fused/FusedAPIImpl.kt +1 −1 Original line number Diff line number Diff line Loading @@ -144,7 +144,7 @@ class FusedAPIImpl @Inject constructor( return gPlayAPIRepository.fetchAuthData() } suspend fun fetchAuthData(email: String, aasToken: String) { suspend fun fetchAuthData(email: String, aasToken: String): AuthData { return gPlayAPIRepository.fetchAuthData(email, aasToken) } Loading
app/src/main/java/foundation/e/apps/api/fused/FusedAPIRepository.kt +1 −1 Original line number Diff line number Diff line Loading @@ -87,7 +87,7 @@ class FusedAPIRepository @Inject constructor( return fusedAPIImpl.fetchAuthData() } suspend fun fetchAuthData(email: String, aasToken: String) { suspend fun fetchAuthData(email: String, aasToken: String): AuthData { return fusedAPIImpl.fetchAuthData(email, aasToken) } Loading
app/src/main/java/foundation/e/apps/api/gplay/GPlayAPIImpl.kt +2 −3 Original line number Diff line number Diff line Loading @@ -49,9 +49,8 @@ class GPlayAPIImpl @Inject constructor( data.await()?.let { dataStoreModule.saveCredentials(it) } } suspend fun fetchAuthData(email: String, aasToken: String) = withContext(Dispatchers.IO) { val data = async { tokenRepository.getAuthData(email, aasToken) } dataStoreModule.saveCredentials(data.await()) fun fetchAuthData(email: String, aasToken: String): AuthData { return tokenRepository.getAuthData(email, aasToken) } suspend fun validateAuthData(authData: AuthData): Boolean { Loading