• Chris Bracken's avatar
    Support inactive, suspending AppLifecycleStates (#10306) · 9452a344
    Chris Bracken authored
    * Rolls the engine to 75c74dc463d56e17be10315cfde409010fd8f90b.
    * Adds framework support for the `AppLifecycleState.inactive` and `AppLifecycleState.suspending` states.
    
    What are the new states?
    ------------------------
    * `AppLifecycleState.inactive` is emitted on iOS only and corresponds to iOS's foreground inactive state. Current iOS state transitions are:
    `resumed` <--> `inactive` <--> `paused`
    
    * `AppLifecycleState.suspending` is currently emitted on Android only and corresponds to the
    transition to Android's stopped state. Current Android state transitions are:
    `resumed` <--> `paused` --> `suspending` --> `resumed`
    
    These transitions may change in future.
    
    This is a breaking change on iOS
    --------------------------------
    
    This changes the semantics of the `AppLifecycleState.paused` state on
    iOS. The behaviour associated with this state is unchanged on Android.
    
    For background on iOS application states see the state transition
    diagram in the [App Programming Guide for iOS](https://developer.apple.com/library/content/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/TheAppLifeCycle/TheAppLifeCycle.html#//apple_ref/doc/uid/TP40007072-CH2-SW6).
    
    On iOS, prior to this change, `AppLifecycleState.paused` corresponded to
    a transition to the _foreground inactive_ state. It now corresponds to a
    transition to the _background state_. The newly-added
    `AppLifecycleState.inactive` state now corresponds to entering the
    _foreground inactive_ state, which (currently) has no exact analogue on
    Android.
    
    Briefly, the _foreground inactive_ state is the state entered when
    switching from an app to the app switcher, receiving a phone call, or
    responding to a TouchID request. Apps are permitted to continue
    animating/updating views in this state if desired. From the _foreground
    inactive_ state, the app may transition back to _active_ (e.g., entering
    the app switcher then resuming the app), or to the _background_ state
    (e.g., switching to the home screen or another app).
    
    What to change
    --------------
    If your app does not handle the `AppLifecycleState.paused` state in a
    `WidgetsBindingObserver.didChangeAppLifecycleState` implementation, no
    changes are required.
    
    If you do handle `AppLifecycleState.paused`, you may additionally wish
    to also handle `AppLifecycleState.inactive`. For example, games should
    probably pause on entering the app switcher rather than wait to be
    backgrounded.
    
    More details
    ------------
    For background on Android application states see the state transition
    diagram in the [Android Activity Lifecycle docs](https://developer.android.com/guide/components/activities/activity-lifecycle.html#alc).
    9452a344
Name
Last commit
Last update
..
animated_cross_fade.dart Loading commit data...
animated_list.dart Loading commit data...
animated_size.dart Loading commit data...
app.dart Loading commit data...
async.dart Loading commit data...
banner.dart Loading commit data...
basic.dart Loading commit data...
binding.dart Loading commit data...
bottom_navigation_bar_item.dart Loading commit data...
container.dart Loading commit data...
debug.dart Loading commit data...
dismissible.dart Loading commit data...
drag_target.dart Loading commit data...
editable_text.dart Loading commit data...
focus_manager.dart Loading commit data...
focus_scope.dart Loading commit data...
form.dart Loading commit data...
framework.dart Loading commit data...
gesture_detector.dart Loading commit data...
grid_paper.dart Loading commit data...
heroes.dart Loading commit data...
icon.dart Loading commit data...
icon_data.dart Loading commit data...
icon_theme.dart Loading commit data...
icon_theme_data.dart Loading commit data...
image.dart Loading commit data...
image_icon.dart Loading commit data...
implicit_animations.dart Loading commit data...
layout_builder.dart Loading commit data...
locale_query.dart Loading commit data...
media_query.dart Loading commit data...
modal_barrier.dart Loading commit data...
navigator.dart Loading commit data...
nested_scroll_view.dart Loading commit data...
notification_listener.dart Loading commit data...
orientation_builder.dart Loading commit data...
overlay.dart Loading commit data...
overscroll_indicator.dart Loading commit data...
page_storage.dart Loading commit data...
page_view.dart Loading commit data...
pages.dart Loading commit data...
performance_overlay.dart Loading commit data...
placeholder.dart Loading commit data...
preferred_size.dart Loading commit data...
primary_scroll_controller.dart Loading commit data...
raw_keyboard_listener.dart Loading commit data...
routes.dart Loading commit data...
scroll_activity.dart Loading commit data...
scroll_configuration.dart Loading commit data...
scroll_context.dart Loading commit data...
scroll_controller.dart Loading commit data...
scroll_metrics.dart Loading commit data...
scroll_notification.dart Loading commit data...
scroll_physics.dart Loading commit data...
scroll_position.dart Loading commit data...
scroll_position_with_single_context.dart Loading commit data...
scroll_simulation.dart Loading commit data...
scroll_view.dart Loading commit data...
scrollable.dart Loading commit data...
semantics_debugger.dart Loading commit data...
single_child_scroll_view.dart Loading commit data...
size_changed_layout_notifier.dart Loading commit data...
sliver.dart Loading commit data...
sliver_persistent_header.dart Loading commit data...
sliver_prototype_extent_list.dart Loading commit data...
status_transitions.dart Loading commit data...
table.dart Loading commit data...
text.dart Loading commit data...
text_selection.dart Loading commit data...
ticker_provider.dart Loading commit data...
title.dart Loading commit data...
transitions.dart Loading commit data...
unique_widget.dart Loading commit data...
viewport.dart Loading commit data...
will_pop_scope.dart Loading commit data...