@@ -41,6 +41,7 @@ class WidgetConfigureActivity : SimpleActivity() {
4141 private var mIsCustomizingColors = false
4242 private var mShowTitle = false
4343 private var mNotes = listOf<Note >()
44+ private var mAllWidgetIds = intArrayOf()
4445 private val binding by viewBinding(WidgetConfigBinding ::inflate)
4546
4647 public override fun onCreate (savedInstanceState : Bundle ? ) {
@@ -107,6 +108,7 @@ class WidgetConfigureActivity : SimpleActivity() {
107108
108109 updateTextColor()
109110 mIsCustomizingColors = extras?.getBoolean(IS_CUSTOMIZING_COLORS ) ? : false
111+ mAllWidgetIds = extras?.getIntArray(ALL_WIDGET_IDS ) ? : intArrayOf()
110112 binding.notesPickerHolder.beVisibleIf(! mIsCustomizingColors)
111113 binding.textNoteViewTitle.beGoneIf(! mShowTitle)
112114
@@ -189,23 +191,29 @@ class WidgetConfigureActivity : SimpleActivity() {
189191 }
190192
191193 private fun saveConfig () {
192- if (mCurrentNoteId == 0L ) {
194+ if (! mIsCustomizingColors && mCurrentNoteId == 0L ) {
193195 finish()
194196 return
195197 }
196198
197- val views = RemoteViews (packageName, R .layout.activity_main)
198- views.setBackgroundColor(R .id.text_note_view, mBgColor)
199- views.setBackgroundColor(R .id.checklist_note_view, mBgColor)
200- AppWidgetManager .getInstance(this )?.updateAppWidget(mWidgetId, views) ? : return
201-
202- val extras = intent.extras
203- val id = if (extras?.containsKey(CUSTOMIZED_WIDGET_KEY_ID ) == true ) extras.getLong(CUSTOMIZED_WIDGET_KEY_ID ) else null
204- mWidgetId = extras?.getInt(CUSTOMIZED_WIDGET_ID , mWidgetId) ? : mWidgetId
205- mCurrentNoteId = extras?.getLong(CUSTOMIZED_WIDGET_NOTE_ID , mCurrentNoteId) ? : mCurrentNoteId
206- val widget = Widget (id, mWidgetId, mCurrentNoteId, mBgColor, mTextColor, mShowTitle)
207- ensureBackgroundThread {
208- widgetsDB.insertOrUpdate(widget)
199+ if (! mIsCustomizingColors) {
200+ val views = RemoteViews (packageName, R .layout.activity_main)
201+ views.setBackgroundColor(R .id.text_note_view, mBgColor)
202+ views.setBackgroundColor(R .id.checklist_note_view, mBgColor)
203+ AppWidgetManager .getInstance(this )?.updateAppWidget(mWidgetId, views) ? : return
204+
205+ val extras = intent.extras
206+ val id = if (extras?.containsKey(CUSTOMIZED_WIDGET_KEY_ID ) == true ) extras.getLong(CUSTOMIZED_WIDGET_KEY_ID ) else null
207+ mWidgetId = extras?.getInt(CUSTOMIZED_WIDGET_ID , mWidgetId) ? : mWidgetId
208+ mCurrentNoteId = extras?.getLong(CUSTOMIZED_WIDGET_NOTE_ID , mCurrentNoteId) ? : mCurrentNoteId
209+ val widget = Widget (id, mWidgetId, mCurrentNoteId, mBgColor, mTextColor, mShowTitle)
210+ ensureBackgroundThread {
211+ widgetsDB.insertOrUpdate(widget)
212+ }
213+ } else {
214+ ensureBackgroundThread {
215+ widgetsDB.updateWidgetColors(mBgColor, mTextColor)
216+ }
209217 }
210218
211219 storeWidgetBackground()
@@ -226,8 +234,9 @@ class WidgetConfigureActivity : SimpleActivity() {
226234 }
227235
228236 private fun requestWidgetUpdate () {
237+ val widgetIds = if (mAllWidgetIds.isNotEmpty()) mAllWidgetIds else intArrayOf(mWidgetId)
229238 Intent (AppWidgetManager .ACTION_APPWIDGET_UPDATE , null , this , MyWidgetProvider ::class .java).apply {
230- putExtra(AppWidgetManager .EXTRA_APPWIDGET_IDS , intArrayOf(mWidgetId) )
239+ putExtra(AppWidgetManager .EXTRA_APPWIDGET_IDS , widgetIds )
231240 sendBroadcast(this )
232241 }
233242 }
0 commit comments