diff options
author | Alexey 'Cluster' Avdyukhin <ClusterM@users.noreply.github.com> | 2015-11-16 00:10:33 +0300 |
---|---|---|
committer | Alexey 'Cluster' Avdyukhin <ClusterM@users.noreply.github.com> | 2015-11-16 00:10:33 +0300 |
commit | bf1e6a927c0f2e5b8d46be85b921fd6634036df0 (patch) | |
tree | d23300797c9d92a49550cab2fedcd7cf6536a158 | |
parent | f002f41af96f9be01f6680b2d11a126546658912 (diff) |
-rw-r--r-- | appinfo.json | 8 | ||||
-rw-r--r-- | src/dembel.c | 74 | ||||
-rw-r--r-- | src/pebble-js-app.js | 10 |
3 files changed, 71 insertions, 21 deletions
diff --git a/appinfo.json b/appinfo.json index c80a825..303cc2f 100644 --- a/appinfo.json +++ b/appinfo.json @@ -1,7 +1,10 @@ { "appKeys": { "end_time": 1, - "start_time": 0 + "start_time": 0, + "text_ostalos": 3, + "text_otslujil": 2, + "text_uje": 4 }, "capabilities": [ "configurable" @@ -18,8 +21,7 @@ "aplite" ], "uuid": "3ac71f3b-063c-470a-b94b-cb09154adc78", - "versionCode": 1, - "versionLabel": "1.0", + "versionLabel": "1.1", "watchapp": { "watchface": true } diff --git a/src/dembel.c b/src/dembel.c index 0919caf..ff2abc4 100644 --- a/src/dembel.c +++ b/src/dembel.c @@ -2,6 +2,9 @@ static time_t start_time; static time_t end_time; +static char text_otslujul[128]; +static char text_ostalos[128]; +static char text_uje[128]; static Window *window; static TextLayer *time_layer; @@ -14,6 +17,9 @@ static float percent = 0; #define MSG_START_TIME 0 #define MSG_END_TIME 1 +#define MSG_TEXT_OTSLUJIL 2 +#define MSG_TEXT_OSTALOS 3 +#define MSG_TEXT_UJE 4 static void fucking_russian(int number, char* text, char* def, char* ending1, char* ending234) { @@ -67,18 +73,20 @@ static void handle_tick(struct tm *tick_time, TimeUnits units_changed) fucking_russian(left_days, den, "ней", "ень", "ня"); if (end_time > now) - text_layer_set_text(left_time_layer, "До дембеля осталось"); + text_layer_set_text(left_time_layer, text_ostalos); else - text_layer_set_text(left_time_layer, "Ты дембель уже"); + text_layer_set_text(left_time_layer, text_uje); snprintf(left_time_str, sizeof(left_time_str), "%d %s,\n%d %s\nи %d %s", left_days, den, left_hours, chas, left_mins, minut); text_layer_set_text(left_time_layer2, left_time_str); - percent = 100.0 * (now - start_time) / (end_time - start_time); + //APP_LOG(APP_LOG_LEVEL_DEBUG, "now = %d, start_time = %d, end_time = %d", (int)now, (int)start_time, (int)end_time); + percent = 100.0 * (now - start_time) / (end_time - start_time); + //APP_LOG(APP_LOG_LEVEL_DEBUG, "percent = %d", (int)percent); if (percent > 100) percent = 100; if (percent < 0) percent = 0; static char percent_str[200]; - snprintf(percent_str, sizeof(percent_str), "Ты отслужил %d.%02d%%", (int)percent, (int)(percent*100)%100); + snprintf(percent_str, sizeof(percent_str), "%s %d.%02d%%", text_otslujul, (int)percent, (int)(percent*100)%100); text_layer_set_text(percent_layer, percent_str); layer_mark_dirty(progress_layer); @@ -115,31 +123,65 @@ static void in_received_handler(DictionaryIterator *received, void *context) { end_time = tuple->value->int32; persist_write_int(MSG_END_TIME, end_time); } + tuple = dict_find(received, MSG_TEXT_OTSLUJIL); + if (tuple) { + strcpy(text_otslujul, tuple->value->cstring); + persist_write_string(MSG_TEXT_OTSLUJIL, text_otslujul); + } + tuple = dict_find(received, MSG_TEXT_OSTALOS); + if (tuple) { + strcpy(text_ostalos, tuple->value->cstring); + persist_write_string(MSG_TEXT_OSTALOS, text_ostalos); + } + tuple = dict_find(received, MSG_TEXT_UJE); + if (tuple) { + strcpy(text_uje, tuple->value->cstring); + persist_write_string(MSG_TEXT_UJE, text_uje); + } time_t now = time(NULL); handle_tick(localtime(&now), 0); } static void handle_init(void) { - struct tm tick_time; - tick_time.tm_year = 2014 - 1900; - tick_time.tm_mon = 12 - 1; - tick_time.tm_mday = 9; - tick_time.tm_hour = 12 - 1; - tick_time.tm_min = 0; - tick_time.tm_sec = 0; - start_time = mktime(&tick_time); - tick_time.tm_year = 2015 - 1900; - end_time = mktime(&tick_time); + time_t rawtime; + time (&rawtime); + struct tm * tick_time; + tick_time = localtime(&rawtime); + tick_time->tm_year = 2014 - 1900; + tick_time->tm_mon = 12 - 1; + tick_time->tm_mday = 9; + tick_time->tm_hour = 12 - 1; + tick_time->tm_min = 0; + tick_time->tm_sec = 0; + start_time = mktime(tick_time); + tick_time = localtime(&rawtime); + tick_time->tm_year = 2015 - 1900; + tick_time->tm_mon = 12 - 1; + tick_time->tm_mday = 9; + tick_time->tm_hour = 12 - 1; + tick_time->tm_min = 0; + tick_time->tm_sec = 0; + end_time = mktime(tick_time); + strcpy(text_otslujul, "Ты отслужил"); + strcpy(text_ostalos, "До дембеля осталось"); + strcpy(text_uje, "Ты дембель уже"); + // Read stored settings if (persist_exists(MSG_START_TIME)) start_time = persist_read_int(MSG_START_TIME); if (persist_exists(MSG_END_TIME)) end_time = persist_read_int(MSG_END_TIME); - + if (persist_exists(MSG_TEXT_OTSLUJIL)) + persist_read_string(MSG_TEXT_OTSLUJIL, text_otslujul, sizeof(text_otslujul)); + if (persist_exists(MSG_TEXT_OSTALOS)) + persist_read_string(MSG_TEXT_OSTALOS, text_ostalos, sizeof(text_ostalos)); + if (persist_exists(MSG_TEXT_UJE)) + persist_read_string(MSG_TEXT_UJE, text_uje, sizeof(text_uje)); + // Open communication channel app_message_register_inbox_received(in_received_handler); - app_message_open(64, 64); + app_message_open(256, 256); // Create a window and text layer window = window_create(); diff --git a/src/pebble-js-app.js b/src/pebble-js-app.js index e5d12db..5e59f13 100644 --- a/src/pebble-js-app.js +++ b/src/pebble-js-app.js @@ -9,7 +9,10 @@ var options = { "config_end_month": 12, "config_end_day": 9, "config_end_hour": 12, - "config_end_min": 0 + "config_end_min": 0, + "config_text_ostalos": "До дембеля осталось", + "config_text_uje": "Ты дембель уже", + "config_text_otslujil": "Ты отслужил" }; function java_mktime(hour,minute,day,month,year) @@ -22,7 +25,10 @@ function send_config() { var config = { "start_time": java_mktime(options["config_start_hour"], options["config_start_min"], options["config_start_day"], options["config_start_month"], options["config_start_year"]), - "end_time": java_mktime(options["config_end_hour"], options["config_end_min"], options["config_end_day"], options["config_end_month"], options["config_end_year"]) + "end_time": java_mktime(options["config_end_hour"], options["config_end_min"], options["config_end_day"], options["config_end_month"], options["config_end_year"]), + "text_ostalos": options["config_text_ostalos"], + "text_uje": options["config_text_uje"], + "text_otslujil": options["config_text_otslujil"] }; Pebble.sendAppMessage(config); } |