Skip to content

Commit c4ba059

Browse files
authored
Merge branch 'main' into dependabot/npm_and_yarn/docs/mdast-util-to-hast-13.2.1
2 parents 753247b + 8c91cd9 commit c4ba059

File tree

5 files changed

+18
-14
lines changed

5 files changed

+18
-14
lines changed

flutter_news_example/lib/article/view/article_page.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ class ArticlePage extends StatelessWidget {
5656
return BlocProvider<ArticleBloc>(
5757
create: (_) => ArticleBloc(
5858
articleId: id,
59-
shareLauncher: const ShareLauncher(),
59+
shareLauncher: ShareLauncher(),
6060
articleRepository: context.read<ArticleRepository>(),
6161
)..add(const ArticleRequested()),
6262
child: ArticleView(

flutter_news_example/lib/slideshow/view/slideshow_page.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ class SlideshowPage extends StatelessWidget {
3030
return BlocProvider(
3131
create: (context) => ArticleBloc(
3232
articleId: articleId,
33-
shareLauncher: const ShareLauncher(),
33+
shareLauncher: ShareLauncher(),
3434
articleRepository: context.read<ArticleRepository>(),
3535
),
3636
child: SlideshowView(block: slideshow),

flutter_news_example/packages/share_launcher/lib/src/share_launcher.dart

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,24 +16,24 @@ class ShareFailure with EquatableMixin implements Exception {
1616
}
1717

1818
/// ShareProvider is a function type that provides the ability to share content.
19-
typedef ShareProvider = Future<void> Function(String);
19+
typedef ShareProvider = Future<ShareResult> Function(ShareParams);
2020

2121
/// {@template share_launcher}
2222
/// A class allowing opening native share bottom sheet.
2323
/// {@endtemplate}
2424
class ShareLauncher {
2525
/// {@macro share_launcher}
2626
27-
const ShareLauncher({ShareProvider? shareProvider})
28-
: _shareProvider = shareProvider ?? Share.share;
27+
ShareLauncher({ShareProvider? shareProvider})
28+
: _shareProvider = shareProvider ?? SharePlus.instance.share;
2929

3030
final ShareProvider _shareProvider;
3131

3232
/// Method for opening native share bottom sheet.
3333
Future<void> share({required String text}) async {
3434
try {
35-
return _shareProvider(text);
36-
} catch (error, stackTrace) {
35+
await _shareProvider(ShareParams(text: text));
36+
} on Exception catch (error, stackTrace) {
3737
Error.throwWithStackTrace(ShareFailure(error), stackTrace);
3838
}
3939
}

flutter_news_example/packages/share_launcher/pubspec.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ dependencies:
1010
equatable: ^2.0.3
1111
flutter:
1212
sdk: flutter
13-
share_plus: ^10.0.2
14-
share_plus_platform_interface: ^5.0.0
13+
share_plus: ^12.0.1
14+
share_plus_platform_interface: ^6.1.0
1515

1616
dev_dependencies:
1717
flutter_test:

flutter_news_example/packages/share_launcher/test/src/share_launcher_test.dart

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ class MockSharePlatform extends Mock
1010
implements SharePlatform {}
1111

1212
void main() {
13+
setUpAll(() {
14+
registerFallbackValue(ShareParams(text: 'fallback'));
15+
});
1316
group('ShareFailure', () {
1417
test('supports value comparison', () {
1518
final shareFailure1 = ShareFailure('error');
@@ -25,9 +28,10 @@ void main() {
2528
var called = false;
2629

2730
final shareLauncher = ShareLauncher(
28-
shareProvider: (String text) async {
31+
shareProvider: (params) async {
2932
called = true;
30-
expect(text, equals('text'));
33+
expect(params.text, equals('text'));
34+
return ShareResult('raw', ShareResultStatus.success);
3135
},
3236
);
3337

@@ -38,7 +42,7 @@ void main() {
3842

3943
test('throws ShareFailure when shareLauncher throws', () async {
4044
final shareLauncher = ShareLauncher(
41-
shareProvider: (String text) => throw Exception(),
45+
shareProvider: (params) => throw Exception(),
4246
);
4347

4448
expect(shareLauncher.share(text: 'text'), throwsA(isA<ShareFailure>()));
@@ -49,12 +53,12 @@ void main() {
4953
final mock = MockSharePlatform();
5054
SharePlatform.instance = mock;
5155
when(
52-
() => SharePlatform.instance.share(any(that: isA<String>())),
56+
() => SharePlatform.instance.share(any(that: isA<ShareParams>())),
5357
).thenAnswer((_) async => ShareResult('raw', ShareResultStatus.success));
5458

5559
await ShareLauncher().share(text: 'text');
5660

57-
verify(() => mock.share('text')).called(1);
61+
verify(() => mock.share(any(that: isA<ShareParams>()))).called(1);
5862
});
5963
});
6064
}

0 commit comments

Comments
 (0)