fix(android): extract PlaylistCardCover to clear detekt LongMethod
Adding the play-button overlay in the previous commit pushed PlaylistCard from 49 to 62 lines, two over detekt's 60-line cap. Splitting the cover stack into its own private composable (PlaylistCardCover) brings the outer function back under the limit while keeping the call site readable. Behavior identical to f17610ec; pure refactor for lint compliance.
This commit is contained in:
+35
-17
@@ -60,6 +60,41 @@ fun PlaylistCard(
|
||||
color = Color.Transparent,
|
||||
) {
|
||||
Column(modifier = Modifier.padding(horizontal = 8.dp)) {
|
||||
PlaylistCardCover(
|
||||
playlist = playlist,
|
||||
onPlay = onPlay,
|
||||
playEnabled = playEnabled,
|
||||
)
|
||||
Spacer(Modifier.height(8.dp))
|
||||
Text(
|
||||
text = playlist.name,
|
||||
style = MaterialTheme.typography.titleSmall,
|
||||
color = MaterialTheme.colorScheme.onSurface,
|
||||
maxLines = 1,
|
||||
overflow = TextOverflow.Ellipsis,
|
||||
)
|
||||
Text(
|
||||
text = subtitleFor(playlist),
|
||||
style = MaterialTheme.typography.bodySmall,
|
||||
color = MaterialTheme.colorScheme.onSurfaceVariant,
|
||||
maxLines = 1,
|
||||
overflow = TextOverflow.Ellipsis,
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 144dp cover with the system-variant pill (top-start) and play
|
||||
* overlay (bottom-end) stacked on top. Pulled out of [PlaylistCard]
|
||||
* to keep that composable under detekt's 60-line LongMethod cap.
|
||||
*/
|
||||
@Composable
|
||||
private fun PlaylistCardCover(
|
||||
playlist: PlaylistRef,
|
||||
onPlay: (suspend () -> Unit)?,
|
||||
playEnabled: Boolean,
|
||||
) {
|
||||
CoverTile(
|
||||
url = playlist.coverUrl,
|
||||
contentDescription = playlist.name,
|
||||
@@ -92,23 +127,6 @@ fun PlaylistCard(
|
||||
}
|
||||
},
|
||||
)
|
||||
Spacer(Modifier.height(8.dp))
|
||||
Text(
|
||||
text = playlist.name,
|
||||
style = MaterialTheme.typography.titleSmall,
|
||||
color = MaterialTheme.colorScheme.onSurface,
|
||||
maxLines = 1,
|
||||
overflow = TextOverflow.Ellipsis,
|
||||
)
|
||||
Text(
|
||||
text = subtitleFor(playlist),
|
||||
style = MaterialTheme.typography.bodySmall,
|
||||
color = MaterialTheme.colorScheme.onSurfaceVariant,
|
||||
maxLines = 1,
|
||||
overflow = TextOverflow.Ellipsis,
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/** Small label chip overlaid on a system playlist's cover. */
|
||||
|
||||
Reference in New Issue
Block a user