2021-01-13 10:16:31 +00:00
|
|
|
import 'package:share/share.dart';
|
2020-07-07 22:04:08 +00:00
|
|
|
import 'package:flutter/widgets.dart';
|
2020-06-19 23:03:26 +00:00
|
|
|
import 'package:photos/models/file.dart';
|
2020-07-15 19:14:37 +00:00
|
|
|
import 'package:photos/utils/dialog_util.dart';
|
2020-08-13 01:18:41 +00:00
|
|
|
import 'package:photos/utils/file_util.dart';
|
2020-04-24 12:40:24 +00:00
|
|
|
|
2021-01-13 10:16:31 +00:00
|
|
|
Future<void> share(BuildContext context, List<File> files) async {
|
2021-01-08 17:02:41 +00:00
|
|
|
final dialog = createProgressDialog(context, "preparing...");
|
2020-08-24 23:59:57 +00:00
|
|
|
await dialog.show();
|
2020-10-26 15:19:29 +00:00
|
|
|
final pathFutures = List<Future<String>>();
|
2020-08-24 23:59:57 +00:00
|
|
|
for (File file in files) {
|
2020-10-26 15:19:29 +00:00
|
|
|
pathFutures.add(getNativeFile(file).then((file) => file.path));
|
2020-08-24 23:59:57 +00:00
|
|
|
}
|
2021-01-13 10:16:31 +00:00
|
|
|
final paths = await Future.wait(pathFutures);
|
2020-08-24 23:59:57 +00:00
|
|
|
await dialog.hide();
|
2021-01-13 10:16:31 +00:00
|
|
|
return Share.shareFiles(paths);
|
2020-08-24 23:59:57 +00:00
|
|
|
}
|
|
|
|
|
2020-10-09 23:47:14 +00:00
|
|
|
Future<void> shareText(String text) async {
|
2021-01-13 10:16:31 +00:00
|
|
|
return Share.share(text);
|
2020-05-25 15:07:22 +00:00
|
|
|
}
|