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:
+1
-1
@@ -277,7 +277,7 @@ fun ImageVideoDescription(
|
|||||||
|
|
||||||
val firstMedia = uris.first().media
|
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) {
|
Column(horizontalAlignment = Alignment.CenterHorizontally) {
|
||||||
Box(modifier = Modifier.fillMaxWidth()) {
|
Box(modifier = Modifier.fillMaxWidth()) {
|
||||||
Text(
|
Text(
|
||||||
|
|||||||
+23
-19
@@ -234,27 +234,31 @@ private fun ImageVideoPostChat(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
Column(horizontalAlignment = Alignment.CenterHorizontally) {
|
val firstMedia = fileUploadState.multiOrchestrator?.first()?.media
|
||||||
Box(modifier = Modifier.fillMaxWidth()) {
|
|
||||||
Text(
|
if (firstMedia?.isVideo() == true || firstMedia?.isImage() == true) {
|
||||||
text =
|
Column(horizontalAlignment = Alignment.CenterHorizontally) {
|
||||||
when (fileUploadState.mediaQualitySlider) {
|
Box(modifier = Modifier.fillMaxWidth()) {
|
||||||
0 -> stringRes(R.string.media_compression_quality_low)
|
Text(
|
||||||
1 -> stringRes(R.string.media_compression_quality_medium)
|
text =
|
||||||
2 -> stringRes(R.string.media_compression_quality_high)
|
when (fileUploadState.mediaQualitySlider) {
|
||||||
3 -> stringRes(R.string.media_compression_quality_uncompressed)
|
0 -> stringRes(R.string.media_compression_quality_low)
|
||||||
else -> stringRes(R.string.media_compression_quality_medium)
|
1 -> stringRes(R.string.media_compression_quality_medium)
|
||||||
},
|
2 -> stringRes(R.string.media_compression_quality_high)
|
||||||
modifier = Modifier.align(Alignment.Center),
|
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(
|
SettingSwitchItem(
|
||||||
|
|||||||
Reference in New Issue
Block a user