From fff9219bea9481c7ed481d182caf916a94c124be Mon Sep 17 00:00:00 2001 From: Furkan Date: Fri, 30 Dec 2022 05:18:18 +0300 Subject: [PATCH] files formatted --- .flutter-plugins-dependencies | 2 +- .../lib/examples/bottom_sheet_example.dart | 9 +++---- .../lib/examples/gallery_picker_example.dart | 3 ++- example/lib/examples/multiple_medias.dart | 13 +++++---- .../examples/pick_medias_with_builder.dart | 7 +++-- example/lib/examples/whatsapp_pick_photo.dart | 6 ++--- example/lib/main.dart | 15 +++++------ example/test/widget_test.dart | 4 +-- lib/controller/gallery_controller.dart | 15 +++++++---- lib/models/gallery_album.dart | 7 +++-- lib/models/gallery_media.dart | 6 ++++- lib/models/medium.dart | 2 +- lib/models/mode.dart | 3 +-- lib/user_widgets/album_categories_view.dart | 12 ++++----- lib/user_widgets/album_medias.dart | 9 +++---- lib/user_widgets/date_category_view.dart | 6 ++--- lib/user_widgets/photo_provider.dart | 23 +++++++--------- lib/user_widgets/thumbnail_album.dart | 7 ++++- lib/user_widgets/thumbnail_media.dart | 10 ++++--- lib/user_widgets/video_provider.dart | 12 ++++++--- .../album_categories_view.dart | 9 +++---- lib/views/album_view/album_appbar.dart | 10 +++---- lib/views/album_view/album_medias_view.dart | 9 +++---- lib/views/album_view/album_page.dart | 10 +++---- lib/views/album_view/date_category_view.dart | 9 ++++--- lib/views/album_view/media_view.dart | 6 ++--- .../album_view/selected_medias_view.dart | 15 +++++------ lib/views/bottom_sheet.dart | 20 +++++++------- .../gallery_picker_view.dart | 27 +++++++++---------- .../gallery_picker_view/picker_appbar.dart | 10 +++---- .../gallery_picker_view/reload_gallery.dart | 11 ++++---- .../gallery_picker_view/tappable_appbar.dart | 7 ++--- lib/views/gridview_static.dart | 13 +++++---- lib/views/thumbnail_media_file.dart | 6 ++++- test/gallery_picker_test.dart | 2 +- 35 files changed, 178 insertions(+), 157 deletions(-) diff --git a/.flutter-plugins-dependencies b/.flutter-plugins-dependencies index cabf11e..f5d76fd 100644 --- a/.flutter-plugins-dependencies +++ b/.flutter-plugins-dependencies @@ -1 +1 @@ -{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"permission_handler_apple","path":"C:\\\\src\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\permission_handler_apple-9.0.7\\\\","native_build":true,"dependencies":[]},{"name":"photo_gallery","path":"C:\\\\src\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\photo_gallery-1.1.1\\\\","native_build":true,"dependencies":[]},{"name":"video_player_avfoundation","path":"C:\\\\src\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\video_player_avfoundation-2.3.8\\\\","native_build":true,"dependencies":[]},{"name":"video_thumbnail","path":"C:\\\\src\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\video_thumbnail-0.5.3\\\\","native_build":true,"dependencies":[]}],"android":[{"name":"permission_handler_android","path":"C:\\\\src\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\permission_handler_android-10.2.0\\\\","native_build":true,"dependencies":[]},{"name":"photo_gallery","path":"C:\\\\src\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\photo_gallery-1.1.1\\\\","native_build":true,"dependencies":[]},{"name":"video_player_android","path":"C:\\\\src\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\video_player_android-2.3.10\\\\","native_build":true,"dependencies":[]},{"name":"video_thumbnail","path":"C:\\\\src\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\video_thumbnail-0.5.3\\\\","native_build":true,"dependencies":[]}],"macos":[],"linux":[],"windows":[{"name":"permission_handler_windows","path":"C:\\\\src\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\permission_handler_windows-0.1.2\\\\","native_build":true,"dependencies":[]}],"web":[{"name":"video_player_web","path":"C:\\\\src\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\video_player_web-2.0.13\\\\","dependencies":[]}]},"dependencyGraph":[{"name":"permission_handler","dependencies":["permission_handler_android","permission_handler_apple","permission_handler_windows"]},{"name":"permission_handler_android","dependencies":[]},{"name":"permission_handler_apple","dependencies":[]},{"name":"permission_handler_windows","dependencies":[]},{"name":"photo_gallery","dependencies":[]},{"name":"video_player","dependencies":["video_player_android","video_player_avfoundation","video_player_web"]},{"name":"video_player_android","dependencies":[]},{"name":"video_player_avfoundation","dependencies":[]},{"name":"video_player_web","dependencies":[]},{"name":"video_thumbnail","dependencies":[]}],"date_created":"2022-12-29 12:11:29.448664","version":"3.3.9"} \ No newline at end of file +{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"permission_handler_apple","path":"C:\\\\src\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\permission_handler_apple-9.0.7\\\\","native_build":true,"dependencies":[]},{"name":"photo_gallery","path":"C:\\\\src\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\photo_gallery-1.1.1\\\\","native_build":true,"dependencies":[]},{"name":"video_player_avfoundation","path":"C:\\\\src\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\video_player_avfoundation-2.3.8\\\\","native_build":true,"dependencies":[]},{"name":"video_thumbnail","path":"C:\\\\src\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\video_thumbnail-0.5.3\\\\","native_build":true,"dependencies":[]}],"android":[{"name":"permission_handler_android","path":"C:\\\\src\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\permission_handler_android-10.2.0\\\\","native_build":true,"dependencies":[]},{"name":"photo_gallery","path":"C:\\\\src\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\photo_gallery-1.1.1\\\\","native_build":true,"dependencies":[]},{"name":"video_player_android","path":"C:\\\\src\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\video_player_android-2.3.10\\\\","native_build":true,"dependencies":[]},{"name":"video_thumbnail","path":"C:\\\\src\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\video_thumbnail-0.5.3\\\\","native_build":true,"dependencies":[]}],"macos":[],"linux":[],"windows":[{"name":"permission_handler_windows","path":"C:\\\\src\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\permission_handler_windows-0.1.2\\\\","native_build":true,"dependencies":[]}],"web":[{"name":"video_player_web","path":"C:\\\\src\\\\flutter\\\\.pub-cache\\\\hosted\\\\pub.dartlang.org\\\\video_player_web-2.0.13\\\\","dependencies":[]}]},"dependencyGraph":[{"name":"permission_handler","dependencies":["permission_handler_android","permission_handler_apple","permission_handler_windows"]},{"name":"permission_handler_android","dependencies":[]},{"name":"permission_handler_apple","dependencies":[]},{"name":"permission_handler_windows","dependencies":[]},{"name":"photo_gallery","dependencies":[]},{"name":"video_player","dependencies":["video_player_android","video_player_avfoundation","video_player_web"]},{"name":"video_player_android","dependencies":[]},{"name":"video_player_avfoundation","dependencies":[]},{"name":"video_player_web","dependencies":[]},{"name":"video_thumbnail","dependencies":[]}],"date_created":"2022-12-30 05:16:13.636734","version":"3.3.9"} \ No newline at end of file diff --git a/example/lib/examples/bottom_sheet_example.dart b/example/lib/examples/bottom_sheet_example.dart index 9dc1d61..6ee7083 100644 --- a/example/lib/examples/bottom_sheet_example.dart +++ b/example/lib/examples/bottom_sheet_example.dart @@ -1,6 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:flutter/src/widgets/container.dart'; -import 'package:flutter/src/widgets/framework.dart'; +// ignore: depend_on_referenced_packages import 'package:gallery_picker/gallery_picker.dart'; class BottomSheetExample extends StatefulWidget { @@ -23,7 +22,7 @@ class _BottomSheetExampleState extends State { this.selectedMedias = selectedMedias; pageIndex = 0; if (this.selectedMedias.isNotEmpty) { - Future.delayed(Duration(milliseconds: 500)).then((value) { + Future.delayed(const Duration(milliseconds: 500)).then((value) { controller.animateToPage(0, duration: const Duration(milliseconds: 500), curve: Curves.easeIn); @@ -129,7 +128,7 @@ class _BottomSheetExampleState extends State { ], ), ), - Spacer( + const Spacer( flex: 1, ), TextButton( @@ -141,7 +140,7 @@ class _BottomSheetExampleState extends State { size: 40, ), ), - Spacer( + const Spacer( flex: 1, ), ], diff --git a/example/lib/examples/gallery_picker_example.dart b/example/lib/examples/gallery_picker_example.dart index 26b692b..1ac9dfe 100644 --- a/example/lib/examples/gallery_picker_example.dart +++ b/example/lib/examples/gallery_picker_example.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +// ignore: depend_on_referenced_packages import 'package:gallery_picker/gallery_picker.dart'; class GalleryPickerExample extends StatefulWidget { @@ -16,7 +17,7 @@ class _GalleryPickerExampleState extends State { Widget build(BuildContext context) { return Scaffold( appBar: AppBar( - title: Text("Pick medias"), + title: const Text("Pick medias"), ), body: Center( child: Column( diff --git a/example/lib/examples/multiple_medias.dart b/example/lib/examples/multiple_medias.dart index 0bf8bbc..2536272 100644 --- a/example/lib/examples/multiple_medias.dart +++ b/example/lib/examples/multiple_medias.dart @@ -1,6 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:flutter/src/widgets/container.dart'; -import 'package:flutter/src/widgets/framework.dart'; +// ignore: depend_on_referenced_packages import 'package:gallery_picker/gallery_picker.dart'; import '../main.dart'; @@ -20,12 +19,12 @@ class _MultipleMediasViewState extends State { Widget build(BuildContext context) { return Scaffold( appBar: AppBar( - title: Text("Destination Page"), + title: const Text("Destination Page"), ), body: Column(children: [ const Spacer(), - Text("These are your selected medias"), - Divider(), + const Text("These are your selected medias"), + const Divider(), Expanded( flex: 5, child: Stack(children: [ @@ -85,7 +84,7 @@ class _MultipleMediasViewState extends State { for (int i = 0; i < widget.medias.length; i++) TextButton( onPressed: () { - pageIndex=i; + pageIndex = i; controller.animateToPage(i, duration: const Duration(milliseconds: 500), curve: Curves.easeIn); @@ -100,7 +99,7 @@ class _MultipleMediasViewState extends State { color: i == pageIndex ? Colors.red : Colors.grey), child: Text( (i + 1).toString(), - style: TextStyle(fontSize: 16, color: Colors.black), + style: const TextStyle(fontSize: 16, color: Colors.black), ), )) ]), diff --git a/example/lib/examples/pick_medias_with_builder.dart b/example/lib/examples/pick_medias_with_builder.dart index 0df5cb8..bc9c95f 100644 --- a/example/lib/examples/pick_medias_with_builder.dart +++ b/example/lib/examples/pick_medias_with_builder.dart @@ -1,6 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:flutter/src/widgets/container.dart'; -import 'package:flutter/src/widgets/framework.dart'; +// ignore: depend_on_referenced_packages import 'package:gallery_picker/gallery_picker.dart'; import '../main.dart'; @@ -18,7 +17,7 @@ class _PickMediasWithBuilderState extends State { Widget build(BuildContext context) { return Scaffold( appBar: AppBar( - title: Text("Pick Medias With Builder"), + title: const Text("Pick Medias With Builder"), ), body: Stack( children: [ @@ -36,7 +35,7 @@ class _PickMediasWithBuilderState extends State { color: Colors.blue, borderRadius: BorderRadius.circular(20)), alignment: Alignment.center, - child: Text( + child: const Text( 'Pick Medias With Builder', style: TextStyle(color: Colors.white), ), diff --git a/example/lib/examples/whatsapp_pick_photo.dart b/example/lib/examples/whatsapp_pick_photo.dart index f3e8ad7..f490afe 100644 --- a/example/lib/examples/whatsapp_pick_photo.dart +++ b/example/lib/examples/whatsapp_pick_photo.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; -import 'package:flutter/src/widgets/container.dart'; -import 'package:flutter/src/widgets/framework.dart'; +// ignore: depend_on_referenced_packages import 'package:gallery_picker/gallery_picker.dart'; +// ignore: depend_on_referenced_packages import 'package:camera/camera.dart'; import 'package:gallery_picker_example/examples/multiple_medias.dart'; @@ -216,7 +216,7 @@ class _WhatsappPickPhotoState extends State { setState(() { anyProcess = true; }); - Future.delayed(Duration(milliseconds: 100)) + Future.delayed(const Duration(milliseconds: 100)) .then((value) => setState(() { anyProcess = false; })); diff --git a/example/lib/main.dart b/example/lib/main.dart index ddff7b0..d9b1638 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -1,10 +1,7 @@ import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; +// ignore: depend_on_referenced_packages import 'package:gallery_picker/gallery_picker.dart'; -import 'package:gallery_picker_example/examples/pick_medias_with_builder.dart'; -import 'examples/gallery_picker_example.dart'; import 'examples/multiple_medias.dart'; -import 'examples/whatsapp_pick_photo.dart'; void main() { runApp(const MyApp()); @@ -26,7 +23,9 @@ class MyApp extends StatelessWidget { /* dark theme settings */ ), themeMode: ThemeMode.dark, - home: const GalleryPickerExample(), + home: const MyHomePage( + title: "Gallery Picker", + ), ); } } @@ -57,9 +56,8 @@ class _MyHomePageState extends State { @override Widget build(BuildContext context) { return Scaffold( - appBar: AppBar( - title: Text("Pick medias"), + title: Text(widget.title), ), body: Center( child: Column( @@ -179,7 +177,7 @@ class _MyHomePageState extends State { startWithRecent: true); if (medias != null) { setState(() { - this.selectedMedias += medias; + selectedMedias += medias; }); } } @@ -227,6 +225,7 @@ class _MyHomePageState extends State { } Future getGalleryMedia() async { + // ignore: unused_local_variable GalleryMedia? allmedia = await GalleryPicker.collectGallery; } } diff --git a/example/test/widget_test.dart b/example/test/widget_test.dart index c468256..87ed3a1 100644 --- a/example/test/widget_test.dart +++ b/example/test/widget_test.dart @@ -5,8 +5,8 @@ // gestures. You can also use WidgetTester to find child widgets in the widget // tree, read text, and verify that the values of widget properties are correct. -import 'package:flutter/material.dart'; -import 'package:flutter_test/flutter_test.dart'; +//import 'package:flutter/material.dart'; +//import 'package:flutter_test/flutter_test.dart'; void main() { //testWidgets('Counter increments smoke test', (WidgetTester tester) async { diff --git a/lib/controller/gallery_controller.dart b/lib/controller/gallery_controller.dart index b775015..1556399 100644 --- a/lib/controller/gallery_controller.dart +++ b/lib/controller/gallery_controller.dart @@ -1,5 +1,6 @@ import 'dart:io'; import 'package:flutter/cupertino.dart'; +import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:permission_handler/permission_handler.dart'; @@ -43,8 +44,8 @@ class PhoneGalleryController extends GetxController { void updateSelectedFiles(List medias) { _selectedFiles = medias; - if(selectedFiles.isNotEmpty){ - _pickerMode=true; + if (selectedFiles.isNotEmpty) { + _pickerMode = true; } update(); } @@ -104,7 +105,7 @@ class PhoneGalleryController extends GetxController { Future initializeAlbums() async { GalleryMedia? media = await PhoneGalleryController.collectGallery; if (media != null) { - this._galleryAlbums = media.albums; + _galleryAlbums = media.albums; } _isInitialized = true; update(); @@ -136,7 +137,9 @@ class PhoneGalleryController extends GetxController { entireGalleryAlbum.thumbnail = await videoAlbum.getThumbnail(highQuality: true); } catch (e) { - print(e); + if (kDebugMode) { + print(e); + } } } else if (lastVideoDate == null) { } else { @@ -146,7 +149,9 @@ class PhoneGalleryController extends GetxController { await videoAlbum.getThumbnail(highQuality: true); } catch (e) { entireGalleryAlbum.thumbnail = null; - print(e); + if (kDebugMode) { + print(e); + } } } } diff --git a/lib/models/gallery_album.dart b/lib/models/gallery_album.dart index 82da3c9..3dc5158 100644 --- a/lib/models/gallery_album.dart +++ b/lib/models/gallery_album.dart @@ -1,3 +1,4 @@ +import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:intl/intl.dart'; import 'package:photo_gallery/photo_gallery.dart'; @@ -11,7 +12,7 @@ class GalleryAlbum { int get count => dateCategories.expand((element) => element.files).toList().length; String? get name => album.name; - + List get medias { return dateCategories .expand((element) => element.files) @@ -57,7 +58,9 @@ class GalleryAlbum { try { thumbnail = await album.getThumbnail(highQuality: true); } catch (e) { - print(e); + if (kDebugMode) { + print(e); + } } } diff --git a/lib/models/gallery_media.dart b/lib/models/gallery_media.dart index 78b32d8..da5f167 100644 --- a/lib/models/gallery_media.dart +++ b/lib/models/gallery_media.dart @@ -1,3 +1,5 @@ +import 'package:flutter/foundation.dart'; + import 'gallery_album.dart'; class GalleryMedia { @@ -10,7 +12,9 @@ class GalleryMedia { try { return albums.singleWhere((element) => element.album.name == name); } catch (e) { - print(e); + if (kDebugMode) { + print(e); + } return null; } } diff --git a/lib/models/medium.dart b/lib/models/medium.dart index 48f8ec9..07c453c 100644 --- a/lib/models/medium.dart +++ b/lib/models/medium.dart @@ -1,5 +1,5 @@ import 'package:photo_gallery/photo_gallery.dart'; extension MediumExtension on Medium { - DateTime? get lastDate => this.modifiedDate ?? this.modifiedDate; + DateTime? get lastDate => modifiedDate ?? modifiedDate; } diff --git a/lib/models/mode.dart b/lib/models/mode.dart index 700058e..6d1836d 100644 --- a/lib/models/mode.dart +++ b/lib/models/mode.dart @@ -1,2 +1 @@ - -enum Mode { dark, light } \ No newline at end of file +enum Mode { dark, light } diff --git a/lib/user_widgets/album_categories_view.dart b/lib/user_widgets/album_categories_view.dart index 615e1ef..443e6dc 100644 --- a/lib/user_widgets/album_categories_view.dart +++ b/lib/user_widgets/album_categories_view.dart @@ -4,14 +4,14 @@ import 'thumbnail_album.dart'; import '../models/mode.dart'; class AlbumCategoriesView extends StatelessWidget { - List albums; - Function(GalleryAlbum album)? onPressed; - Function(GalleryAlbum album, bool)? onHover; - Function(GalleryAlbum album)? onLongPress; - Function(GalleryAlbum album, bool)? onFocusChange; + final List albums; + final Function(GalleryAlbum album)? onPressed; + final Function(GalleryAlbum album, bool)? onHover; + final Function(GalleryAlbum album)? onLongPress; + final Function(GalleryAlbum album, bool)? onFocusChange; final Color categoryFailIconColor, categoryBackgroundColor; final Mode mode; - AlbumCategoriesView( + const AlbumCategoriesView( {super.key, required this.albums, required this.categoryBackgroundColor, diff --git a/lib/user_widgets/album_medias.dart b/lib/user_widgets/album_medias.dart index 4a23f07..841f81e 100644 --- a/lib/user_widgets/album_medias.dart +++ b/lib/user_widgets/album_medias.dart @@ -4,11 +4,10 @@ import 'date_category_view.dart'; // ignore: must_be_immutable class AlbumMediasView extends StatelessWidget { - TextStyle? textStyle; - Widget Function(BuildContext)? onFileErrorBuilder; - AlbumMediasView( - {super.key, required this.galleryAlbum,this.textStyle}); - GalleryAlbum galleryAlbum; + final TextStyle? textStyle; + const AlbumMediasView( + {super.key, required this.galleryAlbum, this.textStyle}); + final GalleryAlbum galleryAlbum; @override Widget build(BuildContext context) { return Stack( diff --git a/lib/user_widgets/date_category_view.dart b/lib/user_widgets/date_category_view.dart index 05de910..8ee9281 100644 --- a/lib/user_widgets/date_category_view.dart +++ b/lib/user_widgets/date_category_view.dart @@ -5,15 +5,15 @@ import '/models/gallery_album.dart'; import 'thumbnail_media.dart'; class DateCategoryWiew extends StatelessWidget { - TextStyle? textStyle; + final TextStyle? textStyle; final Widget Function(MediaFile media, BuildContext context)? onMediaErrorBuilder; - DateCategoryWiew( + final DateCategory category; + const DateCategoryWiew( {super.key, required this.category, this.textStyle, this.onMediaErrorBuilder}); - DateCategory category; int getRowCount() { if (category.files.length % 4 != 0) { diff --git a/lib/user_widgets/photo_provider.dart b/lib/user_widgets/photo_provider.dart index 138855a..8bda4bf 100644 --- a/lib/user_widgets/photo_provider.dart +++ b/lib/user_widgets/photo_provider.dart @@ -1,5 +1,4 @@ import 'package:flutter/material.dart'; -import 'package:video_player/video_player.dart'; import '../models/media_file.dart'; class PhotoProvider extends StatefulWidget { @@ -16,15 +15,14 @@ class PhotoProvider extends StatefulWidget { }); @override - _PhotoProviderState createState() => _PhotoProviderState(); + State createState() => _PhotoProviderState(); } class _PhotoProviderState extends State { - VideoPlayerController? _controller; - late MediaFile media; + late MediaFile _media; @override void initState() { - media = widget.media; + _media = widget.media; WidgetsBinding.instance.addPostFrameCallback((_) { initMedia(); }); @@ -32,28 +30,27 @@ class _PhotoProviderState extends State { } Future initMedia() async { - await media.getData(); + await _media.getData(); if (mounted) { setState(() {}); } } - bool anyProcess = false; @override Widget build(BuildContext context) { - if (media != widget.media) { - media = widget.media; - if (media.data == null) { + if (_media != widget.media) { + _media = widget.media; + if (_media.data == null) { initMedia(); } } - return media.data == null - ? Container( + return _media.data == null + ? SizedBox( width: widget.width, height: widget.height, ) : Image.memory( - media.data!, + _media.data!, width: widget.width, height: widget.height, fit: widget.fit, diff --git a/lib/user_widgets/thumbnail_album.dart b/lib/user_widgets/thumbnail_album.dart index e632b24..26d110f 100644 --- a/lib/user_widgets/thumbnail_album.dart +++ b/lib/user_widgets/thumbnail_album.dart @@ -8,7 +8,12 @@ class ThumbnailAlbum extends StatelessWidget { final GalleryAlbum album; final Color failIconColor, backgroundColor; final Mode mode; - ThumbnailAlbum({super.key, required this.album, required this.failIconColor,required this.mode,required this.backgroundColor}); + const ThumbnailAlbum( + {super.key, + required this.album, + required this.failIconColor, + required this.mode, + required this.backgroundColor}); Color adjustFailedBgColor() { if (mode == Mode.dark) { diff --git a/lib/user_widgets/thumbnail_media.dart b/lib/user_widgets/thumbnail_media.dart index 10c9272..1face56 100644 --- a/lib/user_widgets/thumbnail_media.dart +++ b/lib/user_widgets/thumbnail_media.dart @@ -6,8 +6,12 @@ import 'package:transparent_image/transparent_image.dart'; class ThumbnailMedia extends StatelessWidget { final MediaFile media; final bool noIcon; - final Widget Function(MediaFile media,BuildContext context)? onErrorBuilder; - const ThumbnailMedia({super.key, required this.media, this.onErrorBuilder,this.noIcon=false}); + final Widget Function(MediaFile media, BuildContext context)? onErrorBuilder; + const ThumbnailMedia( + {super.key, + required this.media, + this.onErrorBuilder, + this.noIcon = false}); @override Widget build(BuildContext context) { @@ -25,7 +29,7 @@ class ThumbnailMedia extends StatelessWidget { color: Colors.grey, ) else if (media.thumbnailFailed && onErrorBuilder == null) - onErrorBuilder!(media,context) + onErrorBuilder!(media, context) else if (media.thumbnail != null) FadeInImage( fadeInDuration: const Duration(milliseconds: 200), diff --git a/lib/user_widgets/video_provider.dart b/lib/user_widgets/video_provider.dart index 2eac5e3..65271b9 100644 --- a/lib/user_widgets/video_provider.dart +++ b/lib/user_widgets/video_provider.dart @@ -1,4 +1,5 @@ import 'dart:io'; +import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:video_player/video_player.dart'; import '../models/media_file.dart'; @@ -8,19 +9,20 @@ class VideoProvider extends StatefulWidget { final double? width, height; const VideoProvider({ + super.key, required this.media, this.width, this.height, }); - @override - _VideoProviderState createState() => _VideoProviderState(); + State createState() => _VideoProviderState(); } class _VideoProviderState extends State { VideoPlayerController? _controller; File? _file; late MediaFile media; + @override void initState() { media = widget.media; @@ -42,7 +44,9 @@ class _VideoProviderState extends State { setState(() {}); }); } catch (e) { - print("Failed : $e"); + if (kDebugMode) { + print("Failed : $e"); + } } } @@ -68,7 +72,7 @@ class _VideoProviderState extends State { initMedia(); } return _controller == null || !_controller!.value.isInitialized - ? Container( + ? SizedBox( width: widget.width, height: widget.height, ) diff --git a/lib/views/album_categories_view/album_categories_view.dart b/lib/views/album_categories_view/album_categories_view.dart index 122bb35..e2c52a9 100644 --- a/lib/views/album_categories_view/album_categories_view.dart +++ b/lib/views/album_categories_view/album_categories_view.dart @@ -4,11 +4,10 @@ import '../../models/config.dart'; import '../../../controller/gallery_controller.dart'; class AlbumCategoriesView extends StatelessWidget { - PhoneGalleryController controller; - late Config config; - AlbumCategoriesView(this.controller, {super.key}) { - config = controller.config; - } + final PhoneGalleryController controller; + final Config config; + AlbumCategoriesView(this.controller, {super.key}) + : config = controller.config; @override Widget build(BuildContext context) { return LayoutBuilder( diff --git a/lib/views/album_view/album_appbar.dart b/lib/views/album_view/album_appbar.dart index 4c210de..548e88d 100644 --- a/lib/views/album_view/album_appbar.dart +++ b/lib/views/album_view/album_appbar.dart @@ -5,10 +5,10 @@ import '../../controller/gallery_controller.dart'; import '../gallery_picker_view/tappable_appbar.dart'; class AlbumAppBar extends StatelessWidget with PreferredSizeWidget { - PhoneGalleryController controller; - BottomSheetController? bottomSheetController; - GalleryAlbum album; - AlbumAppBar( + final PhoneGalleryController controller; + final BottomSheetController? bottomSheetController; + final GalleryAlbum album; + const AlbumAppBar( {super.key, required this.bottomSheetController, required this.album, @@ -69,5 +69,5 @@ class AlbumAppBar extends StatelessWidget with PreferredSizeWidget { } @override - Size get preferredSize => Size.fromHeight(48); + Size get preferredSize => const Size.fromHeight(48); } diff --git a/lib/views/album_view/album_medias_view.dart b/lib/views/album_view/album_medias_view.dart index b23aba7..2733086 100644 --- a/lib/views/album_view/album_medias_view.dart +++ b/lib/views/album_view/album_medias_view.dart @@ -4,16 +4,15 @@ import '../../../controller/gallery_controller.dart'; import 'date_category_view.dart'; import 'selected_medias_view.dart'; -// ignore: must_be_immutable class AlbumMediasView extends StatelessWidget { - PhoneGalleryController controller; - bool singleMedia; - AlbumMediasView( + final PhoneGalleryController controller; + final bool singleMedia; + const AlbumMediasView( {super.key, required this.galleryAlbum, required this.controller, required this.singleMedia}); - GalleryAlbum galleryAlbum; + final GalleryAlbum galleryAlbum; @override Widget build(BuildContext context) { return Stack( diff --git a/lib/views/album_view/album_page.dart b/lib/views/album_view/album_page.dart index 1bf113b..62946b2 100644 --- a/lib/views/album_view/album_page.dart +++ b/lib/views/album_view/album_page.dart @@ -7,16 +7,16 @@ import '../../models/config.dart'; import 'album_medias_view.dart'; class AlbumPage extends StatelessWidget { - bool singleMedia; - AlbumPage( + final bool singleMedia; + final PhoneGalleryController controller; + final BottomSheetController? bottomSheetController; + final GalleryAlbum album; + const AlbumPage( {super.key, required this.album, required this.controller, required this.singleMedia, required this.bottomSheetController}); - PhoneGalleryController controller; - BottomSheetController? bottomSheetController; - GalleryAlbum album; @override Widget build(BuildContext context) { Config config = controller.config; diff --git a/lib/views/album_view/date_category_view.dart b/lib/views/album_view/date_category_view.dart index 416bc70..b2f6b4f 100644 --- a/lib/views/album_view/date_category_view.dart +++ b/lib/views/album_view/date_category_view.dart @@ -5,14 +5,15 @@ import '/models/gallery_album.dart'; import 'media_view.dart'; class DateCategoryWiew extends StatelessWidget { - PhoneGalleryController controller; - bool singleMedia; - DateCategoryWiew( + final PhoneGalleryController controller; + final bool singleMedia; + final DateCategory category; + + const DateCategoryWiew( {super.key, required this.category, required this.controller, required this.singleMedia}); - DateCategory category; int getRowCount() { if (category.files.length % 4 != 0) { diff --git a/lib/views/album_view/media_view.dart b/lib/views/album_view/media_view.dart index 7f2d102..59b923e 100644 --- a/lib/views/album_view/media_view.dart +++ b/lib/views/album_view/media_view.dart @@ -7,9 +7,9 @@ import '../thumbnail_media_file.dart'; class MediaView extends StatelessWidget { final MediaFile file; - PhoneGalleryController controller; - bool singleMedia; - MediaView(this.file, + final PhoneGalleryController controller; + final bool singleMedia; + const MediaView(this.file, {super.key, required this.controller, required this.singleMedia}); @override Widget build(BuildContext context) { diff --git a/lib/views/album_view/selected_medias_view.dart b/lib/views/album_view/selected_medias_view.dart index b165702..1f37cf4 100644 --- a/lib/views/album_view/selected_medias_view.dart +++ b/lib/views/album_view/selected_medias_view.dart @@ -6,16 +6,14 @@ import '../../controller/gallery_controller.dart'; import '../../models/config.dart'; class SelectedMediasView extends StatelessWidget { - PhoneGalleryController controller; - late Config config; - SelectedMediasView({super.key, required this.controller}) { - config = controller.config; - } + final PhoneGalleryController controller; + final Config config; + SelectedMediasView({super.key, required this.controller}) + : config = controller.config; @override Widget build(BuildContext context) { double width = MediaQuery.of(context).size.width; - double height = MediaQuery.of(context).size.height - 167; return Container( color: config.bottomSheetColor, width: width, @@ -41,11 +39,10 @@ class SelectedMediasView extends StatelessWidget { fit: BoxFit.fill, image: ThumbnailProvider( mediumId: selectedMedia.medium.id, - mediumType: - selectedMedia.medium.mediumType, + mediumType: selectedMedia.medium.mediumType, highQuality: true, ))), - child: SizedBox( + child: const SizedBox( width: 47, height: 47, ), diff --git a/lib/views/bottom_sheet.dart b/lib/views/bottom_sheet.dart index a07b10f..dd4ab2f 100644 --- a/lib/views/bottom_sheet.dart +++ b/lib/views/bottom_sheet.dart @@ -15,7 +15,7 @@ class BottomSheetLayout extends StatefulWidget { final Widget Function(List medias, BuildContext context)? multipleMediasBuilder; final bool startWithRecent; - BottomSheetLayout( + BottomSheetLayout( {super.key, required this.child, required this.onSelect, @@ -23,11 +23,13 @@ class BottomSheetLayout extends StatefulWidget { this.heroBuilder, this.initSelectedMedias, this.multipleMediasBuilder, - this.startWithRecent = true}){ - if(initSelectedMedias!=null&&GetInstance().isRegistered()){ - Get.find().updateSelectedFiles(initSelectedMedias!); - } - } + this.startWithRecent = true}) { + if (initSelectedMedias != null && + GetInstance().isRegistered()) { + Get.find() + .updateSelectedFiles(initSelectedMedias!); + } + } @override State createState() => _BottomSheetLayoutState(); @@ -54,7 +56,7 @@ class _BottomSheetLayoutState extends State { if (renderBox.size.height > 200 && !sheetController.isExpanded && !viewCollapsedPicker) { - await Future.delayed(Duration(milliseconds: 100)); + await Future.delayed(const Duration(milliseconds: 100)); controller.appBarTapping = false; setState(() { viewCollapsedPicker = true; @@ -63,7 +65,7 @@ class _BottomSheetLayoutState extends State { if (viewCollapsedPicker) { viewCollapsedPicker = false; controller.appBarTapping = false; - await Future.delayed(Duration(milliseconds: 10)); + await Future.delayed(const Duration(milliseconds: 10)); setState(() {}); } } @@ -131,7 +133,7 @@ class ViewCollapsed extends StatelessWidget { final GalleryPickerView picker; final bool viewPicker; final Function(BuildContext context) onBuild; - ViewCollapsed({ + const ViewCollapsed({ super.key, required this.picker, required this.onBuild, diff --git a/lib/views/gallery_picker_view/gallery_picker_view.dart b/lib/views/gallery_picker_view/gallery_picker_view.dart index 35acfdd..235c6b7 100644 --- a/lib/views/gallery_picker_view/gallery_picker_view.dart +++ b/lib/views/gallery_picker_view/gallery_picker_view.dart @@ -12,22 +12,22 @@ import 'picker_appbar.dart'; import 'reload_gallery.dart'; class GalleryPickerView extends StatefulWidget { - Config? config; - Function(List selectedMedias) onSelect; - Widget Function(String tag, MediaFile media, BuildContext context)? + final Config? config; + final Function(List selectedMedias) onSelect; + final Widget Function(String tag, MediaFile media, BuildContext context)? heroBuilder; - Widget Function(List medias, BuildContext context)? + final Widget Function(List medias, BuildContext context)? multipleMediasBuilder; - bool startWithRecent; - BottomSheetBarController? sheetController; - List? initSelectedMedias; - bool singleMedia; - GalleryPickerView( + final bool startWithRecent; + final BottomSheetBarController? sheetController; + final List? initSelectedMedias; + final bool singleMedia; + const GalleryPickerView( {super.key, this.config, required this.onSelect, this.initSelectedMedias, - this.singleMedia=false, + this.singleMedia = false, this.sheetController, this.heroBuilder, this.multipleMediasBuilder, @@ -55,7 +55,7 @@ class _GalleryPickerState extends State { onSelect: widget.onSelect, heroBuilder: widget.heroBuilder, multipleMediasBuilder: widget.multipleMediasBuilder, - initSelectedMedias:widget.initSelectedMedias, + initSelectedMedias: widget.initSelectedMedias, isRecent: widget.startWithRecent)); config = galleryController.config; } @@ -181,8 +181,7 @@ class _GalleryPickerState extends State { ? AlbumMediasView( galleryAlbum: controller.recent!, controller: controller, - singleMedia:widget.singleMedia - ) + singleMedia: widget.singleMedia) : const Center( child: CircularProgressIndicator( color: Colors.grey, @@ -209,7 +208,7 @@ class _GalleryPickerState extends State { galleryController = Get.put(PhoneGalleryController(config, onSelect: widget.onSelect, heroBuilder: widget.heroBuilder, - initSelectedMedias:widget.initSelectedMedias, + initSelectedMedias: widget.initSelectedMedias, multipleMediasBuilder: widget.multipleMediasBuilder, isRecent: widget.startWithRecent)); await controller.initializeAlbums(); diff --git a/lib/views/gallery_picker_view/picker_appbar.dart b/lib/views/gallery_picker_view/picker_appbar.dart index 496d237..c821ad4 100644 --- a/lib/views/gallery_picker_view/picker_appbar.dart +++ b/lib/views/gallery_picker_view/picker_appbar.dart @@ -5,9 +5,9 @@ import '../../controller/gallery_controller.dart'; import 'tappable_appbar.dart'; class PickerAppBar extends StatelessWidget with PreferredSizeWidget { - PhoneGalleryController controller; - BottomSheetController? bottomSheetController; - PickerAppBar( + final PhoneGalleryController controller; + final BottomSheetController? bottomSheetController; + const PickerAppBar( {super.key, required this.bottomSheetController, required this.controller}); @@ -25,7 +25,7 @@ class PickerAppBar extends StatelessWidget with PreferredSizeWidget { bottomSheetController!.close(); } else { Navigator.pop(context); - await Future.delayed(Duration(milliseconds: 500)); + await Future.delayed(const Duration(milliseconds: 500)); controller.disposeController(); } }, @@ -67,5 +67,5 @@ class PickerAppBar extends StatelessWidget with PreferredSizeWidget { } @override - Size get preferredSize => Size.fromHeight(48); + Size get preferredSize => const Size.fromHeight(48); } diff --git a/lib/views/gallery_picker_view/reload_gallery.dart b/lib/views/gallery_picker_view/reload_gallery.dart index d2c38e8..0b317e4 100644 --- a/lib/views/gallery_picker_view/reload_gallery.dart +++ b/lib/views/gallery_picker_view/reload_gallery.dart @@ -2,11 +2,10 @@ import 'package:flutter/material.dart'; import '/gallery_picker.dart'; class ReloadGallery extends StatelessWidget { - late Config config; - Function() onpressed; - ReloadGallery(Config? config, {super.key, required this.onpressed}) { - this.config = config ?? Config(); - } + final Config config; + final Function() onpressed; + ReloadGallery(Config? config, {super.key, required this.onpressed}) + : config = config ?? Config(); @override Widget build(BuildContext context) { @@ -19,7 +18,7 @@ class ReloadGallery extends StatelessWidget { ), child: Container( height: 50, - padding: EdgeInsets.symmetric(horizontal: 30, vertical: 10), + padding: const EdgeInsets.symmetric(horizontal: 30, vertical: 10), decoration: BoxDecoration( color: Colors.blue, borderRadius: BorderRadius.circular(10)), child: const Center( diff --git a/lib/views/gallery_picker_view/tappable_appbar.dart b/lib/views/gallery_picker_view/tappable_appbar.dart index b9722ee..c9ae64c 100644 --- a/lib/views/gallery_picker_view/tappable_appbar.dart +++ b/lib/views/gallery_picker_view/tappable_appbar.dart @@ -3,9 +3,10 @@ import 'package:get/get.dart'; import '../../controller/bottom_sheet_controller.dart'; class TappableAppbar extends StatelessWidget { - BottomSheetController? controller; - Widget child; - TappableAppbar({super.key, required this.controller,required this.child}); + final BottomSheetController? controller; + final Widget child; + const TappableAppbar( + {super.key, required this.controller, required this.child}); @override Widget build(BuildContext context) { diff --git a/lib/views/gridview_static.dart b/lib/views/gridview_static.dart index 135c4f6..9e309a3 100644 --- a/lib/views/gridview_static.dart +++ b/lib/views/gridview_static.dart @@ -25,12 +25,13 @@ class GridViewStatic extends StatelessWidget { Widget build(BuildContext context) { return verticalView(); } + Widget horizontalView() { return SizedBox( height: size, child: Column( children: [ - for (int i = 0; i < crossAxisCount; i+=crossAxisCount) + for (int i = 0; i < crossAxisCount; i += crossAxisCount) Padding( padding: EdgeInsets.only( bottom: i != children.length - 1 ? mainAxisSpacing : 0), @@ -38,7 +39,9 @@ class GridViewStatic extends StatelessWidget { height: size / crossAxisCount, child: Row( children: [ - for (int j = i; j < i + (children.length~/crossAxisCount)+1; j++) + for (int j = i; + j < i + (children.length ~/ crossAxisCount) + 1; + j++) j < children.length ? Expanded( child: Padding( @@ -48,7 +51,7 @@ class GridViewStatic extends StatelessWidget { : 0), child: children[j], )) - : Spacer() + : const Spacer() ], ), ), @@ -63,7 +66,7 @@ class GridViewStatic extends StatelessWidget { width: size, child: Column( children: [ - for (int i = 0; i < children.length; i+=crossAxisCount) + for (int i = 0; i < children.length; i += crossAxisCount) SizedBox( width: size, height: (size / crossAxisCount) * childAspectRatio, @@ -82,7 +85,7 @@ class GridViewStatic extends StatelessWidget { : 0), child: children[j], )) - : Spacer() + : const Spacer() ], ), ), diff --git a/lib/views/thumbnail_media_file.dart b/lib/views/thumbnail_media_file.dart index dc7f213..2c882d2 100644 --- a/lib/views/thumbnail_media_file.dart +++ b/lib/views/thumbnail_media_file.dart @@ -9,7 +9,11 @@ class ThumbnailMediaFile extends StatelessWidget { final MediaFile file; final Color failIconColor; final Config config; - const ThumbnailMediaFile({super.key, required this.file, required this.failIconColor,required this.config}); + const ThumbnailMediaFile( + {super.key, + required this.file, + required this.failIconColor, + required this.config}); Color adjustFailedBgColor() { if (config.mode == Mode.dark) { diff --git a/test/gallery_picker_test.dart b/test/gallery_picker_test.dart index 132d080..b23e312 100644 --- a/test/gallery_picker_test.dart +++ b/test/gallery_picker_test.dart @@ -1,4 +1,4 @@ -import 'package:flutter_test/flutter_test.dart'; +//import 'package:flutter_test/flutter_test.dart'; void main() { //test('adds one to input values', () {