PebbleOS
Loading...
Searching...
No Matches
Data Structures | Enumerations | Functions
do_not_disturb.h File Reference
#include <pbl/kernel/compiler.h>
#include <kernel/events.h>
#include <pbl/services/notifications/alerts_preferences.h>
#include <stdbool.h>

Data Structures

struct  DoNotDisturbSchedule
 Daily DND period, in local time. More...
 

Enumerations

enum  DoNotDisturbScheduleType { WeekdaySchedule , WeekendSchedule , NumDNDSchedules }
 Schedule selector. More...
 
enum  ManualDNDFirstUseSource { ManualDNDFirstUseSourceActionMenu = 0 , ManualDNDFirstUseSourceSettingsMenu }
 Where manual DND was toggled from, matching the FirstUseSource values. More...
 

Functions

bool do_not_disturb_is_active (void)
 Check whether DND is in effect.
 
bool do_not_disturb_is_manually_enabled (void)
 Check whether manual DND is on.
 
void do_not_disturb_set_manually_enabled (bool enable)
 Set the manual DND state.
 
void do_not_disturb_toggle_manually_enabled (ManualDNDFirstUseSource source)
 Toggle manual DND, showing the first use dialog the first time.
 
bool do_not_disturb_is_smart_dnd_enabled (void)
 Check whether calendar-aware (smart) DND is enabled.
 
void do_not_disturb_toggle_smart_dnd (void)
 Toggle smart DND, showing the first use dialog the first time.
 
void do_not_disturb_get_schedule (DoNotDisturbScheduleType type, DoNotDisturbSchedule *schedule_out)
 Get a DND schedule.
 
void do_not_disturb_set_schedule (DoNotDisturbScheduleType type, DoNotDisturbSchedule *schedule)
 Set a DND schedule and re-evaluate the DND state.
 
bool do_not_disturb_is_schedule_enabled (DoNotDisturbScheduleType type)
 Check whether a DND schedule is enabled.
 
void do_not_disturb_set_schedule_enabled (DoNotDisturbScheduleType type, bool scheduled)
 Enable or disable a DND schedule and re-evaluate the DND state.
 
void do_not_disturb_toggle_scheduled (DoNotDisturbScheduleType type)
 Toggle a DND schedule and re-evaluate the DND state.
 
void do_not_disturb_init (void)
 Initialize the DND service and arm the schedule timers.
 
void do_not_disturb_handle_clock_change (void)
 Re-evaluate the schedule after the wall clock or timezone changed.
 
void do_not_disturb_handle_pref_synced (void)
 Handle a DND state preference (manual, smart or schedule) written by phone sync.
 
void do_not_disturb_handle_calendar_event (PebbleCalendarEvent *e)
 Re-evaluate smart DND after a calendar event.
 
void do_not_disturb_manual_toggle_with_dialog (void)
 Push the manual DND toggle prompt, which sets manual DND to the opposite state.