migrated timetable integration from WebUntis to the MarianumConnect API, implementing a Dio-based client with bearer token authentication, background session validation, and auto-refresh logic.
This commit is contained in:
@@ -27,6 +27,9 @@ class WidgetSync {
|
||||
static const String connectDoubleLessonsKey =
|
||||
'widget_setting_connect_double_lessons_v1';
|
||||
static const String themeModeKey = 'widget_setting_theme_mode_v1';
|
||||
// Mirrored so the background isolate hits the same Marianum-Connect base
|
||||
// URL the in-app settings cubit currently has selected.
|
||||
static const String marianumConnectBaseUrlKey = 'widget_setting_mc_base_url_v1';
|
||||
|
||||
static bool _initialised = false;
|
||||
|
||||
@@ -83,6 +86,16 @@ class WidgetSync {
|
||||
await HomeWidget.saveWidgetData<String>(themeModeKey, mode);
|
||||
}
|
||||
|
||||
static Future<void> setMarianumConnectBaseUrl(String url) async {
|
||||
await ensureInitialized();
|
||||
await HomeWidget.saveWidgetData<String>(marianumConnectBaseUrlKey, url);
|
||||
}
|
||||
|
||||
static Future<String?> getMarianumConnectBaseUrl() async {
|
||||
await ensureInitialized();
|
||||
return HomeWidget.getWidgetData<String>(marianumConnectBaseUrlKey);
|
||||
}
|
||||
|
||||
static Future<void> clear() async {
|
||||
await ensureInitialized();
|
||||
await HomeWidget.saveWidgetData<String>(dayDataKey, null);
|
||||
|
||||
Reference in New Issue
Block a user