2020-01-04 21:31:52 +02:00
|
|
|
import 'package:flutter/foundation.dart';
|
|
|
|
import 'package:hive/hive.dart';
|
|
|
|
import 'package:shared_preferences/shared_preferences.dart';
|
|
|
|
import 'package:cake_wallet/src/domain/common/node.dart';
|
|
|
|
import 'package:cake_wallet/src/domain/common/balance_display_mode.dart';
|
|
|
|
import 'package:cake_wallet/src/domain/common/fiat_currency.dart';
|
|
|
|
import 'package:cake_wallet/src/domain/common/node_list.dart';
|
|
|
|
import 'package:cake_wallet/src/domain/common/transaction_priority.dart';
|
|
|
|
|
|
|
|
Future defaultSettingsMigration(
|
|
|
|
{@required int version,
|
|
|
|
@required SharedPreferences sharedPreferences,
|
|
|
|
@required Box<Node> nodes}) async {
|
2020-01-08 14:26:34 +02:00
|
|
|
final currentVersion =
|
2020-01-04 21:31:52 +02:00
|
|
|
sharedPreferences.getInt('current_default_settings_migration_version') ??
|
|
|
|
0;
|
|
|
|
|
|
|
|
if (currentVersion >= version) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
try {
|
|
|
|
switch (version) {
|
|
|
|
case 1:
|
2020-01-08 14:26:34 +02:00
|
|
|
await sharedPreferences.setString(
|
2020-01-04 21:31:52 +02:00
|
|
|
'current_fiat_currency', FiatCurrency.usd.toString());
|
2020-01-08 14:26:34 +02:00
|
|
|
await sharedPreferences.setInt(
|
2020-01-04 21:31:52 +02:00
|
|
|
'current_fee_priority', TransactionPriority.standart.raw);
|
2020-01-08 14:26:34 +02:00
|
|
|
await sharedPreferences.setInt('current_balance_display_mode',
|
2020-01-04 21:31:52 +02:00
|
|
|
BalanceDisplayMode.availableBalance.raw);
|
2020-01-08 14:26:34 +02:00
|
|
|
await sharedPreferences.setInt(
|
2020-01-04 21:31:52 +02:00
|
|
|
'current_default_settings_migration_version', 1);
|
2020-01-08 14:26:34 +02:00
|
|
|
await sharedPreferences.setBool('save_recipient_address', false);
|
2020-01-04 21:31:52 +02:00
|
|
|
await resetToDefault(nodes);
|
2020-01-08 14:26:34 +02:00
|
|
|
await sharedPreferences.setInt('current_node_id', 0);
|
2020-01-04 21:31:52 +02:00
|
|
|
break;
|
|
|
|
default:
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
} catch (e) {
|
|
|
|
print('Migration error: ${e.toString()}');
|
|
|
|
}
|
|
|
|
|
2020-01-08 14:26:34 +02:00
|
|
|
await sharedPreferences.setInt(
|
2020-01-04 21:31:52 +02:00
|
|
|
'current_default_settings_migration_version', version);
|
|
|
|
}
|