Xchaha20 poly1305 integration (#569)

* Integration of xchacha20-poly1305

* Remove force unwrap from _exportPreferencesJSON

* Deprecate v1 export

* Fix for open backup screen after auth
This commit is contained in:
mkyq
2022-10-26 15:28:27 -04:00
committed by GitHub
parent 33935c9b1d
commit acb03e5530
5 changed files with 168 additions and 53 deletions
+20 -10
View File
@@ -1,10 +1,10 @@
import 'dart:io';
import 'package:cake_wallet/palette.dart';
import 'package:flutter/material.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/services.dart';
import 'package:flutter_mobx/flutter_mobx.dart';
// import 'package:esys_flutter_share/esys_flutter_share.dart';
import 'package:share_plus/share_plus.dart';
import 'package:cross_file/cross_file.dart';
import 'package:cake_wallet/utils/show_bar.dart';
import 'package:cake_wallet/routes.dart';
import 'package:cake_wallet/generated/i18n.dart';
@@ -103,12 +103,14 @@ class BackupPage extends BasePage {
Navigator.of(dialogContext).pop();
final backup = await backupViewModelBase.exportBackup();
if (backup == null) {
return;
}
if (Platform.isAndroid) {
onExportAndroid(context, backup!);
onExportAndroid(context, backup);
} else {
// FIX-ME: Share esys_flutter_share.dart
// await Share.file(S.of(context).backup_file, backup.name,
// backup.content, 'application/*');
await share(backup);
}
},
actionLeftButton: () => Navigator.of(dialogContext).pop());
@@ -136,12 +138,20 @@ class BackupPage extends BasePage {
backup.name, backup.content);
Navigator.of(dialogContext).pop();
},
actionLeftButton: () {
actionLeftButton: () async {
Navigator.of(dialogContext).pop();
// FIX-ME: Share esys_flutter_share.dart
// Share.file(S.of(context).backup_file, backup.name,
// backup.content, 'application/*');
await share(backup);
});
});
}
Future<void> share(BackupExportFile backup) async {
const mimeType = 'application/*';
final path = await backupViewModelBase.saveBackupFileLocally(backup);
await Share.shareXFiles(<XFile>[XFile(
path,
name: backup.name,
mimeType: mimeType)]);
await backupViewModelBase.removeBackupFileLocally(backup);
}
}
@@ -51,6 +51,21 @@ class WalletMenu {
image: Image.asset('assets/images/open_book_menu.png',
height: 16, width: 16),
handler: () => Navigator.of(context).pushNamed(Routes.addressBook)),
WalletMenuItem(
title: S.current.backup,
image: Image.asset('assets/images/restore_wallet.png',
height: 16,
width: 16,
color: Palette.darkBlue),
handler: () {
Navigator.of(context).pushNamed(
Routes.auth,
arguments: (bool isAuthenticatedSuccessfully, AuthPageState auth) {
if (isAuthenticatedSuccessfully) {
auth.close(route:Routes.backup);
}
});
}),
WalletMenuItem(
title: S.current.settings_title,
image: Image.asset('assets/images/settings_menu.png',