Julian Steenbakker
Committed by GitHub

Merge pull request #559 from navaronbracke/media_query_fix

fix: Use MediaQuery.sizeOf(context) instead of topmost LayoutBuilder
@@ -232,46 +232,43 @@ class _MobileScannerState extends State<MobileScanner> @@ -232,46 +232,43 @@ class _MobileScannerState extends State<MobileScanner>
232 232
233 @override 233 @override
234 Widget build(BuildContext context) { 234 Widget build(BuildContext context) {
235 - return LayoutBuilder(  
236 - builder: (context, constraints) {  
237 - return ValueListenableBuilder<MobileScannerArguments?>(  
238 - valueListenable: _controller.startArguments,  
239 - builder: (context, value, child) {  
240 - if (value == null) {  
241 - return _buildPlaceholderOrError(context, child);  
242 - }  
243 -  
244 - if (widget.scanWindow != null && scanWindow == null) {  
245 - scanWindow = calculateScanWindowRelativeToTextureInPercentage(  
246 - widget.fit,  
247 - widget.scanWindow!,  
248 - value.size,  
249 - Size(constraints.maxWidth, constraints.maxHeight),  
250 - ); 235 + final Size size = MediaQuery.sizeOf(context);
  236 +
  237 + return ValueListenableBuilder<MobileScannerArguments?>(
  238 + valueListenable: _controller.startArguments,
  239 + builder: (context, value, child) {
  240 + if (value == null) {
  241 + return _buildPlaceholderOrError(context, child);
  242 + }
  243 +
  244 + if (widget.scanWindow != null && scanWindow == null) {
  245 + scanWindow = calculateScanWindowRelativeToTextureInPercentage(
  246 + widget.fit,
  247 + widget.scanWindow!,
  248 + value.size,
  249 + size,
  250 + );
  251 +
  252 + _controller.updateScanWindow(scanWindow);
  253 + }
251 254
252 - _controller.updateScanWindow(scanWindow);  
253 - }  
254 -  
255 - return ClipRect(  
256 - child: LayoutBuilder(  
257 - builder: (_, constraints) {  
258 - return SizedBox.fromSize(  
259 - size: constraints.biggest,  
260 - child: FittedBox(  
261 - fit: widget.fit,  
262 - child: SizedBox(  
263 - width: value.size.width,  
264 - height: value.size.height,  
265 - child: kIsWeb  
266 - ? HtmlElementView(viewType: value.webId!)  
267 - : Texture(textureId: value.textureId!),  
268 - ),  
269 - ),  
270 - );  
271 - },  
272 - ),  
273 - );  
274 - }, 255 + return ClipRect(
  256 + child: LayoutBuilder(
  257 + builder: (_, constraints) {
  258 + return SizedBox.fromSize(
  259 + size: constraints.biggest,
  260 + child: FittedBox(
  261 + fit: widget.fit,
  262 + child: SizedBox.fromSize(
  263 + size: value.size,
  264 + child: kIsWeb
  265 + ? HtmlElementView(viewType: value.webId!)
  266 + : Texture(textureId: value.textureId!),
  267 + ),
  268 + ),
  269 + );
  270 + },
  271 + ),
275 ); 272 );
276 }, 273 },
277 ); 274 );