@@ -2,6 +2,7 @@ import 'dart:async';
22
33import 'package:codelessly_api/codelessly_api.dart' ;
44import 'package:flutter/material.dart' ;
5+ import 'package:flutter/scheduler.dart' ;
56import 'package:flutter/services.dart' ;
67import 'package:provider/provider.dart' ;
78
@@ -397,24 +398,28 @@ class _PassiveCanvasWidgetState extends State<PassiveCanvasWidget> {
397398 void initState () {
398399 super .initState ();
399400
400- codelessly = context.read <Codelessly >();
401- final String ? myLayoutId = codelessly!
402- .dataManager.publishModel? .layouts.dataMap.entries
403- .firstWhere ((entry) {
404- return entry.value.canvasIds.contains (widget.node.id);
405- }).key;
406-
407- // Set the system UI brightness to the canvas brightness.
408- codelessly! .setSystemUIBrightness (widget.node.properties.brightness);
409-
410- // Listen for navigation events to update the system UI brightness back
411- // again, such as if this canvas was navigated away from, but then the view
412- // pops and goes back to this canvas.
413- codelessly! .addNavigationListener ('canvas-${widget .node .id }' ,
414- (event, layoutId) {
415- if (myLayoutId == layoutId) {
416- codelessly! .setSystemUIBrightness (widget.node.properties.brightness);
417- }
401+ SchedulerBinding .instance.addPostFrameCallback ((_) {
402+ if (! mounted) return ;
403+
404+ codelessly = context.read <Codelessly >();
405+ final String ? myLayoutId = codelessly!
406+ .dataManager.publishModel? .layouts.dataMap.entries
407+ .firstWhere ((entry) {
408+ return entry.value.canvasIds.contains (widget.node.id);
409+ }).key;
410+
411+ // Set the system UI brightness to the canvas brightness.
412+ codelessly! .setSystemUIBrightness (widget.node.properties.brightness);
413+
414+ // Listen for navigation events to update the system UI brightness back
415+ // again, such as if this canvas was navigated away from, but then the view
416+ // pops and goes back to this canvas.
417+ codelessly! .addNavigationListener ('canvas-${widget .node .id }' ,
418+ (event, layoutId) {
419+ if (myLayoutId == layoutId) {
420+ codelessly! .setSystemUIBrightness (widget.node.properties.brightness);
421+ }
422+ });
418423 });
419424 }
420425
0 commit comments