mnemo_cards/lib/features/packs/preview_packs_poller.dart

33 lines
691 B
Dart
Raw Normal View History

2024-05-22 20:48:44 +00:00
import 'dart:developer';
import 'package:mnemo_cards/features/packs/packs_api.dart';
import 'preview_pack_holder.dart';
class PreviewPacksPoller {
PacksApi _api;
PreviewPackHolder _previewPackHolder;
bool polling = false;
PreviewPacksPoller(this._api, this._previewPackHolder);
Future<void> init() async {
Stream.periodic(Duration(seconds: 60), (_) async {
poll();
});
}
Future<void> poll() async {
if (!polling) {
try {
polling = true;
final r = await _api.getPacksPreviews(null);
2024-05-28 21:25:51 +00:00
_previewPackHolder.setPreviewPacks(r, save: true);
2024-05-22 20:48:44 +00:00
} catch (e) {
log(e.toString());
}
polling = false;
}
}
}