mirror of
https://github.com/zjs81/meshcore-open.git
synced 2026-07-01 06:30:31 +10:00
Migrate legacy storage keys to scoped keys in various store classes (#289)
This commit is contained in:
@@ -46,24 +46,27 @@ class ChannelMessageStore {
|
|||||||
}
|
}
|
||||||
final prefs = PrefsManager.instance;
|
final prefs = PrefsManager.instance;
|
||||||
final key = '$keyFor$channelIndex';
|
final key = '$keyFor$channelIndex';
|
||||||
|
final oldKey = '$_keyPrefix$channelIndex';
|
||||||
|
|
||||||
String? jsonString = prefs.getString(_keyPrefix);
|
String? jsonString = prefs.getString(oldKey);
|
||||||
if (jsonString == null || jsonString.isEmpty) {
|
if (jsonString == null || jsonString.isEmpty) {
|
||||||
// Attempt migration from legacy unscoped key on first load
|
// Attempt migration from legacy unscoped key on first load
|
||||||
final legacyJsonString = prefs.getString(_keyPrefix);
|
final legacyJsonString = prefs.getString(oldKey);
|
||||||
prefs.remove(_keyPrefix);
|
prefs.remove(oldKey);
|
||||||
if (legacyJsonString != null && legacyJsonString.isNotEmpty) {
|
if (legacyJsonString != null && legacyJsonString.isNotEmpty) {
|
||||||
appLogger.info(
|
appLogger.info(
|
||||||
'Migrating channel messages from legacy key $_keyPrefix to scoped key $key',
|
'Migrating channel messages from legacy key $oldKey to scoped key $key',
|
||||||
);
|
);
|
||||||
await prefs.setString(key, legacyJsonString);
|
await prefs.setString(key, legacyJsonString);
|
||||||
jsonString = legacyJsonString;
|
jsonString = legacyJsonString;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (jsonString == null || jsonString.isEmpty) {
|
||||||
|
jsonString = prefs.getString(keyFor);
|
||||||
|
}
|
||||||
if (jsonString == null || jsonString.isEmpty) {
|
if (jsonString == null || jsonString.isEmpty) {
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
final jsonList = jsonDecode(jsonString) as List<dynamic>;
|
final jsonList = jsonDecode(jsonString) as List<dynamic>;
|
||||||
return jsonList.map((json) => _messageFromJson(json)).toList();
|
return jsonList.map((json) => _messageFromJson(json)).toList();
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ class ChannelSettingsStore {
|
|||||||
final prefs = PrefsManager.instance;
|
final prefs = PrefsManager.instance;
|
||||||
final key = '$keyFor$channelIndex';
|
final key = '$keyFor$channelIndex';
|
||||||
final oldKey = '$_keyPrefix$channelIndex';
|
final oldKey = '$_keyPrefix$channelIndex';
|
||||||
bool? enabled = prefs.getBool(key);
|
bool? enabled = prefs.getBool(oldKey);
|
||||||
if (enabled == null) {
|
if (enabled == null) {
|
||||||
// Attempt migration from legacy unscoped key on first load
|
// Attempt migration from legacy unscoped key on first load
|
||||||
enabled = prefs.getBool(oldKey);
|
enabled = prefs.getBool(oldKey);
|
||||||
|
|||||||
@@ -32,6 +32,10 @@ class ChannelStore {
|
|||||||
jsonString = legacyJsonString;
|
jsonString = legacyJsonString;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (jsonString == null || jsonString.isEmpty) {
|
||||||
|
jsonString = prefs.getString(keyFor);
|
||||||
|
}
|
||||||
if (jsonString == null || jsonString.isEmpty) {
|
if (jsonString == null || jsonString.isEmpty) {
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,6 +38,9 @@ class CommunityStore {
|
|||||||
jsonString = legacyJsonString;
|
jsonString = legacyJsonString;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (jsonString == null || jsonString.isEmpty) {
|
||||||
|
jsonString = prefs.getString(keyFor);
|
||||||
|
}
|
||||||
if (jsonString == null || jsonString.isEmpty) {
|
if (jsonString == null || jsonString.isEmpty) {
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,6 +31,9 @@ class ContactGroupStore {
|
|||||||
jsonString = legacyJsonString;
|
jsonString = legacyJsonString;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (jsonString == null || jsonString.isEmpty) {
|
||||||
|
jsonString = prefs.getString(keyFor);
|
||||||
|
}
|
||||||
if (jsonString == null || jsonString.isEmpty) {
|
if (jsonString == null || jsonString.isEmpty) {
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,6 +33,9 @@ class ContactStore {
|
|||||||
jsonString = legacyJsonString;
|
jsonString = legacyJsonString;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (jsonString == null || jsonString.isEmpty) {
|
||||||
|
jsonString = prefs.getString(keyFor);
|
||||||
|
}
|
||||||
if (jsonString == null || jsonString.isEmpty) {
|
if (jsonString == null || jsonString.isEmpty) {
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -49,6 +49,9 @@ class MessageStore {
|
|||||||
jsonString = legacyJsonString;
|
jsonString = legacyJsonString;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (jsonString == null || jsonString.isEmpty) {
|
||||||
|
jsonString = prefs.getString(keyFor);
|
||||||
|
}
|
||||||
if (jsonString == null || jsonString.isEmpty) {
|
if (jsonString == null || jsonString.isEmpty) {
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -45,6 +45,9 @@ class UnreadStore {
|
|||||||
jsonString = legacyJsonString;
|
jsonString = legacyJsonString;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (jsonString == null || jsonString.isEmpty) {
|
||||||
|
jsonString = prefs.getString(keyFor);
|
||||||
|
}
|
||||||
if (jsonString == null || jsonString.isEmpty) {
|
if (jsonString == null || jsonString.isEmpty) {
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user