From 94f256997f083271e3e540ef734a31c3784cf414 Mon Sep 17 00:00:00 2001
From: Omar Hatem <omarh.ismail1@gmail.com>
Date: Fri, 8 Sep 2023 17:15:28 +0300
Subject: [PATCH] New versions (#1073)

---
 assets/text/Monerocom_Release_Notes.txt       |   7 +-
 assets/text/Release_Notes.txt                 |   8 +-
 ios/Podfile.lock                              |  23 ----
 ios/Runner.xcodeproj/project.pbxproj          |   1 +
 .../settings/display_settings_page.dart       | 114 +++++++++---------
 .../support/widgets/support_tiles.dart        |   3 +-
 lib/src/widgets/search_bar_widget.dart        |   2 +-
 .../unspent_coins_list_view_model.dart        |   2 -
 scripts/android/app_env.sh                    |   8 +-
 scripts/ios/app_env.sh                        |   8 +-
 scripts/macos/app_env.sh                      |   4 +-
 11 files changed, 83 insertions(+), 97 deletions(-)

diff --git a/assets/text/Monerocom_Release_Notes.txt b/assets/text/Monerocom_Release_Notes.txt
index 62f649704..a8b55383d 100644
--- a/assets/text/Monerocom_Release_Notes.txt
+++ b/assets/text/Monerocom_Release_Notes.txt
@@ -1,2 +1,5 @@
-Bug fixes
-Fiat Onramp improvements
\ No newline at end of file
+Ability to Auto generate new Monero subaddress when used
+Coin Control for Monero
+In-app Live Chat support
+Additional themes
+Bug Fixes and performance enhancements
\ No newline at end of file
diff --git a/assets/text/Release_Notes.txt b/assets/text/Release_Notes.txt
index 62f649704..263689318 100644
--- a/assets/text/Release_Notes.txt
+++ b/assets/text/Release_Notes.txt
@@ -1,2 +1,6 @@
-Bug fixes
-Fiat Onramp improvements
\ No newline at end of file
+Restore Ethereum from private key and QR
+Ability to Auto generate new Monero subaddress when used
+Coin Control for Monero
+In-app Live Chat support
+Additional themes
+Bug Fixes and performance enhancements
\ No newline at end of file
diff --git a/ios/Podfile.lock b/ios/Podfile.lock
index 6f441c587..2f51f68f7 100644
--- a/ios/Podfile.lock
+++ b/ios/Podfile.lock
@@ -8,25 +8,6 @@ PODS:
     - Flutter
     - ReachabilitySwift
   - CryptoSwift (1.7.1)
-  - cw_haven (0.0.1):
-    - cw_haven/Boost (= 0.0.1)
-    - cw_haven/Haven (= 0.0.1)
-    - cw_haven/OpenSSL (= 0.0.1)
-    - cw_haven/Sodium (= 0.0.1)
-    - cw_shared_external
-    - Flutter
-  - cw_haven/Boost (0.0.1):
-    - cw_shared_external
-    - Flutter
-  - cw_haven/Haven (0.0.1):
-    - cw_shared_external
-    - Flutter
-  - cw_haven/OpenSSL (0.0.1):
-    - cw_shared_external
-    - Flutter
-  - cw_haven/Sodium (0.0.1):
-    - cw_shared_external
-    - Flutter
   - cw_monero (0.0.2):
     - cw_monero/Boost (= 0.0.2)
     - cw_monero/Monero (= 0.0.2)
@@ -159,7 +140,6 @@ DEPENDENCIES:
   - barcode_scan2 (from `.symlinks/plugins/barcode_scan2/ios`)
   - connectivity_plus (from `.symlinks/plugins/connectivity_plus/ios`)
   - CryptoSwift
-  - cw_haven (from `.symlinks/plugins/cw_haven/ios`)
   - cw_monero (from `.symlinks/plugins/cw_monero/ios`)
   - cw_shared_external (from `.symlinks/plugins/cw_shared_external/ios`)
   - device_display_brightness (from `.symlinks/plugins/device_display_brightness/ios`)
@@ -205,8 +185,6 @@ EXTERNAL SOURCES:
     :path: ".symlinks/plugins/barcode_scan2/ios"
   connectivity_plus:
     :path: ".symlinks/plugins/connectivity_plus/ios"
-  cw_haven:
-    :path: ".symlinks/plugins/cw_haven/ios"
   cw_monero:
     :path: ".symlinks/plugins/cw_monero/ios"
   cw_shared_external:
@@ -261,7 +239,6 @@ SPEC CHECKSUMS:
   BigInt: f668a80089607f521586bbe29513d708491ef2f7
   connectivity_plus: 413a8857dd5d9f1c399a39130850d02fe0feaf7e
   CryptoSwift: d3d18dc357932f7e6d580689e065cf1f176007c1
-  cw_haven: b3e54e1fbe7b8e6fda57a93206bc38f8e89b898a
   cw_monero: 4cf3b96f2da8e95e2ef7d6703dd4d2c509127b7d
   cw_shared_external: 2972d872b8917603478117c9957dfca611845a92
   device_display_brightness: 1510e72c567a1f6ce6ffe393dcd9afd1426034f7
diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj
index 4bc10f9be..1da5bc4bc 100644
--- a/ios/Runner.xcodeproj/project.pbxproj
+++ b/ios/Runner.xcodeproj/project.pbxproj
@@ -227,6 +227,7 @@
 			files = (
 			);
 			inputPaths = (
+				"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
 			);
 			name = "Thin Binary";
 			outputPaths = (
diff --git a/lib/src/screens/settings/display_settings_page.dart b/lib/src/screens/settings/display_settings_page.dart
index 6e572abe0..3e7da522b 100644
--- a/lib/src/screens/settings/display_settings_page.dart
+++ b/lib/src/screens/settings/display_settings_page.dart
@@ -21,64 +21,66 @@ class DisplaySettingsPage extends BasePage {
 
   @override
   Widget body(BuildContext context) {
-    return Observer(builder: (_) {
-      return Container(
-        padding: EdgeInsets.only(top: 10),
-        child: Column(
-          children: [
-            SettingsSwitcherCell(
-                title: S.current.settings_display_balance,
-                value: _displaySettingsViewModel.shouldDisplayBalance,
+    return SingleChildScrollView(
+      child: Observer(builder: (_) {
+        return Container(
+          padding: EdgeInsets.only(top: 10),
+          child: Column(
+            children: [
+              SettingsSwitcherCell(
+                  title: S.current.settings_display_balance,
+                  value: _displaySettingsViewModel.shouldDisplayBalance,
+                  onValueChange: (_, bool value) {
+                    _displaySettingsViewModel.setShouldDisplayBalance(value);
+                  }),
+              SettingsSwitcherCell(
+                title: S.current.show_market_place,
+                value: _displaySettingsViewModel.shouldShowMarketPlaceInDashboard,
                 onValueChange: (_, bool value) {
-                  _displaySettingsViewModel.setShouldDisplayBalance(value);
-                }),
-            SettingsSwitcherCell(
-              title: S.current.show_market_place,
-              value: _displaySettingsViewModel.shouldShowMarketPlaceInDashboard,
-              onValueChange: (_, bool value) {
-                _displaySettingsViewModel.setShouldShowMarketPlaceInDashbaord(value);
-              },
-            ),
-            //if (!isHaven) it does not work correctly
-            if (!_displaySettingsViewModel.disabledFiatApiMode)
-              SettingsPickerCell<FiatCurrency>(
-                title: S.current.settings_currency,
-                searchHintText: S.current.search_currency,
-                items: FiatCurrency.all,
-                selectedItem: _displaySettingsViewModel.fiatCurrency,
-                onItemSelected: (FiatCurrency currency) =>
-                    _displaySettingsViewModel.setFiatCurrency(currency),
-                images: FiatCurrency.all
-                    .map((e) => Image.asset("assets/images/flags/${e.countryCode}.png"))
-                    .toList(),
-                isGridView: true,
-                matchingCriteria: (FiatCurrency currency, String searchText) {
-                  return currency.title.toLowerCase().contains(searchText) ||
-                      currency.fullName.toLowerCase().contains(searchText);
+                  _displaySettingsViewModel.setShouldShowMarketPlaceInDashbaord(value);
                 },
               ),
-            SettingsPickerCell<String>(
-              title: S.current.settings_change_language,
-              searchHintText: S.current.search_language,
-              items: LanguageService.list.keys.toList(),
-              displayItem: (dynamic code) {
-                return LanguageService.list[code] ?? '';
-              },
-              selectedItem: _displaySettingsViewModel.languageCode,
-              onItemSelected: _displaySettingsViewModel.onLanguageSelected,
-              images: LanguageService.list.keys
-                  .map((e) => Image.asset(
-                      "assets/images/flags/${LanguageService.localeCountryCode[e]}.png"))
-                  .toList(),
-              matchingCriteria: (String code, String searchText) {
-                return LanguageService.list[code]?.toLowerCase().contains(searchText) ?? false;
-              },
-            ),
-            if (ResponsiveLayoutUtil.instance.isMobile && DeviceInfo.instance.isMobile)
-              SettingsThemeChoicesCell(_displaySettingsViewModel),
-          ],
-        ),
-      );
-    });
+              //if (!isHaven) it does not work correctly
+              if (!_displaySettingsViewModel.disabledFiatApiMode)
+                SettingsPickerCell<FiatCurrency>(
+                  title: S.current.settings_currency,
+                  searchHintText: S.current.search_currency,
+                  items: FiatCurrency.all,
+                  selectedItem: _displaySettingsViewModel.fiatCurrency,
+                  onItemSelected: (FiatCurrency currency) =>
+                      _displaySettingsViewModel.setFiatCurrency(currency),
+                  images: FiatCurrency.all
+                      .map((e) => Image.asset("assets/images/flags/${e.countryCode}.png"))
+                      .toList(),
+                  isGridView: true,
+                  matchingCriteria: (FiatCurrency currency, String searchText) {
+                    return currency.title.toLowerCase().contains(searchText) ||
+                        currency.fullName.toLowerCase().contains(searchText);
+                  },
+                ),
+              SettingsPickerCell<String>(
+                title: S.current.settings_change_language,
+                searchHintText: S.current.search_language,
+                items: LanguageService.list.keys.toList(),
+                displayItem: (dynamic code) {
+                  return LanguageService.list[code] ?? '';
+                },
+                selectedItem: _displaySettingsViewModel.languageCode,
+                onItemSelected: _displaySettingsViewModel.onLanguageSelected,
+                images: LanguageService.list.keys
+                    .map((e) => Image.asset(
+                        "assets/images/flags/${LanguageService.localeCountryCode[e]}.png"))
+                    .toList(),
+                matchingCriteria: (String code, String searchText) {
+                  return LanguageService.list[code]?.toLowerCase().contains(searchText) ?? false;
+                },
+              ),
+              if (ResponsiveLayoutUtil.instance.isMobile && DeviceInfo.instance.isMobile)
+                SettingsThemeChoicesCell(_displaySettingsViewModel),
+            ],
+          ),
+        );
+      }),
+    );
   }
 }
diff --git a/lib/src/screens/support/widgets/support_tiles.dart b/lib/src/screens/support/widgets/support_tiles.dart
index 1db87953b..7107efac6 100644
--- a/lib/src/screens/support/widgets/support_tiles.dart
+++ b/lib/src/screens/support/widgets/support_tiles.dart
@@ -1,3 +1,4 @@
+import 'package:cake_wallet/themes/extensions/cake_text_theme.dart';
 import 'package:cake_wallet/themes/extensions/transaction_trade_theme.dart';
 import 'package:flutter/material.dart';
 
@@ -44,7 +45,7 @@ class SupportTile extends StatelessWidget {
                       style: TextStyle(
                         fontSize: 20,
                         fontWeight: FontWeight.w500,
-                        color: Theme.of(context).dialogTheme.backgroundColor,
+                        color: Theme.of(context).extension<CakeTextTheme>()!.titleColor,
                       ),
                     ),
                     Padding(
diff --git a/lib/src/widgets/search_bar_widget.dart b/lib/src/widgets/search_bar_widget.dart
index 731fbf632..dc604934f 100644
--- a/lib/src/widgets/search_bar_widget.dart
+++ b/lib/src/widgets/search_bar_widget.dart
@@ -17,7 +17,7 @@ class SearchBarWidget extends StatelessWidget {
   Widget build(BuildContext context) {
     return TextFormField(
       controller: searchController,
-      style: TextStyle(color: Theme.of(context).extension<PickerTheme>()!.searchTextColor),
+      style: TextStyle(color: Theme.of(context).extension<PickerTheme>()!.searchHintColor),
       decoration: InputDecoration(
         hintText: hintText ?? S.of(context).search_currency,
         hintStyle: TextStyle(color: Theme.of(context).extension<PickerTheme>()!.searchHintColor),
diff --git a/lib/view_model/unspent_coins/unspent_coins_list_view_model.dart b/lib/view_model/unspent_coins/unspent_coins_list_view_model.dart
index 9ecb381fd..657a0cb74 100644
--- a/lib/view_model/unspent_coins/unspent_coins_list_view_model.dart
+++ b/lib/view_model/unspent_coins/unspent_coins_list_view_model.dart
@@ -3,11 +3,9 @@ import 'package:cake_wallet/bitcoin/bitcoin.dart';
 import 'package:cake_wallet/entities/unspent_transaction_output.dart';
 import 'package:cake_wallet/monero/monero.dart';
 import 'package:cake_wallet/view_model/unspent_coins/unspent_coins_item.dart';
-import 'package:cw_bitcoin/bitcoin_wallet.dart';
 import 'package:cw_core/unspent_coins_info.dart';
 import 'package:cw_core/wallet_base.dart';
 import 'package:cw_core/wallet_type.dart';
-import 'package:cw_monero/monero_wallet.dart';
 import 'package:hive/hive.dart';
 import 'package:mobx/mobx.dart';
 
diff --git a/scripts/android/app_env.sh b/scripts/android/app_env.sh
index 741eb8780..627b8d318 100644
--- a/scripts/android/app_env.sh
+++ b/scripts/android/app_env.sh
@@ -14,14 +14,14 @@ TYPES=($MONERO_COM $CAKEWALLET $HAVEN)
 APP_ANDROID_TYPE=$1
 
 MONERO_COM_NAME="Monero.com"
-MONERO_COM_VERSION="1.5.1"
-MONERO_COM_BUILD_NUMBER=55
+MONERO_COM_VERSION="1.6.0"
+MONERO_COM_BUILD_NUMBER=56
 MONERO_COM_BUNDLE_ID="com.monero.app"
 MONERO_COM_PACKAGE="com.monero.app"
 
 CAKEWALLET_NAME="Cake Wallet"
-CAKEWALLET_VERSION="4.8.1"
-CAKEWALLET_BUILD_NUMBER=168
+CAKEWALLET_VERSION="4.9.0"
+CAKEWALLET_BUILD_NUMBER=169
 CAKEWALLET_BUNDLE_ID="com.cakewallet.cake_wallet"
 CAKEWALLET_PACKAGE="com.cakewallet.cake_wallet"
 
diff --git a/scripts/ios/app_env.sh b/scripts/ios/app_env.sh
index 401755b40..08de936e8 100644
--- a/scripts/ios/app_env.sh
+++ b/scripts/ios/app_env.sh
@@ -13,13 +13,13 @@ TYPES=($MONERO_COM $CAKEWALLET $HAVEN)
 APP_IOS_TYPE=$1
 
 MONERO_COM_NAME="Monero.com"
-MONERO_COM_VERSION="1.5.1"
-MONERO_COM_BUILD_NUMBER=53
+MONERO_COM_VERSION="1.6.0"
+MONERO_COM_BUILD_NUMBER=54
 MONERO_COM_BUNDLE_ID="com.cakewallet.monero"
 
 CAKEWALLET_NAME="Cake Wallet"
-CAKEWALLET_VERSION="4.8.1"
-CAKEWALLET_BUILD_NUMBER=176
+CAKEWALLET_VERSION="4.9.0"
+CAKEWALLET_BUILD_NUMBER=178
 CAKEWALLET_BUNDLE_ID="com.fotolockr.cakewallet"
 
 HAVEN_NAME="Haven"
diff --git a/scripts/macos/app_env.sh b/scripts/macos/app_env.sh
index a531ce926..28e7d5f4f 100755
--- a/scripts/macos/app_env.sh
+++ b/scripts/macos/app_env.sh
@@ -15,8 +15,8 @@ if [ -n "$1" ]; then
 fi
 
 CAKEWALLET_NAME="Cake Wallet"
-CAKEWALLET_VERSION="1.1.1"
-CAKEWALLET_BUILD_NUMBER=30
+CAKEWALLET_VERSION="1.2.0"
+CAKEWALLET_BUILD_NUMBER=31
 CAKEWALLET_BUNDLE_ID="com.fotolockr.cakewallet"
 
 if ! [[ " ${TYPES[*]} " =~ " ${APP_MACOS_TYPE} " ]]; then