Skip to content
Snippets Groups Projects
myWallets.dart 4.10 KiB
import 'dart:io';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'dart:async';
import 'package:gecko/globals.dart';
import 'package:provider/provider.dart';

class MyWalletsProvider with ChangeNotifier {
  String listWallets;

  bool checkIfWalletExist() {
    if (appPath == null) {
      return false;
    }

    print(walletsDirectory.listSync());

    List contents = walletsDirectory.listSync();
    if (contents.length == 0) {
      print('No wallets detected');
      return false;
    } else {
      print('Some wallets have been detected.');
      return true;
    }
  }

  String getAllWalletsNames() {
    final bool _isWalletsExists = checkIfWalletExist();
    if (!_isWalletsExists) {
      return '';
    }

    if (listWallets != null && listWallets.isNotEmpty) {
      listWallets = '';
    }
    if (listWallets == null) {
      listWallets = '';
    }

    // int i = 0;
    walletsDirectory
        .listSync(recursive: false, followLinks: false)
        .forEach((_wallet) {
      File _walletConfig = File('${_wallet.path}/config.txt');
      _walletConfig.readAsLinesSync().forEach((element) {
        if (listWallets != '') {
          listWallets += '\n';
        }
        listWallets += element;
        // listWallets += "${element.split(':')[0]}:${element.split(':')[1]}:${element.split(':')[2]}"
      });
    });
    print(listWallets);

    return listWallets;
  }

  Future getDefaultWallet() async {
    defaultWalletFile = File('${appPath.path}/defaultWallet');

    bool isdefaultWalletFile = await defaultWalletFile.exists();

    if (!isdefaultWalletFile) {
      await File(defaultWalletFile.path).create();
    }

    try {
      defaultWallet = await defaultWalletFile.readAsString();
    } catch (e) {