From 3fa2896499f131abb92b227d4b15631b7cbbdd7a Mon Sep 17 00:00:00 2001 From: bggRGjQaUbCoE Date: Sun, 6 Oct 2024 12:20:44 +0800 Subject: [PATCH] opt: launchUrl --- lib/pages/bangumi/introduction/controller.dart | 3 ++- lib/pages/video/detail/introduction/controller.dart | 3 ++- lib/pages/webview/view.dart | 3 ++- lib/utils/utils.dart | 5 ++++- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/lib/pages/bangumi/introduction/controller.dart b/lib/pages/bangumi/introduction/controller.dart index 9e93c4da..8f05d5e5 100644 --- a/lib/pages/bangumi/introduction/controller.dart +++ b/lib/pages/bangumi/introduction/controller.dart @@ -5,6 +5,7 @@ import 'package:PiliPalaX/http/loading_state.dart'; import 'package:PiliPalaX/http/user.dart'; import 'package:PiliPalaX/pages/common/common_controller.dart'; import 'package:PiliPalaX/pages/video/detail/introduction/controller.dart'; +import 'package:PiliPalaX/utils/utils.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; @@ -332,7 +333,7 @@ class BangumiIntroController extends CommonController { ), onTap: () { Get.back(); - launchUrl(Uri.parse(videoUrl)); + Utils.launchURL(videoUrl); }, ), ListTile( diff --git a/lib/pages/video/detail/introduction/controller.dart b/lib/pages/video/detail/introduction/controller.dart index 78f7290f..96e85d54 100644 --- a/lib/pages/video/detail/introduction/controller.dart +++ b/lib/pages/video/detail/introduction/controller.dart @@ -2,6 +2,7 @@ import 'dart:async'; import 'dart:math'; import 'package:PiliPalaX/http/loading_state.dart'; +import 'package:PiliPalaX/utils/utils.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; @@ -440,7 +441,7 @@ class VideoIntroController extends GetxController { ), onTap: () { Get.back(); - launchUrl(Uri.parse(videoUrl)); + Utils.launchURL(videoUrl); }, ), ListTile( diff --git a/lib/pages/webview/view.dart b/lib/pages/webview/view.dart index 27e696f8..f4d89a64 100644 --- a/lib/pages/webview/view.dart +++ b/lib/pages/webview/view.dart @@ -1,3 +1,4 @@ +import 'package:PiliPalaX/utils/utils.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; @@ -47,7 +48,7 @@ class _WebviewPageState extends State { IconButton( tooltip: '用外部浏览器打开', onPressed: () { - launchUrl(Uri.parse(_webviewController.url)); + Utils.launchURL(_webviewController.url); }, icon: Icon(Icons.open_in_browser_outlined, color: Theme.of(context).colorScheme.primary), diff --git a/lib/utils/utils.dart b/lib/utils/utils.dart index 50c3b5b8..ff86061e 100644 --- a/lib/utils/utils.dart +++ b/lib/utils/utils.dart @@ -91,7 +91,10 @@ class Utils { static launchURL(String url) async { try { final Uri uri = Uri.parse(url); - if (!await launchUrl(uri)) { + if (!await launchUrl( + uri, + mode: LaunchMode.externalApplication, + )) { SmartDialog.showToast('Could not launch $url'); } } catch (e) {