mirror of
https://github.com/austinried/subtracks.git
synced 2026-11-15 00:42:54 +01:00
settings: add the replay gain controls
Final slice: the screen that drives the mode and preamp preferences the playback side already reads. Until now `setReplayGainMode` and `setReplayGainPreampDb` had no production caller, so Off and the preamp were unreachable. - `SettingsViewModel` exposes both preferences and writes them back. - The Playback section gains a "Replay gain" row opening an Off / Track / Album choice, and a "Preamp" row opening a slider across the +-15 dB range in 0.5 dB steps. - `ReplayGainMode` is ordered Off, Track, Album so the choice list reads that way; the stored value is the name, so the order is not persisted and the default is still Track. - The labels live in their own file so the signed decibel formatting can be tested, as `formatTrackTime` does.
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
package com.subtracks.ui.settings
|
||||
|
||||
import android.content.Context
|
||||
import androidx.test.core.app.ApplicationProvider
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||
import com.subtracks.data.prefs.ReplayGainMode
|
||||
import org.junit.Assert.assertEquals
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
|
||||
@RunWith(AndroidJUnit4::class)
|
||||
class ReplayGainLabelsTest {
|
||||
private val resources = ApplicationProvider.getApplicationContext<Context>().resources
|
||||
|
||||
@Test
|
||||
fun modeLabelsNameTheGainEachOneUses() {
|
||||
assertEquals("Off", replayGainModeLabel(resources, ReplayGainMode.Off))
|
||||
assertEquals("Track gain", replayGainModeLabel(resources, ReplayGainMode.Track))
|
||||
assertEquals("Album gain", replayGainModeLabel(resources, ReplayGainMode.Album))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun preampLabelsCarryTheSignAndTheUnit() {
|
||||
assertEquals("+3.0 dB", replayGainPreampLabel(resources, 3f))
|
||||
assertEquals("-2.5 dB", replayGainPreampLabel(resources, -2.5f))
|
||||
assertEquals("0.0 dB", replayGainPreampLabel(resources, 0f))
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user