Skip to content

[DatePicker / Scheduling] Support recurring schedules with included and excluded dates #5088

@marvin1099

Description

@marvin1099

Is your feature request related to a problem? Please describe.

Many scheduling use cases cannot be represented well using the current “repeat on weekdays” approach alone.

Example:

  • A user wants an alarm every weekday
  • But wants to exclude holidays or vacation days
  • Or wants a mostly recurring schedule with a few additional one-off dates

Currently, applications usually solve this by:

  • duplicating alarms/events multiple times
  • storing many separate schedules
  • implementing custom recurrence UIs independently

This becomes difficult to manage and creates inconsistent UX across Android apps.


Describe the solution you'd like

A Material-supported scheduling component, API pattern, or guideline that supports:

  • recurring weekdays
  • additional explicitly included dates
  • explicitly excluded dates (exceptions)

Example:

  • Repeat every Monday–Friday
  • Exclude 2026-05-01
  • Include 2026-05-24 additionally

Potential UX:

  • weekday selector

  • calendar view with selectable/deselectable dates

  • visual distinction between:

    • recurring dates
    • manually included dates
    • excluded exception dates

Example data structure:

{
  "recurring": ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY"],
  "includedDates": ["2026-05-24"],
  "excludedDates": ["2026-05-01", "2026-12-25"]
}

This pattern would be useful for:

  • alarms
  • reminders
  • medication schedules
  • habit trackers
  • shift/work planning
  • school schedules

Describe alternatives you've considered

Current alternatives are:

  • duplicating alarms/events manually
  • creating many separate recurring schedules
  • implementing fully custom recurrence systems

Some OEM apps already support similar behavior (for example OnePlus Clock), but there is currently no common Material pattern or reusable implementation for this type of scheduling UX.

Here are some reference images from the oneplus app.
While this would look very different for material component the idea is still there.


Additional context

This request is not specifically about alarms, but about a reusable scheduling/recurrence interaction pattern that could benefit many Android applications.

Even if a full component is out of scope, official Material guidance, recurrence models, or composable building blocks for this scheduling pattern would already be very valuable.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions