Generic fixes (#1291)

* - Update Camera purpose string for iOS
- Fix address field not passing the correct currency to address book

* Enhance file loading in exception handler

* Fix translation consistency [skip ci]
This commit is contained in:
Omar Hatem 2024-02-06 22:44:21 +02:00 committed by GitHub
parent 3945a3d7b4
commit d0b51cebe3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
30 changed files with 192 additions and 47 deletions

View file

@ -16,11 +16,15 @@ import 'package:shared_preferences/shared_preferences.dart';
class ExceptionHandler {
static bool _hasError = false;
static const _coolDownDurationInDays = 7;
static File? _file;
static void _saveException(String? error, StackTrace? stackTrace, {String? library}) async {
final appDocDir = await getApplicationDocumentsDirectory();
if (_file == null) {
final appDocDir = await getApplicationDocumentsDirectory();
_file = File('${appDocDir.path}/error.txt');
}
final file = File('${appDocDir.path}/error.txt');
final exception = {
"${DateTime.now()}": {
"Error": "$error\n\n",
@ -33,14 +37,14 @@ class ExceptionHandler {
==========================================================\n\n''';
/// don't save existing errors
if (file.existsSync()) {
final String fileContent = await file.readAsString();
if (_file!.existsSync()) {
final String fileContent = await _file!.readAsString();
if (fileContent.contains("${exception.values.first}")) {
return;
}
}
file.writeAsStringSync(
_file!.writeAsStringSync(
"$exception $separator",
mode: FileMode.append,
);
@ -48,16 +52,18 @@ class ExceptionHandler {
static void _sendExceptionFile() async {
try {
final appDocDir = await getApplicationDocumentsDirectory();
if (_file == null) {
final appDocDir = await getApplicationDocumentsDirectory();
final file = File('${appDocDir.path}/error.txt');
_file = File('${appDocDir.path}/error.txt');
}
await _addDeviceInfo(file);
await _addDeviceInfo(_file!);
final MailOptions mailOptions = MailOptions(
subject: 'Mobile App Issue',
recipients: ['support@cakewallet.com'],
attachments: [file.path],
attachments: [_file!.path],
);
final result = await FlutterMailer.send(mailOptions);
@ -67,7 +73,7 @@ class ExceptionHandler {
if (result.name == MailerResponse.sent.name ||
result.name == MailerResponse.saved.name ||
result.name == MailerResponse.android.name) {
file.writeAsString("", mode: FileMode.write);
_file!.writeAsString("", mode: FileMode.write);
}
} catch (e, s) {
_saveException(e.toString(), s);