diff --git a/lib/image_fullscreen_overlay.dart b/lib/image_fullscreen_overlay.dart index 6f40220cc..e31a6cd61 100644 --- a/lib/image_fullscreen_overlay.dart +++ b/lib/image_fullscreen_overlay.dart @@ -94,17 +94,17 @@ class _FullscreenBottomOverlayState extends State { @override Widget build(BuildContext context) { - var mediaQuery = MediaQuery.of(context); - final screenWidth = mediaQuery.size.width; - final viewInsets = mediaQuery.viewInsets; + final innerPadding = EdgeInsets.all(8.0); + final mediaQuery = MediaQuery.of(context); + final overlayContentMaxWidth = mediaQuery.size.width - mediaQuery.viewPadding.horizontal - innerPadding.horizontal; final date = entry.getBestDate(); - final subRowWidth = min(400.0, screenWidth); + final subRowWidth = min(400.0, overlayContentMaxWidth); return Blurred( child: IgnorePointer( child: Padding( - padding: EdgeInsets.only(bottom: viewInsets.bottom), + padding: mediaQuery.viewInsets + mediaQuery.viewPadding.copyWith(top: 0), child: Container( - padding: EdgeInsets.all(8.0), + padding: innerPadding, color: kOverlayBackground, child: DefaultTextStyle( style: TextStyle( @@ -120,7 +120,7 @@ class _FullscreenBottomOverlayState extends State { crossAxisAlignment: CrossAxisAlignment.start, children: [ SizedBox( - width: screenWidth, + width: overlayContentMaxWidth, child: Text( entry.title, overflow: TextOverflow.ellipsis, diff --git a/lib/model/image_decode_service.dart b/lib/model/image_decode_service.dart index 00c864bee..562d405eb 100644 --- a/lib/model/image_decode_service.dart +++ b/lib/model/image_decode_service.dart @@ -17,15 +17,17 @@ class ImageDecodeService { static Future getImageBytes(ImageEntry entry, int width, int height) async { debugPrint('getImageBytes with uri=${entry.uri}'); - try { - final result = await platform.invokeMethod('getImageBytes', { - 'entry': entry.toMap(), - 'width': width, - 'height': height, - }); - return result as Uint8List; - } on PlatformException catch (e) { - debugPrint('getImageBytes failed with exception=${e.message}'); + if (width > 0 && height > 0) { + try { + final result = await platform.invokeMethod('getImageBytes', { + 'entry': entry.toMap(), + 'width': width, + 'height': height, + }); + return result as Uint8List; + } on PlatformException catch (e) { + debugPrint('getImageBytes failed with exception=${e.message}'); + } } return Uint8List(0); }