title: How to prevent dropping event when it is a broadcast stream?
body: <p>I want to prevent flutter from dropping broadcast stream event when no widget is listening. Because I want to listen to this in other page routes.</p>
  
  <p>I have bloc object like below.</p>
  
  <pre><code>class UserBloc extends Object {
      final _user = StreamController&lt;UserModel&gt;.broadcast();
      final _uid = StreamController&lt;String&gt;.broadcast();
  
      Stream&lt;UserModel&gt; get user =&gt; _user.stream;
      Stream&lt;String&gt; get uid =&gt; _uid.stream;
  
      Function(UserModel) get setUser =&gt; _user.sink.add;
      Function(String) get setUID =&gt; _uid.sink.add;
  </code></pre>
  
  <p>I am listening to those streams in my sub page route</p>
  
  <pre><code>StreamBuilder(
      stream: userBloc.user,
      builder: (context, snapshot) {
      print(snapshot.connectionState);
      print(snapshot.data);
      return Text('hi');
      },
  ),
  </code></pre>
  
  <p>It works without using broadcast stream. However, no luck when I changed to broadcast.</p>
  
  <p>The problem is broadcast streams drop events when no one is listening but I want to start listening when my other MaterialPage pops up.</p>
  
  <p>Using broadcast stream, data is always null in stream when I started listening.</p>
  
  <p>How can I achieve this?</p>