···100100 )
101101 }
102102 }
103103+104104+ val migration_8_9 = object : Migration(8, 9) {
105105+ override fun migrate(database: SupportSQLiteDatabase) {
106106+ database.execSQL(
107107+ "CREATE TABLE IF NOT EXISTS `activityFilters` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `selectedIds` TEXT NOT NULL, `type` INTEGER NOT NULL, `name` TEXT NOT NULL, `color` INTEGER NOT NULL, `color_int` TEXT NOT NULL, `selected` INTEGER NOT NULL)"
108108+ )
109109+ }
110110+ }
103111 }
104112}
···11+package com.example.util.simpletimetracker.domain.model
22+33+data class ActivityFilter(
44+ val id: Long = 0,
55+ val selectedIds: List<Long>,
66+ val type: Type,
77+ val name: String,
88+ val color: AppColor,
99+ val selected: Boolean,
1010+) {
1111+1212+ sealed interface Type {
1313+ object ActivityTag: Type
1414+ object Activity: Type
1515+ }
1616+}
···11+package com.example.util.simpletimetracker.feature_base_adapter.activityFilter
22+33+import androidx.annotation.ColorInt
44+import com.example.util.simpletimetracker.feature_base_adapter.ViewHolderType
55+66+class ActivityFilterAddViewData(
77+ val name: String,
88+ @ColorInt val color: Int
99+) : ViewHolderType {
1010+1111+ // Only one add item on screen
1212+ override fun getUniqueId(): Long = 1L
1313+1414+ override fun isValidType(other: ViewHolderType): Boolean =
1515+ other is ActivityFilterAddViewData
1616+}
···11+package com.example.util.simpletimetracker.feature_base_adapter.activityFilter
22+33+import androidx.annotation.ColorInt
44+import com.example.util.simpletimetracker.feature_base_adapter.ViewHolderType
55+66+data class ActivityFilterViewData(
77+ val id: Long,
88+ val name: String,
99+ @ColorInt val iconColor: Int,
1010+ @ColorInt val color: Int,
1111+ val selected: Boolean,
1212+) : ViewHolderType {
1313+1414+ override fun getUniqueId(): Long = id
1515+1616+ override fun isValidType(other: ViewHolderType): Boolean =
1717+ other is ActivityFilterViewData
1818+}
···11+package com.example.util.simpletimetracker.feature_running_records.viewData
22+33+import com.example.util.simpletimetracker.feature_base_adapter.ViewHolderType
44+55+data class RunningRecordEmptyDividerViewData(
66+ val id: Long,
77+) : ViewHolderType {
88+99+ override fun getUniqueId(): Long = id
1010+1111+ override fun isValidType(other: ViewHolderType): Boolean =
1212+ other is RunningRecordEmptyDividerViewData
1313+}