static void shutdown_timeout(void * para);
void alarm_set_shutdwon_alarm(app_adaptor_alarm_t * alarm, uint8_t count);
static void shutdown_prepare_destory(lv_obj_t * activity_obj);
--
/**********************
* GLOBAL FUNCTIONS
***********************/
alarms[i].min = nv_alarm.alarm_info[i].min;
alarms[i].repeat_bitmap = nv_alarm.alarm_info[i].repeat_bitmap;
}
--
++
/* set recent alarm to rtc */
alarm_set_recent_to_rtc(alarms);
#endif
void alarm_set_alarm_by_ui(app_adaptor_alarm_t * alarm, uint8_t count)
{
alarm_set_alarm(alarm, count);
--
++ mmi_protocol_fzd_action_UP_REMIND(alarm,NV_ALARM_MAX_ALARM_NUM_t);
//indicate alarm to APP
if(alarm_ind_func) {
alarm_ind_func(alarm, count);
}
}
++
void alarm_set_alarm_by_ui_shutdwon(app_adaptor_alarm_t * alarm, uint8_t count)
{
alarm_set_shutdwon_alarm(alarm, count);
app_adaptor_alarm_t * alarm_get_alarm(void)
{
-- uint32_t size = sizeof(app_adaptor_alarm_t) * NV_ALARM_MAX_ALARM_NUM;
++ uint32_t size = sizeof(app_adaptor_alarm_t) * NV_ALARM_MAX_ALARM_NUM_t;
app_adaptor_alarm_t *alarm = (app_adaptor_alarm_t *)Hal_Mem_Alloc(size);
-- memcpy(alarm, alarms, size);
++
++ for(uint8_t i = 0; i < NV_ALARM_MAX_ALARM_NUM_t; i++)
++ {
++ Hal_Mem_Copy(&alarm[i], alarms + i+2, sizeof(app_adaptor_alarm_t));
++
++ }
return alarm;
}
lv_img_set_src(img_add, ICON_PLUS);
lv_obj_add_style(btn_add, LV_BTN_PART_MAIN, &lv_style_transp_tight);
if(LV_BIDI_DIR_RTL == lv_obj_get_base_dir(btn_add)) {
-- lv_obj_align(btn_add, NULL, LV_ALIGN_IN_TOP_LEFT, 0, 0);
++ lv_obj_align(btn_add, NULL, LV_ALIGN_IN_TOP_LEFT, -25, 10);
} else {
-- lv_obj_align(btn_add, NULL, LV_ALIGN_IN_TOP_RIGHT, 0, 0);
++ lv_obj_align(btn_add, NULL, LV_ALIGN_IN_TOP_RIGHT,-25, 10);
}
lv_obj_set_event_cb(btn_add, alarm_list_add_btn_action);
if(min_index >= 0)
{
//add to list
-- if(((alarm[min_index].repeat_bitmap) & 0x0f00)==0)
-- {
-- alarm_list_add(list, alarm, min_index);
-- //not empty
-- t_is_empty = false;
-- }
-- Hal_Mem_Set(&alarm[min_index], 0, sizeof(app_adaptor_alarm_t));
++ if(((alarm[min_index].repeat_bitmap) & 0x0f00)==0)
++ {
++ alarm_list_add(list, alarm, min_index);
++ //not empty
++ t_is_empty = false;
++ }
++ Hal_Mem_Set(&alarm[min_index], 0, sizeof(app_adaptor_alarm_t));
//clear min index
--
}
}
Hal_Mem_Free(alarm);
min_index = i;
for (uint8_t j = i + 1; j < NV_ALARM_MAX_ALARM_NUM; j++) {
-- if ((1 == alarm[j].valid) && ((alarm[j].hour * 60 + alarm[j].min) < (alarm[min_index].hour * 60 + alarm[min_index].min))) {
++ if ((1 == alarm[j].valid) && ((alarm[j].hour * 60 + alarm[j].min) < (alarm[min_index].hour * 60 + alarm[min_index].min)) && (alarm[min_index].repeat_bitmap) & 0x0f00==0) {
min_index = j;
}
}
lv_page_glue_obj(btn, true);
lv_obj_add_protect(btn, LV_PROTECT_PRESS_LOST);
++ //lv_obj_set_event_cb(btn, alarm_list_edit_btn_action);
#ifdef __MMI_ZHSX_SUPPORT__
lv_obj_set_event_cb(btn, NULL);
#else
//set alarm
app_adaptor_alarm_t *alarm = alarm_get_alarm();
alarm[index].on_off = on_off;
-- alarm_set_alarm_by_ui(alarm, NV_ALARM_MAX_ALARM_NUM);
++ alarm_set_alarm_by_ui(alarm, NV_ALARM_MAX_ALARM_NUM_t);
Hal_Mem_Free(alarm);
}
}
lv_alarm_list_obj_ext_t * ext = alarm_list_get_ext();
-- if(lv_list_get_size(ext->list) >= 5) {
++ if(lv_list_get_size(ext->list) >= 3) {
printf("%s: 5 alarms at most\n", __FUNCTION__);
alarm_list_add_exceed_max_create(lv_obj_get_parent(obj));
return;
alarm[alarm_curr.index].on_off = 1;
alarm[alarm_curr.index].hour = alarm_curr.hour;
alarm[alarm_curr.index].min = alarm_curr.min;
-- alarm_set_alarm_by_ui(alarm, NV_ALARM_MAX_ALARM_NUM);
++ alarm_set_alarm_by_ui(alarm, NV_ALARM_MAX_ALARM_NUM_t);
++
Hal_Mem_Free(alarm);
}
} else if ((ALARM_ADD_SET_REPEAT == type) || (ALARM_EDIT_SET_REPEAT == type)){
//set repeat bitmap
alarm_curr.repeat_bitmap = 0;
-- for(uint8_t i = 0; i < 7; i++) {
-- if(lv_obj_get_state(ext->btn_week[i], LV_BTN_PART_MAIN) & LV_STATE_CHECKED) {
++ for(uint8_t i = 0; i < 7; i++)
++ {
++ if(lv_obj_get_state(ext->btn_week[i], LV_BTN_PART_MAIN) & LV_STATE_CHECKED)
++ {
alarm_curr.repeat_bitmap |= (1 << i);
}
}
app_adaptor_alarm_t *alarm = alarm_get_alarm();
if(ALARM_ADD_SET_REPEAT == type) {
-- for(uint8_t i = 0; i < NV_ALARM_MAX_ALARM_NUM; i++) {
++ for(uint8_t i = 0; i < NV_ALARM_MAX_ALARM_NUM_t; i++) {
if(0 == alarm[i].valid) { //get the first free index
alarm[i].valid = 1;
alarm[i].on_off = 1;
alarm[alarm_curr.index].repeat_bitmap = alarm_curr.repeat_bitmap;
}
-- alarm_set_alarm_by_ui(alarm, NV_ALARM_MAX_ALARM_NUM);
++ alarm_set_alarm_by_ui(alarm, NV_ALARM_MAX_ALARM_NUM_t);
Hal_Mem_Free(alarm);
}
-- if(ALARM_ADD_SET_TIME == type) {
++ if(ALARM_ADD_SET_TIME == type)
++ {
//del 'set time' UI
lv_obj_del(lv_obj_get_parent(par));
alarm_set_repeat_create(watch_obj);
alarm_opt_create(watch_obj);
-- } else {
-- if (ALARM_ADD_SET_REPEAT == type) {
++ }
++ else
++ {
++ if (ALARM_ADD_SET_REPEAT == type)
++ {
//del 'alarm add' UI
lv_obj_t *activity_obj = lv_watch_get_activity_obj(ACT_ID_ALARM_ADD);
if(activity_obj) {
//recreate 'alarm list' UI
alarm_list_create(lv_watch_get_activity_obj(ACT_ID_ALARM_LIST));
-- } else {
++ }
++ else {
//recreate 'alarm edit' UI
alarm_edit_create(lv_watch_get_activity_obj(ACT_ID_ALARM_EDIT));
static lv_obj_t * alarm_edit_create(lv_obj_t * activity_obj)
{
++
if(activity_obj == NULL) {
lv_watch_activity_ext_t activity_ext;
memset(&activity_ext, 0, sizeof(lv_watch_activity_ext_t));
lv_img_set_src(img_del, ICON_ALBUM_DELETE_BLUE); // ICON_IMGVIEWER_DELETE_BLUE);
lv_obj_add_style(btn_del, LV_BTN_PART_MAIN, &lv_style_transp_tight);
if(LV_BIDI_DIR_RTL == lv_obj_get_base_dir(btn_del)) {
-- lv_obj_align(btn_del, NULL, LV_ALIGN_IN_TOP_LEFT, 0, 0);
++ lv_obj_align(btn_del, obj, LV_ALIGN_IN_TOP_LEFT, -15, 20);
} else {
-- lv_obj_align(btn_del, NULL, LV_ALIGN_IN_TOP_RIGHT, 0, 0);
++ lv_obj_align(btn_del, obj, LV_ALIGN_IN_TOP_RIGHT, -15, 20);
}
lv_obj_set_event_cb(btn_del, alarm_edit_del_btn_action);
//set alarm
app_adaptor_alarm_t *alarm = alarm_get_alarm();
Hal_Mem_Set(&alarm[alarm_curr.index], 0, sizeof(app_adaptor_alarm_t));
-- alarm_set_alarm_by_ui(alarm, NV_ALARM_MAX_ALARM_NUM);
++ alarm_set_alarm_by_ui(alarm, NV_ALARM_MAX_ALARM_NUM_t);
Hal_Mem_Free(alarm);
//del 'alarm edit' UI
static bool mmi_protocol_fzd_send_with_data(MMI_PROTOCOL_FZD_ACTION_ENUM action, unsigned char * content_buff, int content_lenth);
++void mmi_protocol_fzd_action_UP_REMIND(app_adaptor_alarm_t *alarm,uint_8 count)
++{
++
++ MMI_PROTOCOL_FZD_ACTION_ENUM action = MMI_FZD_SEND_UP_REMIND;
++ char content_buff[128]={0};
++ unsigned int content_lenth = 0;
++ //app_adaptor_alarm_t *alarm = alarm_get_alarm();
++ int send_t[3]={0};
++ char send_buf[3][8]={{0},{0},{0}};
++ int flag_1=1;
++ int flag_2=1;
++ for(uint8_t i = 0; i < count; i++) {
++ flag_1=1;
++ flag_2=1;
++ for(int j=0;j<7;j++)
++ {
++ if(((alarm[i].repeat_bitmap >> j) & 0x01))
++ {
++ send_buf[i][j]='1';
++ flag_1=0;
++ }
++ else
++ {
++ send_buf[i][j]='0';
++ flag_2=0;
++ }
++ }
++ if(flag_1==0 && flag_1==0)
++ {
++ send_t[i]=3;
++ }
++ else if(flag_1==1)
++ {
++ send_t[i]=1;
++ }
++ else if(flag_2==1)
++ {
++ send_t[i]=2;
++ }
++ send_buf[i][7]='\0';
++
++ }
++ /*??:[XT*334588000000156*0018*UP_REMIND,] "08:10-1-1,08:10-1-2,08:10-1-3-0111110"*/
++ char buf[128]={0};
++ sprintf(buf,"%02d:%02d-%d-%d-%s",alarm[0].hour,alarm[0].min,alarm[0].valid,alarm[0].on_off,send_buf[0]);
++ printf("%d\n",strlen(buf));
++ sprintf(content_buff,
++ ",%02d:%02d-%d-%d-%s,%02d:%02d-%d-%d-%s,%02d:%02d-%d-%d-%s",
++ alarm[0].hour,alarm[0].min,alarm[0].on_off,send_t[0],send_buf[0],
++ alarm[1].hour,alarm[1].min,alarm[1].on_off,send_t[1],send_buf[1],
++ alarm[2].hour,alarm[2].min,alarm[2].on_off,send_t[2],send_buf[2]
++ );
++ content_lenth =strlen(content_buff);
++
++ printf("up_data:%d,%s\n",content_lenth,content_buff);
++ mmi_protocol_fzd_send_with_data(action, content_buff,content_lenth);
++ //lv_mem_free(content_buff);
++
++
++}
++
//
// XX*IMEI*LEN*ACTION