Skip to content

Commit d965e00

Browse files
authored
feat(share_plus): Lower requirements to Dart 3.10 and Flutter 3.38.1 (#3801)
1 parent 6982a68 commit d965e00

9 files changed

Lines changed: 44 additions & 51 deletions

File tree

packages/share_plus/share_plus/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ Sharing files is not supported on Linux.
2626

2727
## Requirements
2828

29-
- Flutter >=3.41.0
30-
- Dart >=3.11.0 <4.0.0
29+
- Flutter >=3.38.1
30+
- Dart >=3.10.0 <4.0.0
3131
- iOS >=13.0
3232
- macOS >=10.15
3333
- Java 17

packages/share_plus/share_plus/example/integration_test/share_plus_test.dart

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -13,32 +13,28 @@ void main() {
1313
IntegrationTestWidgetsFlutterBinding.ensureInitialized();
1414

1515
testWidgets('Can launch share', (WidgetTester tester) async {
16-
final params = ShareParams(
17-
text: 'message',
18-
subject: 'title',
19-
);
16+
final params = ShareParams(text: 'message', subject: 'title');
2017
// Check isNotNull because we cannot wait for ShareResult
2118
expect(SharePlus.instance.share(params), isNotNull);
2219
});
2320

2421
testWidgets('Can launch shareUri', (WidgetTester tester) async {
25-
final params = ShareParams(
26-
uri: Uri.parse('https://example.com'),
27-
);
22+
final params = ShareParams(uri: Uri.parse('https://example.com'));
2823
// Check isNotNull because we cannot wait for ShareResult
2924
expect(SharePlus.instance.share(params), isNotNull);
3025
}, skip: !Platform.isAndroid && !Platform.isIOS);
3126

32-
testWidgets('Can shareXFile created using File.fromData()',
33-
(WidgetTester tester) async {
27+
testWidgets('Can shareXFile created using File.fromData()', (
28+
WidgetTester tester,
29+
) async {
3430
final bytes = Uint8List.fromList([1, 2, 3, 4, 5, 6, 7, 8]);
35-
final XFile file =
36-
XFile.fromData(bytes, name: 'image.jpg', mimeType: 'image/jpeg');
37-
38-
final params = ShareParams(
39-
files: [file],
40-
text: 'message',
31+
final XFile file = XFile.fromData(
32+
bytes,
33+
name: 'image.jpg',
34+
mimeType: 'image/jpeg',
4135
);
36+
37+
final params = ShareParams(files: [file], text: 'message');
4238
expect(SharePlus.instance.share(params), isNotNull);
4339
});
4440
}

packages/share_plus/share_plus/example/lib/excluded_activity_type.dart

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,9 @@ class _ExcludedActivityTypePageState
4444
final List<CupertinoActivityType> tempSelected = [];
4545
for (final String type in selected) {
4646
tempSelected.add(
47-
CupertinoActivityType.values
48-
.firstWhere((e) => e.value == type),
47+
CupertinoActivityType.values.firstWhere(
48+
(e) => e.value == type,
49+
),
4950
);
5051
}
5152
Navigator.pop(context, tempSelected);

packages/share_plus/share_plus/example/lib/image_previews.dart

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,12 @@ class ImagePreviews extends StatelessWidget {
2323

2424
final imageWidgets = <Widget>[];
2525
for (var i = 0; i < imagePaths.length; i++) {
26-
imageWidgets.add(_ImagePreview(
27-
imagePaths[i],
28-
onDelete: onDelete != null ? () => onDelete!(i) : null,
29-
));
26+
imageWidgets.add(
27+
_ImagePreview(
28+
imagePaths[i],
29+
onDelete: onDelete != null ? () => onDelete!(i) : null,
30+
),
31+
);
3032
}
3133

3234
return SingleChildScrollView(
@@ -50,20 +52,18 @@ class _ImagePreview extends StatelessWidget {
5052
child: Stack(
5153
children: <Widget>[
5254
ConstrainedBox(
53-
constraints: const BoxConstraints(
54-
maxWidth: 200,
55-
maxHeight: 200,
56-
),
55+
constraints: const BoxConstraints(maxWidth: 200, maxHeight: 200),
5756
child: kIsWeb ? Image.network(imagePath) : Image.file(imageFile),
5857
),
5958
Positioned(
6059
right: 0,
6160
child: Padding(
6261
padding: const EdgeInsets.all(8.0),
6362
child: FloatingActionButton(
64-
backgroundColor: Colors.red,
65-
onPressed: onDelete,
66-
child: const Icon(Icons.delete)),
63+
backgroundColor: Colors.red,
64+
onPressed: onDelete,
65+
child: const Icon(Icons.delete),
66+
),
6767
),
6868
),
6969
],

packages/share_plus/share_plus/example/lib/main.dart

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -58,10 +58,7 @@ class MyHomePageState extends State<MyHomePage> {
5858
@override
5959
Widget build(BuildContext context) {
6060
return Scaffold(
61-
appBar: AppBar(
62-
title: const Text('Share Plus Plugin Demo'),
63-
elevation: 4,
64-
),
61+
appBar: AppBar(title: const Text('Share Plus Plugin Demo'), elevation: 4),
6562
body: SingleChildScrollView(
6663
padding: const EdgeInsets.all(24),
6764
child: Column(
@@ -143,7 +140,8 @@ class MyHomePageState extends State<MyHomePage> {
143140
extensions: <String>['jpg', 'jpeg', 'png', 'gif'],
144141
);
145142
final file = await openFile(
146-
acceptedTypeGroups: <XTypeGroup>[typeGroup]);
143+
acceptedTypeGroups: <XTypeGroup>[typeGroup],
144+
);
147145
if (file != null) {
148146
setState(() {
149147
imagePaths.add(file.path);
@@ -316,9 +314,7 @@ class MyHomePageState extends State<MyHomePage> {
316314
);
317315
scaffoldMessenger.showSnackBar(getResultSnackBar(shareResult));
318316
} catch (e) {
319-
scaffoldMessenger.showSnackBar(
320-
SnackBar(content: Text('Error: $e')),
321-
);
317+
scaffoldMessenger.showSnackBar(SnackBar(content: Text('Error: $e')));
322318
}
323319
}
324320

@@ -345,9 +341,7 @@ class MyHomePageState extends State<MyHomePage> {
345341

346342
scaffoldMessenger.showSnackBar(getResultSnackBar(shareResult));
347343
} catch (e) {
348-
scaffoldMessenger.showSnackBar(
349-
SnackBar(content: Text('Error: $e')),
350-
);
344+
scaffoldMessenger.showSnackBar(SnackBar(content: Text('Error: $e')));
351345
}
352346
}
353347

@@ -359,7 +353,7 @@ class MyHomePageState extends State<MyHomePage> {
359353
children: [
360354
Text("Share result: ${result.status}"),
361355
if (result.status == ShareResultStatus.success)
362-
Text("Shared to: ${result.raw}")
356+
Text("Shared to: ${result.raw}"),
363357
],
364358
),
365359
);

packages/share_plus/share_plus/example/pubspec.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,5 @@ flutter:
2424
- assets/flutter_logo.png
2525

2626
environment:
27-
sdk: '>=3.4.0 <4.0.0'
28-
flutter: '>=3.22.0'
27+
sdk: '>=3.10.0 <4.0.0'
28+
flutter: '>=3.38.1'

packages/share_plus/share_plus/example/test_driver/share_plus_test.dart

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,10 @@ import 'package:flutter_driver/flutter_driver.dart';
99

1010
Future<void> main() async {
1111
final driver = await FlutterDriver.connect();
12-
final data =
13-
await driver.requestData(null, timeout: const Duration(minutes: 1));
12+
final data = await driver.requestData(
13+
null,
14+
timeout: const Duration(minutes: 1),
15+
);
1416
await driver.close();
1517
final Map<String, dynamic> result = jsonDecode(data);
1618
exit(result['result'] == 'true' ? 0 : 1);

packages/share_plus/share_plus/pubspec.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,14 +43,14 @@ dependencies:
4343
url_launcher_platform_interface: ^2.3.2
4444
ffi: ^2.2.0
4545
web: ^1.1.1
46-
win32: ^6.0.0
46+
win32: ^6.0.1
4747

4848
dev_dependencies:
4949
flutter_test:
5050
sdk: flutter
5151
flutter_lints: ^6.0.0
5252

5353
environment:
54-
sdk: ">=3.11.0 <4.0.0"
55-
flutter: ">=3.41.0"
54+
sdk: ">=3.10.0 <4.0.0"
55+
flutter: ">=3.38.1"
5656

packages/share_plus/share_plus_platform_interface/pubspec.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,5 @@ dev_dependencies:
2121
flutter_lints: ^6.0.0
2222

2323
environment:
24-
sdk: ">=3.11.0 <4.0.0"
25-
flutter: ">=3.41.0"
24+
sdk: ">=3.10.0 <4.0.0"
25+
flutter: ">=3.38.1"

0 commit comments

Comments
 (0)