share_util.dart 694 B

123456789101112131415161718192021
  1. import 'package:share/share.dart';
  2. import 'package:flutter/widgets.dart';
  3. import 'package:photos/models/file.dart';
  4. import 'package:photos/utils/dialog_util.dart';
  5. import 'package:photos/utils/file_util.dart';
  6. Future<void> share(BuildContext context, List<File> files) async {
  7. final dialog = createProgressDialog(context, "preparing...");
  8. await dialog.show();
  9. final pathFutures = List<Future<String>>();
  10. for (File file in files) {
  11. pathFutures.add(getNativeFile(file).then((file) => file.path));
  12. }
  13. final paths = await Future.wait(pathFutures);
  14. await dialog.hide();
  15. return Share.shareFiles(paths);
  16. }
  17. Future<void> shareText(String text) async {
  18. return Share.share(text);
  19. }