Skip to content

Commit

Permalink
MediaView: Make file rename more obvious
Browse files Browse the repository at this point in the history
Fixes #279

Signed-off-by: IacobIonut01 <[email protected]>
  • Loading branch information
IacobIonut01 committed Feb 4, 2024
1 parent 2a9fd97 commit 4246a2f
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,16 @@ fun MediaInfoBottomSheet(
val metadataState = rememberAppBottomSheetState()
if (exifInterface != null) {
val exifMetadata = rememberExifMetadata(media, exifInterface)
val mediaInfoList = rememberMediaInfo(media, exifMetadata)
val mediaInfoList = rememberMediaInfo(
media = media,
exifMetadata = exifMetadata,
onLabelClick = {
scope.launch {
state.hide()
metadataState.show()
}
}
)
if (state.isVisible) {
ModalBottomSheet(
onDismissRequest = {
Expand Down Expand Up @@ -234,7 +243,9 @@ fun MediaInfoBottomSheet(
MediaInfoRow(
label = metadata.label,
content = metadata.content,
icon = metadata.icon
icon = metadata.icon,
trailingIcon = metadata.trailingIcon,
onClick = metadata.onClick,
)
}
}
Expand Down Expand Up @@ -267,7 +278,8 @@ fun MediaInfoDateCaptionContainer(
color = MaterialTheme.colorScheme.surfaceContainerHigh,
shape = Shapes.large
)
.padding(all = 16.dp),
.padding(vertical = 16.dp)
.padding(start = 16.dp, end = 12.dp),
) {
Column(
modifier = Modifier
Expand Down Expand Up @@ -305,9 +317,7 @@ fun MediaInfoDateCaptionContainer(
imageVector = Icons.Outlined.Edit,
contentDescription = stringResource(id = R.string.edit_cd),
tint = MaterialTheme.colorScheme.onSurface,
modifier = Modifier
.size(40.dp)
.padding(8.dp)
modifier = Modifier.size(24.dp)
)
}
}
Expand Down Expand Up @@ -383,7 +393,7 @@ fun MediaInfoChip(
onClick = onClick,
onLongClick = onLongClick
)
.padding(horizontal = 12.dp, vertical = 6.dp),
.padding(horizontal = 16.dp, vertical = 8.dp),
text = text,
style = MaterialTheme.typography.bodyMedium,
color = contentColor
Expand Down Expand Up @@ -426,7 +436,7 @@ fun MediaInfoMapPreview(exifMetadata: ExifMetadata) {
modifier = Modifier
.clip(Shapes.large)
.fillMaxWidth()
.aspectRatio(1.78f)
.aspectRatio(1.5f)
.clickable { context.launchMap(lat, long) }
)
Icon(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import androidx.compose.foundation.combinedClickable
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.outlined.Camera
import androidx.compose.material.icons.outlined.Edit
import androidx.compose.material.icons.outlined.ImageSearch
import androidx.compose.material.icons.outlined.Info
import androidx.compose.material.icons.outlined.Photo
Expand Down Expand Up @@ -46,6 +47,7 @@ fun MediaInfoRow(
label: String,
content: String,
icon: ImageVector,
trailingIcon: ImageVector? = null,
contentDescription: String? = null,
onClick: (() -> Unit)? = null,
onLongClick: (() -> Unit)? = null,
Expand Down Expand Up @@ -76,6 +78,14 @@ fun MediaInfoRow(
supportingContent = {
Text(text = content)
},
trailingContent = if (trailingIcon != null) {
{
Icon(
imageVector = trailingIcon,
contentDescription = contentDescription
)
}
} else null,
leadingContent = {
Icon(
imageVector = icon,
Expand All @@ -89,19 +99,22 @@ data class InfoRow(
val label: String,
val content: String,
val icon: ImageVector,
val trailingIcon: ImageVector? = null,
val contentDescription: String? = null,
val onClick: (() -> Unit)? = null,
val onLongClick: (() -> Unit)? = null,
)

fun Media.retrieveMetadata(context: Context, exifMetadata: ExifMetadata): List<InfoRow> {
fun Media.retrieveMetadata(context: Context, exifMetadata: ExifMetadata, onLabelClick: () -> Unit): List<InfoRow> {
val infoList = ArrayList<InfoRow>()
if (trashed == 1) {
infoList.apply {
add(
InfoRow(
icon = Icons.Outlined.Photo,
trailingIcon = Icons.Outlined.Edit,
label = context.getString(R.string.label),
onClick = onLabelClick,
content = label
)
)
Expand Down Expand Up @@ -139,7 +152,9 @@ fun Media.retrieveMetadata(context: Context, exifMetadata: ExifMetadata): List<I
add(
InfoRow(
icon = Icons.Outlined.Photo,
trailingIcon = Icons.Outlined.Edit,
label = context.getString(R.string.label),
onClick = onLabelClick,
content = label
)
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -495,10 +495,10 @@ fun List<Media>.writeRequest(
) = IntentSenderRequest.Builder(MediaStore.createWriteRequest(contentResolver, map { it.uri })).build()

@Composable
fun rememberMediaInfo(media: Media, exifMetadata: ExifMetadata): List<InfoRow> {
fun rememberMediaInfo(media: Media, exifMetadata: ExifMetadata, onLabelClick: () -> Unit): List<InfoRow> {
val context = LocalContext.current
return remember(media) {
media.retrieveMetadata(context, exifMetadata)
media.retrieveMetadata(context, exifMetadata, onLabelClick)
}
}

Expand Down

0 comments on commit 4246a2f

Please sign in to comment.