properly update the widget every new minute

This commit is contained in:
tibbi
2018-03-12 18:53:38 +01:00
parent 95a66b8a75
commit 8d8d98e88d
9 changed files with 74 additions and 25 deletions

View File

@ -12,6 +12,7 @@ import com.simplemobiletools.clock.activities.SplashActivity
import com.simplemobiletools.clock.extensions.config
import com.simplemobiletools.clock.extensions.getFormattedDate
import com.simplemobiletools.clock.extensions.getFormattedTime
import com.simplemobiletools.clock.extensions.scheduleNextWidgetUpdate
import com.simplemobiletools.commons.extensions.setBackgroundColor
import com.simplemobiletools.commons.extensions.setText
import java.util.*
@ -22,6 +23,11 @@ class MyWidgetDateTimeProvider : AppWidgetProvider() {
performUpdate(context)
}
override fun onEnabled(context: Context) {
super.onEnabled(context)
context.scheduleNextWidgetUpdate()
}
private fun performUpdate(context: Context) {
val appWidgetManager = AppWidgetManager.getInstance(context)
appWidgetManager.getAppWidgetIds(getComponentName(context)).forEach {
@ -38,7 +44,7 @@ class MyWidgetDateTimeProvider : AppWidgetProvider() {
private fun updateTexts(context: Context, views: RemoteViews) {
val calendar = Calendar.getInstance()
views.apply {
setText(R.id.widget_time, context.getFormattedTime(context.getPassedSeconds(), false))
setText(R.id.widget_time, getPassedSeconds().getFormattedTime(false))
setText(R.id.widget_date, context.getFormattedDate(calendar))
}
}