2016-06-18 17:43:38 +00:00
|
|
|
// Copyright 2016 The Chromium Authors. All rights reserved.
|
|
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
|
|
// found in the LICENSE file.
|
|
|
|
|
|
|
|
import 'package:flutter/widgets.dart';
|
|
|
|
|
|
|
|
class LifecycleWatcher extends StatefulWidget {
|
|
|
|
@override
|
|
|
|
_LifecycleWatcherState createState() => new _LifecycleWatcherState();
|
|
|
|
}
|
|
|
|
|
|
|
|
class _LifecycleWatcherState extends State<LifecycleWatcher>
|
|
|
|
with WidgetsBindingObserver {
|
|
|
|
AppLifecycleState _lastLifecyleState;
|
|
|
|
|
|
|
|
@override
|
|
|
|
void initState() {
|
|
|
|
super.initState();
|
|
|
|
WidgetsBinding.instance.addObserver(this);
|
|
|
|
}
|
|
|
|
|
|
|
|
@override
|
|
|
|
void dispose() {
|
|
|
|
WidgetsBinding.instance.removeObserver(this);
|
|
|
|
super.dispose();
|
|
|
|
}
|
|
|
|
|
|
|
|
@override
|
|
|
|
void didChangeAppLifecycleState(AppLifecycleState state) {
|
|
|
|
setState(() {
|
|
|
|
_lastLifecyleState = state;
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
@override
|
|
|
|
Widget build(BuildContext context) {
|
|
|
|
if (_lastLifecyleState == null)
|
2017-04-07 19:24:32 +00:00
|
|
|
return const Text('This widget has not observed any lifecycle changes.');
|
2016-06-18 17:43:38 +00:00
|
|
|
return new Text('The most recent lifecycle state this widget observed was: $_lastLifecyleState.');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void main() {
|
|
|
|
runApp(new Center(
|
|
|
|
child: new LifecycleWatcher()
|
|
|
|
));
|
|
|
|
}
|