From b780eb794411c46f51bbc7426ea36b1965450f86 Mon Sep 17 00:00:00 2001 From: mleevi <132470048+mleevi@users.noreply.github.com> Date: Wed, 1 Nov 2023 09:47:42 +0100 Subject: [PATCH] don't use future builder when not ensureScreenSize (#517) --- lib/src/screenutil_init.dart | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/lib/src/screenutil_init.dart b/lib/src/screenutil_init.dart index 611d74b..a2fa03c 100644 --- a/lib/src/screenutil_init.dart +++ b/lib/src/screenutil_init.dart @@ -73,7 +73,7 @@ class ScreenUtilInit extends StatefulWidget { this.splitScreenMode = false, this.minTextAdapt = false, this.useInheritedMediaQuery = false, - this.ensureScreenSize, + this.ensureScreenSize = false, this.responsiveWidgets, this.fontSizeResolver = FontSizeResolvers.width, }) : super(key: key); @@ -83,7 +83,7 @@ class ScreenUtilInit extends StatefulWidget { final bool splitScreenMode; final bool minTextAdapt; final bool useInheritedMediaQuery; - final bool? ensureScreenSize; + final bool ensureScreenSize; final RebuildFactor rebuildFactor; final FontSizeResolver fontSizeResolver; @@ -133,7 +133,7 @@ class _ScreenUtilInitState extends State } Future _validateSize() async { - if (widget.ensureScreenSize ?? false) return ScreenUtil.ensureScreenSize(); + if (widget.ensureScreenSize) return ScreenUtil.ensureScreenSize(); } void _markNeedsBuildIfAllowed(Element el) { @@ -171,6 +171,18 @@ class _ScreenUtilInitState extends State if (mq == null) return const SizedBox.shrink(); + if (!widget.ensureScreenSize) { + ScreenUtil.configure( + data: mq, + designSize: widget.designSize, + splitScreenMode: widget.splitScreenMode, + minTextAdapt: widget.minTextAdapt, + fontSizeResolver: widget.fontSizeResolver, + ); + + return widget.builder?.call(context, widget.child) ?? widget.child!; + } + return FutureBuilder( future: _screenSizeCompleter.future, builder: (c, snapshot) {