diff --git a/README.md b/README.md index 36b2f0cf08..8430ac8699 100644 --- a/README.md +++ b/README.md @@ -38,4 +38,5 @@ These are the available packages in this repository. | [multicast_dns](./packages/multicast_dns/) | [![pub package](https://img.shields.io/pub/v/multicast_dns.svg)](https://pub.dev/packages/multicast_dns) | | [palette_generator](./packages/palette_generator/) | [![pub package](https://img.shields.io/pub/v/palette_generator.svg)](https://pub.dartlang.org/packages/palette_generator) | | [pigeon](./packages/pigeon/) | [![pub package](https://img.shields.io/pub/v/pigeon.svg)](https://pub.dev/packages/pigeon) | +| [pointer_interceptor](./packages/pointer_interceptor/) | [![pub package](https://img.shields.io/pub/v/pointer_interceptor.svg)](https://pub.dev/packages/pointer_interceptor) | | [xdg_directories](./packages/xdg_directories/) | [![pub package](https://img.shields.io/pub/v/xdg_directories.svg)](https://pub.dev/packages/xdg_directories) | diff --git a/packages/pointer_interceptor/CHANGELOG.md b/packages/pointer_interceptor/CHANGELOG.md index a11d080680..06e0c6ec62 100644 --- a/packages/pointer_interceptor/CHANGELOG.md +++ b/packages/pointer_interceptor/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.9.0 + +* Migrates to null safety. + ## 0.8.0+2 * Use `ElevatedButton` instead of the deprecated `RaisedButton` in example and docs. diff --git a/packages/pointer_interceptor/example/README.md b/packages/pointer_interceptor/example/README.md index d4973fd660..9fddf8c0a0 100644 --- a/packages/pointer_interceptor/example/README.md +++ b/packages/pointer_interceptor/example/README.md @@ -8,7 +8,7 @@ An example for the PointerInterceptor widget. ## Running tests -`flutter drive --target integration_test/widget_test.dart --driver test_driver/integration_test.dart --show-web-server-device -d web-server` +`flutter drive --target integration_test/widget_test.dart --driver test_driver/integration_test.dart --show-web-server-device -d web-server --web-renderer=html` The command above will run the integration tests for this package. diff --git a/packages/pointer_interceptor/example/integration_test/widget_test.dart b/packages/pointer_interceptor/example/integration_test/widget_test.dart index 59ca9a6052..72b02ad708 100644 --- a/packages/pointer_interceptor/example/integration_test/widget_test.dart +++ b/packages/pointer_interceptor/example/integration_test/widget_test.dart @@ -2,7 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// @dart = 2.9 import 'dart:html' as html; // Imports the Flutter Driver API. @@ -27,12 +26,12 @@ void main() { app.main(); await tester.pumpAndSettle(); - final html.Element element = + final html.Element? element = _getHtmlElementFromFinder(clickableButtonFinder, tester); - expect(element.tagName.toLowerCase(), 'flt-platform-view'); + expect(element?.tagName.toLowerCase(), 'flt-platform-view'); - final html.Element platformViewRoot = - element.shadowRoot.getElementById('background-html-view'); + final html.Element? platformViewRoot = + element?.shadowRoot?.getElementById('background-html-view'); expect(platformViewRoot, isNull); }); @@ -42,12 +41,12 @@ void main() { app.main(); await tester.pumpAndSettle(); - final html.Element element = + final html.Element? element = _getHtmlElementFromFinder(nonClickableButtonFinder, tester); - expect(element.tagName.toLowerCase(), 'flt-platform-view'); + expect(element?.tagName.toLowerCase(), 'flt-platform-view'); - final html.Element platformViewRoot = - element.shadowRoot.getElementById('background-html-view'); + final html.Element? platformViewRoot = + element?.shadowRoot?.getElementById('background-html-view'); expect(platformViewRoot, isNotNull); }); }); @@ -56,7 +55,7 @@ void main() { // This functions locates a widget from a Finder, and asks the browser what's the // DOM element in the center of the coordinates of the widget. (Returns *which* // DOM element will handle Mouse interactions first at those coordinates.) -html.Element _getHtmlElementFromFinder(Finder finder, WidgetTester tester) { +html.Element? _getHtmlElementFromFinder(Finder finder, WidgetTester tester) { final Offset point = tester.getCenter(finder); return html.document.elementFromPoint(point.dx.toInt(), point.dy.toInt()); } diff --git a/packages/pointer_interceptor/example/lib/main.dart b/packages/pointer_interceptor/example/lib/main.dart index 4421e79ac2..fd2b539c34 100644 --- a/packages/pointer_interceptor/example/lib/main.dart +++ b/packages/pointer_interceptor/example/lib/main.dart @@ -186,7 +186,7 @@ class _MyHomePageState extends State { /// Initialize the videoPlayer, then render the corresponding view... class HtmlElement extends StatelessWidget { /// Constructor - const HtmlElement({this.onClick}); + const HtmlElement({required this.onClick}); /// A function to run when the element is clicked final Function onClick; diff --git a/packages/pointer_interceptor/example/lib/src/shim/dart_ui_fake.dart b/packages/pointer_interceptor/example/lib/src/shim/dart_ui_fake.dart index d8456c0951..787e349333 100644 --- a/packages/pointer_interceptor/example/lib/src/shim/dart_ui_fake.dart +++ b/packages/pointer_interceptor/example/lib/src/shim/dart_ui_fake.dart @@ -22,7 +22,7 @@ class webOnlyAssetManager { /// Shim for getAssetUrl. /// https://github.com/flutter/engine/blob/master/lib/web_ui/lib/src/engine/assets.dart#L45 static String getAssetUrl(String asset) { - return null; + return ''; } } diff --git a/packages/pointer_interceptor/example/pubspec.yaml b/packages/pointer_interceptor/example/pubspec.yaml index dbb4f7a784..2ed4117873 100644 --- a/packages/pointer_interceptor/example/pubspec.yaml +++ b/packages/pointer_interceptor/example/pubspec.yaml @@ -4,7 +4,8 @@ publish_to: 'none' version: 1.0.0 environment: - sdk: ">=2.7.0 <3.0.0" + sdk: ">=2.12.0-0 <3.0.0" + flutter: ">=1.26.0-0" # For integration_test from sdk dependencies: flutter: diff --git a/packages/pointer_interceptor/lib/src/mobile.dart b/packages/pointer_interceptor/lib/src/mobile.dart index ef4ef6ad89..1f561acd16 100644 --- a/packages/pointer_interceptor/lib/src/mobile.dart +++ b/packages/pointer_interceptor/lib/src/mobile.dart @@ -8,9 +8,9 @@ import 'package:flutter/widgets.dart'; class PointerInterceptor extends StatelessWidget { /// Create a `PointerInterceptor` wrapping a `child`. const PointerInterceptor({ - @required this.child, + required this.child, this.debug = false, - Key key, + Key? key, }) : super(key: key); /// The `Widget` that is being wrapped by this `PointerInterceptor`. diff --git a/packages/pointer_interceptor/lib/src/shim/dart_ui_fake.dart b/packages/pointer_interceptor/lib/src/shim/dart_ui_fake.dart index d8456c0951..787e349333 100644 --- a/packages/pointer_interceptor/lib/src/shim/dart_ui_fake.dart +++ b/packages/pointer_interceptor/lib/src/shim/dart_ui_fake.dart @@ -22,7 +22,7 @@ class webOnlyAssetManager { /// Shim for getAssetUrl. /// https://github.com/flutter/engine/blob/master/lib/web_ui/lib/src/engine/assets.dart#L45 static String getAssetUrl(String asset) { - return null; + return ''; } } diff --git a/packages/pointer_interceptor/lib/src/web.dart b/packages/pointer_interceptor/lib/src/web.dart index e2e86e811c..f59c4a3fe3 100644 --- a/packages/pointer_interceptor/lib/src/web.dart +++ b/packages/pointer_interceptor/lib/src/web.dart @@ -40,9 +40,9 @@ void _registerFactory({bool debug = false}) { class PointerInterceptor extends StatelessWidget { /// Creates a PointerInterceptor for the web. PointerInterceptor({ - @required this.child, + required this.child, this.debug = false, - Key key, + Key? key, }) : super(key: key) { if (!_registered) { _register(); diff --git a/packages/pointer_interceptor/pubspec.yaml b/packages/pointer_interceptor/pubspec.yaml index 5bf127dca5..5bea65f841 100644 --- a/packages/pointer_interceptor/pubspec.yaml +++ b/packages/pointer_interceptor/pubspec.yaml @@ -1,10 +1,10 @@ name: pointer_interceptor description: A widget to prevent clicks from being swallowed by underlying HtmlElementViews on the web. -version: 0.8.0+2 repository: https://github.com/flutter/packages +version: 0.9.0 environment: - sdk: ">=2.7.0 <3.0.0" + sdk: ">=2.12.0-0 <3.0.0" flutter: ">=1.17.0" dependencies: