[Flutter] showDialogをルートWidgetで呼ぶ方法 サンプル

この記事のサンプル(https://coneta.jp/article/show/2922)

// main.dart
void main() async {
  runApp(MyApp.wrapped());
}

class MyApp extends StatelessWidget {
  const MyApp._({Key key}) : super(key: key);

  static Widget wrapped() {
    return MultiProvider(
      providers: [],
      // MaterialAppでラップ
      child: const MaterialApp(home: MyApp._()),
    );
  }

  @override
  Widget build(BuildContext context) {
    if (needUpdate()) {
      // アップデートダイアログ表示
      Future.delayed(Duration.zero, () => {showDialog()});
    }
  }
}