diff --git a/app/src/main/java/com/mshdabiola/playnotepad/MainActivityViewModel.kt b/app/src/main/java/com/mshdabiola/playnotepad/MainActivityViewModel.kt index 8f487319..9254b7ef 100644 --- a/app/src/main/java/com/mshdabiola/playnotepad/MainActivityViewModel.kt +++ b/app/src/main/java/com/mshdabiola/playnotepad/MainActivityViewModel.kt @@ -19,11 +19,12 @@ import kotlinx.coroutines.flow.SharingStarted import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.stateIn +import kotlinx.coroutines.launch import javax.inject.Inject @HiltViewModel class MainActivityViewModel @Inject constructor( - userDataRepository: UserDataRepository, + private val userDataRepository: UserDataRepository, private val notePadRepository: INotePadRepository, private val labelRepository: ILabelRepository, @@ -34,7 +35,7 @@ class MainActivityViewModel @Inject constructor( }.stateIn( scope = viewModelScope, initialValue = MainActivityUiState.Loading, - started = SharingStarted.WhileSubscribed(5_000), + started = SharingStarted.WhileSubscribed(), ) val labels = labelRepository @@ -113,6 +114,12 @@ class MainActivityViewModel @Inject constructor( ) return notePadRepository.upsert(notePad) } + + fun setMainData(mainData: Long) { + viewModelScope.launch { + userDataRepository.setMainData(mainData) + } + } } sealed interface MainActivityUiState { diff --git a/app/src/main/java/com/mshdabiola/playnotepad/SharedActivityViewModel.kt b/app/src/main/java/com/mshdabiola/playnotepad/SharedActivityViewModel.kt index 73f0b7f7..50667fb0 100644 --- a/app/src/main/java/com/mshdabiola/playnotepad/SharedActivityViewModel.kt +++ b/app/src/main/java/com/mshdabiola/playnotepad/SharedActivityViewModel.kt @@ -13,6 +13,7 @@ import com.mshdabiola.data.repository.INotePadRepository import com.mshdabiola.model.Contrast import com.mshdabiola.model.DarkThemeConfig import com.mshdabiola.model.Label +import com.mshdabiola.model.MainData import com.mshdabiola.model.NoteImage import com.mshdabiola.model.NotePad import com.mshdabiola.model.ThemeBrand @@ -156,6 +157,7 @@ sealed interface SharedActivityUiState { useDynamicColor = false, shouldHideOnboarding = false, contrast = Contrast.High, + mainData = MainData.Note, ), val notepad: NotePad = NotePad(), val labels: List