flutter/bin
Chris Bracken 9452a3448c Support inactive, suspending AppLifecycleStates (#10306)
* 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).
2017-05-25 10:52:21 -07:00
..
internal Support inactive, suspending AppLifecycleStates (#10306) 2017-05-25 10:52:21 -07:00
.gitignore Cleanup bin/cache (#6247) 2016-10-07 15:24:19 -04:00
flutter Remove root restriction (#10129) 2017-05-16 20:03:55 -07:00
flutter.bat Add error handling to batch script (#10007) 2017-05-11 14:02:29 -07:00