flutter/examples/api/lib/widgets
Greg Spencer a280346193
Add AppLifecycleListener, with support for application exit handling (#123274)
## Description

This adds `AppLifecycleListener`, a class for listening to changes in the application lifecycle, and responding to requests to exit the application.

It depends on changes in the Engine that add new lifecycle states: https://github.com/flutter/engine/pull/42418

Here's a diagram for the lifecycle states. I'll add a similar diagram to the documentation for these classes.

![Application Lifecycle Diagram](https://github.com/flutter/flutter/assets/8867023/f6937002-cb93-4ab9-a221-25de2c45cf0e)

## Related Issues
 - https://github.com/flutter/flutter/issues/30735

## Tests
- Added tests for new lifecycle value, as well as for the `AppLifecycleListener` itself.
2023-06-08 22:57:19 +00:00
..
actions Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
animated_grid Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
animated_list Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
animated_size Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
animated_switcher Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
app Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
app_lifecycle_listener Add AppLifecycleListener, with support for application exit handling (#123274) 2023-06-08 22:57:19 +00:00
async Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
autocomplete Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
autofill Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
basic Update collection-fors to prefer final (as per updated prefer_final_in_for_each) (#127511) 2023-05-26 23:34:36 +00:00
binding Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
color_filter Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
dismissible Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
drag_target Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
editable_text Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
focus_manager Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
focus_scope Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
focus_traversal Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
form Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
framework Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
gesture_detector Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
hardware_keyboard Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
heroes Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
image Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
implicit_animations Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
inherited_model Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
inherited_notifier Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
inherited_theme Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
interactive_viewer Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
layout_builder Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
magnifier Remove dead code (#126266) 2023-05-09 15:47:16 +00:00
media_query Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
navigator Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
nested_scroll_view Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
notification_listener Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
overflow_bar Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
overlay Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
overscroll_indicator Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
page_storage Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
page_view Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
preferred_size Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
restoration Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
restoration_properties Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
routes Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
scroll_notification_observer Add ScrollNotificationObserver sample (#127023) 2023-05-25 15:58:52 +00:00
scroll_position Add ScrollController.onAttach & onDetach, samples/docs on listening/getting scrolling info (#124823) 2023-05-15 21:01:06 +00:00
scroll_view Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
scrollbar Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
shared_app_data Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
shortcuts Add CallbackShortcuts example (#123944) 2023-04-05 22:17:59 +00:00
single_child_scroll_view Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
sliver Sliver Main Axis Group (#126596) 2023-06-08 15:54:09 -07:00
sliver_fill Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
slotted_render_object_widget Make SlottedMultiChildRenderObjectWidgetMixin a concrete class (#126108) 2023-05-16 22:28:54 +00:00
table Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
tap_region Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
text Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
text_magnifier Remove dead code (#126266) 2023-05-09 15:47:16 +00:00
transitions Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
tween_animation_builder Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
undo_history Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
will_pop_scope Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00