Fix MyWallets screen crash on fresh app cause wallets folder doesn't exist; Fix match accented words
This commit is contained in:
parent
22be4f1de6
commit
dbf6a9d476
|
@ -4,6 +4,7 @@ import 'package:dubp/dubp.dart';
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:path_provider/path_provider.dart';
|
||||
import 'dart:convert' show utf8;
|
||||
|
||||
class ConfirmStoreWallet extends StatefulWidget {
|
||||
final String generatedMnemonic;
|
||||
|
@ -163,19 +164,16 @@ class ConfirmStoreWalletState extends State<ConfirmStoreWallet> {
|
|||
|
||||
Future storeWallet(_name) async {
|
||||
final appPath = await _localPath;
|
||||
final walletFile = File('$appPath/wallets/$_name/wallet.dewif');
|
||||
final Directory walletNameDirectory = Directory('$appPath/wallets/$_name');
|
||||
final walletFile = File('${walletNameDirectory.path}/wallet.dewif');
|
||||
|
||||
if (await Directory('$appPath/wallets').exists() == false) {
|
||||
new Directory('$appPath/wallets').createSync();
|
||||
}
|
||||
|
||||
if (await Directory('$appPath/wallets/$_name').exists() == true) {
|
||||
if (await walletNameDirectory.exists()) {
|
||||
print('Ce wallet existe déjà, impossible de le créer.');
|
||||
_showWalletExistDialog();
|
||||
return 'Exist: DENY';
|
||||
}
|
||||
|
||||
new Directory('$appPath/wallets/$_name').createSync();
|
||||
walletNameDirectory.createSync();
|
||||
walletFile.writeAsString('${widget.generatedWallet.dewif}');
|
||||
_pin.clear();
|
||||
|
||||
|
@ -190,11 +188,21 @@ class ConfirmStoreWalletState extends State<ConfirmStoreWallet> {
|
|||
return directory.path;
|
||||
}
|
||||
|
||||
void checkAskedWord(value) {
|
||||
print(this._mnemonicController.text.split(' ')[nbrWord]);
|
||||
print(value);
|
||||
if (this._mnemonicController.text.split(' ')[nbrWord] == value ||
|
||||
value == 'triche') {
|
||||
void checkAskedWord(String value) {
|
||||
final runesAsked = _mnemonicController.text.split(' ')[nbrWord].runes;
|
||||
List<int> runesAskedUnaccent = [];
|
||||
for (int i in runesAsked) {
|
||||
if (i == 769) {
|
||||
continue;
|
||||
} else {
|
||||
runesAskedUnaccent.add(i);
|
||||
}
|
||||
}
|
||||
final String unaccentedAskedWord = utf8.decode(runesAskedUnaccent);
|
||||
final String unaccentedInputWord = removeDiacritics(value);
|
||||
|
||||
print("Is $unaccentedAskedWord equal to input $unaccentedInputWord ?");
|
||||
if (unaccentedAskedWord == unaccentedInputWord || value == 'triche') {
|
||||
print('Word is OK');
|
||||
isAskedWordValid = true;
|
||||
askedWordColor = Colors.green[600];
|
||||
|
@ -232,6 +240,19 @@ class ConfirmStoreWalletState extends State<ConfirmStoreWallet> {
|
|||
);
|
||||
}
|
||||
|
||||
String removeDiacritics(String str) {
|
||||
var withDia =
|
||||
'ÀÁÂÃÄÅàáâãäåÒÓÔÕÕÖØòóôõöøÈÉÊËèéêëðÇçÐÌÍÎÏìíîïÙÚÛÜùúûüÑñŠšŸÿýŽž';
|
||||
var withoutDia =
|
||||
'AAAAAAaaaaaaOOOOOOOooooooEEEEeeeeeCcDIIIIiiiiUUUUuuuuNnSsYyyZz';
|
||||
|
||||
for (int i = 0; i < withDia.length; i++) {
|
||||
str = str.replaceAll(withDia[i], withoutDia[i]);
|
||||
}
|
||||
|
||||
return str;
|
||||
}
|
||||
|
||||
int getRandomInt() {
|
||||
var rng = new Random();
|
||||
return rng.nextInt(12);
|
||||
|
|
|
@ -128,7 +128,15 @@ class WalletsHomeState extends State<WalletsHome> {
|
|||
if (this.appPath == null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
var walletsFolder = new Directory("${this.appPath.path}/wallets/");
|
||||
|
||||
bool isWalletFolderExist = walletsFolder.existsSync();
|
||||
|
||||
if (!isWalletFolderExist) {
|
||||
Directory(walletsFolder.path).createSync();
|
||||
}
|
||||
|
||||
List contents = walletsFolder.listSync();
|
||||
if (contents.length == 0) {
|
||||
print('No wallets detected');
|
||||
|
|
|
@ -5,7 +5,7 @@ description: A new Flutter project.
|
|||
# pub.dev using `pub publish`. This is preferred for private packages.
|
||||
publish_to: 'none' # Remove this line if you wish to publish to pub.dev
|
||||
|
||||
version: 0.0.0+10
|
||||
version: 0.0.0+11
|
||||
|
||||
environment:
|
||||
sdk: ">=2.7.0 <3.0.0"
|
||||
|
@ -46,4 +46,4 @@ flutter:
|
|||
|
||||
assets:
|
||||
- images/
|
||||
- config/
|
||||
- config/
|
||||
|
|
Loading…
Reference in New Issue