tree f77c46e7d3a8582c66428fcac3fd93809cd7009e
parent 48c9d3e0e19e8fec84f1d316ce0559f26ca7277d
author Christopher Fujino <christopherfujino@gmail.com> 1613003147 -0800
committer GitHub <noreply@github.com> 1613003147 -0800
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJgJHmLCRBK7hj4Ov3rIwAAdHIIAGKoqB7rMOn+tYT6BYJX4eyx
 HNo6PhVpMwsALIgg3UUYT/PqwhVzgTSyOg6enrsS7AWeMyzFHtogxMQgFGjWsxi1
 b2CffI5QkLk4J0AEuD7eqwppX0fYeCgFjJ0gFX+meHRygQxiISSC4TN1bYEgRRP1
 cOnp7dmEq9qxGnAxvtWVjR38AF+Et9G679RnL/+Xkhi271UMBAyQ/0gCdpJlnTpH
 /egi525sRYkdWiwRG9fcBwfPWEB2io0YeOCokmyAQGOr2s2g8QUp5R4fr3YW6A9C
 uYG1UmGR1dkIlx1iRm1JbDTWKRmchVxRcVOFOzvuiUrKZtmGuFD+B4I70sZdDIk=
 =QPQM
 -----END PGP SIGNATURE-----
 

[flutter_releases] Flutter Framework 1.26.0-17.5.pre Beta Cherrypicks (#75804)

* Added a ReorderableListView.builder constructor (#74697)

Added constructor parameters to the ReorderableList that were missing from ScrollView. Also replace a lot of doc comments with macro templates to reduce duplication.

* [flutter_tools] handle further devtools NPE (#74764)

* [flutter_tools] skip web renderer defines unless web target is picked (#75160)

* Catch VM Service disappearance from run/attach handler code (#75298)

* [flutter_tools] handle null package (#75336)

* Return an empty FlutterViews list when the service disappears (#75301)

* fix analyzer

* Apply Engine Cherrypicks

Co-authored-by: Darren Austin <darrenaustin@google.com>
Co-authored-by: Jonah Williams <jonahwilliams@google.com>
Co-authored-by: Jenn Magder <magder@google.com>