fix(android): pin Slider inactiveTrackColor to surfaceVariant (parity)

Material3 changed the Slider's default inactiveTrackColor to colorScheme.secondaryContainer, which MinstrelTheme does not override -- so M3's baseline purple leaked into both the mini scrubber and the NowPlaying ScrubberRow. Flutter explicitly sets inactiveColor = fs.slate; mirror that by pinning inactiveTrackColor to surfaceVariant (which the theme already maps to slate).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-30 02:31:16 -04:00
parent 5c7e659116
commit 37887107ee
2 changed files with 7 additions and 0 deletions
@@ -190,6 +190,10 @@ private fun MiniSeekBar(positionMs: Long, durationMs: Long, onSeek: (Long) -> Un
colors = SliderDefaults.colors(
thumbColor = MaterialTheme.colorScheme.primary,
activeTrackColor = MaterialTheme.colorScheme.primary,
// M3 default inactiveTrackColor is secondaryContainer, which the
// theme doesn't override — that's where the M3-baseline purple
// leaks in. Pin to surfaceVariant (= slate) for Flutter parity.
inactiveTrackColor = MaterialTheme.colorScheme.surfaceVariant,
),
)
}
@@ -409,6 +409,9 @@ private fun ScrubberRow(positionMs: Long, durationMs: Long, onSeek: (Long) -> Un
colors = SliderDefaults.colors(
thumbColor = accent,
activeTrackColor = accent,
// M3 inactive default is secondaryContainer (purple baseline);
// pin to surfaceVariant (= slate) for Flutter parity.
inactiveTrackColor = MaterialTheme.colorScheme.surfaceVariant,
),
)
Row(