diff --git a/extra/play/feature_graphics_1024_500.png b/extra/play/feature_graphics_1024_500.png new file mode 100644 index 000000000..f97296a56 Binary files /dev/null and b/extra/play/feature_graphics_1024_500.png differ diff --git a/extra/play/feature_graphics_1024_500.xcf b/extra/play/feature_graphics_1024_500.xcf new file mode 100644 index 000000000..1121ebbbf Binary files /dev/null and b/extra/play/feature_graphics_1024_500.xcf differ diff --git a/extra/play/hi_res_512.png b/extra/play/hi_res_512.png new file mode 100644 index 000000000..f6caff9b6 Binary files /dev/null and b/extra/play/hi_res_512.png differ diff --git a/extra/play/screenshots v1.0.0/S10/1-S10-collection.jpg b/extra/play/screenshots v1.0.0/S10/1-S10-collection.jpg new file mode 100644 index 000000000..c7c67fc94 Binary files /dev/null and b/extra/play/screenshots v1.0.0/S10/1-S10-collection.jpg differ diff --git a/extra/play/screenshots v1.0.0/S10/2-S10-image.jpg b/extra/play/screenshots v1.0.0/S10/2-S10-image.jpg new file mode 100644 index 000000000..a7e7e5dca Binary files /dev/null and b/extra/play/screenshots v1.0.0/S10/2-S10-image.jpg differ diff --git a/extra/play/screenshots v1.0.0/S10/3-S10-info__basic_.jpg b/extra/play/screenshots v1.0.0/S10/3-S10-info__basic_.jpg new file mode 100644 index 000000000..d454fff5f Binary files /dev/null and b/extra/play/screenshots v1.0.0/S10/3-S10-info__basic_.jpg differ diff --git a/extra/play/screenshots v1.0.0/S10/4-S10-info__metadata_.jpg b/extra/play/screenshots v1.0.0/S10/4-S10-info__metadata_.jpg new file mode 100644 index 000000000..52d10c4bc Binary files /dev/null and b/extra/play/screenshots v1.0.0/S10/4-S10-info__metadata_.jpg differ diff --git a/extra/play/screenshots v1.0.0/S10/5-S10-stats.jpg b/extra/play/screenshots v1.0.0/S10/5-S10-stats.jpg new file mode 100644 index 000000000..8e6d9e251 Binary files /dev/null and b/extra/play/screenshots v1.0.0/S10/5-S10-stats.jpg differ diff --git a/extra/play/screenshots v1.0.0/S10/6-S10-countries.jpg b/extra/play/screenshots v1.0.0/S10/6-S10-countries.jpg new file mode 100644 index 000000000..eec56facf Binary files /dev/null and b/extra/play/screenshots v1.0.0/S10/6-S10-countries.jpg differ diff --git a/extra/play/screenshots v1.0.0/raw/1 Collection.png b/extra/play/screenshots v1.0.0/raw/1 Collection.png new file mode 100644 index 000000000..8dfa36e40 Binary files /dev/null and b/extra/play/screenshots v1.0.0/raw/1 Collection.png differ diff --git a/extra/play/screenshots v1.0.0/raw/2 Image.png b/extra/play/screenshots v1.0.0/raw/2 Image.png new file mode 100644 index 000000000..e77b42427 Binary files /dev/null and b/extra/play/screenshots v1.0.0/raw/2 Image.png differ diff --git a/extra/play/screenshots v1.0.0/raw/3 Info basic.png b/extra/play/screenshots v1.0.0/raw/3 Info basic.png new file mode 100644 index 000000000..30e803343 Binary files /dev/null and b/extra/play/screenshots v1.0.0/raw/3 Info basic.png differ diff --git a/extra/play/screenshots v1.0.0/raw/4 Info metadata.png b/extra/play/screenshots v1.0.0/raw/4 Info metadata.png new file mode 100644 index 000000000..508fe4b9a Binary files /dev/null and b/extra/play/screenshots v1.0.0/raw/4 Info metadata.png differ diff --git a/extra/play/screenshots v1.0.0/raw/5 Stats.png b/extra/play/screenshots v1.0.0/raw/5 Stats.png new file mode 100644 index 000000000..eda465b3a Binary files /dev/null and b/extra/play/screenshots v1.0.0/raw/5 Stats.png differ diff --git a/extra/play/screenshots v1.0.0/raw/6 Countries.png b/extra/play/screenshots v1.0.0/raw/6 Countries.png new file mode 100644 index 000000000..94a9f09a4 Binary files /dev/null and b/extra/play/screenshots v1.0.0/raw/6 Countries.png differ diff --git a/lib/model/source/collection_source.dart b/lib/model/source/collection_source.dart index 2870492f3..6687d10f6 100644 --- a/lib/model/source/collection_source.dart +++ b/lib/model/source/collection_source.dart @@ -61,8 +61,9 @@ class CollectionSource with SourceBase, AlbumMixin, LocationMixin, TagMixin { void removeEntries(Iterable entries) { entries.forEach((entry) => entry.removeFromFavourites()); _rawEntries.removeWhere(entries.contains); - // TODO TLAD invalidate locations/tags, like cleaning albums cleanEmptyAlbums(entries.map((entry) => entry.directory).toSet()); + updateLocations(); + updateTags(); invalidateFilterEntryCounts(); eventBus.fire(EntryRemovedEvent(entries)); } diff --git a/lib/widgets/album/empty.dart b/lib/widgets/album/empty.dart index eeeb89821..e4bce869f 100644 --- a/lib/widgets/album/empty.dart +++ b/lib/widgets/album/empty.dart @@ -1,4 +1,3 @@ -import 'package:aves/widgets/common/icons.dart'; import 'package:flutter/material.dart'; class EmptyContent extends StatelessWidget { @@ -7,8 +6,8 @@ class EmptyContent extends StatelessWidget { final AlignmentGeometry alignment; const EmptyContent({ - @required this.icon = AIcons.image, - @required this.text = 'No images', + @required this.icon, + @required this.text, this.alignment = const FractionalOffset(.5, .35), }); diff --git a/lib/widgets/common/action_delegates/feedback.dart b/lib/widgets/common/action_delegates/feedback.dart index 9042ab5ad..f9e8b0cae 100644 --- a/lib/widgets/common/action_delegates/feedback.dart +++ b/lib/widgets/common/action_delegates/feedback.dart @@ -4,8 +4,12 @@ import 'package:flutter/material.dart'; import 'package:flutter/scheduler.dart'; mixin FeedbackMixin { + Flushbar _flushbar; + + Future dismissFeedback() => _flushbar?.dismiss(); + void showFeedback(BuildContext context, String message) { - Flushbar( + _flushbar = Flushbar( message: message, margin: const EdgeInsets.all(8), borderRadius: 8, @@ -14,6 +18,6 @@ mixin FeedbackMixin { duration: Durations.opToastDisplay * timeDilation, flushbarPosition: FlushbarPosition.TOP, animationDuration: Durations.opToastAnimation, - ).show(context); + )..show(context); } } diff --git a/lib/widgets/fullscreen/fullscreen_body.dart b/lib/widgets/fullscreen/fullscreen_body.dart index 0bbeaa942..5c58f1f50 100644 --- a/lib/widgets/fullscreen/fullscreen_body.dart +++ b/lib/widgets/fullscreen/fullscreen_body.dart @@ -289,9 +289,10 @@ class FullscreenBodyState extends State with SingleTickerProvide ); } - void _onVerticalPageChanged(int page) { + Future _onVerticalPageChanged(int page) async { _currentVerticalPage.value = page; if (page == transitionPage) { + await _actionDelegate.dismissFeedback(); _onLeave(); Navigator.pop(context); } diff --git a/pubspec.lock b/pubspec.lock index 08b2f62ff..eb2699133 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -28,7 +28,7 @@ packages: name: barcode url: "https://pub.dartlang.org" source: hosted - version: "1.11.0" + version: "1.11.1" boolean_selector: dependency: transitive description: @@ -81,9 +81,11 @@ packages: draggable_scrollbar: dependency: "direct main" description: - path: "../flutter-draggable-scrollbar" - relative: true - source: path + path: "." + ref: HEAD + resolved-ref: "3b823ae0a9def4edec62771f18e6348312bfce15" + url: "git://github.com/deckerst/flutter-draggable-scrollbar.git" + source: git version: "0.0.4" event_bus: dependency: "direct main" @@ -95,9 +97,11 @@ packages: expansion_tile_card: dependency: "direct main" description: - path: "../expansion_tile_card" - relative: true - source: path + path: "." + ref: HEAD + resolved-ref: edb6b11bb448fc2f30e566a20605b37093503176 + url: "git://github.com/deckerst/expansion_tile_card.git" + source: git version: "1.0.3" firebase_crashlytics: dependency: "direct main" @@ -121,9 +125,11 @@ packages: flutter_ijkplayer: dependency: "direct main" description: - path: "../flutter_ijkplayer" - relative: true - source: path + path: "." + ref: HEAD + resolved-ref: "2dfc79b79b9544ecbc205c158c6246293fb2be8f" + url: "git://github.com/deckerst/flutter_ijkplayer.git" + source: git version: "0.3.6" flutter_markdown: dependency: "direct main" @@ -211,7 +217,7 @@ packages: name: js url: "https://pub.dartlang.org" source: hosted - version: "0.6.1+1" + version: "0.6.2" logging: dependency: transitive description: @@ -225,7 +231,7 @@ packages: name: markdown url: "https://pub.dartlang.org" source: hosted - version: "2.1.4" + version: "2.1.5" matcher: dependency: transitive description: @@ -309,14 +315,14 @@ packages: name: permission_handler url: "https://pub.dartlang.org" source: hosted - version: "5.0.0+hotfix.8" + version: "5.0.1" permission_handler_platform_interface: dependency: transitive description: name: permission_handler_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "2.0.0" + version: "2.0.1" petitparser: dependency: transitive description: @@ -327,9 +333,11 @@ packages: photo_view: dependency: "direct main" description: - path: "../photo_view" - relative: true - source: path + path: "." + ref: HEAD + resolved-ref: "79a3c20ee7f01e6ffb71464000c2ca8f1e28ec44" + url: "git://github.com/deckerst/photo_view.git" + source: git version: "0.9.2" platform_detect: dependency: transitive @@ -351,14 +359,14 @@ packages: name: printing url: "https://pub.dartlang.org" source: hosted - version: "3.4.0" + version: "3.5.0" provider: dependency: "direct main" description: name: provider url: "https://pub.dartlang.org" source: hosted - version: "4.1.2" + version: "4.1.3" pub_semver: dependency: transitive description: @@ -433,7 +441,7 @@ packages: name: sqflite url: "https://pub.dartlang.org" source: hosted - version: "1.3.0+2" + version: "1.3.1" sqflite_common: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index ffd651f04..14f398bd3 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -11,7 +11,7 @@ description: A new Flutter application. # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 1.0.0+1 +version: 1.0.1+2 # video_player (as of v0.10.8+2, backed by ExoPlayer): # - does not support content URIs (by default, but trivial by fork) @@ -39,20 +39,20 @@ dependencies: charts_flutter: collection: draggable_scrollbar: - path: ../flutter-draggable-scrollbar -# git: -# url: git://github.com/deckerst/flutter-draggable-scrollbar.git +# path: ../flutter-draggable-scrollbar + git: + url: git://github.com/deckerst/flutter-draggable-scrollbar.git event_bus: expansion_tile_card: - path: ../expansion_tile_card -# git: -# url: git://github.com/deckerst/expansion_tile_card.git +# path: ../expansion_tile_card + git: + url: git://github.com/deckerst/expansion_tile_card.git firebase_crashlytics: flushbar: flutter_ijkplayer: - path: ../flutter_ijkplayer - # git: - # url: git://github.com/deckerst/flutter_ijkplayer.git +# path: ../flutter_ijkplayer + git: + url: git://github.com/deckerst/flutter_ijkplayer.git flutter_markdown: flutter_native_timezone: flutter_staggered_animations: @@ -66,12 +66,10 @@ dependencies: pedantic: percent_indicator: permission_handler: - # photo_view v0.9.2 has issue https://github.com/renancaraujo/photo_view/issues/216 - # https://github.com/renancaraujo/photo_view/pull/266 does not fix it photo_view: - path: ../photo_view -# git: -# url: git://github.com/deckerst/photo_view.git +# path: ../photo_view + git: + url: git://github.com/deckerst/photo_view.git printing: provider: screen: