V4.6.7 v1.3.8 (#971)
* - Replace payfura widget with direct browser link - Remove Payfura widget class as it is duplicate for the web view page * Revert removing swipe to delete wallet feature * Pump app versions and update release notes
Omar Hatem committed
Jun 20, 2023 at 15:27 UTC
e9b5c79a1e8870ab66410eb2578601d4f27f26de
11 files changed
+40
-119
assets/text/Monerocom_Release_Notes.txt
+3
-6
@@ -1,6 +1,3 @@
1
-Opt-in to Cake 2FA for security. More info: https://guides.cakewallet.com/docs/advanced-features/authentication/#cake-2fa
2
-Auto generate restore height for Monero restore QR codes
3
-Hausa and Yoruba languages
4
-Additional privacy settings
5
-Update Monero to 0.18.2.2
6
-Refactoring and bug fixes
\ No newline at end of file
1
+Enable iPad/Tablet separate layout from mobile UI
2
+SideShift update and fixes
3
+Bug Fixes
\ No newline at end of file
assets/text/Release_Notes.txt
+4
-6
@@ -1,6 +1,4 @@
1
-Opt-in to Cake 2FA for security. More info: https://guides.cakewallet.com/docs/advanced-features/authentication/#cake-2fa
2
-Auto generate restore height for Monero restore QR codes
3
-Hausa and Yoruba languages
4
-Additional privacy settings
5
-Update Monero to 0.18.2.2
6
-Refactoring and bug fixes
\ No newline at end of file
1
+Enable iPad/Tablet separate layout from mobile UI
2
+SideShift update and fixes
3
+Add MoonPay sell
4
+Bug Fixes
\ No newline at end of file
lib/di.dart
-4
@@ -1,7 +1,6 @@
1
import 'package:cake_wallet/anonpay/anonpay_api.dart';
2
import 'package:cake_wallet/anonpay/anonpay_info_base.dart';
3
import 'package:cake_wallet/anonpay/anonpay_invoice_info.dart';
4
-import 'package:cake_wallet/buy/moonpay/moonpay_buy_provider.dart';
4
import 'package:cake_wallet/buy/onramper/onramper_buy_provider.dart';
5
import 'package:cake_wallet/buy/payfura/payfura_buy_provider.dart';
6
import 'package:cake_wallet/core/yat_service.dart';
@@ -14,7 +13,6 @@ import 'package:cake_wallet/ionia/ionia_tip.dart';
13
import 'package:cake_wallet/routes.dart';
14
import 'package:cake_wallet/src/screens/anonpay_details/anonpay_details_page.dart';
15
import 'package:cake_wallet/src/screens/buy/webview_page.dart';
17
-import 'package:cake_wallet/src/screens/buy/payfura_page.dart';
16
import 'package:cake_wallet/src/screens/dashboard/desktop_dashboard_page.dart';
17
import 'package:cake_wallet/src/screens/dashboard/desktop_widgets/desktop_sidebar_wrapper.dart';
18
import 'package:cake_wallet/src/screens/dashboard/desktop_widgets/desktop_wallet_selection_dropdown.dart';
@@ -685,8 +683,6 @@ Future setup({
683
wallet: getIt.get<AppStore>().wallet!,
684
));
685
688
- getIt.registerFactory(() => PayFuraPage(getIt.get<PayfuraBuyProvider>()));
689
-
686
getIt.registerFactory(() => ExchangeViewModel(
687
getIt.get<AppStore>().wallet!,
688
_tradesSource,
lib/entities/main_actions.dart
+3
-8
@@ -1,12 +1,10 @@
1
import 'package:cake_wallet/buy/moonpay/moonpay_buy_provider.dart';
2
import 'package:cake_wallet/buy/onramper/onramper_buy_provider.dart';
3
-import 'package:cake_wallet/buy/payfura/payfura_buy_provider.dart';
3
import 'package:cake_wallet/di.dart';
4
import 'package:cake_wallet/generated/i18n.dart';
5
import 'package:cake_wallet/routes.dart';
6
import 'package:cake_wallet/src/widgets/alert_with_one_action.dart';
7
import 'package:cake_wallet/utils/device_info.dart';
9
-import 'package:cake_wallet/utils/responsive_layout_util.dart';
8
import 'package:cake_wallet/utils/show_pop_up.dart';
9
import 'package:cake_wallet/view_model/dashboard/dashboard_view_model.dart';
10
import 'package:cw_core/wallet_type.dart';
@@ -60,12 +58,9 @@ class MainActions {
58
break;
59
case WalletType.monero:
60
if (viewModel.isEnabledBuyAction) {
63
- if (DeviceInfo.instance.isMobile) {
64
- Navigator.of(context).pushNamed(Routes.payfuraPage);
65
- } else {
66
- final uri = getIt.get<PayfuraBuyProvider>().requestUrl();
67
- await launchUrl(uri);
68
- }
61
+ // final uri = getIt.get<PayfuraBuyProvider>().requestUrl();
62
+ final uri = Uri.parse("https://monero.com/trade");
63
+ await launchUrl(uri);
64
}
65
break;
66
default:
lib/router.dart
-6
@@ -9,7 +9,6 @@ import 'package:cake_wallet/src/screens/backup/backup_page.dart';
9
import 'package:cake_wallet/src/screens/backup/edit_backup_password_page.dart';
10
import 'package:cake_wallet/src/screens/buy/buy_webview_page.dart';
11
import 'package:cake_wallet/src/screens/buy/webview_page.dart';
12
-import 'package:cake_wallet/src/screens/buy/payfura_page.dart';
12
import 'package:cake_wallet/src/screens/buy/pre_order_page.dart';
13
import 'package:cake_wallet/src/screens/restore/sweeping_wallet_page.dart';
14
import 'package:cake_wallet/src/screens/receive/anonpay_invoice_page.dart';
@@ -97,8 +96,6 @@ import 'package:cake_wallet/ionia/ionia_any_pay_payment_info.dart';
96
import 'package:cw_core/crypto_currency.dart';
97
import 'package:cw_core/node.dart';
98
100
-import 'buy/moonpay/moonpay_buy_provider.dart';
101
-
99
late RouteSettings currentRouteSettings;
100
101
Route<dynamic> createRoute(RouteSettings settings) {
@@ -528,9 +525,6 @@ Route<dynamic> createRoute(RouteSettings settings) {
525
param1: title,
526
param2: url));
527
531
- case Routes.payfuraPage:
532
- return CupertinoPageRoute<void>(builder: (_) => getIt.get<PayFuraPage>());
533
-
528
case Routes.advancedPrivacySettings:
529
final type = settings.arguments as WalletType;
530
lib/routes.dart
-1
@@ -81,7 +81,6 @@ class Routes {
81
static const anonPayInvoicePage = '/anon_pay_invoice_page';
82
static const anonPayReceivePage = '/anon_pay_receive_page';
83
static const anonPayDetailsPage = '/anon_pay_details_page';
84
- static const payfuraPage = '/pay_fura_page';
84
static const desktop_actions = '/desktop_actions';
85
static const transactionsPage = '/transactions_page';
86
static const setup_2faPage = '/setup_2fa_page';
lib/src/screens/buy/payfura_page.dart
deleted
-58
@@ -1,58 +0,0 @@
1
-import 'package:cake_wallet/buy/payfura/payfura_buy_provider.dart';
2
-import 'package:cake_wallet/generated/i18n.dart';
3
-import 'package:cake_wallet/src/screens/base_page.dart';
4
-import 'package:flutter/material.dart';
5
-import 'package:flutter_inappwebview/flutter_inappwebview.dart';
6
-import 'package:permission_handler/permission_handler.dart';
7
-
8
-class PayFuraPage extends BasePage {
9
- PayFuraPage(this._PayfuraBuyProvider);
10
-
11
- final PayfuraBuyProvider _PayfuraBuyProvider;
12
-
13
- @override
14
- String get title => S.current.buy;
15
-
16
- @override
17
- Widget body(BuildContext context) {
18
- return PayFuraPageBody(_PayfuraBuyProvider);
19
- }
20
-}
21
-
22
-class PayFuraPageBody extends StatefulWidget {
23
- PayFuraPageBody(this._PayfuraBuyProvider);
24
-
25
- final PayfuraBuyProvider _PayfuraBuyProvider;
26
-
27
- Uri get uri => _PayfuraBuyProvider.requestUrl();
28
-
29
- @override
30
- PayFuraPageBodyState createState() => PayFuraPageBodyState();
31
-}
32
-
33
-class PayFuraPageBodyState extends State<PayFuraPageBody> {
34
- PayFuraPageBodyState();
35
-
36
- @override
37
- Widget build(BuildContext context) {
38
- return InAppWebView(
39
- initialOptions: InAppWebViewGroupOptions(
40
- crossPlatform: InAppWebViewOptions(transparentBackground: true),
41
- ),
42
- initialUrlRequest: URLRequest(url: widget.uri),
43
- androidOnPermissionRequest: (_, __, resources) async {
44
- bool permissionGranted = await Permission.camera.status == PermissionStatus.granted;
45
- if (!permissionGranted) {
46
- permissionGranted = await Permission.camera.request().isGranted;
47
- }
48
-
49
- return PermissionRequestResponse(
50
- resources: resources,
51
- action: permissionGranted
52
- ? PermissionRequestResponseAction.GRANT
53
- : PermissionRequestResponseAction.DENY,
54
- );
55
- },
56
- );
57
- }
58
-}
lib/src/screens/wallet_list/wallet_list_page.dart
+20
-20
@@ -149,26 +149,12 @@ class WalletListBodyState extends State<WalletListBody> {
149
150
return wallet.isCurrent
151
? row
152
- : Row(children: [
153
- Expanded(child: row),
154
- GestureDetector(
155
- onTap: () => _removeWallet(wallet),
156
- child: Container(
157
- height: 40,
158
- width: 44,
159
- padding: EdgeInsets.only(right: 20),
160
- child: Center(
161
- child: Image.asset('assets/images/trash.png',
162
- height: 16,
163
- width: 16,
164
- color: Theme.of(context)
165
- .primaryTextTheme
166
- .titleLarge!
167
- .color),
168
- ),
169
- ),
170
- )
171
- ]);
152
+ : Slidable(
153
+ key: Key('${wallet.key}'),
154
+ startActionPane: _actionPane(wallet),
155
+ endActionPane: _actionPane(wallet),
156
+ child: row,
157
+ );
158
}),
159
),
160
),
@@ -291,4 +277,18 @@ class WalletListBodyState extends State<WalletListBody> {
277
_progressBar = null;
278
});
279
}
280
+
281
+ ActionPane _actionPane(WalletListItem wallet) => ActionPane(
282
+ motion: const ScrollMotion(),
283
+ extentRatio: 0.3,
284
+ children: [
285
+ SlidableAction(
286
+ onPressed: (_) => _removeWallet(wallet),
287
+ backgroundColor: Colors.red,
288
+ foregroundColor: Colors.white,
289
+ icon: CupertinoIcons.delete,
290
+ label: S.of(context).delete,
291
+ ),
292
+ ],
293
+ );
294
}
scripts/android/app_env.sh
+4
-4
@@ -14,14 +14,14 @@ TYPES=($MONERO_COM $CAKEWALLET $HAVEN)
14
APP_ANDROID_TYPE=$1
15
16
MONERO_COM_NAME="Monero.com"
17
-MONERO_COM_VERSION="1.3.7"
18
-MONERO_COM_BUILD_NUMBER=50
17
+MONERO_COM_VERSION="1.3.8"
18
+MONERO_COM_BUILD_NUMBER=51
19
MONERO_COM_BUNDLE_ID="com.monero.app"
20
MONERO_COM_PACKAGE="com.monero.app"
21
22
CAKEWALLET_NAME="Cake Wallet"
23
-CAKEWALLET_VERSION="4.6.6"
24
-CAKEWALLET_BUILD_NUMBER=160
23
+CAKEWALLET_VERSION="4.6.7"
24
+CAKEWALLET_BUILD_NUMBER=161
25
CAKEWALLET_BUNDLE_ID="com.cakewallet.cake_wallet"
26
CAKEWALLET_PACKAGE="com.cakewallet.cake_wallet"
27
scripts/ios/app_env.sh
+4
-4
@@ -13,13 +13,13 @@ TYPES=($MONERO_COM $CAKEWALLET $HAVEN)
13
APP_IOS_TYPE=$1
14
15
MONERO_COM_NAME="Monero.com"
16
-MONERO_COM_VERSION="1.3.7"
17
-MONERO_COM_BUILD_NUMBER=48
16
+MONERO_COM_VERSION="1.3.8"
17
+MONERO_COM_BUILD_NUMBER=49
18
MONERO_COM_BUNDLE_ID="com.cakewallet.monero"
19
20
CAKEWALLET_NAME="Cake Wallet"
21
-CAKEWALLET_VERSION="4.6.6"
22
-CAKEWALLET_BUILD_NUMBER=155
21
+CAKEWALLET_VERSION="4.6.7"
22
+CAKEWALLET_BUILD_NUMBER=159
23
CAKEWALLET_BUNDLE_ID="com.fotolockr.cakewallet"
24
25
HAVEN_NAME="Haven"
scripts/macos/app_env.sh
+2
-2
@@ -15,8 +15,8 @@ if [ -n "$1" ]; then
15
fi
16
17
CAKEWALLET_NAME="Cake Wallet"
18
-CAKEWALLET_VERSION="1.0.5"
19
-CAKEWALLET_BUILD_NUMBER=24
18
+CAKEWALLET_VERSION="1.0.6"
19
+CAKEWALLET_BUILD_NUMBER=25
20
CAKEWALLET_BUNDLE_ID="com.fotolockr.cakewallet"
21
22
if ! [[ " ${TYPES[*]} " =~ " ${APP_MACOS_TYPE} " ]]; then