Mini player cleanup: no full-player controls left under it, the full player's play button, a plain progress bar
media_kit keeps a Video's last controls when given null, so after the full player the mini kept the Minimal bars (dark bands above and below the picture, a second hatched line). The mini now passes an empty builder. Its hover bar uses the full player's play button and time, the status on its own line, Minimal buttons, and a painted bar instead of Material's progress indicator (its gap and stop dot at the corner). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
211ba65e5e
commit
4c8e40769a
3 files changed
+144
-57
No files matched your search
@@ -418,6 +418,25 @@ void main() {
|
||||
expect(tester.takeException(), isNull);
|
||||
});
|
||||
|
||||
testWidgets('the mini player clears the full player\'s controls (media_kit keeps the last ones on null)',
|
||||
(tester) async {
|
||||
coord.playback.alive.value = true;
|
||||
final given = <PlayerMode, Object?>{};
|
||||
PlayerMode mode() => tester.state<AppShellState>(find.byType(AppShell)).mode;
|
||||
await pumpShell(tester, const Size(1280, 800), video: (context, controls) {
|
||||
given[mode()] = controls;
|
||||
return const ColoredBox(color: Color(0xFF7A3B2E));
|
||||
});
|
||||
online(party);
|
||||
await tester.pumpAndSettle();
|
||||
await tester.tap(find.byKey(const ValueKey('tab-settings')));
|
||||
await tester.pumpAndSettle();
|
||||
expect(mode(), PlayerMode.mini);
|
||||
expect(given[PlayerMode.full], isNotNull);
|
||||
expect(given[PlayerMode.mini], isNotNull, reason: 'null would keep the full controls');
|
||||
expect(given[PlayerMode.mini], isNot(same(given[PlayerMode.full])));
|
||||
});
|
||||
|
||||
testWidgets('status pill: who is not ready, with the ready count', (tester) async {
|
||||
coord.playback.alive.value = true;
|
||||
await pumpShell(tester, const Size(1280, 800));
|
||||
|
||||
Reference in new issue
Block a user