added animation free time
parent
a87339364f
commit
fdd2addc72
|
@ -9,6 +9,9 @@
|
||||||
"large_mode": 0,
|
"large_mode": 0,
|
||||||
"leading_zero": 3,
|
"leading_zero": 3,
|
||||||
"monochrome": 10,
|
"monochrome": 10,
|
||||||
|
"nightsaver": 14,
|
||||||
|
"ns_start": 15,
|
||||||
|
"ns_stop": 16,
|
||||||
"number_base_color": 5,
|
"number_base_color": 5,
|
||||||
"number_variation": 6,
|
"number_variation": 6,
|
||||||
"ornament_base_color": 7,
|
"ornament_base_color": 7,
|
||||||
|
|
|
@ -35,7 +35,10 @@ Pebble.addEventListener('webviewclosed', function(e) {
|
||||||
monochrome: 0+(configData.monochrome === 'true'),
|
monochrome: 0+(configData.monochrome === 'true'),
|
||||||
center: 0+(configData.center === 'true'),
|
center: 0+(configData.center === 'true'),
|
||||||
btvibe: 0+(configData.btvibe === 'true'),
|
btvibe: 0+(configData.btvibe === 'true'),
|
||||||
contrast: 0+(configData.contrast === 'true')
|
contrast: 0+(configData.contrast === 'true'),
|
||||||
|
nightsaver: 0+(configData.nightsaver === 'true'),
|
||||||
|
ns_start: parseInt(configData.ns_start),
|
||||||
|
ns_stop: parseInt(configData.ns_stop)
|
||||||
}, function() {
|
}, function() {
|
||||||
console.log('Send successful!');
|
console.log('Send successful!');
|
||||||
}, function() {
|
}, function() {
|
||||||
|
|
|
@ -24,6 +24,10 @@ typedef struct {
|
||||||
bool center;
|
bool center;
|
||||||
bool btvibe;
|
bool btvibe;
|
||||||
bool contrast;
|
bool contrast;
|
||||||
|
bool nightsaver;
|
||||||
|
int ns_start;
|
||||||
|
int ns_stop;
|
||||||
|
|
||||||
} Preferences;
|
} Preferences;
|
||||||
|
|
||||||
Preferences curPrefs;
|
Preferences curPrefs;
|
||||||
|
@ -43,6 +47,9 @@ enum {
|
||||||
KEY_CENTER,
|
KEY_CENTER,
|
||||||
KEY_BTVIBE,
|
KEY_BTVIBE,
|
||||||
KEY_CONTRAST,
|
KEY_CONTRAST,
|
||||||
|
KEY_NIGHTSAVER,
|
||||||
|
KEY_NS_START,
|
||||||
|
KEY_NS_STOP,
|
||||||
};
|
};
|
||||||
|
|
||||||
#define PREFERENCES_KEY 0
|
#define PREFERENCES_KEY 0
|
||||||
|
@ -51,6 +58,9 @@ enum {
|
||||||
#define CENTER_DATE (curPrefs.center)
|
#define CENTER_DATE (curPrefs.center)
|
||||||
#define DISCONNECT_VIBRATION (curPrefs.btvibe)
|
#define DISCONNECT_VIBRATION (curPrefs.btvibe)
|
||||||
#define CONTRAST_WHILE_CHARGING (curPrefs.contrast)
|
#define CONTRAST_WHILE_CHARGING (curPrefs.contrast)
|
||||||
|
#define DISABLE_ANIM (curPrefs.nightsaver)
|
||||||
|
#define DISABLE_ANIM_START_TIME (curPrefs.ns_start)
|
||||||
|
#define DISABLE_ANIM_END_TIME (curPrefs.ns_stop)
|
||||||
#define NO_ZERO (!curPrefs.leading_zero) // true == replaces leading Zero for hour, day, month with a "cycler"
|
#define NO_ZERO (!curPrefs.leading_zero) // true == replaces leading Zero for hour, day, month with a "cycler"
|
||||||
#define TILE_SIZE PBL_IF_RECT_ELSE((curPrefs.large_mode ? 12 : 10), 10)
|
#define TILE_SIZE PBL_IF_RECT_ELSE((curPrefs.large_mode ? 12 : 10), 10)
|
||||||
#define INVERT (curPrefs.invert)
|
#define INVERT (curPrefs.invert)
|
||||||
|
@ -241,7 +251,7 @@ uint8_t combine_colors(uint8_t fg_color, uint8_t bg_color) {
|
||||||
#define ORIGIN_X PBL_IF_RECT_ELSE(((144 - TILES_X)/2), ((180 - TILES_X)/2))
|
#define ORIGIN_X PBL_IF_RECT_ELSE(((144 - TILES_X)/2), ((180 - TILES_X)/2))
|
||||||
#define ORIGIN_Y PBL_IF_RECT_ELSE((curPrefs.large_mode ? 1 : TILE_SIZE*1.5), (TILE_SIZE*2.2))
|
#define ORIGIN_Y PBL_IF_RECT_ELSE((curPrefs.large_mode ? 1 : TILE_SIZE*1.5), (TILE_SIZE*2.2))
|
||||||
|
|
||||||
static bool contrastmode = false, previous_contrastmode = false;
|
static bool contrastmode = false, previous_contrastmode = false, allow_animate = true;
|
||||||
|
|
||||||
static void handle_bluetooth(bool connected) {
|
static void handle_bluetooth(bool connected) {
|
||||||
if (DISCONNECT_VIBRATION && !connected) {
|
if (DISCONNECT_VIBRATION && !connected) {
|
||||||
|
@ -452,12 +462,37 @@ void handle_tick(struct tm *t, TimeUnits units_changed) {
|
||||||
mi = 15;
|
mi = 15;
|
||||||
da = 12;
|
da = 12;
|
||||||
mo = 3;
|
mo = 3;
|
||||||
|
ho = get_display_hour(t->tm_hour);
|
||||||
|
mi = t->tm_min;
|
||||||
|
da = t->tm_mday;
|
||||||
|
mo = t->tm_mon+1;
|
||||||
} else {
|
} else {
|
||||||
ho = get_display_hour(t->tm_hour);
|
ho = get_display_hour(t->tm_hour);
|
||||||
mi = t->tm_min;
|
mi = t->tm_min;
|
||||||
da = t->tm_mday;
|
da = t->tm_mday;
|
||||||
mo = t->tm_mon+1;
|
mo = t->tm_mon+1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
allow_animate = true;
|
||||||
|
if (DISABLE_ANIM) {
|
||||||
|
if (DISABLE_ANIM_START_TIME > DISABLE_ANIM_END_TIME) {
|
||||||
|
// across midnight
|
||||||
|
if (ho >= DISABLE_ANIM_START_TIME || ho < DISABLE_ANIM_END_TIME) {
|
||||||
|
allow_animate = false;
|
||||||
|
if (debug) {
|
||||||
|
APP_LOG(APP_LOG_LEVEL_INFO, "Hour %d was after %d and before %d", (int)ho, (int)DISABLE_ANIM_START_TIME , (int)DISABLE_ANIM_END_TIME );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// prior to midnight
|
||||||
|
if (ho >= DISABLE_ANIM_START_TIME && ho < DISABLE_ANIM_END_TIME) {
|
||||||
|
allow_animate = false;
|
||||||
|
if (debug) {
|
||||||
|
APP_LOG(APP_LOG_LEVEL_INFO, "Hour %d was after %d and before %d", (int)ho, (int)DISABLE_ANIM_START_TIME , (int)DISABLE_ANIM_END_TIME );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
for (i=0; i<NUMSLOTS; i++) {
|
for (i=0; i<NUMSLOTS; i++) {
|
||||||
slot[i].prevDigit = slot[i].curDigit;
|
slot[i].prevDigit = slot[i].curDigit;
|
||||||
|
@ -587,7 +622,7 @@ static void animateDigits(struct Animation *anim, const AnimationProgress normTi
|
||||||
int i;
|
int i;
|
||||||
for (i=0; i<NUMSLOTS; i++) {
|
for (i=0; i<NUMSLOTS; i++) {
|
||||||
if (slot[i].curDigit != slot[i].prevDigit) {
|
if (slot[i].curDigit != slot[i].prevDigit) {
|
||||||
slot[i].normTime = normTime;
|
if (allow_animate) { slot[i].normTime = normTime; }
|
||||||
layer_mark_dirty(slot[i].layer);
|
layer_mark_dirty(slot[i].layer);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -655,6 +690,9 @@ static void in_received_handler(DictionaryIterator *iter, void *context) {
|
||||||
Tuple *center_t = dict_find(iter, KEY_CENTER);
|
Tuple *center_t = dict_find(iter, KEY_CENTER);
|
||||||
Tuple *btvibe_t = dict_find(iter, KEY_BTVIBE);
|
Tuple *btvibe_t = dict_find(iter, KEY_BTVIBE);
|
||||||
Tuple *contrast_t = dict_find(iter, KEY_CONTRAST);
|
Tuple *contrast_t = dict_find(iter, KEY_CONTRAST);
|
||||||
|
Tuple *nightsaver_t = dict_find(iter, KEY_NIGHTSAVER);
|
||||||
|
Tuple *ns_start_t = dict_find(iter, KEY_NS_START);
|
||||||
|
Tuple *ns_stop_t = dict_find(iter, KEY_NS_STOP);
|
||||||
|
|
||||||
if (large_mode_t) {
|
if (large_mode_t) {
|
||||||
curPrefs.large_mode = large_mode_t->value->int8;
|
curPrefs.large_mode = large_mode_t->value->int8;
|
||||||
|
@ -698,6 +736,15 @@ static void in_received_handler(DictionaryIterator *iter, void *context) {
|
||||||
if (contrast_t) {
|
if (contrast_t) {
|
||||||
curPrefs.contrast = contrast_t->value->int8;
|
curPrefs.contrast = contrast_t->value->int8;
|
||||||
}
|
}
|
||||||
|
if (nightsaver_t) {
|
||||||
|
curPrefs.nightsaver = nightsaver_t->value->int8;
|
||||||
|
}
|
||||||
|
if (ns_start_t) {
|
||||||
|
curPrefs.ns_start = ns_start_t->value->int8;
|
||||||
|
}
|
||||||
|
if (ns_stop_t) {
|
||||||
|
curPrefs.ns_stop = ns_stop_t->value->int8;
|
||||||
|
}
|
||||||
persist_write_data(PREFERENCES_KEY, &curPrefs, sizeof(curPrefs));
|
persist_write_data(PREFERENCES_KEY, &curPrefs, sizeof(curPrefs));
|
||||||
vibes_short_pulse();
|
vibes_short_pulse();
|
||||||
if (curPrefs.contrast == false) {
|
if (curPrefs.contrast == false) {
|
||||||
|
@ -753,6 +800,9 @@ static void init() {
|
||||||
.center = false,
|
.center = false,
|
||||||
.btvibe = false,
|
.btvibe = false,
|
||||||
.contrast = false,
|
.contrast = false,
|
||||||
|
.nightsaver = false,
|
||||||
|
.ns_start = 0,
|
||||||
|
.ns_stop = 6,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -770,7 +820,7 @@ static void init() {
|
||||||
// Setup app message
|
// Setup app message
|
||||||
app_message_register_inbox_received(in_received_handler);
|
app_message_register_inbox_received(in_received_handler);
|
||||||
app_message_register_inbox_dropped(in_dropped_handler);
|
app_message_register_inbox_dropped(in_dropped_handler);
|
||||||
app_message_open(150,0);
|
app_message_open(200,0);
|
||||||
|
|
||||||
tick_timer_service_subscribe(MINUTE_UNIT, handle_tick);
|
tick_timer_service_subscribe(MINUTE_UNIT, handle_tick);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue