diff --git a/app/src/main/kotlin/com/google/samples/apps/nowinandroid/MainActivity.kt b/app/src/main/kotlin/com/google/samples/apps/nowinandroid/MainActivity.kt index 599bd0b35..4ad6f0e2a 100644 --- a/app/src/main/kotlin/com/google/samples/apps/nowinandroid/MainActivity.kt +++ b/app/src/main/kotlin/com/google/samples/apps/nowinandroid/MainActivity.kt @@ -92,6 +92,8 @@ class MainActivity : ComponentActivity() { } } + viewModel.saveActivity(this) + // Keep the splash screen on-screen until the UI state is loaded. This condition is // evaluated each time the app needs to be redrawn so it should be fast to avoid blocking // the UI. diff --git a/app/src/main/kotlin/com/google/samples/apps/nowinandroid/MainActivityViewModel.kt b/app/src/main/kotlin/com/google/samples/apps/nowinandroid/MainActivityViewModel.kt index 09f4597a7..f1b7a87d0 100644 --- a/app/src/main/kotlin/com/google/samples/apps/nowinandroid/MainActivityViewModel.kt +++ b/app/src/main/kotlin/com/google/samples/apps/nowinandroid/MainActivityViewModel.kt @@ -16,6 +16,7 @@ package com.google.samples.apps.nowinandroid +import android.content.Context import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import com.google.samples.apps.nowinandroid.MainActivityUiState.Loading @@ -33,6 +34,9 @@ import javax.inject.Inject class MainActivityViewModel @Inject constructor( userDataRepository: UserDataRepository, ) : ViewModel() { + + private lateinit var _context: Context + val uiState: StateFlow = userDataRepository.userData.map { Success(it) }.stateIn( @@ -40,6 +44,10 @@ class MainActivityViewModel @Inject constructor( initialValue = Loading, started = SharingStarted.WhileSubscribed(5_000), ) + + fun saveActivity(context: Context) { + _context = context + } } sealed interface MainActivityUiState {