Skip to content

Commit d088d09

Browse files
authored
Merge pull request #265 from naz013/feature/REM-911_Fix_default_group_in_builder
REM-911 - Fix showing reminder group in the lists
2 parents 7473abe + 43f430d commit d088d09

File tree

5 files changed

+42
-18
lines changed

5 files changed

+42
-18
lines changed

app/src/main/java/com/elementary/tasks/reminder/build/BuildReminderViewModel.kt

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -221,8 +221,12 @@ class BuildReminderViewModel(
221221
Logger.i(TAG, "All permissions granted")
222222

223223
if (!hasGroupBuilderItem(builderItems)) {
224+
Logger.i(TAG, "Does not have group builder item")
224225
getGroupBuilderItem()?.also {
226+
Logger.i(TAG, "Add group builder item")
225227
builderItems.add(it)
228+
} ?: run {
229+
Logger.i(TAG, "Group builder item not found")
226230
}
227231
}
228232

@@ -666,9 +670,13 @@ class BuildReminderViewModel(
666670
}
667671

668672
private suspend fun saveAndStartReminder(reminder: Reminder, isEdit: Boolean = true) {
669-
Logger.i(TAG, "Start reminder saving, id = ${reminder.uuId}")
673+
Logger.i(
674+
TAG,
675+
"Start reminder saving, id = ${reminder.uuId} and group id = ${reminder.groupUuId}"
676+
)
670677
if (reminder.groupUuId.isEmpty()) {
671678
val group = reminderGroupRepository.defaultGroup()
679+
Logger.i(TAG, "Reminder does not have a group, get default = $group")
672680
if (group != null) {
673681
reminder.groupColor = group.groupColor
674682
reminder.groupTitle = group.groupTitle

app/src/main/java/com/elementary/tasks/reminder/build/bi/BuilderModifier.kt

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
package com.elementary.tasks.reminder.build.bi
22

33
import android.util.Patterns
4-
import com.github.naz013.domain.GoogleTaskList
5-
import com.github.naz013.domain.Place
6-
import com.github.naz013.domain.Reminder
7-
import com.github.naz013.domain.reminder.ShopItem
84
import com.elementary.tasks.core.data.ui.group.UiGroupList
95
import com.elementary.tasks.core.data.ui.note.UiNoteList
106
import com.elementary.tasks.core.utils.GoogleCalendarUtils
117
import com.elementary.tasks.reminder.build.formatter.Formatter
8+
import com.github.naz013.domain.GoogleTaskList
9+
import com.github.naz013.domain.Place
10+
import com.github.naz013.domain.Reminder
11+
import com.github.naz013.domain.reminder.ShopItem
1212
import org.threeten.bp.LocalDate
1313
import org.threeten.bp.LocalTime
1414

@@ -206,6 +206,7 @@ class GroupModifier(
206206
override fun putInto(reminder: Reminder) {
207207
reminder.groupUuId = storage.value?.id ?: initValue?.id ?: ""
208208
reminder.groupColor = storage.value?.color ?: initValue?.color ?: 0
209+
reminder.groupTitle = storage.value?.title ?: initValue?.title ?: ""
209210
}
210211
}
211212

app/src/main/java/com/elementary/tasks/reminder/preview/ReminderPreviewViewModel.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,13 +133,14 @@ class ReminderPreviewViewModel(
133133
private fun loadReminder() {
134134
viewModelScope.launch(dispatcherProvider.default()) {
135135
val reminder = reminderRepository.getById(id) ?: return@launch
136+
val reminderGroup = reminderGroupRepository.getById(reminder.groupUuId)
136137

137138
val type = UiReminderType(reminder.type)
138139

139140
canCopy = type.isBase(UiReminderType.Base.DATE)
140141
canDelete = reminder.isRemoved
141142

142-
val data = uiReminderPreviewDataAdapter.create(reminder).toMutableList()
143+
val data = uiReminderPreviewDataAdapter.create(reminder, reminderGroup).toMutableList()
143144
_reminderData.postValue(data)
144145

145146
noteRepository.getById(reminder.noteId)?.let { noteToUiReminderPreviewNote(it) }

app/src/main/java/com/elementary/tasks/reminder/preview/data/UiReminderPreviewDataAdapter.kt

Lines changed: 23 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package com.elementary.tasks.reminder.preview.data
22

33
import com.elementary.tasks.R
4-
import com.elementary.tasks.core.data.adapter.UiAdapter
54
import com.elementary.tasks.core.data.adapter.UiReminderCommonAdapter
65
import com.elementary.tasks.core.data.adapter.UiReminderPlaceAdapter
76
import com.elementary.tasks.core.data.adapter.group.UiGroupListAdapter
@@ -13,17 +12,18 @@ import com.elementary.tasks.core.data.ui.reminder.UiEmailTarget
1312
import com.elementary.tasks.core.data.ui.reminder.UiReminderPlace
1413
import com.elementary.tasks.core.data.ui.reminder.UiReminderType
1514
import com.elementary.tasks.core.data.ui.reminder.UiSmsTarget
16-
import com.github.naz013.ui.common.theme.ColorProvider
17-
import com.github.naz013.ui.common.UnitsConverter
1815
import com.elementary.tasks.core.text.UiTextDecoration
1916
import com.elementary.tasks.core.text.UiTextFormat
2017
import com.elementary.tasks.core.text.UiTextStyle
2118
import com.elementary.tasks.core.utils.BuildParams
2219
import com.elementary.tasks.reminder.Icons
2320
import com.elementary.tasks.reminder.preview.AttachmentToUiReminderPreviewAttachment
21+
import com.github.naz013.common.TextProvider
2422
import com.github.naz013.domain.Reminder
23+
import com.github.naz013.domain.ReminderGroup
2524
import com.github.naz013.domain.reminder.ShopItem
26-
import com.github.naz013.common.TextProvider
25+
import com.github.naz013.ui.common.UnitsConverter
26+
import com.github.naz013.ui.common.theme.ColorProvider
2727
import java.util.Locale
2828

2929
class UiReminderPreviewDataAdapter(
@@ -34,12 +34,15 @@ class UiReminderPreviewDataAdapter(
3434
private val colorProvider: ColorProvider,
3535
private val unitsConverter: UnitsConverter,
3636
private val attachmentToUiReminderPreviewAttachment: AttachmentToUiReminderPreviewAttachment
37-
) : UiAdapter<Reminder, List<UiReminderPreviewData>> {
37+
) {
3838

39-
override fun create(data: Reminder): List<UiReminderPreviewData> {
39+
fun create(
40+
data: Reminder,
41+
group: ReminderGroup?
42+
): List<UiReminderPreviewData> {
4043
val type = UiReminderType(data.type)
4144
return addStatus(data) +
42-
addDetails(data) +
45+
addDetails(data, group) +
4346
addTargetInfo(data) +
4447
addAttachments(data) +
4548
addSubTasks(data, type) +
@@ -256,7 +259,8 @@ class UiReminderPreviewDataAdapter(
256259
}
257260

258261
private fun addDetails(
259-
data: Reminder
262+
data: Reminder,
263+
group: ReminderGroup?
260264
): List<UiReminderPreviewData> {
261265
return listOfNotNull(
262266
UiReminderPreviewHeader(
@@ -293,13 +297,21 @@ class UiReminderPreviewDataAdapter(
293297
icon = UiIcon(Icons.DESCRIPTION, colorProvider.getColorOnBackground())
294298
)
295299
}
296-
) + addDueInfo(data) + addExtraInfo(data)
300+
) + addDueInfo(data) + addExtraInfo(data, group)
297301
}
298302

299-
private fun addExtraInfo(data: Reminder): List<UiReminderPreviewData> {
303+
private fun addExtraInfo(
304+
data: Reminder,
305+
group: ReminderGroup?
306+
): List<UiReminderPreviewData> {
307+
val uiGroup = if (group != null) {
308+
uiGroupListAdapter.convert(group)
309+
} else {
310+
uiGroupListAdapter.convert(data.groupUuId, data.groupColor, data.groupTitle)
311+
}
300312
return listOfNotNull(
301313
getNormalTextElement(
302-
text = uiGroupListAdapter.convert(data.groupUuId, data.groupColor, data.groupTitle).title,
314+
text = uiGroup.title,
303315
icon = Icons.GROUP
304316
),
305317
getNormalTextElement(uiReminderCommonAdapter.getPriorityTitle(data.priority), Icons.PRIORITY),

repository/src/main/java/com/github/naz013/repository/entity/ReminderEntity.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -280,7 +280,9 @@ internal data class ReminderEntity(
280280
allDay = allDay,
281281
description = description,
282282
builderScheme = builderScheme,
283-
version = version
283+
version = version,
284+
groupTitle = groupTitle,
285+
groupColor = groupColor
284286
)
285287
}
286288
}

0 commit comments

Comments
 (0)