convert_provider.dart 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. import 'package:ConversionFlutterDemo/convert_flutter.dart';
  2. import 'package:ConversionFlutterDemo/models/convert_contain_options_bean.dart';
  3. import 'package:ConversionFlutterDemo/models/convert_type.dart';
  4. import 'package:flutter/material.dart';
  5. import '../models/convert_bean.dart';
  6. import 'package:path/path.dart';
  7. class ConvertProvider extends ChangeNotifier {
  8. List<ConvertBean> _items = [];
  9. List<ConvertBean> get items => _items;
  10. void addConvertData(BuildContext context, String filePath,
  11. ConvertType convertType, ConvertOptionsBean options) {
  12. ConvertBean convertBean = ConvertBean(
  13. filePath: filePath,
  14. fileName: basename(filePath),
  15. convertType: convertType.name,
  16. status: convertConverting,
  17. progress: 0);
  18. _items.add(convertBean);
  19. ConvertFlutter.convert(context, _items.length - 1, convertBean, options);
  20. notifyListeners();
  21. }
  22. void updateStatus(
  23. int position, int progress, int status, String? outputPath) {
  24. _items[position]
  25. ..status = status
  26. ..progress = progress
  27. ..outputPath = outputPath;
  28. notifyListeners();
  29. }
  30. }