void process_tuple(Tuple *t) { int key = t->key; int value = t->value->uint8; char string_value[256]; strcpy(string_value, t->value->cstring); switch(key) { case OK: if (value == 1) { load = true; layer_set_hidden((Layer *)slide_start, true); set_slide(0); } break; case CPU: strcat(cpu, string_value); text_layer_set_text(cpu_text_layer, (char *) &cpu); break; case MEMORY: strcat(memory, string_value); text_layer_set_text(memory_text_layer, (char *) &memory); break; case MEMORY_P: progress_bar_layer_set_value(memory_bar, value); break; case SWAP: strcat(swap, string_value); text_layer_set_text(swap_text_layer, (char *) &swap); break; case SWAP_P: progress_bar_layer_set_value(swap_bar, value); break; case SDCARD: strcat(sdcard, string_value); text_layer_set_text(sdcard_text_layer, (char *) &sdcard); break; case SDCARD_P: progress_bar_layer_set_value(root_bar, value); break; case NET: strcat(net, string_value); text_layer_set_text(network_text_layer, (char *) &net); break; case VERSION: strcat(version, string_value); text_layer_set_text(version_text_layer, (char *) &version); break; } }
static void in_received_handler(DictionaryIterator *iter, void *context) { Tuple *title_tuple = dict_find(iter, KEY_TITLE); Tuple *status_tuple = dict_find(iter, KEY_STATUS); Tuple *volume_tuple = dict_find(iter, KEY_VOLUME); Tuple *seek_tuple = dict_find(iter, KEY_SEEK); if (title_tuple) { text_layer_set_text(title_layer, title_tuple->value->cstring); } if (status_tuple) { text_layer_set_text(status_layer, status_tuple->value->cstring); action_bar_layer_set_icon(action_bar, BUTTON_ID_SELECT, (strcmp(status_tuple->value->cstring, "Playing") == 0) ? action_icon_pause : action_icon_play); } if (volume_tuple) { static char vol[5]; snprintf(vol, sizeof(vol), "%d%%", volume_tuple->value->int16); text_layer_set_text(volume_layer, vol); progress_bar_layer_set_value(volume_bar, volume_tuple->value->int16); } if (seek_tuple) { progress_bar_layer_set_value(seek_bar, seek_tuple->value->int16); } }
//Handles API returns : gives you current program name, elapsed time since start and duration {"1":"Program Name","2":elapsed,"3":duration} void http_success(int32_t request_id, int http_status, DictionaryIterator* received, void* context) { if (request_id != HTTP_COOKIE) { return; } Tuple* tuple1 = dict_find(received, 1); Tuple* tuple2 = dict_find(received, 2); Tuple* tuple3 = dict_find(received, 3); DURATION = tuple3->value->int32; ELAPSED = tuple2->value->int32; progress_bar_layer_set_range(&progress_bar, 0, DURATION); progress_bar_layer_set_value(&progress_bar, ELAPSED); text_layer_set_text(&programlayer,tuple1->value->cstring); REFRESH = false; }
void handle_minute_tick(AppContextRef ctx, PebbleTickEvent *t) { (void)ctx; (void)t; // update our current time get_time(&g_Now); // formant and render the date string on the date layer string_format_time(_DATE_BUFFER, _DATE_BUF_LEN, DATE_FORMAT, &g_Now); text_layer_set_text(&g_DateLayer, _DATE_BUFFER); ELAPSED +=1; progress_bar_layer_set_value(&progress_bar, ELAPSED); //if it is time to get next program or previosu httprequest failed, get the current program if((ELAPSED>=DURATION)||REFRESH) { get_current_program(); } }