enableUsingSharedStorage method
Change atsign data to internal store
Implementation
Future<bool> enableUsingSharedStorage() async {
//Init shared storage if it not exiting
final sharedData = await readAtClientData(useSharedStorage: true);
if (sharedData == null) {
await _saveAtClientData(
data: AtClientData(
config: AtClientDataConfig(
schemaVersion: _kDataSchemeVersion,
),
keys: [],
),
useSharedStorage: true,
);
}
//
final data = await readAtClientData(useSharedStorage: false);
if (data != null) {
final newConfig = data.config?.copyWith(useSharedStorage: true);
var newData = data.copyWith(config: newConfig);
await _saveAtClientData(data: newData, useSharedStorage: false);
final result = await storeAtSigns(atSigns: data.keys);
if (result) {
newData = newData.copyWith(keys: []);
await _saveAtClientData(data: newData, useSharedStorage: false);
}
return result;
}
return false;
}