'stream builder not working after navigation

i use a stream builder to listen to auth changes, so when i log in it works and takes me to my home screen and likewise when i logout from my home screen it takes me to my login screen. but as soon as i navigate to any other screen it doesn't function anymore, even if i go back to my home screen before signing out. please help, i would like to be able to signout from any screen and have it take me to my login screen automatically

MY MAIN.DART

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      debugShowCheckedModeBanner: false,
      home: _getLandingPage(),
    );
  }
}

Widget _getLandingPage() {
  return StreamBuilder<User>(
    stream: FirebaseAuth.instance.authStateChanges(),
    builder: (BuildContext context, snapshot) {
      if (snapshot.hasData) {
        return Home();
      } else {
        return Login();
      }
    },
  );
}

how i navigate to my other screen

IconButton(
                onPressed: () {
                  Navigator.push(context, MaterialPageRoute(builder: (builder) {
                    return Completed();
                  }));
                },
                iconSize: 30,
                color: Colors.white,
                icon: Icon(Icons.check_box)),
          ),

how i signout

    void onSelected(int value) {
      switch (value) {
        case 0:
          Navigator.pushAndRemoveUntil(context,
              MaterialPageRoute(builder: (builder) {
            return MyApp();
          }), (Route<dynamic> route) => false);
          break;
        case 1:
          FirebaseAuth.instance.signOut();
          break;
        case 2:
          followDeveloper();
          break;
      }
    }


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source