Open
Description
Describe the bug
I have an app with a complex initialization which takes around 5 seconds. I am registration a couple of singeltons in getIt
. Since the Android Studio plugin pulls the data too early everything breaks for me.
To Reproduce
MultiProvider(
providers: [
ChangeNotifierProvider<Example>(
// normally this method gets invoked after App() is created
create: (_) => getIt<Example>(), // this crashes and causes also a bug in flutter #166572
),
],
child: FutureBuilder(
future: longRunningInitFuture(),
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.done && snapshot.data == true) {
return const App();
} else {
return const SplashScreen();
}
},
),
)
When I try to consume the Example
class like this:
Consumer<Example>(
builder: (context, example, _) {
// never called
}
)
Then I get strange exceptions within the widget tree. See the flutter/flutter#166572 for details.
Expected behavior
I do not expect that the Flutter DevTools Extension collects the data without any interaction from me.
Known workarounds
Disable the extension and enable it only when required after start of the app
Related bugs: flutter/flutter#166572, rrousselGit/provider#908