init static method

Future<void> init({
  1. bool encrypted = false,
})

Implementation

static Future<void> init({bool encrypted = false}) async {
  await StorageBase.init();
  if (encrypted) {
    var getE = await StorageBase.getString(DatabaseCompute(
      name: '_encrypted_session_master',
    ));
    var getiv = await StorageBase.getString(DatabaseCompute(
      name: '_encrypted_session_master_iv',
    ));
    if (getE != null && getiv != null) {
      _keys = Crypt.getKeyFromBase64(getE, ivs: getiv);
    } else {
      final getK = Crypt.getKeyEncrypt().base64;
      _keys = Crypt.getKeyFromBase64(getK);
      if (getE != null) {
        await StorageBase.update(name: '_encrypted_session_master', text: getK, type: 'string');
      } else {
        await StorageBase.insert(name: '_encrypted_session_master', text: getK, type: 'string');
      }
      if (getiv != null) {
        await StorageBase.update(name: '_encrypted_session_master_iv', text: getK, type: 'string');
      } else {
        await StorageBase.insert(name: '_encrypted_session_master_iv', text: _keys!.ivString, type: 'string');
      }
    }
  }
  var list = await StorageBase.getString(DatabaseCompute(
    name: 'saved_list',
  ));

  if (list?.isNotEmpty ?? false) {
    final encoded = await json.decode(list!);
    data.insertAll(0, encoded);
  } else {
    await StorageBase.insert(name: 'saved_list', text: json.encode([]), type: 'string');
  }
}