feat(media-picker-service): add pickFileOfType method

This commit is contained in:
Kiril Tijsma 2024-12-04 08:36:17 +01:00
parent 8ee904746c
commit a865e651b1
5 changed files with 21 additions and 16 deletions

View file

@ -1,3 +1,7 @@
## 0.7.0
- Added 'pickFileOfType' to the MediaPickerService
## 0.6.6 ## 0.6.6
- Upgraded 'logger' package to ^2.4.0 - Upgraded 'logger' package to ^2.4.0

View file

@ -4,7 +4,6 @@
import 'dart:typed_data'; import 'dart:typed_data';
import 'package:file_picker/file_picker.dart';
import 'package:flutter_media_picker/flutter_media_picker.dart'; import 'package:flutter_media_picker/flutter_media_picker.dart';
abstract class MediaPickerService { abstract class MediaPickerService {
@ -16,4 +15,7 @@ abstract class MediaPickerService {
/// Returns [FilePickerResult] based on given [File]. /// Returns [FilePickerResult] based on given [File].
Future<FilePickerResult?> pickFile(List<String> fileExtensions); Future<FilePickerResult?> pickFile(List<String> fileExtensions);
/// Returns [FilePickerResult] with type [FileType] based on given [File].
Future<FilePickerResult?> pickFileOfType(FileType type);
} }

View file

@ -2,7 +2,6 @@
// //
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
import 'package:file_picker/file_picker.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:mime/mime.dart'; import 'package:mime/mime.dart';

View file

@ -4,7 +4,6 @@
import 'dart:typed_data'; import 'dart:typed_data';
import 'package:file_picker/file_picker.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_media_picker/flutter_media_picker.dart'; import 'package:flutter_media_picker/flutter_media_picker.dart';
import 'package:image_picker/image_picker.dart'; import 'package:image_picker/image_picker.dart';
@ -12,6 +11,7 @@ import 'package:flutter_media_picker/video_player/video_player_native.dart'
if (dart.library.html) 'package:flutter_media_picker/video_player/video_player_web.dart' if (dart.library.html) 'package:flutter_media_picker/video_player/video_player_web.dart'
as vp; as vp;
import 'package:video_player/video_player.dart'; import 'package:video_player/video_player.dart';
export 'package:file_picker/file_picker.dart';
class MediaPickerFileService implements MediaPickerService { class MediaPickerFileService implements MediaPickerService {
late VideoPlayerController controller; late VideoPlayerController controller;
@ -58,17 +58,17 @@ class MediaPickerFileService implements MediaPickerService {
} }
@override @override
Future<FilePickerResult?> pickFile(List<String> extensions) async { Future<FilePickerResult?> pickFile(List<String> extensions) async =>
var file = await FilePicker.platform.pickFiles( FilePicker.platform.pickFiles(
withData: true, withData: true,
type: FileType.custom, type: FileType.custom,
allowedExtensions: extensions, allowedExtensions: extensions,
); );
if (file != null) { @override
return file; Future<FilePickerResult?> pickFileOfType(FileType type) async =>
} FilePicker.platform.pickFiles(
withData: true,
return Future.value(null); type: type,
} );
} }

View file

@ -1,6 +1,6 @@
name: flutter_media_picker name: flutter_media_picker
description: A new Flutter package project. description: A new Flutter package project.
version: 0.6.6 version: 0.7.0
homepage: https://github.com/Iconica-Development/flutter_media_picker homepage: https://github.com/Iconica-Development/flutter_media_picker
publish_to: https://forgejo.internal.iconica.nl/api/packages/internal/pub publish_to: https://forgejo.internal.iconica.nl/api/packages/internal/pub