patch: running android related code on other platforms

OmarHatem committed Apr 28, 2025 at 07:21 UTC d86c501fc55041b4bc551f63bd918009fc974b0a
6 files changed +39 -24
ios/Podfile.lock
+19 -7
@@ -1,7 +1,6 @@
1 PODS:
2 - connectivity_plus (0.0.1):
3 - Flutter
4 - - ReachabilitySwift
4 - CryptoSwift (1.8.4)
5 - cw_decred (0.0.1):
6 - Flutter
@@ -59,6 +58,8 @@ PODS:
58 - OrderedSet (~> 6.0.3)
59 - flutter_local_authentication (1.2.0):
60 - Flutter
61 + - flutter_local_notifications (0.0.1):
62 + - Flutter
63 - flutter_mailer (0.0.1):
64 - Flutter
65 - flutter_secure_storage (6.0.0):
@@ -77,7 +78,9 @@ PODS:
78 - FlutterMacOS
79 - permission_handler_apple (9.3.0):
80 - Flutter
80 - - ReachabilitySwift (5.2.4)
81 + - reown_yttrium (0.0.1):
82 + - Flutter
83 + - YttriumWrapper (= 0.8.35)
84 - SDWebImage (5.20.0):
85 - SDWebImage/Core (= 5.20.0)
86 - SDWebImage/Core (5.20.0)
@@ -100,6 +103,7 @@ PODS:
103 - Flutter
104 - wakelock_plus (0.0.1):
105 - Flutter
106 + - YttriumWrapper (0.8.35)
107
108 DEPENDENCIES:
109 - connectivity_plus (from `.symlinks/plugins/connectivity_plus/ios`)
@@ -114,6 +118,7 @@ DEPENDENCIES:
118 - Flutter (from `Flutter`)
119 - flutter_inappwebview_ios (from `.symlinks/plugins/flutter_inappwebview_ios/ios`)
120 - flutter_local_authentication (from `.symlinks/plugins/flutter_local_authentication/ios`)
121 + - flutter_local_notifications (from `.symlinks/plugins/flutter_local_notifications/ios`)
122 - flutter_mailer (from `.symlinks/plugins/flutter_mailer/ios`)
123 - flutter_secure_storage (from `.symlinks/plugins/flutter_secure_storage/ios`)
124 - fluttertoast (from `.symlinks/plugins/fluttertoast/ios`)
@@ -122,6 +127,7 @@ DEPENDENCIES:
127 - package_info_plus (from `.symlinks/plugins/package_info_plus/ios`)
128 - path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`)
129 - permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`)
130 + - reown_yttrium (from `.symlinks/plugins/reown_yttrium/ios`)
131 - sensitive_clipboard (from `.symlinks/plugins/sensitive_clipboard/ios`)
132 - share_plus (from `.symlinks/plugins/share_plus/ios`)
133 - shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`)
@@ -137,9 +143,9 @@ SPEC REPOS:
143 - DKImagePickerController
144 - DKPhotoGallery
145 - OrderedSet
140 - - ReachabilitySwift
146 - SDWebImage
147 - SwiftyGif
148 + - YttriumWrapper
149
150 EXTERNAL SOURCES:
151 connectivity_plus:
@@ -164,6 +170,8 @@ EXTERNAL SOURCES:
170 :path: ".symlinks/plugins/flutter_inappwebview_ios/ios"
171 flutter_local_authentication:
172 :path: ".symlinks/plugins/flutter_local_authentication/ios"
173 + flutter_local_notifications:
174 + :path: ".symlinks/plugins/flutter_local_notifications/ios"
175 flutter_mailer:
176 :path: ".symlinks/plugins/flutter_mailer/ios"
177 flutter_secure_storage:
@@ -180,6 +188,8 @@ EXTERNAL SOURCES:
188 :path: ".symlinks/plugins/path_provider_foundation/darwin"
189 permission_handler_apple:
190 :path: ".symlinks/plugins/permission_handler_apple/ios"
191 + reown_yttrium:
192 + :path: ".symlinks/plugins/reown_yttrium/ios"
193 sensitive_clipboard:
194 :path: ".symlinks/plugins/sensitive_clipboard/ios"
195 share_plus:
@@ -198,7 +208,7 @@ EXTERNAL SOURCES:
208 :path: ".symlinks/plugins/wakelock_plus/ios"
209
210 SPEC CHECKSUMS:
201 - connectivity_plus: bf0076dd84a130856aa636df1c71ccaff908fa1d
211 + connectivity_plus: 2a701ffec2c0ae28a48cf7540e279787e77c447d
212 CryptoSwift: e64e11850ede528a02a0f3e768cec8e9d92ecb90
213 cw_decred: 9c0e1df74745b51a1289ec5e91fb9e24b68fa14a
214 cw_mweb: 22cd01dfb8ad2d39b15332006f22046aaa8352a3
@@ -212,6 +222,7 @@ SPEC CHECKSUMS:
222 Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
223 flutter_inappwebview_ios: 6f63631e2c62a7c350263b13fa5427aedefe81d4
224 flutter_local_authentication: 1172a4dd88f6306dadce067454e2c4caf07977bb
225 + flutter_local_notifications: ff50f8405aaa0ccdc7dcfb9022ca192e8ad9688f
226 flutter_mailer: 2ef5a67087bc8c6c4cefd04a178bf1ae2c94cd83
227 flutter_secure_storage: 23fc622d89d073675f2eaa109381aefbcf5a49be
228 fluttertoast: 21eecd6935e7064cc1fcb733a4c5a428f3f24f0f
@@ -221,7 +232,7 @@ SPEC CHECKSUMS:
232 package_info_plus: c0502532a26c7662a62a356cebe2692ec5fe4ec4
233 path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46
234 permission_handler_apple: 9878588469a2b0d0fc1e048d9f43605f92e6cec2
224 - ReachabilitySwift: 32793e867593cfc1177f5d16491e3a197d2fccda
235 + reown_yttrium: c0e87e5965fa60a3559564cc35cffbba22976089
236 SDWebImage: 73c6079366fea25fa4bb9640d5fb58f0893facd8
237 sensitive_clipboard: d4866e5d176581536c27bb1618642ee83adca986
238 share_plus: 8b6f8b3447e494cca5317c8c3073de39b3600d1f
@@ -231,8 +242,9 @@ SPEC CHECKSUMS:
242 uni_links: d97da20c7701486ba192624d99bffaaffcfc298a
243 universal_ble: cf52a7b3fd2e7c14d6d7262e9fdadb72ab6b88a6
244 url_launcher_ios: 5334b05cef931de560670eeae103fd3e431ac3fe
234 - wakelock_plus: 373cfe59b235a6dd5837d0fb88791d2f13a90d56
245 + wakelock_plus: 76957ab028e12bfa4e66813c99e46637f367fc7e
246 + YttriumWrapper: 31e937fe9fbe0f1314d2ca6be9ce9b379a059966
247
236 -PODFILE CHECKSUM: e448f662d4c41f0c0b1ccbb78afd57dbf895a597
248 +PODFILE CHECKSUM: 5296465b1c6d14d506230356756826012f65d97a
249
250 COCOAPODS: 1.16.2
lib/utils/exception_handler.dart
+3 -1
@@ -230,6 +230,8 @@ class ExceptionHandler {
230 static Future<void> _addDeviceInfo(File file) async {
231 final packageInfo = await PackageInfo.fromPlatform();
232 final currentVersion = packageInfo.version;
233 + final appName = packageInfo.appName;
234 + final package = packageInfo.packageName;
235
236 final deviceInfoPlugin = DeviceInfoPlugin();
237 Map<String, dynamic> deviceInfo = {};
@@ -252,7 +254,7 @@ class ExceptionHandler {
254 }
255
256 await file.writeAsString(
255 - "App Version: $currentVersion\n\nDevice Info $deviceInfo\n\n",
257 + "App Version: $currentVersion\nApp Name: $appName\nPackage: $package\n\nDevice Info $deviceInfo\n\n",
258 mode: FileMode.append,
259 );
260 }
lib/view_model/dashboard/dashboard_view_model.dart
+10 -9
@@ -4,7 +4,6 @@ import 'dart:io' show Platform;
4
5 import 'package:cake_wallet/.secrets.g.dart' as secrets;
6 import 'package:cake_wallet/bitcoin/bitcoin.dart';
7 -import 'package:cake_wallet/core/background_sync.dart';
7 import 'package:cake_wallet/core/key_service.dart';
8 import 'package:cake_wallet/entities/auto_generate_subaddress_status.dart';
9 import 'package:cake_wallet/entities/balance_display_mode.dart';
@@ -538,7 +537,8 @@ abstract class DashboardViewModelBase with Store {
537 }
538
539 @observable
541 - late bool backgroundSyncNotificationsEnabled = sharedPreferences.getBool(PreferencesKey.backgroundSyncNotificationsEnabled) ?? false;
540 + late bool backgroundSyncNotificationsEnabled =
541 + sharedPreferences.getBool(PreferencesKey.backgroundSyncNotificationsEnabled) ?? false;
542
543 @action
544 Future<void> setBackgroundSyncNotificationsEnabled(bool value) async {
@@ -558,7 +558,6 @@ abstract class DashboardViewModelBase with Store {
558 await sharedPreferences.setBool(PreferencesKey.backgroundSyncNotificationsEnabled, value);
559 }
560
561 -
561 bool get hasBgsyncNetworkConstraints => Platform.isAndroid;
562 bool get hasBgsyncBatteryNotLowConstraints => Platform.isAndroid;
563 bool get hasBgsyncChargingConstraints => Platform.isAndroid;
@@ -575,12 +574,14 @@ abstract class DashboardViewModelBase with Store {
574
575 @observable
576 bool backgroundSyncDeviceIdle = false;
578 -
577 +
578 Future<void> _loadConstraints() async {
580 - backgroundSyncNetworkUnmetered = await FlutterDaemon().getNetworkType();
581 - backgroundSyncBatteryNotLow = await FlutterDaemon().getBatteryNotLow();
582 - backgroundSyncCharging = await FlutterDaemon().getRequiresCharging();
583 - backgroundSyncDeviceIdle = await FlutterDaemon().getDeviceIdle();
579 + if (Platform.isAndroid) {
580 + backgroundSyncNetworkUnmetered = await FlutterDaemon().getNetworkType();
581 + backgroundSyncBatteryNotLow = await FlutterDaemon().getBatteryNotLow();
582 + backgroundSyncCharging = await FlutterDaemon().getRequiresCharging();
583 + backgroundSyncDeviceIdle = await FlutterDaemon().getDeviceIdle();
584 + }
585 }
586
587 @action
@@ -618,7 +619,7 @@ abstract class DashboardViewModelBase with Store {
619 await enableBackgroundSync();
620 }
621 }
621 -
622 +
623 bool get hasBatteryOptimization => Platform.isAndroid;
624
625 @observable
scripts/ios/app_env.sh
+4 -4
@@ -12,13 +12,13 @@ TYPES=($MONERO_COM $CAKEWALLET)
12 APP_IOS_TYPE=$1
13
14 MONERO_COM_NAME="Monero.com"
15 -MONERO_COM_VERSION="4.27.0"
16 -MONERO_COM_BUILD_NUMBER=118
15 +MONERO_COM_VERSION="4.27.1"
16 +MONERO_COM_BUILD_NUMBER=120
17 MONERO_COM_BUNDLE_ID="com.cakewallet.monero"
18
19 CAKEWALLET_NAME="Cake Wallet"
20 -CAKEWALLET_VERSION="4.27.0"
21 -CAKEWALLET_BUILD_NUMBER=313
20 +CAKEWALLET_VERSION="4.27.1"
21 +CAKEWALLET_BUILD_NUMBER=314
22 CAKEWALLET_BUNDLE_ID="com.fotolockr.cakewallet"
23
24
scripts/linux/app_env.sh
+1 -1
@@ -15,7 +15,7 @@ fi
15
16 CAKEWALLET_NAME="Cake Wallet"
17 CAKEWALLET_VERSION="4.27.0"
18 -CAKEWALLET_BUILD_NUMBER=53
18 +CAKEWALLET_BUILD_NUMBER=54
19
20 if ! [[ " ${TYPES[*]} " =~ " ${APP_LINUX_TYPE} " ]]; then
21 echo "Wrong app type."
scripts/macos/app_env.sh
+2 -2
@@ -17,12 +17,12 @@ fi
17
18 MONERO_COM_NAME="Monero.com"
19 MONERO_COM_VERSION="4.27.0"
20 -MONERO_COM_BUILD_NUMBER=50
20 +MONERO_COM_BUILD_NUMBER=51
21 MONERO_COM_BUNDLE_ID="com.cakewallet.monero"
22
23 CAKEWALLET_NAME="Cake Wallet"
24 CAKEWALLET_VERSION="4.27.0"
25 -CAKEWALLET_BUILD_NUMBER=112
25 +CAKEWALLET_BUILD_NUMBER=113
26 CAKEWALLET_BUNDLE_ID="com.fotolockr.cakewallet"
27
28 if ! [[ " ${TYPES[*]} " =~ " ${APP_MACOS_TYPE} " ]]; then