release: cut v2.2.0 — tap-to-create + local calendar management
All checks were successful
CI / ci (push) Successful in 8m53s
Release — F-Droid repo + Gitea release / ci (push) Successful in 1m59s
Release — F-Droid repo + Gitea release / build-and-deploy (push) Successful in 8m57s
Release — F-Droid repo + Gitea release / gitea-release (push) Successful in 8s
All checks were successful
CI / ci (push) Successful in 8m53s
Release — F-Droid repo + Gitea release / ci (push) Successful in 1m59s
Release — F-Droid repo + Gitea release / build-and-deploy (push) Successful in 8m57s
Release — F-Droid repo + Gitea release / gitea-release (push) Successful in 8s
Day/week: tap an empty slot to open the create form prefilled with that day and the tapped hour (snapped to the hour, 1 h long). Threaded a start time through CalendarHost → EventEditScreen → openNew; the FAB keeps its default. Local calendars: a full-screen editor from Settings → Calendars to create/rename/recolor/delete device-only calendars (ACCOUNT_TYPE_LOCAL, sync-adapter insert) with name, pastel-previewed colour, and a description (stored in CAL_SYNC1). Synced calendars are listed read-only grouped by account, each with a "manage in source app" deep-link resolved from the account's own authenticator (DAVx5/ICSx5/…), plus an add-account shortcut; a <queries> block makes the source apps launchable. Extracted a shared InlineTextField into ui.common so the event form and calendar editor share one borderless input style. Tests: repository delegation + write-failure, mapper isLocal/description, fake data source extended. Version bumped to 2.2.0 / 20200. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -15,6 +15,17 @@ data class CalendarSource(
|
||||
* subscriptions, birthday calendars and other read-only sources.
|
||||
*/
|
||||
val canModifyContents: Boolean = false,
|
||||
/**
|
||||
* A device-only calendar the app itself owns (`ACCOUNT_TYPE_LOCAL`): it has
|
||||
* no sync backend, so the app can rename / recolor / delete it. Synced
|
||||
* calendars (Google, DAVx5, …) are managed in their own source app instead.
|
||||
*/
|
||||
val isLocal: Boolean = false,
|
||||
/**
|
||||
* Free-text note for a local calendar (stored in `CAL_SYNC1`, which the app
|
||||
* owns for its own calendars). Always null for synced calendars.
|
||||
*/
|
||||
val description: String? = null,
|
||||
)
|
||||
|
||||
data class EventInstance(
|
||||
|
||||
Reference in New Issue
Block a user