From b7a4da17d826e4529cf2d40b4ce02447638755b1 Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Sat, 4 Jun 2022 12:22:30 +0900 Subject: [PATCH] minor fixes --- lib/model/filters/query.dart | 4 ++-- lib/widgets/aves_app.dart | 9 ++++++++- lib/widgets/common/action_mixins/feedback.dart | 5 +++-- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/lib/model/filters/query.dart b/lib/model/filters/query.dart index b16ba2484..e8ae39914 100644 --- a/lib/model/filters/query.dart +++ b/lib/model/filters/query.dart @@ -22,8 +22,8 @@ class QueryFilter extends CollectionFilter { QueryFilter(this.query, {this.colorful = true, this.live = false}) { var upQuery = query.toUpperCase(); if (upQuery.startsWith('ID:')) { - final id = int.tryParse(upQuery.substring(3)); - _test = (entry) => entry.id == id; + final contentId = int.tryParse(upQuery.substring(3)); + _test = (entry) => entry.contentId == contentId; return; } diff --git a/lib/widgets/aves_app.dart b/lib/widgets/aves_app.dart index 765eb09da..1a309aa58 100644 --- a/lib/widgets/aves_app.dart +++ b/lib/widgets/aves_app.dart @@ -245,7 +245,14 @@ class _AvesAppState extends State with WidgetsBindingObserver { if (!settings.initialized) return; final stopwatch = Stopwatch()..start(); - final screenSize = window.physicalSize / window.devicePixelRatio; + final Size screenSize; + try { + screenSize = window.physicalSize / window.devicePixelRatio; + } catch (error) { + // view may no longer be usable + return; + } + var tileExtent = settings.getTileExtent(CollectionPage.routeName); if (tileExtent == 0) { tileExtent = screenSize.shortestSide / CollectionGrid.columnCountDefault; diff --git a/lib/widgets/common/action_mixins/feedback.dart b/lib/widgets/common/action_mixins/feedback.dart index c077cb420..275eb15c6 100644 --- a/lib/widgets/common/action_mixins/feedback.dart +++ b/lib/widgets/common/action_mixins/feedback.dart @@ -305,12 +305,13 @@ class _FeedbackMessageState extends State<_FeedbackMessage> with SingleTickerPro if (start != null && stop != null) { _totalDurationMillis = stop.difference(start).inMilliseconds; final remainingDuration = stop.difference(DateTime.now()); + final effectiveDuration = remainingDuration > Duration.zero ? remainingDuration : const Duration(milliseconds: 1); _animationController = AnimationController( - duration: remainingDuration, + duration: effectiveDuration, vsync: this, ); _remainingDurationMillis = IntTween( - begin: remainingDuration.inMilliseconds, + begin: effectiveDuration.inMilliseconds, end: 0, ).animate(CurvedAnimation( parent: _animationController!,