We've gotten feedback that the VelocityTracker change was disruptive, though it did not break any of the flutter framework or customer tests. In order to make the change non-breaking, PointerDeviceKind parameter can be made optional.
Nevertheless, this parameter should be provided so that the existing touch handlers can use more accurate gestures on mouse/stylus inputs, so we can encourage this by deprecating the default constructor and pointing users towards the VelocityTracker.withKind constructor that takes a non-optional parameter
This fixes a problem where the character field of the RawKeyEvent was not being set at all for non-Android platforms.
I also updated the key maps, and corrected a problem with the Windows key map where the backquote character wasn't correctly mapped.
This follows https://github.com/flutter/flutter/pull/59364 and cl/319911104
FittedBox is still default to hardEdge clip as new FittedBox is added to Google very quickly. Let's first roll other part of changes into Google first.
* Reland "Nnbd widgets (#64672)"
This reverts commit 127e67902e8bbb0dcbfb3351b8fd00f7cbdf0178.
* remove non-nullable enforcement on AsyncSnapshot
* make data param non-nullable for AsyncSnapshot.withData
* make some Text params non-nullable
* migrate widget to nullsafety
* remove double blank line after license
* address review comments in actions.dart
* nullable ObjectKey.value
* use local variable oldElement
* make State.build non-nullable
* make State.context non-nullable
* newline at eof
* make ProxyWidget.child non-nullable
* make _InactiveElements.debugContains non-nullable
* make Element.depth non-nullable
* make ProxyElement.build non-nullable
* make StatefulElement.state non-nullable
* remove 'Notice that'
* avoid cast of list in RenderObjectElement.updateChildren
* make IndexedSlot.value non-nullable
* avoid cast of list in MultiChildRenderObjectElement.mount
* make some WidgetsApp parameters non-nullable
* hitTest take non-nullable position
* make ScrollableState.position non-nullable
* use _pixels instead of pixels
* make ViewportOffset.pixels non-nullable
* make param and return type of IndexedWidgetBuilder non-nullable
* unused_import
* make context param non-nullable for Builder in animated_list.dart
* make ScrollMetrics.viewportDimension non-nullable
* make ScrollMetrics.{min,max}ScrollExtent non-nullable
* make _Location.file non-nullable
* _WidgetForTypeTests.createElement throw UnimplementedError
* update _NullWidget.build error message
* make _ShortcutsState.manager non-nullable
* Fix childCount issues for NNBD
* fix childCount computation on web
* increase max value on js side to compute childCount
* make aspect parameter of dependOnInheritedWidgetOfExactType nullable
* merge has{min,max}ScrollExtent into hasScrollExtents
* update focus_manager.dart
* address review comments in icon.dart
* address review comments in image.dart
* address review comments in routes.dart
* address review comments in scroll_activity.dart
* update doc comments
* make UserScrollNotification.direction non-nullable and required
* rename hasScrollExtents to hasContentDimensions
* unnecessary late
Co-authored-by: Ian Hickson <ian@hixie.ch>