表盤修改
author1 <1>
Tue, 26 Dec 2023 06:33:40 +0000 (14:33 +0800)
committer1 <1>
Tue, 26 Dec 2023 10:31:13 +0000 (18:31 +0800)
1  2 
2.sdk/sdk/gui/lv_watch/lv_apps/alarm/alarm.c
2.sdk/sdk/gui/lv_watch/lv_apps/alarm/alarm_set.c
2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_fzd.c
2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_fzd.h
2.sdk/sdk/gui/lv_watch/mmi_protocol/mmi_protocol_fzd_content.c

@@@ -36,7 -36,7 +36,6 @@@ void alarm_audio_ctrl_callback(AUDIO_CT
  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
  ***********************/
@@@ -243,7 -243,7 +242,7 @@@ void alarm_init(void
          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
@@@ -280,13 -280,13 +279,14 @@@ void alarm_shutdown(hal_rtc_t * poweron
  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;
  }
@@@ -116,9 -116,9 +116,9 @@@ lv_obj_t * alarm_list_create(lv_obj_t 
      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);
@@@ -255,7 -255,7 +254,7 @@@ static int8_t alarm_list_get_min_index(
              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;
                  }
              }
@@@ -297,6 -297,6 +296,7 @@@ static lv_obj_t * alarm_list_add(lv_obj
  
      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
@@@ -432,7 -432,7 +432,7 @@@ static void alarm_list_switch_action(lv
      //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);
  }
  
@@@ -443,7 -443,7 +443,7 @@@ static void alarm_list_add_btn_action(l
      }
  
      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;
@@@ -689,14 -689,14 +689,17 @@@ static void alarm_ok_btn_action(lv_obj_
              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));
  
@@@ -839,6 -839,6 +847,7 @@@ static void alarm_add_prepare_destory(l
  
  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);
  
@@@ -1002,7 -1002,7 +1011,7 @@@ static void alarm_edit_del_btn_action(l
      //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
@@@ -23,6 -23,6 +23,67 @@@ static bool mmi_protocol_fzd_send_witho
  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
@@@ -193,6 -193,6 +193,7 @@@ MMI_FZD_ACTION_HENGAI_SLEEP_DATA_TEST
  #endif
  #endif
        MMI_FZD_SERVER_SET_BOOTOFF,
++      MMI_FZD_SEND_UP_REMIND,
  
  /*******add before this line*******/
      MMI_FZD_ACTION_MAX
@@@ -126,6 -126,6 +126,7 @@@ static unsigned char * mmi_protocol_fzd
                        #endif
                #endif
                        {MMI_FZD_SERVER_SET_BOOTOFF, "BOOTOFF"},
++                      {MMI_FZD_SEND_UP_REMIND, "UP_REMIND"},
                
                /*******add before this line*******/
                        {MMI_FZD_ACTION_MAX, ""}, // MMI_FZD_ACTION_MAX