From 14578e26fcd39cf671aa4584d3abf311a66afba2 Mon Sep 17 00:00:00 2001 From: Allan Wang Date: Wed, 24 Apr 2019 19:51:37 -0700 Subject: Apply updates from services --- .../com/pitchedapps/frost/widgets/NotificationWidget.kt | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'app/src/main/kotlin/com/pitchedapps/frost/widgets') diff --git a/app/src/main/kotlin/com/pitchedapps/frost/widgets/NotificationWidget.kt b/app/src/main/kotlin/com/pitchedapps/frost/widgets/NotificationWidget.kt index 1897b042..57cc4fe1 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/widgets/NotificationWidget.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/widgets/NotificationWidget.kt @@ -19,6 +19,7 @@ package com.pitchedapps.frost.widgets import android.app.PendingIntent import android.appwidget.AppWidgetManager import android.appwidget.AppWidgetProvider +import android.content.ComponentName import android.content.Context import android.content.Intent import android.graphics.Bitmap @@ -51,6 +52,7 @@ import org.koin.standalone.KoinComponent import org.koin.standalone.inject class NotificationWidget : AppWidgetProvider() { + override fun onUpdate(context: Context, appWidgetManager: AppWidgetManager, appWidgetIds: IntArray) { super.onUpdate(context, appWidgetManager, appWidgetIds) val type = NotificationType.GENERAL @@ -82,6 +84,18 @@ class NotificationWidget : AppWidgetProvider() { } appWidgetManager.notifyAppWidgetViewDataChanged(appWidgetIds, R.id.widget_notification_list) } + + companion object { + fun forceUpdate(context: Context) { + val manager = AppWidgetManager.getInstance(context) + val ids = manager.getAppWidgetIds(ComponentName(context, NotificationWidget::class.java)) + val intent = Intent().apply { + action = AppWidgetManager.ACTION_APPWIDGET_UPDATE + putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, ids) + } + context.sendBroadcast(intent) + } + } } private const val NOTIF_WIDGET_TYPE = "notif_widget_type" -- cgit v1.2.3