From cbbebf6fc02da904c0cef3776a86f9bde652d26d Mon Sep 17 00:00:00 2001 From: Alon Horovitz Date: Sat, 27 Jun 2020 22:22:37 -0500 Subject: [PATCH 1/3] Web Add support for tel scheme --- .../url_launcher/url_launcher/pubspec.yaml | 2 +- .../url_launcher/url_launcher_web/CHANGELOG.md | 4 ++++ .../url_launcher_web/lib/url_launcher_web.dart | 18 +++++++++++++++--- .../url_launcher/url_launcher_web/pubspec.yaml | 2 +- .../test/url_launcher_web_test.dart | 4 ++-- 5 files changed, 23 insertions(+), 7 deletions(-) diff --git a/packages/url_launcher/url_launcher/pubspec.yaml b/packages/url_launcher/url_launcher/pubspec.yaml index 08ac3f9f8b80..7f9fdacdd3fa 100644 --- a/packages/url_launcher/url_launcher/pubspec.yaml +++ b/packages/url_launcher/url_launcher/pubspec.yaml @@ -26,7 +26,7 @@ dependencies: # validation, so we set a ^ constraint. # TODO(amirh): Revisit this (either update this part in the design or the pub tool). # https://github.com/flutter/flutter/issues/46264 - url_launcher_web: ^0.1.0+1 + url_launcher_web: ^0.1.2 url_launcher_macos: ^0.0.1 dev_dependencies: diff --git a/packages/url_launcher/url_launcher_web/CHANGELOG.md b/packages/url_launcher/url_launcher_web/CHANGELOG.md index df1b2c97b744..2896a3f19d46 100644 --- a/packages/url_launcher/url_launcher_web/CHANGELOG.md +++ b/packages/url_launcher/url_launcher_web/CHANGELOG.md @@ -1,3 +1,7 @@ +# 0.1.2 + +- Added support for tel scheme + # 0.1.1+6 - Open "mailto" urls with target set as "\_top" on Safari browsers. diff --git a/packages/url_launcher/url_launcher_web/lib/url_launcher_web.dart b/packages/url_launcher/url_launcher_web/lib/url_launcher_web.dart index e55ceb2269bc..16556bffac8a 100644 --- a/packages/url_launcher/url_launcher_web/lib/url_launcher_web.dart +++ b/packages/url_launcher/url_launcher_web/lib/url_launcher_web.dart @@ -7,8 +7,21 @@ import 'package:url_launcher_platform_interface/url_launcher_platform_interface. import 'package:platform_detect/platform_detect.dart' show browser; -const _mailtoScheme = 'mailto'; +final _httpSchemes = { + 'http', + 'https', +}; + +final _mailtoScheme = { + 'mailto', +}; + +final _phoneScheme = { + 'tel', +}; + +final _validSchemes = _httpSchemes.union(_mailtoScheme).union(_phoneScheme); /// The web implementation of [UrlLauncherPlatform]. /// /// This class implements the `package:url_launcher` functionality for the web. @@ -16,7 +29,6 @@ class UrlLauncherPlugin extends UrlLauncherPlatform { html.Window _window; // The set of schemes that can be handled by the plugin - static final _supportedSchemes = {'http', 'https', _mailtoScheme}; /// A constructor that allows tests to override the window object used by the plugin. UrlLauncherPlugin({@visibleForTesting html.Window window}) @@ -44,7 +56,7 @@ class UrlLauncherPlugin extends UrlLauncherPlatform { @override Future canLaunch(String url) { - return Future.value(_supportedSchemes.contains(_getUrlScheme(url))); + return Future.value(_validSchemes.contains(_getUrlScheme(url))); } @override diff --git a/packages/url_launcher/url_launcher_web/pubspec.yaml b/packages/url_launcher/url_launcher_web/pubspec.yaml index 207f2dc15424..9a5beac00b94 100644 --- a/packages/url_launcher/url_launcher_web/pubspec.yaml +++ b/packages/url_launcher/url_launcher_web/pubspec.yaml @@ -4,7 +4,7 @@ homepage: https://github.com/flutter/plugins/tree/master/packages/url_launcher/u # 0.1.y+z is compatible with 1.0.0, if you land a breaking change bump # the version to 2.0.0. # See more details: https://github.com/flutter/flutter/wiki/Package-migration-to-1.0.0 -version: 0.1.1+6 +version: 0.1.2 flutter: plugin: diff --git a/packages/url_launcher/url_launcher_web/test/url_launcher_web_test.dart b/packages/url_launcher/url_launcher_web/test/url_launcher_web_test.dart index 4cf92062e10f..7d50b7ff72b7 100644 --- a/packages/url_launcher/url_launcher_web/test/url_launcher_web_test.dart +++ b/packages/url_launcher/url_launcher_web/test/url_launcher_web_test.dart @@ -36,8 +36,8 @@ void main() { plugin.canLaunch('mailto:name@mydomain.com'), completion(isTrue)); }); - test('"tel" URLs -> false', () { - expect(plugin.canLaunch('tel:5551234567'), completion(isFalse)); + test('"tel" URLs -> true', () { + expect(plugin.canLaunch('tel:5551234567'), completion(isTrue)); }); }); From 75da36b13edd1b7000eed4e005affa6e5e34f308 Mon Sep 17 00:00:00 2001 From: Alon Horovitz Date: Sat, 27 Jun 2020 22:33:17 -0500 Subject: [PATCH 2/3] Bump url_launcher version to 5.4.12 --- packages/url_launcher/url_launcher/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/url_launcher/url_launcher/pubspec.yaml b/packages/url_launcher/url_launcher/pubspec.yaml index 7f9fdacdd3fa..45d8f3d968cd 100644 --- a/packages/url_launcher/url_launcher/pubspec.yaml +++ b/packages/url_launcher/url_launcher/pubspec.yaml @@ -2,7 +2,7 @@ name: url_launcher description: Flutter plugin for launching a URL on Android and iOS. Supports web, phone, SMS, and email schemes. homepage: https://github.com/flutter/plugins/tree/master/packages/url_launcher/url_launcher -version: 5.4.11 +version: 5.4.12 flutter: plugin: From 6c7b925be370f961619fea8823b29b199ec888eb Mon Sep 17 00:00:00 2001 From: Alon Horovitz Date: Sat, 27 Jun 2020 22:37:27 -0500 Subject: [PATCH 3/3] Update CHANGELOG 5.4.12 --- packages/url_launcher/url_launcher/CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/url_launcher/url_launcher/CHANGELOG.md b/packages/url_launcher/url_launcher/CHANGELOG.md index 6b1327a2da52..f6f22a90ef03 100644 --- a/packages/url_launcher/url_launcher/CHANGELOG.md +++ b/packages/url_launcher/url_launcher/CHANGELOG.md @@ -1,3 +1,7 @@ +## 5.4.12 + +* Web: Added support for tel scheme + ## 5.4.11 * Add documentation in README suggesting how to properly encode urls with special characters.