refactor(data): address occurrences by (taskId, occurrenceStart)
Phase 0 of docs/OWN-STORE.md. Prepares the seam for the Room store while the provider is still the store. Task.id (the materialised instance row id) is gone; Task carries occurrenceStart, its RECURRENCE-ID anchor, instead. updateInstance takes (taskId, occurrenceStart, form) and AndroidTasksDataSource maps that back to an instance row itself, so the provider path exercises the new signature before Room exists. Lazy-list keys move to Task.occurrenceKey. Two occurrences of one series can appear in the same list once expansion is ours, and taskId alone would collide there. domain/Models.kt stops importing TasksContract — status, priority and local-account constants now live in domain. StorageMode gains OWN as a third value; LOCAL keeps meaning the dmfs provider until it is deleted. Room 2.8.4 and room.schemaLocation added to the build.
This commit is contained in:
@@ -13,6 +13,8 @@ composeBom = "2026.05.01"
|
||||
# Re-evaluate when 1.5.0 stable lands.
|
||||
material3 = "1.5.0-alpha21"
|
||||
datastore = "1.2.1"
|
||||
# Room — Agendula's own task store (docs/OWN-STORE.md).
|
||||
room = "2.8.4"
|
||||
# SAF directory writing for export/backup (DocumentFile).
|
||||
documentfile = "1.1.0"
|
||||
junit = "6.1.0"
|
||||
@@ -71,6 +73,12 @@ androidx-compose-material-icons-extended = { group = "androidx.compose.material"
|
||||
hilt-android = { group = "com.google.dagger", name = "hilt-android", version.ref = "hilt" }
|
||||
hilt-compiler = { group = "com.google.dagger", name = "hilt-android-compiler", version.ref = "hilt" }
|
||||
|
||||
# Room — the own-store database
|
||||
androidx-room-runtime = { group = "androidx.room", name = "room-runtime", version.ref = "room" }
|
||||
androidx-room-ktx = { group = "androidx.room", name = "room-ktx", version.ref = "room" }
|
||||
androidx-room-compiler = { group = "androidx.room", name = "room-compiler", version.ref = "room" }
|
||||
androidx-room-testing = { group = "androidx.room", name = "room-testing", version.ref = "room" }
|
||||
|
||||
# DataStore
|
||||
androidx-datastore-preferences = { group = "androidx.datastore", name = "datastore-preferences", version.ref = "datastore" }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user