check share plugin usage (#567)

* replace share plugin with share_plus * fix share button on receive screen * add share button for btc, ltc wallets

Serhii committed Oct 26, 2022 at 18:05 UTC 4f2cf983decc637791dd5900119a68ec69b344af
4 files changed +37 -29
lib/src/screens/dashboard/widgets/address_page.dart
+21
@@ -15,6 +15,7 @@ import 'package:cake_wallet/generated/i18n.dart';
15 import 'package:flutter_mobx/flutter_mobx.dart';
16 import 'package:keyboard_actions/keyboard_actions.dart';
17 import 'package:mobx/mobx.dart';
18 +import 'package:share_plus/share_plus.dart';
19
20 class AddressPage extends BasePage {
21 AddressPage({
@@ -85,6 +86,26 @@ class AddressPage extends BasePage {
86 ], begin: Alignment.topRight, end: Alignment.bottomLeft)),
87 child: scaffold);
88
89 + @override
90 + Widget? trailing(BuildContext context) {
91 + final shareImage =
92 + Image.asset('assets/images/share.png',
93 + color: Theme.of(context).accentTextTheme!.headline2!.backgroundColor!);
94 +
95 + return !addressListViewModel.hasAddressList ? Material(
96 + color: Colors.transparent,
97 + child: IconButton(
98 + padding: EdgeInsets.zero,
99 + constraints: BoxConstraints(),
100 + highlightColor: Colors.transparent,
101 + splashColor: Colors.transparent,
102 + iconSize: 25,
103 + onPressed: () => Share.share(addressListViewModel.address.address),
104 + icon: shareImage,
105 + ),
106 + ) : null;
107 + }
108 +
109 @override
110 Widget body(BuildContext context) {
111 autorun((_) async {
lib/src/screens/receive/receive_page.dart
+12 -18
@@ -6,7 +6,7 @@ import 'package:cw_core/wallet_type.dart';
6 import 'package:flutter/material.dart';
7 import 'package:flutter/cupertino.dart';
8 import 'package:flutter_mobx/flutter_mobx.dart';
9 -// import 'package:esys_flutter_share/esys_flutter_share.dart';
9 +import 'package:share_plus/share_plus.dart';
10 import 'package:cake_wallet/routes.dart';
11 import 'package:cake_wallet/generated/i18n.dart';
12 import 'package:cake_wallet/di.dart';
@@ -92,23 +92,17 @@ class ReceivePage extends BasePage {
92 Image.asset('assets/images/share.png',
93 color: Theme.of(context).accentTextTheme!.headline2!.backgroundColor!);
94
95 - return SizedBox(
96 - height: 20.0,
97 - width: 20.0,
98 - child: ButtonTheme(
99 - minWidth: double.minPositive,
100 - child: TextButton(
101 - // FIX-ME: Style
102 - //highlightColor: Colors.transparent,
103 - //splashColor: Colors.transparent,
104 - //padding: EdgeInsets.all(0),
105 - onPressed: () {
106 - // FIX-ME: Share esys_flutter_share.dart
107 - // Share.text(S.current.share_address,
108 - // addressListViewModel.address.address, 'text/plain')
109 - },
110 - child: shareImage),
111 - ),
95 + return Material(
96 + color: Colors.transparent,
97 + child: IconButton(
98 + padding: EdgeInsets.zero,
99 + constraints: BoxConstraints(),
100 + highlightColor: Colors.transparent,
101 + splashColor: Colors.transparent,
102 + iconSize: 25,
103 + onPressed: () => Share.share(addressListViewModel.address.address),
104 + icon: shareImage
105 + )
106 );
107 }
108
lib/src/screens/seed/wallet_seed_page.dart
+3 -8
@@ -6,7 +6,7 @@ import 'package:cake_wallet/utils/show_pop_up.dart';
6 import 'package:flutter/cupertino.dart';
7 import 'package:flutter/material.dart';
8 import 'package:flutter/services.dart';
9 -// import 'package:esys_flutter_share/esys_flutter_share.dart';
9 +import 'package:share_plus/share_plus.dart';
10 import 'package:flutter_mobx/flutter_mobx.dart';
11 import 'package:cake_wallet/generated/i18n.dart';
12 import 'package:cake_wallet/src/widgets/primary_button.dart';
@@ -159,13 +159,8 @@ class WalletSeedPage extends BasePage {
159 child: Container(
160 padding: EdgeInsets.only(right: 8.0),
161 child: PrimaryButton(
162 - onPressed: () {
163 - // FIX-ME: Share esys_flutter_share
164 - // Share.text(
165 - // S.of(context).seed_share,
166 - // walletSeedViewModel.seed,
167 - // 'text/plain')
168 - },
162 + onPressed: () =>
163 + Share.share(walletSeedViewModel.seed),
164 text: S.of(context).save,
165 color: Colors.green,
166 textColor: Colors.white),
pubspec_base.yaml
+1 -3
@@ -25,9 +25,7 @@ dependencies:
25 mobx: ^2.0.7+4
26 flutter_mobx: ^2.0.6+1
27 flutter_slidable: ^2.0.0
28 - share: ^2.0.1
29 - # share_plus: ^4.0.10
30 - # esys_flutter_share: ^1.0.2
28 + share_plus: ^4.0.10
29 # date_range_picker: ^1.0.6
30 #https://api.flutter.dev/flutter/material/showDateRangePicker.html
31 dio: ^4.0.6