HomeTempAppWidget.kt 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package com.flacksta.chef.journeygpstracker
  2. import android.app.AlarmManager
  3. import android.app.PendingIntent
  4. import android.appwidget.AppWidgetManager
  5. import android.appwidget.AppWidgetProvider
  6. import android.content.ComponentName
  7. import android.content.Context
  8. import android.content.Intent
  9. import android.graphics.Color
  10. import android.util.Log
  11. import android.view.View
  12. import android.widget.RemoteViews
  13. import androidx.core.content.ContextCompat.getSystemService
  14. class HomeTempAppWidget : AppWidgetProvider() {
  15. val ACTION_UPDATE = "com.flacksta.chef.journeygpstracker.action.UPDATE"
  16. override fun onUpdate(
  17. context: Context,
  18. appWidgetManager: AppWidgetManager,
  19. appWidgetIds: IntArray
  20. ) {
  21. Log.d("AppWidget","onUpdate()")
  22. val thisWidget = ComponentName(context,HomeTempAppWidget::class.java)
  23. val allWidgetIds = appWidgetManager.getAppWidgetIds(thisWidget)
  24. val remoteViews = RemoteViews(context.packageName, R.layout.home_temp_app_widget )
  25. for (widgetId in allWidgetIds!!) {
  26. Log.i("AppWidget", "Set gray")
  27. remoteViews.setTextColor(R.id.appwidget_text, Color.LTGRAY)
  28. remoteViews.setViewVisibility(R.id.progressBar, View.VISIBLE)
  29. appWidgetManager.updateAppWidget(widgetId, remoteViews)
  30. }
  31. // Build the intent to call the service
  32. val intent = Intent(context.applicationContext,UpdateWidgetService::class.java)
  33. intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, allWidgetIds);
  34. // Update the widgets via the service
  35. context.startService(intent);
  36. }
  37. override fun onEnabled(context: Context) {
  38. super.onEnabled(context)
  39. Log.d("AppWidget", "onEnabled()");
  40. }
  41. override fun onDisabled(context: Context) {
  42. super.onDisabled(context)
  43. Log.d("AppWidget", "onDisabled()");
  44. }
  45. override fun onDeleted(context: Context?, appWidgetIds: IntArray?) {
  46. super.onDeleted(context, appWidgetIds)
  47. Log.d("AppWidget", "onDeleted()");
  48. }
  49. override fun onReceive(context: Context?, intent: Intent?) {
  50. super.onReceive(context, intent)
  51. Log.d("AppWidget", "onReceive() Intent:" + intent?.action);
  52. }
  53. }