@@ -4,17 +4,16 @@ import 'package:flutter/cupertino.dart';
4
4
import 'package:flutter/gestures.dart' ;
5
5
import 'package:flutter/material.dart' ;
6
6
import 'package:flutter/rendering.dart' ;
7
- import 'package:flutter/services.dart' ;
8
7
import 'package:html/dom.dart' as dom;
9
8
import 'package:intl/intl.dart' ;
10
9
11
10
import '../api/core.dart' ;
12
11
import '../api/model/model.dart' ;
13
12
import '../generated/l10n/zulip_localizations.dart' ;
14
13
import '../model/avatar_url.dart' ;
15
- import '../model/binding.dart' ;
16
14
import '../model/content.dart' ;
17
15
import '../model/internal_link.dart' ;
16
+ import 'actions.dart' ;
18
17
import 'code_block.dart' ;
19
18
import 'dialog.dart' ;
20
19
import 'icons.dart' ;
@@ -1432,26 +1431,7 @@ void _launchUrl(BuildContext context, String urlString) async {
1432
1431
return ;
1433
1432
}
1434
1433
1435
- final globalSettings = GlobalStoreWidget .settingsOf (context);
1436
- bool launched = false ;
1437
- String ? errorMessage;
1438
- try {
1439
- launched = await ZulipBinding .instance.launchUrl (url,
1440
- mode: globalSettings.getUrlLaunchMode (url));
1441
- } on PlatformException catch (e) {
1442
- errorMessage = e.message;
1443
- }
1444
- if (! launched) { // TODO(log)
1445
- if (! context.mounted) return ;
1446
-
1447
- final zulipLocalizations = ZulipLocalizations .of (context);
1448
- showErrorDialog (context: context,
1449
- title: zulipLocalizations.errorCouldNotOpenLinkTitle,
1450
- message: [
1451
- zulipLocalizations.errorCouldNotOpenLink (url.toString ()),
1452
- if (errorMessage != null ) errorMessage,
1453
- ].join ("\n\n " ));
1454
- }
1434
+ await PlatformActions .launchUrl (context, url);
1455
1435
}
1456
1436
1457
1437
/// Like [Image.network] , but includes [authHeader] if [src] is on-realm.
0 commit comments