Exemple #1
0
static void
run_demo(struct demo_gui *gui, struct gui_input *input)
{
    struct control_window *control = &gui->control;
    struct show_window *show = &gui->show;

    gui->running = update_control(control, &gui->stack, input, &gui->config);
    if (show->hook.flags & GUI_PANEL_ACTIVE)
        show->hook.flags = control->show_flags|GUI_PANEL_ACTIVE;
    else show->hook.flags = control->show_flags;
    update_show(show, &gui->stack, input, gui->ms);
    if (show->hook.flags & GUI_PANEL_HIDDEN)
        control->show_flags |= GUI_PANEL_HIDDEN;
}
Exemple #2
0
static void inbox_received_handler(DictionaryIterator *iter, void *context) {
  LOG("Inbox received...");
  JS_ready = true;
  Tuple *tuple_t;
  bool new_data_from_config_page = dict_find(iter, KEY_CONFIG_DATA);
  tuple_t= dict_find(iter, KEY_TIMESTAMP);
  uint32_t inbox_timestamp = tuple_t ? tuple_t->value->int32 : 0;

  if (new_data_from_config_page || inbox_timestamp > data_timestamp)  {
    data_timestamp=inbox_timestamp;
    tuple_t=dict_find(iter, KEY_VERSION);     stored_version = (tuple_t) ? tuple_t->value->int32 : 1;
    tuple_t=dict_find(iter, KEY_SHOW_CLOCK);  if (tuple_t && settings.Show_clock != (tuple_t->value->int8 > 0) ) main_menu_toggle_clock();
    tuple_t=dict_find(iter, KEY_AUTO_SORT);   if (tuple_t) settings.Auto_sort = tuple_t->value->int8 > 0;
    tuple_t=dict_find(iter, KEY_HRS_PER_DAY); if (tuple_t) settings.Hrs_day_x10 = tuple_t->value->int32;
    tuple_t=dict_find(iter, KEY_LAST_RESET); if (tuple_t) settings.Last_reset = tuple_t->value->int32;
    
    tuple_t=dict_find(iter,KEY_TIMER);
    if (tuple_t) {
      memcpy(&timer, tuple_t->value->data, tuple_t->length);
      tick_timer_service_subscribe(MINUTE_UNIT + SECOND_UNIT, handle_ticktimer_tick);
    } else {
      timer.Active = false;
    }
    jobs_delete_all_jobs();
    jobs_list_read_dict(iter, KEY_JOBS, stored_version);
    main_menu_update();
    main_menu_highlight_top();
    if (stored_version < CURRENT_STORAGE_VERSION) {
      update_show(stored_version);
      stored_version = CURRENT_STORAGE_VERSION;
    }
    main_save_data();
  } else if (inbox_timestamp < data_timestamp) {
    send_settings_to_phone();
  }
  
  LOG("Inbox processed.");
}