Package-level declarations

Types

Link copied to clipboard

Provider for the alarms module: CreateAlarmTool, CreateTimerTool, CreateReminderTool and GetNextAlarmTool. Alarm/timer tools rely only on SET_ALARM (a normal, install-time permission) and the system clock app, and GetNextAlarmTool needs no permission, so they are always registered. The reminder tool writes a calendar event and is registered only when READ/WRITE_CALENDAR are granted — it is gated inside all (mirroring how SettingsTools gates its write tools) so missing calendar access never hides alarms/timers.

Link copied to clipboard
class CreateAlarmTool(context: Context) : McpTool

Creates a clock alarm by firing an AlarmClock.ACTION_SET_ALARM intent at the system clock app (with EXTRA_SKIP_UI, so no UI is shown). Optional message label and days (comma-separated mon..sun) for a repeating alarm; omit days for a one-time alarm.

Link copied to clipboard

Creates a reminder as a 30-minute calendar event with an alert, inserted into the device's primary calendar (else the first visible calendar with contributor access, see CalendarSupport.findWritableCalendarId) via CalendarContract. Takes a title, a strictly-parsed datetime (yyyy-MM-dd HH:mm, device timezone), and optional minutes_before (default 10) for the alert lead time.

Link copied to clipboard
class CreateTimerTool(context: Context) : McpTool

Creates a countdown timer by firing an AlarmClock.ACTION_SET_TIMER intent at the system clock app (with EXTRA_SKIP_UI, so no UI is shown). Takes a positive seconds duration and an optional message label.

Link copied to clipboard
class GetNextAlarmTool(context: Context) : McpTool

Reports the next scheduled alarm clock via AlarmManager.getNextAlarmClock. Android has no public API to list alarms (each clock app stores its own), so this is the only alarm the platform exposes: the soonest one any app registered with AlarmManager.setAlarmClock for the current user — normally the clock app's next alarm. Needs no permission.