refactor: lift the ring machinery out of the alarm package

The audio player, the vibrator, the volume ramp and the audio-source policy
were never alarm-specific — timers need the same ones, and a second
MediaPlayer in the app would be a bug. Moved and renamed, no behaviour
changed: the moved tests differ by their package line and one constant name.

The ringtone picker moves to ui/common for the same reason.
This commit is contained in:
2026-09-12 16:48:07 +02:00
parent 5a01efb7bf
commit 5430e0c778
25 changed files with 860 additions and 102 deletions
@@ -47,7 +47,11 @@ class ShellInstrumentedTest {
fun tappingATabSwapsTheContent() {
composeTestRule.onNodeWithText(string(R.string.tab_timers)).performClick()
composeTestRule.onNodeWithText(string(R.string.timers_empty)).assertIsDisplayed()
// The empty Timers tab hosts the setup panel inline (D23), so "Start" is
// what is on screen. `timers_set_title` is only the FAB's
// `contentDescription`, which `onNodeWithText` does not match — and the
// FAB is rendered only once a timer exists.
composeTestRule.onNodeWithText(string(R.string.timers_setup_start)).assertIsDisplayed()
composeTestRule.onNodeWithText(string(R.string.alarms_empty)).assertDoesNotExist()
}