diff --git a/app/src/main/java/org/tasks/dialogs/ThemePickerDialog.kt b/app/src/main/java/org/tasks/dialogs/ThemePickerDialog.kt index b90af6e39..f4ce124fa 100644 --- a/app/src/main/java/org/tasks/dialogs/ThemePickerDialog.kt +++ b/app/src/main/java/org/tasks/dialogs/ThemePickerDialog.kt @@ -53,10 +53,11 @@ class ThemePickerDialog : DialogFragment() { var adapter: ArrayAdapter? = null var dialog: AlertDialog? = null var selected = -1 + var widget = false override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { selected = savedInstanceState?.getInt(EXTRA_SELECTED) ?: requireArguments().getInt(EXTRA_SELECTED) - val widget = arguments?.getBoolean(EXTRA_WIDGET) ?: false + widget = arguments?.getBoolean(EXTRA_WIDGET) ?: false val themes = resources.getStringArray( if (widget) R.array.widget_themes else R.array.base_theme_names ) @@ -131,5 +132,5 @@ class ThemePickerDialog : DialogFragment() { private fun available() = isAvailable(selected) private fun isAvailable(index: Int) = - inventory.purchasedThemes() || ThemeBase(index).isFree + inventory.purchasedThemes() || ThemeBase(index).isFree || widget } \ No newline at end of file diff --git a/app/src/main/java/org/tasks/widget/ScrollableViewsFactory.kt b/app/src/main/java/org/tasks/widget/ScrollableViewsFactory.kt index 752ec529d..f452b90b2 100644 --- a/app/src/main/java/org/tasks/widget/ScrollableViewsFactory.kt +++ b/app/src/main/java/org/tasks/widget/ScrollableViewsFactory.kt @@ -101,6 +101,10 @@ internal class ScrollableViewsFactory( override fun onDestroy() {} override fun getCount(): Int { + if (isDark != checkIfDark) { + isDark = !isDark + localBroadcastManager.reconfigureWidget(widgetId) + } return tasks.size } @@ -119,10 +123,6 @@ internal class ScrollableViewsFactory( override fun getItemId(position: Int) = getTask(position)?.id ?: 0 override fun hasStableIds(): Boolean { - if (isDark != checkIfDark) { - isDark = !isDark - localBroadcastManager.reconfigureWidget(widgetId) - } return true }