import 'package:flutter/widgets.dart'; import 'package:nc_photos/widget/my_app.dart'; mixin PageVisibilityMixin on State, RouteAware { @override didChangeDependencies() { super.didChangeDependencies(); MyApp.routeObserver.subscribe(this, ModalRoute.of(context)!); } @override dispose() { MyApp.routeObserver.unsubscribe(this); super.dispose(); } @override didPush() { _isVisible = true; } @override didPushNext() { _isVisible = false; } @override didPop() { _isVisible = false; } @override didPopNext() { _isVisible = true; } bool isPageVisible() => _isVisible; var _isVisible = true; }