fix(android): NowPlaying action row above the scrubber for Flutter parity
Flutter's _SecondaryControls (like, shuffle, repeat, queue, kebab) sit just above the seek bar (now_playing_screen.dart:464); Android had them at the bottom under the transport row. Reorder the NowPlayingBody column so it reads cover -> title -> actions -> scrubber -> transport, matching Flutter. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -227,6 +227,21 @@ private fun NowPlayingBody(
|
|||||||
Spacer(Modifier.height(24.dp))
|
Spacer(Modifier.height(24.dp))
|
||||||
TrackHeader(title = track.title, artist = track.artistName, album = track.albumTitle)
|
TrackHeader(title = track.title, artist = track.artistName, album = track.albumTitle)
|
||||||
Spacer(Modifier.height(24.dp))
|
Spacer(Modifier.height(24.dp))
|
||||||
|
// Action row (like, shuffle, repeat, queue, kebab) sits ABOVE the
|
||||||
|
// scrubber — Flutter's _SecondaryControls placement
|
||||||
|
// (now_playing_screen.dart:464). Android previously had it below
|
||||||
|
// the transport row.
|
||||||
|
BottomActionsRow(
|
||||||
|
navController = navController,
|
||||||
|
track = track,
|
||||||
|
shuffleEnabled = state.shuffleEnabled,
|
||||||
|
repeatMode = state.repeatMode,
|
||||||
|
isLiked = isLiked,
|
||||||
|
onToggleLike = { trackActionsViewModel.toggleLike(track.id, isLiked) },
|
||||||
|
onToggleShuffle = viewModel::toggleShuffle,
|
||||||
|
onCycleRepeat = viewModel::cycleRepeat,
|
||||||
|
)
|
||||||
|
Spacer(Modifier.height(8.dp))
|
||||||
ScrubberRow(
|
ScrubberRow(
|
||||||
positionMs = state.positionMs,
|
positionMs = state.positionMs,
|
||||||
durationMs = state.durationMs,
|
durationMs = state.durationMs,
|
||||||
@@ -239,17 +254,6 @@ private fun NowPlayingBody(
|
|||||||
onPlayPause = { if (state.isPlaying) viewModel.pause() else viewModel.play() },
|
onPlayPause = { if (state.isPlaying) viewModel.pause() else viewModel.play() },
|
||||||
onNext = viewModel::skipToNext,
|
onNext = viewModel::skipToNext,
|
||||||
)
|
)
|
||||||
Spacer(Modifier.height(16.dp))
|
|
||||||
BottomActionsRow(
|
|
||||||
navController = navController,
|
|
||||||
track = track,
|
|
||||||
shuffleEnabled = state.shuffleEnabled,
|
|
||||||
repeatMode = state.repeatMode,
|
|
||||||
isLiked = isLiked,
|
|
||||||
onToggleLike = { trackActionsViewModel.toggleLike(track.id, isLiked) },
|
|
||||||
onToggleShuffle = viewModel::toggleShuffle,
|
|
||||||
onCycleRepeat = viewModel::cycleRepeat,
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user