Skip to content

Commit 5cea0d8

Browse files
committed
fix: resolve RepeatMode name collision with Flutter SDK on iOS builds
- Use playback_types alias for RepeatMode to avoid ambiguity with Flutter's RepeatMode from repeating_animation_builder.dart
1 parent e1cb40e commit 5cea0d8

File tree

1 file changed

+15
-12
lines changed

1 file changed

+15
-12
lines changed

lib/widgets/mini_player_bar.dart

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ import 'package:spotiflac_android/models/playback_item.dart';
1010
import 'package:spotiflac_android/models/track.dart';
1111
import 'package:spotiflac_android/providers/download_queue_provider.dart';
1212
import 'package:spotiflac_android/providers/playback_provider.dart';
13+
import 'package:spotiflac_android/providers/playback_provider.dart'
14+
as playback_types
15+
show RepeatMode;
1316
import 'package:spotiflac_android/providers/settings_provider.dart';
1417
import 'package:spotiflac_android/services/cover_cache_manager.dart';
1518
import 'package:spotiflac_android/widgets/download_service_picker.dart';
@@ -118,7 +121,7 @@ class MiniPlayerBar extends ConsumerWidget {
118121
),
119122
// Next
120123
if (stateSnapshot.hasNext ||
121-
stateSnapshot.repeatMode == RepeatMode.all)
124+
stateSnapshot.repeatMode == playback_types.RepeatMode.all)
122125
IconButton(
123126
icon: const Icon(Icons.skip_next_rounded, size: 22),
124127
onPressed: () =>
@@ -1370,9 +1373,7 @@ class _DownloadButton extends ConsumerWidget {
13701373
.read(downloadQueueProvider.notifier)
13711374
.addToQueue(track, settings.defaultService);
13721375
ScaffoldMessenger.of(context).showSnackBar(
1373-
SnackBar(
1374-
content: Text(context.l10n.snackbarAddedToQueue(track.name)),
1375-
),
1376+
SnackBar(content: Text(context.l10n.snackbarAddedToQueue(track.name))),
13761377
);
13771378
}
13781379
}
@@ -1389,8 +1390,10 @@ class _PlaybackControls extends ConsumerWidget {
13891390
Widget build(BuildContext context, WidgetRef ref) {
13901391
final colorScheme = Theme.of(context).colorScheme;
13911392
final notifier = ref.read(playbackProvider.notifier);
1392-
final hasPrev = state.hasPrevious || state.repeatMode == RepeatMode.all;
1393-
final hasNext = state.hasNext || state.repeatMode == RepeatMode.all;
1393+
final hasPrev =
1394+
state.hasPrevious || state.repeatMode == playback_types.RepeatMode.all;
1395+
final hasNext =
1396+
state.hasNext || state.repeatMode == playback_types.RepeatMode.all;
13941397
final sideIconSize = compact ? 18.0 : 22.0;
13951398
final skipIconSize = compact ? 28.0 : 32.0;
13961399
final mainButtonSize = compact ? 54.0 : 64.0;
@@ -1487,10 +1490,10 @@ class _PlaybackControls extends ConsumerWidget {
14871490
? VisualDensity.compact
14881491
: VisualDensity.standard,
14891492
icon: Icon(
1490-
state.repeatMode == RepeatMode.one
1493+
state.repeatMode == playback_types.RepeatMode.one
14911494
? Icons.repeat_one_rounded
14921495
: Icons.repeat_rounded,
1493-
color: state.repeatMode != RepeatMode.off
1496+
color: state.repeatMode != playback_types.RepeatMode.off
14941497
? colorScheme.primary
14951498
: colorScheme.onSurfaceVariant,
14961499
size: sideIconSize,
@@ -1502,13 +1505,13 @@ class _PlaybackControls extends ConsumerWidget {
15021505
);
15031506
}
15041507

1505-
String _repeatTooltip(RepeatMode mode) {
1508+
String _repeatTooltip(playback_types.RepeatMode mode) {
15061509
switch (mode) {
1507-
case RepeatMode.off:
1510+
case playback_types.RepeatMode.off:
15081511
return 'Repeat: Off';
1509-
case RepeatMode.all:
1512+
case playback_types.RepeatMode.all:
15101513
return 'Repeat: All';
1511-
case RepeatMode.one:
1514+
case playback_types.RepeatMode.one:
15121515
return 'Repeat: One';
15131516
}
15141517
}

0 commit comments

Comments
 (0)