Skip to content

Commit 26bd6d2

Browse files
authored
feat: Raise to Flutter 3.29.0 (#1891)
1 parent 9b1bca1 commit 26bd6d2

5 files changed

Lines changed: 46 additions & 31 deletions

File tree

.github/workflows/build-example.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ on:
99
type: choice
1010
options:
1111
- 'any'
12+
- '3.29.x'
1213
- '3.27.x'
1314
- '3.24.x'
1415
- '3.22.x'
@@ -61,7 +62,7 @@ on:
6162
inputs:
6263
flutter_version:
6364
required: false
64-
default: '3.27.3'
65+
default: '3.29.0'
6566
type: string
6667
flutter_channel:
6768
required: false

.github/workflows/pull-request.yml

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,17 @@ on:
88
- ready_for_review
99

1010
jobs:
11-
# Disable min flutter tests until version differs from latest supported version.
12-
# call-min-flutter-test:
13-
# uses: ./.github/workflows/test.yml
14-
# with:
15-
# flutter_version: '3.27.4'
16-
# fatal_warnings: false
17-
# enable_android: ${{ github.event.pull_request.draft == false }}
18-
# enable_web: ${{ github.event.pull_request.draft == false }}
19-
# enable_ios: ${{ github.event.pull_request.draft == false }}
20-
# enable_windows: ${{ github.event.pull_request.draft == false }}
21-
# enable_linux: ${{ github.event.pull_request.draft == false }}
22-
# enable_macos: ${{ github.event.pull_request.draft == false }}
11+
call-min-flutter-test:
12+
uses: ./.github/workflows/test.yml
13+
with:
14+
flutter_version: '3.27.4'
15+
fatal_warnings: false
16+
enable_android: ${{ github.event.pull_request.draft == false }}
17+
enable_web: ${{ github.event.pull_request.draft == false }}
18+
enable_ios: ${{ github.event.pull_request.draft == false }}
19+
enable_windows: ${{ github.event.pull_request.draft == false }}
20+
enable_linux: ${{ github.event.pull_request.draft == false }}
21+
enable_macos: ${{ github.event.pull_request.draft == false }}
2322
call-test:
2423
uses: ./.github/workflows/test.yml
2524
with:

.github/workflows/test.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ on:
99
type: choice
1010
options:
1111
- 'any'
12+
- '3.29.x'
1213
- '3.27.x'
1314
- '3.24.x'
1415
- '3.22.x'
@@ -61,7 +62,7 @@ on:
6162
inputs:
6263
flutter_version:
6364
required: false
64-
default: '3.27.3'
65+
default: '3.29.0'
6566
type: string
6667
flutter_channel:
6768
required: false

packages/audioplayers/example/integration_test/platform_test.dart

Lines changed: 27 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -332,6 +332,14 @@ void main() async {
332332
testWidgets(
333333
'#durationEvent ${td.source}',
334334
(tester) async {
335+
// Wait for duration before event is emitted.
336+
final durationFuture = tester
337+
.getDurationFromEvent(
338+
playerId: playerId,
339+
platform: platform,
340+
)
341+
.timeout(_defaultTimeout);
342+
335343
await tester.prepareSource(
336344
playerId: playerId,
337345
platform: platform,
@@ -340,12 +348,7 @@ void main() async {
340348
);
341349

342350
expect(
343-
await tester
344-
.getDurationFromEvent(
345-
playerId: playerId,
346-
platform: platform,
347-
)
348-
.timeout(_defaultTimeout),
351+
await durationFuture,
349352
(Duration? actual) => durationRangeMatcher(
350353
actual,
351354
td.duration,
@@ -471,6 +474,22 @@ extension on WidgetTester {
471474
required LibSourceTestData testData,
472475
bool waitForDurationEvent = true,
473476
}) async {
477+
final Future<void>? durationFuture;
478+
479+
if (waitForDurationEvent &&
480+
testData.duration != null &&
481+
canDetermineDuration(testData)) {
482+
// Need to wait for the duration event,
483+
// otherwise it gets fired/received after the test has ended,
484+
// and therefore then ends up being received in the next test.
485+
durationFuture = getDurationFromEvent(
486+
playerId: playerId,
487+
platform: platform,
488+
);
489+
} else {
490+
durationFuture = null;
491+
}
492+
474493
final eventStream = platform.getEventStream(playerId);
475494
final preparedFuture = eventStream
476495
.firstWhere(
@@ -499,16 +518,8 @@ extension on WidgetTester {
499518
// Wait simultaneously to ensure all errors are propagated through the same
500519
// future.
501520
await Future.wait([setSourceFuture, preparedFuture]);
502-
if (waitForDurationEvent &&
503-
testData.duration != null &&
504-
canDetermineDuration(testData)) {
505-
// Need to wait for the duration event,
506-
// otherwise it gets fired/received after the test has ended,
507-
// and therefore then ends up being received in the next test.
508-
await getDurationFromEvent(
509-
playerId: playerId,
510-
platform: platform,
511-
);
521+
if (durationFuture != null) {
522+
await durationFuture;
512523
}
513524
}
514525

packages/audioplayers/lib/src/source.dart

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import 'dart:math';
2+
13
import 'package:audioplayers/src/audioplayer.dart';
24
import 'package:flutter/foundation.dart';
35

@@ -27,7 +29,8 @@ class UrlSource extends Source {
2729

2830
@override
2931
String toString() {
30-
return 'UrlSource(url: $url, mimeType: $mimeType)';
32+
return 'UrlSource(url: ${url.substring(0, min(500, url.length))},'
33+
' mimeType: $mimeType)';
3134
}
3235
}
3336

0 commit comments

Comments
 (0)