Skip to content

Commit 9645efc

Browse files
committed
change shortcut view
1 parent 5ba1ea9 commit 9645efc

File tree

44 files changed

+125
-93
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+125
-93
lines changed

core/src/main/java/com/example/util/simpletimetracker/core/mapper/CategoryViewDataMapper.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,6 +248,7 @@ class CategoryViewDataMapper @Inject constructor(
248248
)
249249
}
250250

251+
// TODO move to color mapper
251252
fun getTextColor(
252253
isDarkTheme: Boolean,
253254
isFiltered: Boolean,
@@ -259,6 +260,7 @@ class CategoryViewDataMapper @Inject constructor(
259260
}
260261
}
261262

263+
// TODO move to color mapper
262264
private fun getColor(
263265
color: AppColor,
264266
isDarkTheme: Boolean,
@@ -267,7 +269,7 @@ class CategoryViewDataMapper @Inject constructor(
267269
return if (isFiltered) {
268270
colorMapper.toFilteredColor(isDarkTheme)
269271
} else {
270-
color.let { colorMapper.mapToColorInt(it, isDarkTheme) }
272+
colorMapper.mapToColorInt(color, isDarkTheme)
271273
}
272274
}
273275

core/src/main/java/com/example/util/simpletimetracker/core/mapper/RecordShortcutViewDataMapper.kt

Lines changed: 30 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -4,73 +4,60 @@ import com.example.util.simpletimetracker.domain.record.model.RecordBase
44
import com.example.util.simpletimetracker.domain.recordShortcut.model.RecordShortcut
55
import com.example.util.simpletimetracker.domain.recordTag.model.RecordTag
66
import com.example.util.simpletimetracker.domain.recordType.model.RecordType
7-
import com.example.util.simpletimetracker.feature_base_adapter.record.RecordViewData
7+
import com.example.util.simpletimetracker.feature_base_adapter.category.CategoryViewData
88
import com.example.util.simpletimetracker.feature_base_adapter.recordShortcut.RecordShortcutViewData
99
import javax.inject.Inject
1010

1111
class RecordShortcutViewDataMapper @Inject constructor(
1212
private val iconMapper: IconMapper,
1313
private val colorMapper: ColorMapper,
1414
private val recordTagFullNameMapper: RecordTagFullNameMapper,
15-
private val recordViewDataMapper: RecordViewDataMapper,
1615
) {
1716

1817
fun map(
1918
shortcut: RecordShortcut,
2019
recordType: RecordType,
2120
recordTags: List<RecordTag>,
2221
isDarkTheme: Boolean,
22+
isFiltered: Boolean,
2323
): RecordShortcutViewData {
2424
val tagIds = shortcut.tags.map(RecordBase.Tag::tagId)
2525

26-
// Shortcut view is simplified record view.
27-
// So use record data without some data.
28-
val data = RecordViewData.Tracked(
29-
id = 0,
30-
timeStartedTimestamp = 0,
31-
timeEndedTimestamp = 0,
32-
name = recordType.name,
33-
tagName = recordTagFullNameMapper.getFullName(
26+
val icon = iconMapper.mapIcon(recordType.icon)
27+
28+
val name = listOf(
29+
recordType.name,
30+
recordTagFullNameMapper.getFullName(
3431
tags = recordTags.filter { it.id in tagIds },
3532
tagData = shortcut.tags,
3633
),
37-
timeStarted = "",
38-
timeFinished = "",
39-
duration = "",
40-
iconId = iconMapper.mapIcon(recordType.icon),
41-
color = colorMapper.mapToColorInt(
42-
color = recordType.color,
43-
isDarkTheme = isDarkTheme,
44-
),
45-
comment = shortcut.comment,
46-
// TODO SHORT move to one line after "name - tag"?
47-
// TODO SHORT remove "Shortcut" label and add hint?
48-
// TODO SHORT width wrapContent?
49-
// TODO SHORT show filtered if already started?
50-
// TODO SHORT translate strings
51-
// TODO SHORT add message after adding
34+
shortcut.comment,
35+
).mapNotNull {
36+
it.takeIf { it.isNotEmpty() }
37+
}.joinToString(separator = " - ")
38+
39+
// Shortcut view is simplified category view.
40+
val data = CategoryViewData.Record.Tagged(
41+
id = 0,
42+
name = name,
43+
iconColor = if (isFiltered) {
44+
colorMapper.toFilteredIconColor(isDarkTheme)
45+
} else {
46+
colorMapper.toIconColor(isDarkTheme)
47+
},
48+
color = if (isFiltered) {
49+
colorMapper.toFilteredColor(isDarkTheme)
50+
} else {
51+
colorMapper.mapToColorInt(recordType.color, isDarkTheme)
52+
},
53+
icon = icon,
54+
iconAlpha = colorMapper.toIconAlpha(icon, isFiltered),
55+
// TODO show tag with alpha color like in record
5256
)
5357

5458
return RecordShortcutViewData(
5559
id = shortcut.id,
56-
record = data,
60+
data = data,
5761
)
5862
}
59-
60-
fun mapFiltered(
61-
viewData: RecordShortcutViewData,
62-
isDarkTheme: Boolean,
63-
isFiltered: Boolean,
64-
): RecordShortcutViewData {
65-
return if (isFiltered) {
66-
val newRecordData = recordViewDataMapper.mapFiltered(
67-
viewData = viewData.record,
68-
isDarkTheme = isDarkTheme,
69-
isFiltered = true
70-
)
71-
viewData.copy(record = newRecordData)
72-
} else {
73-
viewData
74-
}
75-
}
7663
}

data_local/src/main/java/com/example/util/simpletimetracker/data_local/database/AppDatabaseMigrations.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -348,10 +348,10 @@ class AppDatabaseMigrations {
348348
private val migration_27_28 = object : Migration(27, 28) {
349349
override fun migrate(database: SupportSQLiteDatabase) {
350350
database.execSQL(
351-
"CREATE TABLE IF NOT EXISTS `recordShortcuts` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `type_id` INTEGER NOT NULL, `comment` TEXT NOT NULL)"
351+
"CREATE TABLE IF NOT EXISTS `recordShortcuts` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `type_id` INTEGER NOT NULL, `comment` TEXT NOT NULL)",
352352
)
353353
database.execSQL(
354-
"CREATE TABLE IF NOT EXISTS `recordShortcutToRecordTag` (`shortcut_id` INTEGER NOT NULL, `record_tag_id` INTEGER NOT NULL, `record_tag_numeric_value` REAL, PRIMARY KEY(`shortcut_id`, `record_tag_id`))"
354+
"CREATE TABLE IF NOT EXISTS `recordShortcutToRecordTag` (`shortcut_id` INTEGER NOT NULL, `record_tag_id` INTEGER NOT NULL, `record_tag_numeric_value` REAL, PRIMARY KEY(`shortcut_id`, `record_tag_id`))",
355355
)
356356
}
357357
}

data_local/src/main/java/com/example/util/simpletimetracker/data_local/recordShortcut/RecordShortcutDataLocalMapper.kt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
package com.example.util.simpletimetracker.data_local.recordShortcut
22

33
import com.example.util.simpletimetracker.data_local.recordTag.RecordShortcutToRecordTagDBO
4-
import com.example.util.simpletimetracker.data_local.recordTag.RecordToRecordTagDBO
5-
import com.example.util.simpletimetracker.domain.extension.dropMillis
6-
import com.example.util.simpletimetracker.domain.record.model.Record
74
import com.example.util.simpletimetracker.domain.record.model.RecordBase
85
import com.example.util.simpletimetracker.domain.recordShortcut.model.RecordShortcut
96
import javax.inject.Inject

data_local/src/main/java/com/example/util/simpletimetracker/data_local/recordShortcut/RecordShortcutWithRecordTagsDBO.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package com.example.util.simpletimetracker.data_local.recordShortcut
33
import androidx.room.Embedded
44
import androidx.room.Relation
55
import com.example.util.simpletimetracker.data_local.recordTag.RecordShortcutToRecordTagDBO
6-
import com.example.util.simpletimetracker.data_local.recordTag.RecordToRecordTagDBO
76

87
data class RecordShortcutWithRecordTagsDBO(
98
@Embedded

data_local/src/main/java/com/example/util/simpletimetracker/data_local/recordTag/RecordShortcutToRecordTagDataLocalMapper.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package com.example.util.simpletimetracker.data_local.recordTag
22

33
import com.example.util.simpletimetracker.domain.record.model.RecordBase
44
import com.example.util.simpletimetracker.domain.recordTag.model.RecordShortcutToRecordTag
5-
import com.example.util.simpletimetracker.domain.recordTag.model.RecordToRecordTag
65
import javax.inject.Inject
76

87
class RecordShortcutToRecordTagDataLocalMapper @Inject constructor() {

data_local/src/main/java/com/example/util/simpletimetracker/data_local/recordTag/RecordShortcutToRecordTagRepoImpl.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,7 @@ package com.example.util.simpletimetracker.data_local.recordTag
33
import com.example.util.simpletimetracker.data_local.base.logDataAccess
44
import com.example.util.simpletimetracker.domain.record.model.RecordBase
55
import com.example.util.simpletimetracker.domain.recordTag.model.RecordShortcutToRecordTag
6-
import com.example.util.simpletimetracker.domain.recordTag.model.RecordToRecordTag
76
import com.example.util.simpletimetracker.domain.recordTag.repo.RecordShortcutToRecordTagRepo
8-
import com.example.util.simpletimetracker.domain.recordTag.repo.RecordToRecordTagRepo
97
import kotlinx.coroutines.Dispatchers
108
import kotlinx.coroutines.withContext
119
import javax.inject.Inject

data_local/src/main/java/com/example/util/simpletimetracker/data_local/recordTag/RecordToRecordTagDao.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package com.example.util.simpletimetracker.data_local.recordTag
22

33
import androidx.room.Dao
4-
import androidx.room.Delete
54
import androidx.room.Insert
65
import androidx.room.OnConflictStrategy
76
import androidx.room.Query

domain/src/main/java/com/example/util/simpletimetracker/domain/recordAction/interactor/RecordActionShortcutMediator.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ class RecordActionShortcutMediator @Inject constructor(
1515
tagIds: List<RecordBase.Tag>,
1616
) {
1717
RecordShortcut(
18-
id = 0L, // Creates new record.
18+
id = 0L, // Creates new record.
1919
typeId = typeId,
2020
comment = comment,
2121
tags = tagIds,

domain/src/main/java/com/example/util/simpletimetracker/domain/recordTag/repo/RecordShortcutToRecordTagRepo.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package com.example.util.simpletimetracker.domain.recordTag.repo
22

33
import com.example.util.simpletimetracker.domain.record.model.RecordBase
44
import com.example.util.simpletimetracker.domain.recordTag.model.RecordShortcutToRecordTag
5-
import com.example.util.simpletimetracker.domain.recordTag.model.RecordToRecordTag
65

76
interface RecordShortcutToRecordTagRepo {
87

0 commit comments

Comments
 (0)