[pointer_interceptor] Migrate to null safety (#286)
diff --git a/README.md b/README.md
index 36b2f0c..8430ac8 100644
--- a/README.md
+++ b/README.md
@@ -38,4 +38,5 @@
| [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 a11d080..06e0c6e 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 d4973fd..9fddf8c 100644
--- a/packages/pointer_interceptor/example/README.md
+++ b/packages/pointer_interceptor/example/README.md
@@ -8,7 +8,7 @@
## 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 59ca9a6..72b02ad 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 @@
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 @@
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 @@
// 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 4421e79..fd2b539 100644
--- a/packages/pointer_interceptor/example/lib/main.dart
+++ b/packages/pointer_interceptor/example/lib/main.dart
@@ -186,7 +186,7 @@
/// 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 d8456c0..787e349 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 @@
/// 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 dbb4f7a..2ed4117 100644
--- a/packages/pointer_interceptor/example/pubspec.yaml
+++ b/packages/pointer_interceptor/example/pubspec.yaml
@@ -4,7 +4,8 @@
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 ef4ef6a..1f561ac 100644
--- a/packages/pointer_interceptor/lib/src/mobile.dart
+++ b/packages/pointer_interceptor/lib/src/mobile.dart
@@ -8,9 +8,9 @@
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 d8456c0..787e349 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 @@
/// 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 e2e86e8..f59c4a3 100644
--- a/packages/pointer_interceptor/lib/src/web.dart
+++ b/packages/pointer_interceptor/lib/src/web.dart
@@ -40,9 +40,9 @@
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 5bf127d..5bea65f 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: