title: flutter's AutomaticKeepAliveClientMixin doesn't keep the page state after navigator.push
body: <p>was testing AutomaticKeepAliveClientMixin and run into an issue,
  page loses state after navigator.push
  anyone knows this issue? any workarounds? be glad for any info, cheers</p>
  <p>my goal is to keep the page state</p>
  <p>steps to reproduce: open app click PageOne's push-button then go back swipe right and left and the page loses state
  <a href="https://i.stack.imgur.com/UQKe8.png" rel="noreferrer">image</a></p>
  <pre><code>import 'package:flutter/material.dart';
  
  void main() =&gt; runApp(MaterialApp(home: MyApp()));
  
  class MyApp extends StatelessWidget {
    @override
    Widget build(BuildContext context) {
      return MaterialApp(
        home: DefaultTabController(
          initialIndex: 0,
          length: 2,
          child: Scaffold(
            body: TabBarView(
              children: &lt;Widget&gt;[Page1(), Page2()],
            ),
            bottomNavigationBar: Material(
              child: TabBar(
                labelColor: Colors.black,
                tabs: &lt;Widget&gt;[
                  Tab(
                    icon: Icon(Icons.check),
                  ),
                  Tab(
                    icon: Icon(Icons.check),
                  ),
                ],
              ),
            ),
          ),
        ),
      );
    }
  }
  
  class Page1 extends StatefulWidget {
    @override
    Page1State createState() {
      return new Page1State();
    }
  }
  
  class Page1State extends State&lt;Page1&gt; with AutomaticKeepAliveClientMixin {
    @override
    Widget build(BuildContext context) {
      return ListView(
        children: &lt;Widget&gt;[
          Container(
            height: 300,
            color: Colors.orange,
          ),
          Container(
            height: 300,
            color: Colors.pink,
          ),
          Container(
            height: 300,
            color: Colors.yellow,
            child: Center(
              child: Container(height: 26,
                child: MaterialButton(
                    color: Colors.blue,
                    child:
                        Text('clicking this and back then swipe =&gt; page loses state'),
                    onPressed: () {
                      Navigator.push(
                        context,
                        MaterialPageRoute(builder: (context) =&gt; PushedPage()),
                      );
                    }),
              ),
            ),
          ),
        ],
      );
    }
    
    @override
    bool get wantKeepAlive =&gt; true;
  }
  
  class Page2 extends StatelessWidget {
    @override
    Widget build(BuildContext context) {
      return Container(height: 300, color: Colors.orange);
    }
  }
  
  class PushedPage extends StatelessWidget {
    @override
    Widget build(BuildContext context) {
      return Scaffold(
        appBar: AppBar(),
        body: Container(
          color: Colors.blue,
        ),
      );
    }
  }
  </code></pre>