tree 4b3d2cd6e6c6fefef96652af2971765d4e52a9f7
parent d26712e12fec5d532e716c4c80d6f31b8dedec8d
author Angjie Li <56002538+angjieli@users.noreply.github.com> 1605234031 -0800
committer GitHub <noreply@github.com> 1605234031 -0800
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJfre1vCRBK7hj4Ov3rIwAAdHIIAG99kMqJlzOoN/NkAB3zgGzW
 WO7dUso0SxNfsNLihooC1I7ldwTHKk2OKmaUWKRSkewfGim7/e93NrRBJqews7mN
 matuhUDTaxKxJvNpx3j/GH0/exq1ZySCrv9QrZkZzN0WA8jwPY8eSR9wPTJZrRbp
 83hdjVNBgQiloXhT+NQ2VI2mvspSqxFpkKSEckWnx8GHkvjlU8UWr07iC7gHZHqR
 IZ4K+s4EgMnrPapvMJY7QH/1jkDTaIvQMbAVRXMDs1cqFRTecTeVL0TIoNTiDKCJ
 MIDj3HruD++jy0ZX8D2K3mltodCNL8EsBL+dEVWUzlwTAvmLBAOecx2YMw+TpyY=
 =9mKk
 -----END PGP SIGNATURE-----
 

Cherry pick - Flutter 1.24 candidate.11 (#70424)

* Future can return null (#70324)

* Revert usages of the binding's platformDispatcher to use window instead (#70319)

This reverts usages of the binding's platformDispatcher to use window again temporarily, because there isn't a TestPlatformDispatcher yet, and so some tests were failing because they mocked the TestWindow to return certain things (locales) that were returning the real values instead of the test values.

Once I've created a TestPlatformDispatcher to allow fake data to be passed to it, we can go back to using the platformDispatcher in all of these places

* Revert "mark catalina ios tasks as flaky (#70255)" (#70328)

Co-authored-by: Emmanuel Garcia <egarciad@google.com>
Co-authored-by: Greg Spencer <gspencergoog@users.noreply.github.com>
Co-authored-by: keyonghan <54558023+keyonghan@users.noreply.github.com>