requestUpdateState method
Implementation
void requestUpdateState([VoidCallback? callback, AdapterUpdateReason? reason]) {
if (!mounted) return;
final phase = SchedulerBinding.instance.schedulerPhase;
void doSetState() {
if (!mounted) return;
setState(() {
if (callback != null) callback();
});
}
// Avoid setState during build; defer to next frame.
if (phase == SchedulerPhase.persistentCallbacks || phase == SchedulerPhase.midFrameMicrotasks) {
SchedulerBinding.instance.addPostFrameCallback((_) => doSetState());
SchedulerBinding.instance.scheduleFrame();
} else {
doSetState();
}
}