Compare commits
3 Commits
master
...
jsonificat
Author | SHA1 | Date |
---|---|---|
poka | 8a5be74074 | |
poka | 97c566f429 | |
poka | 62c6a0aa15 |
|
@ -8,6 +8,7 @@ Directory appPath;
|
|||
Directory walletsDirectory;
|
||||
File defaultWalletFile;
|
||||
File currentChestFile;
|
||||
File globalConf;
|
||||
|
||||
WalletData defaultWallet;
|
||||
String appVersion;
|
||||
|
|
|
@ -44,6 +44,7 @@ Future<void> main() async {
|
|||
await _homeProvider.getAppPath();
|
||||
await _homeProvider.createDefaultAvatar();
|
||||
await _walletsProvider.initWalletFolder();
|
||||
await _walletsProvider.loadGlobalConfig();
|
||||
// _walletsProvider.getDefaultWallet();
|
||||
appVersion = await _homeProvider.getAppVersion();
|
||||
prefs = await SharedPreferences.getInstance();
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
import 'dart:io';
|
||||
|
||||
class ChestData {
|
||||
String dewif;
|
||||
Map<int, WalletData> accounts;
|
||||
int defaultWallet;
|
||||
|
||||
ChestData({dewif, accounts, defaultWallet});
|
||||
factory ChestData.fromJson(Map<String, dynamic> json) =>
|
||||
_$ChestDataFromJson(json);
|
||||
Map<String, dynamic> toJson() => _$ChestDataToJson(this);
|
||||
|
||||
// Representation of ChestData when debugging
|
||||
@override
|
||||
String toString() {
|
||||
return this.accounts.entries.join();
|
||||
}
|
||||
}
|
||||
|
||||
class WalletData {
|
||||
String name;
|
||||
File avatar;
|
||||
}
|
|
@ -4,6 +4,7 @@ import 'package:flutter/material.dart';
|
|||
import 'dart:async';
|
||||
import 'package:gecko/globals.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'dart:convert';
|
||||
|
||||
class MyWalletsProvider with ChangeNotifier {
|
||||
List<WalletData> listWallets = [];
|
||||
|
@ -11,32 +12,30 @@ class MyWalletsProvider with ChangeNotifier {
|
|||
int pinLenght;
|
||||
|
||||
Future initWalletFolder() async {
|
||||
// getDefaultWallet();
|
||||
|
||||
final bool isWalletFolderExist = await walletsDirectory.exists();
|
||||
if (!isWalletFolderExist) {
|
||||
await Directory(walletsDirectory.path).create();
|
||||
}
|
||||
|
||||
File _currentChestFile = File('${walletsDirectory.path}/currentChest.conf');
|
||||
// File _currentChestFile = File('${walletsDirectory.path}/currentChest.conf');
|
||||
globalConf = File('${appPath.path}/config.json');
|
||||
|
||||
await _currentChestFile.create();
|
||||
await _currentChestFile.writeAsString('0');
|
||||
await globalConf.create();
|
||||
await globalConf.writeAsString('0');
|
||||
|
||||
final bool isChestsExist =
|
||||
await Directory('${walletsDirectory.path}/0').exists();
|
||||
if (!isChestsExist) {
|
||||
await Directory('${walletsDirectory.path}/0').create();
|
||||
await Directory('${walletsDirectory.path}/1').create();
|
||||
await File('${walletsDirectory.path}/0/list.conf').create();
|
||||
await File('${walletsDirectory.path}/0/order.conf').create();
|
||||
await File('${walletsDirectory.path}/1/list.conf').create();
|
||||
await File('${walletsDirectory.path}/1/order.conf').create();
|
||||
await File('${walletsDirectory.path}/0/chest.json').create();
|
||||
await File('${walletsDirectory.path}/1/chest.json').create();
|
||||
// getDefaultWallet();
|
||||
}
|
||||
await getDefaultWalletAsync();
|
||||
}
|
||||
|
||||
Future loadGlobalConfig() async {}
|
||||
|
||||
int getCurrentChest() {
|
||||
File _currentChestFile = File('${walletsDirectory.path}/currentChest.conf');
|
||||
|
||||
|
@ -105,29 +104,6 @@ class MyWalletsProvider with ChangeNotifier {
|
|||
configLines.firstWhere((element) => element.startsWith(_id)));
|
||||
}
|
||||
|
||||
void getDefaultWallet() {
|
||||
defaultWalletFile = File('${appPath.path}/defaultWallet');
|
||||
|
||||
if (!defaultWalletFile.existsSync()) {
|
||||
File(defaultWalletFile.path).createSync();
|
||||
defaultWalletFile.writeAsStringSync("0:0");
|
||||
}
|
||||
|
||||
defaultWallet = getWalletData(defaultWalletFile.readAsStringSync());
|
||||
}
|
||||
|
||||
Future getDefaultWalletAsync() async {
|
||||
defaultWalletFile = File('${appPath.path}/defaultWallet');
|
||||
|
||||
if (!await defaultWalletFile.exists()) {
|
||||
await File(defaultWalletFile.path).create();
|
||||
await defaultWalletFile.writeAsString("0:0");
|
||||
} else {
|
||||
defaultWallet =
|
||||
await getWalletDataAsync(await defaultWalletFile.readAsString());
|
||||
}
|
||||
}
|
||||
|
||||
Future<int> deleteAllWallet(context) async {
|
||||
MyWalletsProvider _myWalletProvider =
|
||||
Provider.of<MyWalletsProvider>(context, listen: false);
|
||||
|
@ -256,3 +232,34 @@ class WalletData {
|
|||
return "${this.chest}:${this.number}";
|
||||
}
|
||||
}
|
||||
|
||||
// Chest data constructor
|
||||
class ChestData {
|
||||
String dewif;
|
||||
Map accounts;
|
||||
List<int> derivations;
|
||||
Map<int, String> name;
|
||||
Map<int, File> avatar;
|
||||
int defaultWallet;
|
||||
|
||||
// Load data from JSON
|
||||
ChestData(String elements) {
|
||||
if (elements.isNotEmpty) {
|
||||
Map<String, dynamic> jsonElements = jsonDecode(elements);
|
||||
this.dewif = jsonElements['dewif'];
|
||||
this.accounts = jsonElements['accounts'];
|
||||
|
||||
for (int _key in this.accounts.keys) {
|
||||
derivations.add(_key);
|
||||
this.name[_key] = this.accounts[_key]['name'];
|
||||
this.avatar[_key] = this.accounts[_key]['avatar'];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Representation of ChestData when debugging
|
||||
@override
|
||||
String toString() {
|
||||
return this.accounts.entries.join();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -29,14 +29,14 @@ const String getHistory = r'''
|
|||
issuers
|
||||
comment
|
||||
outputs
|
||||
writtenTime
|
||||
receivedTime
|
||||
}
|
||||
sending {
|
||||
currency
|
||||
issuers
|
||||
comment
|
||||
outputs
|
||||
writtenTime
|
||||
receivedTime
|
||||
}
|
||||
}
|
||||
currentUd {
|
||||
|
|
|
@ -146,7 +146,7 @@ class ConfirmStoreWallet extends StatelessWidget with ChangeNotifier {
|
|||
_myWalletProvider.listWallets =
|
||||
_myWalletProvider
|
||||
.readAllWallets(_currentChest);
|
||||
_myWalletProvider.getDefaultWallet();
|
||||
// _myWalletProvider.getDefaultWallet();
|
||||
scheduleMicrotask(() {
|
||||
_walletOptions.reloadBuild();
|
||||
_myWalletProvider.rebuildWidget();
|
||||
|
|
|
@ -46,7 +46,7 @@ class WalletOptions extends StatelessWidget {
|
|||
|
||||
_walletOptions.walletID = '0:${wallet.number}';
|
||||
|
||||
_myWalletProvider.getDefaultWallet();
|
||||
// _myWalletProvider.getDefaultWallet();
|
||||
|
||||
_walletOptions.isDefaultWallet =
|
||||
(defaultWallet.id() == _walletOptions.walletID);
|
||||
|
|
|
@ -28,7 +28,7 @@ class WalletsHome extends StatelessWidget {
|
|||
if (myWalletProvider.listWallets.isEmpty) {
|
||||
firstWalletDerivation = myWalletProvider.listWallets[0].derivation;
|
||||
|
||||
myWalletProvider.getDefaultWallet();
|
||||
// myWalletProvider.getDefaultWallet();
|
||||
}
|
||||
|
||||
log.d("${myWalletProvider.pinCode},${myWalletProvider.pinLenght}");
|
||||
|
|
|
@ -122,7 +122,7 @@ class OnboardingStepFourteen extends StatelessWidget {
|
|||
await _generateWalletProvider.storeHDWChest(
|
||||
generatedWallet, 'Mon portefeuille courant', context);
|
||||
_myWalletProvider.readAllWallets(_currentChest);
|
||||
await _myWalletProvider.getDefaultWalletAsync();
|
||||
// await _myWalletProvider.getDefaultWalletAsync();
|
||||
scheduleMicrotask(() {
|
||||
_walletOptions.reloadBuild();
|
||||
_myWalletProvider.rebuildWidget();
|
||||
|
|
Loading…
Reference in New Issue