From 5a723ad2b992b09884eb08362856a34a5fea6fe6 Mon Sep 17 00:00:00 2001 From: mleevi Date: Tue, 5 Sep 2023 18:49:12 +0200 Subject: [PATCH] don't use future builder when not ensureScreenSize --- 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) {