void save_alarm(bool addToRing) { AlarmTime tempAlarmTime; //temp_alarm.enabled = cell_index->row==0; APP_LOG(APP_LOG_LEVEL_DEBUG, "Exiting alarm window"); if(temp_alarm.enabled) { APP_LOG(APP_LOG_LEVEL_DEBUG, "alarm ENABLED"); } else { APP_LOG(APP_LOG_LEVEL_DEBUG, "alarm DISABLED"); } // update timer, destroy windows //temp_alarm.enabled=true; if(!clock_is_24h_style()) { // convert hours and am/pm back APP_LOG(APP_LOG_LEVEL_DEBUG,"Hour before conversion is %d",temp_alarm.hour); if(s_is_am) { int hour = temp_alarm.hour; hour -= 12; if(hour<0) hour+=12; APP_LOG(APP_LOG_LEVEL_DEBUG,"Hour after conversion is %d",hour); temp_alarm.hour = hour; } else { temp_alarm.hour = ((temp_alarm.hour+12)%12) + 12; } } tempAlarmTime.hour = temp_alarm.hour; tempAlarmTime.minute = temp_alarm.minute; if(addToRing) alarm_ring_add(&tempAlarmTime); memcpy(current_alarm,&temp_alarm,sizeof(Alarm)); alarm_process(); }
void app_second(void) { if (!app_running) return; clock_process(); alarm_process(); }
int main() { struct device_state old_state; get_device_state(&old_state); if (screen_init() < 0) goto err1; ev_init(); led_init(); sleep(3); /* Set battery LED, initialize image, screen brightness */ power_event(1); screen_brightness_animation_start(); while (!quit) { int r, delay = alarm_get_time_until_next(); if (delay < 1) { alarm_process(); continue; } r = ev_get(delay); /* Press below keys will wake the display and repeat the display cycle: Power key, Volume up/down key, Camera key. Long press Power key will reboot the device. */ switch (r) { /* Power key */ case EVENT_POWER_KEY_DOWN: if (powerup) alarm_set_relative(power_key_alarm, NULL, 1000); break; case EVENT_POWER_KEY_UP: alarm_cancel(power_key_alarm); update_screen_on_wakeup_key(); break; /* Other keys */ case EVENT_VOLUMEDOWN_KEY_DOWN: update_screen_on_wakeup_key2(); break; case EVENT_VOLUMEUP_KEY_DOWN: update_screen_on_wakeup_key2(); break; case EVENT_CAMERA_KEY_DOWN: update_screen_on_wakeup_key2(); break; /* Battery events */ case EVENT_BATTERY: power_event(1); break; /* Others */ case EVENT_QUIT: quit = 1; break; default: break; } } led_uninit(); ev_exit(); screen_uninit(); return 0; err1: return -1; }