set launchUrl mode to LaunchMode.externalApplication

This commit is contained in:
Serhii
2024-05-23 14:00:52 +03:00
parent dfba5be2cd
commit f401dafdca
13 changed files with 40 additions and 57 deletions
@@ -2,7 +2,6 @@ import 'package:cake_wallet/src/screens/dashboard/widgets/anonpay_transaction_ro
import 'package:cake_wallet/src/screens/dashboard/widgets/order_row.dart';
import 'package:cake_wallet/themes/extensions/placeholder_theme.dart';
import 'package:cake_wallet/src/widgets/dashboard_card_widget.dart';
import 'package:cake_wallet/utils/device_info.dart';
import 'package:cake_wallet/utils/responsive_layout_util.dart';
import 'package:cake_wallet/view_model/dashboard/anonpay_transaction_list_item.dart';
import 'package:cake_wallet/view_model/dashboard/order_list_item.dart';
@@ -52,11 +51,7 @@ class TransactionsPage extends StatelessWidget {
try {
final uri = Uri.parse(
"https://guides.cakewallet.com/docs/FAQ/why_are_my_funds_not_appearing/");
if (DeviceInfo.instance.isMobile) {
Navigator.of(context).pushNamed(Routes.webViewPage, arguments: ['', uri]);
} else {
launchUrl(uri);
}
launchUrl(uri, mode: LaunchMode.externalApplication);
} catch (_) {}
},
title: S.of(context).syncing_wallet_alert_title,
@@ -46,10 +46,6 @@ class DisclaimerBodyState extends State<DisclaimerPageBody> {
bool _checked = false;
String _fileText = '';
Future<void> launchUrl(String url) async {
if (await canLaunch(url)) await launch(url);
}
Future getFileLines() async {
_fileText = await rootBundle.loadString(
isMoneroOnly
@@ -152,7 +148,11 @@ class DisclaimerBodyState extends State<DisclaimerPageBody> {
children: <Widget>[
Expanded(
child: GestureDetector(
onTap: () => launchUrl(changenowUrl),
onTap: () async {
final uri = Uri.parse(changenowUrl);
if (await canLaunchUrl(uri))
await launchUrl(uri, mode: LaunchMode.externalApplication);
},
child: Text(
changenowUrl,
textAlign: TextAlign.left,
@@ -107,7 +107,9 @@ class IoniaCreateAccountPage extends BasePage {
),
recognizer: TapGestureRecognizer()
..onTap = () async {
if (await canLaunch(termsAndConditionsUrl)) await launch(termsAndConditionsUrl);
final uri = Uri.parse(termsAndConditionsUrl);
if (await canLaunchUrl(uri))
await launchUrl(uri, mode: LaunchMode.externalApplication);
},
),
TextSpan(text: ' ${S.of(context).and} '),
@@ -119,7 +121,9 @@ class IoniaCreateAccountPage extends BasePage {
),
recognizer: TapGestureRecognizer()
..onTap = () async {
if (await canLaunch(privacyPolicyUrl)) await launch(privacyPolicyUrl);
final uri = Uri.parse(privacyPolicyUrl);
if (await canLaunchUrl(uri))
await launchUrl(uri, mode: LaunchMode.externalApplication);
}),
TextSpan(text: ' ${S.of(context).by_cake_pay}'),
],
@@ -31,7 +31,8 @@ class SettingsLinkProviderCell extends StandardListRow {
static void _launchUrl(String url) async {
try {
await launch(url, forceSafariVC: false);
final uri = Uri.parse(url);
if (await canLaunchUrl(uri)) await launchUrl(uri, mode: LaunchMode.externalApplication);
} catch (e) {}
}
}
+10 -11
View File
@@ -161,27 +161,26 @@ class YatPopup extends StatelessWidget {
onClose: onClose,
onGet: () {
var createNewYatUrl = YatLink.startFlowUrl;
final createNewYatUrlParameters = dashboardViewModel.
yatStore.defineQueryParameters();
final createNewYatUrlParameters =
dashboardViewModel.yatStore.defineQueryParameters();
if (createNewYatUrlParameters.isNotEmpty) {
createNewYatUrl += '?sub1=' + createNewYatUrlParameters;
}
launch(createNewYatUrl, forceSafariVC: false);
final uri = Uri.parse(createNewYatUrl);
launchUrl(uri, mode: LaunchMode.externalApplication);
},
onConnect: () {
String url = baseUrl + YatLink.signInSuffix;
final parameters = dashboardViewModel
.yatStore.defineQueryParameters();
final parameters = dashboardViewModel.yatStore.defineQueryParameters();
if (parameters.isNotEmpty) {
url += YatLink.queryParameter + parameters;
}
launch(url, forceSafariVC: false);
}
))
: Container()
)
final uri = Uri.parse(url);
launchUrl(uri, mode: LaunchMode.externalApplication);
}))
: Container())
],
);
}
+2 -1
View File
@@ -103,7 +103,8 @@ class _ServicesUpdatesWidgetState extends State<ServicesUpdatesWidget> {
child: PrimaryImageButton(
onPressed: () {
try {
launchUrl(Uri.parse("https://status.cakewallet.com/"));
launchUrl(Uri.parse("https://status.cakewallet.com/"),
mode: LaunchMode.externalApplication);
} catch (_) {}
},
image: Image.asset(