feat: 'New event' Quick Settings tile #32

Merged
makiolaj merged 3 commits from feat/qs-tile-new-event into release/v2.8.0 2026-06-23 08:18:09 +00:00
Owner

Adds a Quick Settings tile for fast event creation, plus an in-app prompt to add it.

  • NewEventTileService — a stateless QS tile; tapping it opens the create form on today, the same action as the launcher 'New event' shortcut and the agenda widget's +. Reuses MainActivity.openCreateIntent, wrapped in unlockAndRun, using the API 34+ startActivityAndCollapse(PendingIntent) form (deprecated Intent form below 34). No new permission (BIND_QUICK_SETTINGS_TILE is system-side).
  • Discoverability — Settings → New event form gains an 'Add Quick Settings tile' row that fires StatusBarManager.requestAddTileService (API 33+); below that the tile is still addable manually from the system QS editor.
  • Dedicated monochrome tile icon + EN/DE strings.

Also fixes a pre-existing navigation bug (commit 2): an external new-event/open-date request (tile, launcher shortcut, or widget) rendered underneath an open Settings/calendar-manager overlay, since those are drawn above the form in the Box. Now the covering overlays are dismissed when such a request is handled, so the destination is revealed on top — fixing it for the shortcut and widget too.

Builds clean (compileDebugKotlin / assembleDebug). Verified on-device (Pixel 10), including the overlay-dismiss fix from Settings.

Adds a Quick Settings tile for fast event creation, plus an in-app prompt to add it. - **NewEventTileService** — a stateless QS tile; tapping it opens the create form on today, the same action as the launcher 'New event' shortcut and the agenda widget's +. Reuses MainActivity.openCreateIntent, wrapped in unlockAndRun, using the API 34+ startActivityAndCollapse(PendingIntent) form (deprecated Intent form below 34). No new permission (BIND_QUICK_SETTINGS_TILE is system-side). - **Discoverability** — Settings → New event form gains an 'Add Quick Settings tile' row that fires StatusBarManager.requestAddTileService (API 33+); below that the tile is still addable manually from the system QS editor. - Dedicated monochrome tile icon + EN/DE strings. **Also fixes a pre-existing navigation bug** (commit 2): an external new-event/open-date request (tile, launcher shortcut, or widget) rendered *underneath* an open Settings/calendar-manager overlay, since those are drawn above the form in the Box. Now the covering overlays are dismissed when such a request is handled, so the destination is revealed on top — fixing it for the shortcut and widget too. Builds clean (compileDebugKotlin / assembleDebug). Verified on-device (Pixel 10), including the overlay-dismiss fix from Settings.
makiolaj added 2 commits 2026-06-23 08:00:00 +00:00
A stateless TileService that opens the create-event form on today — the same
action as the launcher 'New event' shortcut and the agenda widget's +. Reuses
MainActivity.openCreateIntent; wrapped in unlockAndRun and using the API 34+
startActivityAndCollapse(PendingIntent) form (deprecated Intent form below 34).
No new permission (BIND_QUICK_SETTINGS_TILE is system-side).

Discoverability: Settings → New event form gains an 'Add Quick Settings tile'
row that fires StatusBarManager.requestAddTileService (API 33+); on older
versions the tile is still addable manually from the system QS editor.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
fix(nav): bring external new-event/open-date to the front
Some checks failed
Translations / check (pull_request) Successful in 4s
CI / ci (pull_request) Failing after 3m36s
b8a7191fbe
The create form and Settings/calendar-manager are sibling overlays in one Box,
with Settings drawn above the form. An external 'new event' request (QS tile,
launcher shortcut, widget) set the create state correctly but rendered the form
underneath an open Settings, forcing the user to back out first.

Dismiss the covering overlays (Settings, calendar manager, detail/edit, import)
when handling a Create or OpenDate nav request, so the requested destination is
revealed on top. Fixes the same latent bug for the shortcut and widget.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
makiolaj added 1 commit 2026-06-23 08:13:36 +00:00
fix(qs): silence StartActivityAndCollapseDeprecated lint error
All checks were successful
Translations / check (pull_request) Successful in 4s
CI / ci (pull_request) Successful in 4m15s
5b99da32b0
lintDebug aborts on the deprecated startActivityAndCollapse(Intent) overload in
the pre-34 branch, even though that overload is the only one available below
UpsideDownCake and is reached only there. Suppress the lint issue (and the
compiler deprecation) at the function level since the call is intentional and
version-gated.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
makiolaj merged commit 871cc34cab into release/v2.8.0 2026-06-23 08:18:09 +00:00
makiolaj deleted branch feat/qs-tile-new-event 2026-06-23 08:18:10 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: makiolaj/calendula#32