Settings are lost on every app restart
Currently ProcessingConfig is created fresh each time. Users lose all preferences (mode, quality, format, bitrate, noise reduction, stereo width) after closing the app.
Tasks
1. Add Jetpack DataStore dependency
In app/build.gradle.kts:
implementation("androidx.datastore:datastore-preferences:1.1.1")
2. Create SettingsRepository
File: app/src/main/java/com/example/vocalremover/data/SettingsRepository.kt
fun getConfig(): Flow<ProcessingConfig>
suspend fun saveConfig(config: ProcessingConfig)
3. Wire into DI
In DataModule.kt: provide SettingsRepository as @Singleton
4. Update MainViewModel
- Load saved config on init
- On settings change → save config automatically
5. Update SettingsSection.kt
- On any setting change callback →
viewModel.updateConfig(...)
Acceptance Criteria
Settings are lost on every app restart
Currently
ProcessingConfigis created fresh each time. Users lose all preferences (mode, quality, format, bitrate, noise reduction, stereo width) after closing the app.Tasks
1. Add Jetpack DataStore dependency
In
app/build.gradle.kts:implementation("androidx.datastore:datastore-preferences:1.1.1")2. Create SettingsRepository
File:
app/src/main/java/com/example/vocalremover/data/SettingsRepository.ktfun getConfig(): Flow<ProcessingConfig>suspend fun saveConfig(config: ProcessingConfig)3. Wire into DI
In
DataModule.kt: provideSettingsRepositoryas@Singleton4. Update MainViewModel
5. Update SettingsSection.kt
viewModel.updateConfig(...)Acceptance Criteria