I'm unable to update Android glance widget/state. The onUpdate method gets called, but GlanceAppWidget provideGlance isn't. It only gets called when I run the app or after some time period.
Here is my GlanceAppWidgetReceiver class:
class TodayWidgetReceiver : GlanceAppWidgetReceiver() {
override val glanceAppWidget: GlanceAppWidget
get() = TodayWidget()
override fun onUpdate(context: Context, appWidgetManager: AppWidgetManager, appWidgetIds: IntArray) {
super.onUpdate(context, appWidgetManager, appWidgetIds)
runBlocking {
appWidgetIds.forEach {
val glanceId = GlanceAppWidgetManager(context).getGlanceIdBy(it)
glanceAppWidget.apply {
updateAppWidgetState(context, glanceId) { prefs ->
prefs[stringPreferencesKey("TOKEN")] = Random.nextULong().toString()
}
}
glanceAppWidget.update(context, glanceId)
}
}
}
}