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