Replace nested ifs with a when
This commit is contained in:
+79
-71
@@ -388,81 +388,41 @@ private fun RenderImageOrVideo(
|
|||||||
}
|
}
|
||||||
|
|
||||||
Row(verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.Center, modifier = Modifier.fillMaxWidth()) {
|
Row(verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.Center, modifier = Modifier.fillMaxWidth()) {
|
||||||
if (content is MediaUrlImage) {
|
when (content) {
|
||||||
val mainModifier =
|
is MediaUrlImage -> {
|
||||||
Modifier
|
val mainModifier =
|
||||||
.fillMaxWidth()
|
Modifier
|
||||||
.zoomable(
|
.fillMaxWidth()
|
||||||
rememberZoomState(),
|
.zoomable(
|
||||||
onTap = {
|
rememberZoomState(),
|
||||||
if (onToggleControllerVisibility != null) {
|
onTap = {
|
||||||
onToggleControllerVisibility()
|
if (onToggleControllerVisibility != null) {
|
||||||
}
|
onToggleControllerVisibility()
|
||||||
},
|
}
|
||||||
)
|
},
|
||||||
|
)
|
||||||
|
|
||||||
UrlImageView(
|
UrlImageView(
|
||||||
content = content,
|
content = content,
|
||||||
contentScale = contentScale,
|
contentScale = contentScale,
|
||||||
mainImageModifier = mainModifier,
|
mainImageModifier = mainModifier,
|
||||||
loadedImageModifier = Modifier.fillMaxWidth(),
|
loadedImageModifier = Modifier.fillMaxWidth(),
|
||||||
controllerVisible = controllerVisible,
|
controllerVisible = controllerVisible,
|
||||||
accountViewModel = accountViewModel,
|
accountViewModel = accountViewModel,
|
||||||
alwayShowImage = true,
|
alwayShowImage = true,
|
||||||
)
|
)
|
||||||
} else if (content is MediaUrlVideo) {
|
}
|
||||||
val borderModifier =
|
|
||||||
if (roundedCorner) {
|
|
||||||
MaterialTheme.colorScheme.imageModifier
|
|
||||||
} else {
|
|
||||||
Modifier.fillMaxWidth()
|
|
||||||
}
|
|
||||||
|
|
||||||
VideoViewInner(
|
is MediaUrlVideo -> {
|
||||||
videoUri = content.url,
|
val borderModifier =
|
||||||
mimeType = content.mimeType,
|
if (roundedCorner) {
|
||||||
title = content.description,
|
MaterialTheme.colorScheme.imageModifier
|
||||||
artworkUri = content.artworkUri,
|
} else {
|
||||||
authorName = content.authorName,
|
Modifier.fillMaxWidth()
|
||||||
borderModifier = borderModifier,
|
}
|
||||||
isFiniteHeight = isFiniteHeight,
|
|
||||||
automaticallyStartPlayback = automaticallyStartPlayback,
|
|
||||||
onControllerVisibilityChanged = onControllerVisibilityChanged,
|
|
||||||
accountViewModel = accountViewModel,
|
|
||||||
)
|
|
||||||
} else if (content is MediaLocalImage) {
|
|
||||||
val mainModifier =
|
|
||||||
Modifier
|
|
||||||
.fillMaxWidth()
|
|
||||||
.zoomable(
|
|
||||||
rememberZoomState(),
|
|
||||||
onTap = {
|
|
||||||
if (onToggleControllerVisibility != null) {
|
|
||||||
onToggleControllerVisibility()
|
|
||||||
}
|
|
||||||
},
|
|
||||||
)
|
|
||||||
|
|
||||||
LocalImageView(
|
|
||||||
content = content,
|
|
||||||
contentScale = contentScale,
|
|
||||||
mainImageModifier = mainModifier,
|
|
||||||
loadedImageModifier = Modifier.fillMaxWidth(),
|
|
||||||
controllerVisible = controllerVisible,
|
|
||||||
accountViewModel = accountViewModel,
|
|
||||||
alwayShowImage = true,
|
|
||||||
)
|
|
||||||
} else if (content is MediaLocalVideo) {
|
|
||||||
val borderModifier =
|
|
||||||
if (roundedCorner) {
|
|
||||||
MaterialTheme.colorScheme.imageModifier
|
|
||||||
} else {
|
|
||||||
Modifier.fillMaxWidth()
|
|
||||||
}
|
|
||||||
|
|
||||||
content.localFile?.let {
|
|
||||||
VideoViewInner(
|
VideoViewInner(
|
||||||
videoUri = it.toUri().toString(),
|
videoUri = content.url,
|
||||||
mimeType = content.mimeType,
|
mimeType = content.mimeType,
|
||||||
title = content.description,
|
title = content.description,
|
||||||
artworkUri = content.artworkUri,
|
artworkUri = content.artworkUri,
|
||||||
@@ -474,6 +434,54 @@ private fun RenderImageOrVideo(
|
|||||||
accountViewModel = accountViewModel,
|
accountViewModel = accountViewModel,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
is MediaLocalImage -> {
|
||||||
|
val mainModifier =
|
||||||
|
Modifier
|
||||||
|
.fillMaxWidth()
|
||||||
|
.zoomable(
|
||||||
|
rememberZoomState(),
|
||||||
|
onTap = {
|
||||||
|
if (onToggleControllerVisibility != null) {
|
||||||
|
onToggleControllerVisibility()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
LocalImageView(
|
||||||
|
content = content,
|
||||||
|
contentScale = contentScale,
|
||||||
|
mainImageModifier = mainModifier,
|
||||||
|
loadedImageModifier = Modifier.fillMaxWidth(),
|
||||||
|
controllerVisible = controllerVisible,
|
||||||
|
accountViewModel = accountViewModel,
|
||||||
|
alwayShowImage = true,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
is MediaLocalVideo -> {
|
||||||
|
val borderModifier =
|
||||||
|
if (roundedCorner) {
|
||||||
|
MaterialTheme.colorScheme.imageModifier
|
||||||
|
} else {
|
||||||
|
Modifier.fillMaxWidth()
|
||||||
|
}
|
||||||
|
|
||||||
|
content.localFile?.let {
|
||||||
|
VideoViewInner(
|
||||||
|
videoUri = it.toUri().toString(),
|
||||||
|
mimeType = content.mimeType,
|
||||||
|
title = content.description,
|
||||||
|
artworkUri = content.artworkUri,
|
||||||
|
authorName = content.authorName,
|
||||||
|
borderModifier = borderModifier,
|
||||||
|
isFiniteHeight = isFiniteHeight,
|
||||||
|
automaticallyStartPlayback = automaticallyStartPlayback,
|
||||||
|
onControllerVisibilityChanged = onControllerVisibilityChanged,
|
||||||
|
accountViewModel = accountViewModel,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user