fix: hide compression slider for audio uploads

Audio has no compression support in MediaCompressor (falls through to
no-op), so showing the compression quality slider for audio files is
misleading. This removes audio from the slider visibility condition in
ImageVideoDescription and wraps the unconditionally-shown slider in
ChatFileUploadDialog with a media type check.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
davotoula
2026-03-18 10:33:28 +01:00
parent 489e731eea
commit 0e62904883
2 changed files with 24 additions and 20 deletions
@@ -277,7 +277,7 @@ fun ImageVideoDescription(
val firstMedia = uris.first().media
if (firstMedia.isVideo() == true || firstMedia.isImage() == true || firstMedia.isAudio() == true) {
if (firstMedia.isVideo() == true || firstMedia.isImage() == true) {
Column(horizontalAlignment = Alignment.CenterHorizontally) {
Box(modifier = Modifier.fillMaxWidth()) {
Text(
@@ -234,27 +234,31 @@ private fun ImageVideoPostChat(
)
}
Column(horizontalAlignment = Alignment.CenterHorizontally) {
Box(modifier = Modifier.fillMaxWidth()) {
Text(
text =
when (fileUploadState.mediaQualitySlider) {
0 -> stringRes(R.string.media_compression_quality_low)
1 -> stringRes(R.string.media_compression_quality_medium)
2 -> stringRes(R.string.media_compression_quality_high)
3 -> stringRes(R.string.media_compression_quality_uncompressed)
else -> stringRes(R.string.media_compression_quality_medium)
},
modifier = Modifier.align(Alignment.Center),
val firstMedia = fileUploadState.multiOrchestrator?.first()?.media
if (firstMedia?.isVideo() == true || firstMedia?.isImage() == true) {
Column(horizontalAlignment = Alignment.CenterHorizontally) {
Box(modifier = Modifier.fillMaxWidth()) {
Text(
text =
when (fileUploadState.mediaQualitySlider) {
0 -> stringRes(R.string.media_compression_quality_low)
1 -> stringRes(R.string.media_compression_quality_medium)
2 -> stringRes(R.string.media_compression_quality_high)
3 -> stringRes(R.string.media_compression_quality_uncompressed)
else -> stringRes(R.string.media_compression_quality_medium)
},
modifier = Modifier.align(Alignment.Center),
)
}
Slider(
value = fileUploadState.mediaQualitySlider.toFloat(),
onValueChange = { fileUploadState.mediaQualitySlider = it.toInt() },
valueRange = 0f..3f,
steps = 2,
)
}
Slider(
value = fileUploadState.mediaQualitySlider.toFloat(),
onValueChange = { fileUploadState.mediaQualitySlider = it.toInt() },
valueRange = 0f..3f,
steps = 2,
)
}
SettingSwitchItem(