diff --git a/lib/model/image_entry.dart b/lib/model/image_entry.dart index 2cc1db303..d81137d92 100644 --- a/lib/model/image_entry.dart +++ b/lib/model/image_entry.dart @@ -91,7 +91,7 @@ class ImageEntry with ChangeNotifier { int get megaPixels => (width * height / 1000000).round(); DateTime get bestDate { - if (isCataloged && catalogMetadata.dateMillis > 0) return DateTime.fromMillisecondsSinceEpoch(catalogMetadata.dateMillis); + if ((catalogMetadata?.dateMillis ?? 0) > 0) return DateTime.fromMillisecondsSinceEpoch(catalogMetadata.dateMillis); if (sourceDateTakenMillis != null && sourceDateTakenMillis > 0) return DateTime.fromMillisecondsSinceEpoch(sourceDateTakenMillis); if (dateModifiedSecs != null && dateModifiedSecs > 0) return DateTime.fromMillisecondsSinceEpoch(dateModifiedSecs * 1000); return null; diff --git a/lib/widgets/album/thumbnail.dart b/lib/widgets/album/thumbnail.dart index 85b57ae6f..9b2a0c688 100644 --- a/lib/widgets/album/thumbnail.dart +++ b/lib/widgets/album/thumbnail.dart @@ -104,9 +104,9 @@ class ThumbnailState extends State { iconSize: iconSize, ) else if (entry.isGif) - GifTag( - iconSize: iconSize, - ), + GifTag(iconSize: iconSize) + else if (entry.hasGps) + GpsTag(iconSize: iconSize) ], ); }), diff --git a/lib/widgets/album/thumbnail_tags.dart b/lib/widgets/album/thumbnail_tags.dart index a69008b0e..6d768e3dd 100644 --- a/lib/widgets/album/thumbnail_tags.dart +++ b/lib/widgets/album/thumbnail_tags.dart @@ -31,6 +31,20 @@ class GifTag extends StatelessWidget { } } +class GpsTag extends StatelessWidget { + final double iconSize; + + const GpsTag({Key key, this.iconSize}) : super(key: key); + + @override + Widget build(BuildContext context) { + return Tag( + icon: Icons.place, + iconSize: iconSize, + ); + } +} + class Tag extends StatelessWidget { final IconData icon; final double iconSize; diff --git a/lib/widgets/fullscreen/image_page.dart b/lib/widgets/fullscreen/image_page.dart index 53d189b73..63e288e05 100644 --- a/lib/widgets/fullscreen/image_page.dart +++ b/lib/widgets/fullscreen/image_page.dart @@ -47,11 +47,17 @@ class FullscreenPageState extends State with SingleTickerProvide _horizontalPager = PageController(initialPage: _currentHorizontalPage); _verticalPager = PageController(initialPage: _currentVerticalPage); _overlayAnimationController = AnimationController( - duration: Duration(milliseconds: 300), + duration: Duration(milliseconds: 400), vsync: this, ); - _topOverlayScale = CurvedAnimation(parent: _overlayAnimationController, curve: Curves.easeOutQuart, reverseCurve: Curves.easeInQuart); - _bottomOverlayOffset = Tween(begin: Offset(0, 1), end: Offset(0, 0)).animate(CurvedAnimation(parent: _overlayAnimationController, curve: Curves.easeOutQuart, reverseCurve: Curves.easeInQuart)); + _topOverlayScale = CurvedAnimation( + parent: _overlayAnimationController, + curve: Curves.easeOutQuart, + ); + _bottomOverlayOffset = Tween(begin: Offset(0, 1), end: Offset(0, 0)).animate(CurvedAnimation( + parent: _overlayAnimationController, + curve: Curves.easeOutQuart, + )); _overlayVisible.addListener(onOverlayVisibleChange); Screen.keepOn(true); @@ -101,7 +107,7 @@ class FullscreenPageState extends State with SingleTickerProvide if (notification is BackUpNotification) { _verticalPager.animateToPage( 0, - duration: const Duration(milliseconds: 400), + duration: const Duration(milliseconds: 350), curve: Curves.easeInOut, ); }