Line data Source code
1 : import 'package:flutter/widgets.dart'; 2 : import 'package:stream_feed_flutter_core/src/activities_bloc.dart'; 3 : 4 0 : bool debugCheckHasFeedBlocProvider(BuildContext context) { 5 0 : assert(() { 6 0 : if (context.findAncestorWidgetOfExactType<GenericFeedProvider>() == null) { 7 0 : throw FlutterError.fromParts(<DiagnosticsNode>[ 8 0 : ErrorSummary('No FeedBlocProvider widget found.'), 9 0 : ErrorDescription( 10 0 : '${context.widget.runtimeType} widgets require a FeedBlocProvider ' 11 : 'widget ancestor.\n' 12 : 'In FeedBlocProvider design, most widgets are conceptually "printed" on ' 13 : "a sheet of FeedBlocProvider. In Flutter's FeedBlocProvider library, that " 14 : 'FeedBlocProvider is represented by the FeedBlocProvider widget. It is the ' 15 : 'FeedBlocProvider widget that renders ink splashes, for instance. ' 16 : 'Because of this, many FeedBlocProvider library widgets require that ' 17 : 'there be a FeedBlocProvider widget in the tree above them.', 18 : ), 19 0 : ErrorHint( 20 : 'To introduce a FeedBlocProvider widget, you can either directly ' 21 : 'FeedBlocProvider(' 22 : 'bloc: FeedBloc(' 23 : 'client: mockClient,' 24 : ' ),' 25 : 'child: FlatActivityListPage(' 26 : " feedGroup: 'user'," 27 : ' ))'), 28 0 : ...context.describeMissingAncestor( 29 : expectedAncestorType: GenericFeedProvider), 30 : ]); 31 : } 32 : return true; 33 : }()); 34 : return true; 35 : }