enablePodStorage method
Enables POD storage and migrates data.
Implementation
Future<bool> enablePodStorage() async {
try {
// Create POD service.
_podService = PodFavoritesService(_prefs, _context, _child);
// Test POD availability.
final isPodAvailable = await _podService!.isPodAvailable();
if (!isPodAvailable) {
debugPrint(
'POD is not available (user not logged in), cannot enable POD storage',
);
_podService = null;
return false;
}
// Migrate data from local to POD.
await _podService!.migrateToPod();
// Update preference.
_isPodStorageEnabled = true;
await _prefs.setBool(_podStorageEnabledKey, true);
notifyListeners();
return true;
} catch (e) {
debugPrint('Failed to enable POD storage: $e');
_podService = null;
_isPodStorageEnabled = false;
await _prefs.setBool(_podStorageEnabledKey, false);
return false;
}
}