Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/ClusterM/pebble-my-data.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com>2014-10-17 00:14:29 +0400
committerAlexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com>2014-10-17 00:14:29 +0400
commit722a6aec7d97a45bd71d4a8f8259552c3ed8cd80 (patch)
treee9333deeef721d553646ae44cc782c8775053e8e
parentfa868035368f09c6f305b59807b20bef47ff04d2 (diff)
Some fixes
-rw-r--r--src/pebble-my-data.c24
1 files changed, 16 insertions, 8 deletions
diff --git a/src/pebble-my-data.c b/src/pebble-my-data.c
index a2d074f..a991287 100644
--- a/src/pebble-my-data.c
+++ b/src/pebble-my-data.c
@@ -161,10 +161,6 @@ static void request_update() {
// set timeout timer
timeout_timer = app_timer_register(REQUEST_TIMEOUT, request_timeout, NULL);
-
- // request again later?
- if (config_interval)
- schedule_update(config_interval*1000, MSG_PERIODIC_UPDATE);
}
// schedule request_update
@@ -172,6 +168,7 @@ static void schedule_update(uint32_t delay, uint8_t type) {
if (!update_in_progress) {
if (timeout_timer) {
app_timer_cancel(timeout_timer);
+ timeout_timer = NULL;
}
if (timer) {
@@ -185,9 +182,12 @@ static void schedule_update(uint32_t delay, uint8_t type) {
// reschedule update if data waiting timed out, also set update_error icon
static void request_timeout() {
- bitmap_layer_set_bitmap(update_icon_layer, update_error_icon_bitmap);
- update_in_progress = false;
- schedule_update(RETRY_DELAY, update_type);
+ if (update_in_progress)
+ {
+ bitmap_layer_set_bitmap(update_icon_layer, update_error_icon_bitmap);
+ update_in_progress = false;
+ schedule_update(RETRY_DELAY, update_type);
+ }
}
// draw digit on position layer
@@ -562,7 +562,11 @@ void in_received_handler(DictionaryIterator *received, void *context) {
} else if (msg_type_tuple->value->uint8 == MSG_JSON_RESPONSE) {
bitmap_layer_set_bitmap(update_icon_layer, empty_icon_bitmap); // hide update icon (layer_set_hidden function sometimes works strange)
update_in_progress = false;
-
+ if (timeout_timer) {
+ app_timer_cancel(timeout_timer);
+ timeout_timer = NULL;
+ }
+
Tuple *content_tuple = dict_find(received, KEY_CONTENT);
if (content_tuple) {
memcpy(content, content_tuple->value->cstring, strlen(content_tuple->value->cstring) + 1);
@@ -572,6 +576,10 @@ void in_received_handler(DictionaryIterator *received, void *context) {
uint8_t font = 0;
update_info_layer(content, font, scroll_offset, updown_beh);
}
+
+ // request again later?
+ if (config_interval)
+ schedule_update(config_interval*1000, MSG_PERIODIC_UPDATE);
}
}
}