From 38212f90fdb583247b2720fb0722b955ec6b3be3 Mon Sep 17 00:00:00 2001 From: Maurits van Beusekom Date: Wed, 16 Sep 2020 23:19:44 +0200 Subject: [PATCH 1/2] Document why canLaunch can return false on Android API 30 --- packages/url_launcher/url_launcher/CHANGELOG.md | 4 ++++ packages/url_launcher/url_launcher/lib/url_launcher.dart | 5 +++++ packages/url_launcher/url_launcher/pubspec.yaml | 2 +- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/url_launcher/url_launcher/CHANGELOG.md b/packages/url_launcher/url_launcher/CHANGELOG.md index c3f176ab3c84..2b499a55427d 100644 --- a/packages/url_launcher/url_launcher/CHANGELOG.md +++ b/packages/url_launcher/url_launcher/CHANGELOG.md @@ -1,3 +1,7 @@ +## 5.7.2 + +* Add API documentation explaining the [canLaunch] method returns `false` if package visibility (Android API 30) is not managed correctly. + ## 5.7.1 * Keep handling deprecated Android v1 classes for backward compatibility. diff --git a/packages/url_launcher/url_launcher/lib/url_launcher.dart b/packages/url_launcher/url_launcher/lib/url_launcher.dart index bc171062093c..fc593021e8de 100644 --- a/packages/url_launcher/url_launcher/lib/url_launcher.dart +++ b/packages/url_launcher/url_launcher/lib/url_launcher.dart @@ -109,6 +109,11 @@ Future launch( /// Checks whether the specified URL can be handled by some app installed on the /// device. +/// +/// On Android (from API 30), [canLaunch] will return `false` when the required +/// visibility configuration is not provided in the AndroidManifest.xml file. +/// For more information see the [Managing package visibility](https://developer.android.com/training/basics/intents/package-visibility) +/// article in the Android docs. Future canLaunch(String urlString) async { if (urlString == null) { return false; diff --git a/packages/url_launcher/url_launcher/pubspec.yaml b/packages/url_launcher/url_launcher/pubspec.yaml index a3c5427ace30..0b6a50f8b8fd 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.7.1 +version: 5.7.2 flutter: plugin: From ab7878a5ff256eb111c13e688f516a3bf188c739 Mon Sep 17 00:00:00 2001 From: Maurits van Beusekom Date: Thu, 17 Sep 2020 00:06:28 +0200 Subject: [PATCH 2/2] Fix formatting issues --- packages/url_launcher/url_launcher/lib/url_launcher.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/url_launcher/url_launcher/lib/url_launcher.dart b/packages/url_launcher/url_launcher/lib/url_launcher.dart index fc593021e8de..ccc6833f0941 100644 --- a/packages/url_launcher/url_launcher/lib/url_launcher.dart +++ b/packages/url_launcher/url_launcher/lib/url_launcher.dart @@ -109,9 +109,9 @@ Future launch( /// Checks whether the specified URL can be handled by some app installed on the /// device. -/// +/// /// On Android (from API 30), [canLaunch] will return `false` when the required -/// visibility configuration is not provided in the AndroidManifest.xml file. +/// visibility configuration is not provided in the AndroidManifest.xml file. /// For more information see the [Managing package visibility](https://developer.android.com/training/basics/intents/package-visibility) /// article in the Android docs. Future canLaunch(String urlString) async {