Disable Hero animation as viewer size initially is 0 with partial files

This commit is contained in:
Ming Ming 2022-10-16 23:22:27 +08:00
parent 5ac326b5c8
commit 50673be1f0
2 changed files with 17 additions and 23 deletions

View file

@ -8,7 +8,6 @@ import 'package:nc_photos/api/api_util.dart' as api_util;
import 'package:nc_photos/cache_manager_util.dart'; import 'package:nc_photos/cache_manager_util.dart';
import 'package:nc_photos/entity/file_descriptor.dart'; import 'package:nc_photos/entity/file_descriptor.dart';
import 'package:nc_photos/entity/local_file.dart'; import 'package:nc_photos/entity/local_file.dart';
import 'package:nc_photos/flutter_util.dart' as flutter_util;
import 'package:nc_photos/k.dart' as k; import 'package:nc_photos/k.dart' as k;
import 'package:nc_photos/mobile/android/content_uri_image_provider.dart'; import 'package:nc_photos/mobile/android/content_uri_image_provider.dart';
import 'package:nc_photos/widget/cached_network_image_mod.dart' as mod; import 'package:nc_photos/widget/cached_network_image_mod.dart' as mod;
@ -116,26 +115,23 @@ class _RemoteImageViewerState extends State<RemoteImageViewer> {
onHeightChanged: widget.onHeightChanged, onHeightChanged: widget.onHeightChanged,
onZoomStarted: widget.onZoomStarted, onZoomStarted: widget.onZoomStarted,
onZoomEnded: widget.onZoomEnded, onZoomEnded: widget.onZoomEnded,
child: Hero( child: mod.CachedNetworkImage(
tag: flutter_util.getImageHeroTag(widget.file), cacheManager: LargeImageCacheManager.inst,
child: mod.CachedNetworkImage( imageUrl: _getImageUrl(widget.account, widget.file),
cacheManager: LargeImageCacheManager.inst, httpHeaders: {
imageUrl: _getImageUrl(widget.account, widget.file), "Authorization": Api.getAuthorizationHeaderValue(widget.account),
httpHeaders: { },
"Authorization": Api.getAuthorizationHeaderValue(widget.account), fit: BoxFit.contain,
}, fadeInDuration: const Duration(),
fit: BoxFit.contain, filterQuality: FilterQuality.high,
fadeInDuration: const Duration(), imageRenderMethodForWeb: ImageRenderMethodForWeb.HttpGet,
filterQuality: FilterQuality.high, imageBuilder: (context, child, imageProvider) {
imageRenderMethodForWeb: ImageRenderMethodForWeb.HttpGet, WidgetsBinding.instance.addPostFrameCallback((_) {
imageBuilder: (context, child, imageProvider) { _onItemLoaded();
WidgetsBinding.instance.addPostFrameCallback((_) { });
_onItemLoaded(); const SizeChangedLayoutNotification().dispatch(context);
}); return child;
const SizeChangedLayoutNotification().dispatch(context); },
return child;
},
),
), ),
); );

View file

@ -9,7 +9,6 @@ import 'package:nc_photos/app_localizations.dart';
import 'package:nc_photos/cache_manager_util.dart'; import 'package:nc_photos/cache_manager_util.dart';
import 'package:nc_photos/entity/file_descriptor.dart'; import 'package:nc_photos/entity/file_descriptor.dart';
import 'package:nc_photos/entity/local_file.dart'; import 'package:nc_photos/entity/local_file.dart';
import 'package:nc_photos/flutter_util.dart' as flutter_util;
import 'package:nc_photos/k.dart' as k; import 'package:nc_photos/k.dart' as k;
import 'package:nc_photos/mobile/android/content_uri_image_provider.dart'; import 'package:nc_photos/mobile/android/content_uri_image_provider.dart';
import 'package:nc_photos/theme.dart'; import 'package:nc_photos/theme.dart';
@ -66,7 +65,6 @@ class PhotoListImageItem extends PhotoListFileItem {
previewUrl: previewUrl, previewUrl: previewUrl,
isGif: file.fdMime == "image/gif", isGif: file.fdMime == "image/gif",
isFavorite: shouldShowFavoriteBadge && file.fdIsFavorite == true, isFavorite: shouldShowFavoriteBadge && file.fdIsFavorite == true,
heroKey: flutter_util.getImageHeroTag(file),
); );
final Account account; final Account account;