Ignore disabled live activity

This commit is contained in:
Tihanyi Marcell 2023-06-09 11:13:35 +02:00
parent 85c6d548ad
commit cc40fb9c0f

View File

@ -44,10 +44,20 @@ class LiveCardProvider extends ChangeNotifier {
required SettingsProvider settings,
}) : _timetable = timetable,
_settings = settings {
_liveActivitiesPlugin.init(appGroupId: "group.refilc.livecard");
// Check if live card is enabled .areActivitiesEnabled()
_liveActivitiesPlugin.areActivitiesEnabled().then((value) {
// Console log
print("Live card enabled: $value");
if (value) {
_liveActivitiesPlugin.init(appGroupId: "group.refilc2.livecard");
_liveActivitiesPlugin.getAllActivitiesIds().then((value) {
_latestActivityId = value.isNotEmpty ? value.first : null;
});
}
});
_timer = Timer.periodic(const Duration(seconds: 1), (timer) => update());
_delay = settings.bellDelayEnabled
? Duration(seconds: settings.bellDelay)
@ -58,8 +68,15 @@ class LiveCardProvider extends ChangeNotifier {
@override
void dispose() {
_timer.cancel();
if (_latestActivityId != null && Platform.isIOS)
if (Platform.isIOS) {
_liveActivitiesPlugin.areActivitiesEnabled().then((value) {
if (value) {
if (_latestActivityId != null) {
_liveActivitiesPlugin.endActivity(_latestActivityId!);
}
}
});
}
super.dispose();
}
@ -146,6 +163,8 @@ class LiveCardProvider extends ChangeNotifier {
void update() async {
if (Platform.isIOS) {
_liveActivitiesPlugin.areActivitiesEnabled().then((value) {
if (value) {
final cmap = toMap();
if (!mapEquals(cmap, _lastActivity)) {
_lastActivity = cmap;
@ -171,6 +190,8 @@ class LiveCardProvider extends ChangeNotifier {
}
}
}
});
}
List<Lesson> today = _today(_timetable);