diff options
Diffstat (limited to 'android')
| -rw-r--r-- | android/app/src/main/java/org/terst/doot/widget/DootWidgetReceiver.kt | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/android/app/src/main/java/org/terst/doot/widget/DootWidgetReceiver.kt b/android/app/src/main/java/org/terst/doot/widget/DootWidgetReceiver.kt index 94ff4b6..83f0a7b 100644 --- a/android/app/src/main/java/org/terst/doot/widget/DootWidgetReceiver.kt +++ b/android/app/src/main/java/org/terst/doot/widget/DootWidgetReceiver.kt @@ -19,6 +19,13 @@ class DootWidgetReceiver : GlanceAppWidgetReceiver() { ) { super.onUpdate(context, appWidgetManager, appWidgetIds) RefreshWorker.runOnce(context) + // Self-healing: onEnabled only fires when the first widget instance is + // added, so if the periodic job is ever silently dropped (e.g. an app + // reinstall clears WorkManager's persisted schedule without the widget + // itself being removed/re-added), it would otherwise never come back + // until the user manually removes and re-adds the widget. schedule() + // uses KEEP, so this is a no-op when the job is already running. + RefreshWorker.schedule(context) } override fun onEnabled(context: Context) { |
