@@ -5,25 +5,15 @@ import android.appwidget.AppWidgetProvider
55import android.content.Context
66import android.content.Intent
77import android.widget.RemoteViews
8- import com.w2sv.androidutils.generic.getIntExtraOrNull
98import com.w2sv.widget.ui.WidgetLayoutPopulator
109import com.w2sv.widget.utils.getWifiWidgetIds
1110import dagger.hilt.android.AndroidEntryPoint
12- import kotlinx.coroutines.CoroutineScope
13- import kotlinx.coroutines.Dispatchers
14- import kotlinx.coroutines.flow.MutableSharedFlow
15- import kotlinx.coroutines.flow.asSharedFlow
16- import kotlinx.coroutines.launch
1711import slimber.log.i
1812import javax.inject.Inject
19- import javax.inject.Singleton
2013
2114@AndroidEntryPoint
2215class WidgetProvider : AppWidgetProvider () {
2316
24- @Inject
25- lateinit var optionsChanged: OptionsChanged
26-
2717 @Inject
2818 lateinit var widgetDataRefreshWorkerManager: WidgetDataRefreshWorker .Manager
2919
@@ -41,7 +31,9 @@ class WidgetProvider : AppWidgetProvider() {
4131 override fun onEnabled (context : Context ? ) {
4232 super .onEnabled(context)
4333
44- widgetDataRefreshWorkerManager.applyChangedParameters()
34+ i { " onEnabled" }
35+
36+ widgetDataRefreshWorkerManager.enableWorkerIfRefreshingEnabled()
4537 }
4638
4739 /* *
@@ -52,6 +44,8 @@ class WidgetProvider : AppWidgetProvider() {
5244 override fun onDisabled (context : Context ? ) {
5345 super .onDisabled(context)
5446
47+ i { " onDisabled" }
48+
5549 widgetDataRefreshWorkerManager.cancelWorker()
5650 }
5751
@@ -61,7 +55,7 @@ class WidgetProvider : AppWidgetProvider() {
6155 i {
6256 " ${this ::class .java.simpleName} .onReceive | ${intent?.action} | ${
6357 intent?.extras?.keySet()?.toList()
64- } "
58+ } | ${appWidgetManager.getWifiWidgetIds(context !! ).toList()} "
6559 }
6660
6761 when (intent?.action) {
@@ -75,14 +69,6 @@ class WidgetProvider : AppWidgetProvider() {
7569 )
7670 }
7771 }
78-
79- AppWidgetManager .ACTION_APPWIDGET_OPTIONS_CHANGED -> intent.getIntExtraOrNull(
80- AppWidgetManager .EXTRA_APPWIDGET_ID ,
81- - 1 ,
82- )?.let { widgetId ->
83- i { " AppWidgetManager.ACTION_APPWIDGET_OPTIONS_CHANGED | id = $widgetId " }
84- optionsChanged.onOptionsChanged(widgetId)
85- }
8672 }
8773 }
8874
@@ -112,20 +98,6 @@ class WidgetProvider : AppWidgetProvider() {
11298 }
11399 }
114100
115- @Singleton
116- class OptionsChanged @Inject constructor() {
117- private val scope = CoroutineScope (Dispatchers .Default )
118-
119- val widgetId get() = _widgetId .asSharedFlow()
120- private val _widgetId = MutableSharedFlow <Int >()
121-
122- fun onOptionsChanged (widgetId : Int ) {
123- scope.launch {
124- _widgetId .emit(widgetId)
125- }
126- }
127- }
128-
129101 companion object {
130102
131103 // ===============
0 commit comments