Inspired from https://stackoverflow.com/a/54109955/1918649
In the build method of the widget that creates Profile
  @override
  Widget build(BuildContext context) {
    final userBloc = BlocProvider.of<UserBloc>(context);
    return ...
           somewhere here Profile(userBloc)
           ...
}
class Profile extends StatefulWidget  {
  final userBloc;
  Profile(this.userBloc);
  @override
  State<StatefulWidget> createState() => ProfileState();
}
class ProfileState extends State<Profile> {
  @override
  void initState() {
    super.initState();
    widget.userBloc.stream.listen((userData){
      if(userData==null) {
        Navigator.push(
            context,
            MaterialPageRoute(
              builder: (context) => LandingPage(),
            ));
      }
    });
  }
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: new AppBar(
        title: new Text("Profile"),
      ),
      drawer: CustomDrawer(),
      body: Center(
        child: StreamBuilder<UserModel>(
          initialData: widget.userBloc.user,
          stream: widget.userBloc.stream,
          builder: (ctx, snap) => snap.hasData?Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              Image.network(snap.data?.imageUrl),
              Text(snap.data?.username)
            ],
          ):Text('You are logged out'),
        ),
      ),
    );
  }
}