Merge #123 into xts_origin from refs/changes/123/head 124/target/1 126/target/1
author邓雪英 <1731678236@qq.com>
Mon, 6 May 2024 02:25:58 +0000 (02:25 +0000)
committersnickersun@163.com <accounts_62b90f7fcf51ade33b6f628e@mail.teambition.com>
Mon, 6 May 2024 02:25:58 +0000 (02:25 +0000)
Code review from 邓雪英

* refs/changes/123/head: (6 commits squashed)

  -  解析协议相关内容

  - Merge branch &#39;xts_origin&#39; of codeup.aliyun.com:64191456b9581d62e8f81ac0/FD230 into xts_origin

  - Merge branch &#39;xts_origin&#39; of codeup.aliyun.com:64191456b9581d62e8f81ac0/FD230 into xts_origin

  - 查找手表弹窗对接协议已完成:声音与振动ui对接已完成 屏幕参数已完成

  - Merge branch &#39;xts_origin&#39; of codeup.aliyun.com:64191456b9581d62e8f81ac0/FD230 into xts_origin

  - 还原文件修改bug

Signed-off-by: d15521469561 <1731678236@qq.com>
Reviewed-by: snickersun@163.com <accounts_62b90f7fcf51ade33b6f628e@mail.teambition.com>
Merged-by: snickersun@163.com <accounts_62b90f7fcf51ade33b6f628e@mail.teambition.com>
link: https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230/change/123
code/sdk/application/wearable/service/ble_service/blemoder/bletest.cpp
code/sdk/application/wearable/service/ble_service/blemoder/bletest.h
code/sdk/application/wearable/service/ble_service/bleservice/bleEvent.c
code/sdk/application/wearable/service/broadcast/src/broadcast_implement.c
code/sdk/application/wearable/service/msg_center/src/msg_center_customer.cpp [changed mode: 0755->0644]
code/sdk/application/wearable/service/msg_center/src/notify/findwatch_notification.cpp

index 36fdbb4..05014b1 100644 (file)
@@ -257,6 +257,71 @@ void set_traning_heart_max(uint8_t data)
     p_ConfigModel->set_condigData_Int(OHOS::ConfigModel::CONFIGMODEL_ITEM_TRAINING_HEART_MAX,data);
     return;
 }
+void set_brigthness(uint8_t data) //设置屏幕亮度
+{
+    OHOS::ConfigModel *p_ConfigModel  =  OHOS::ConfigModel::GetInstance();
+    p_ConfigModel->SetBrightness(data);
+    return;
+}
+
+int get_brigthness(void) //获取屏幕亮度
+{
+    OHOS::ConfigModel *p_ConfigModel  =  OHOS::ConfigModel::GetInstance();
+    
+    return p_ConfigModel->GetBrightness();
+}
+void set_ScreenDuration(int data) //设置亮屏时长
+{
+    OHOS::ConfigModel *p_ConfigModel  =  OHOS::ConfigModel::GetInstance();
+    p_ConfigModel->SetScreenDuration(data);
+    return;
+}
+
+int get_ScreenDuration(void) //获取亮屏时长
+{
+    OHOS::ConfigModel *p_ConfigModel  =  OHOS::ConfigModel::GetInstance();
+    
+    return p_ConfigModel->GetScreenDuration();
+}
+void Set_RaiseToWake(bool value) //抬婉亮屏开关 
+{
+    OHOS::ConfigModel *p_ConfigModel  =  OHOS::ConfigModel::GetInstance();
+    p_ConfigModel->SetRaiseToWake(value);
+    return;
+}
+
+int Get_RaiseToWake(void) //获取抬婉亮屏开关 
+{
+    OHOS::ConfigModel *p_ConfigModel  =  OHOS::ConfigModel::GetInstance();
+    
+    return p_ConfigModel->GetRaiseToWake();
+}
+void Set_SystemVolume(int value) //设置系统音量
+{
+    OHOS::ConfigModel *p_ConfigModel  =  OHOS::ConfigModel::GetInstance();
+    p_ConfigModel->SetSystemVolume(value);
+    return;
+}
+
+int Get_SystemVolume(void) //获取系统音量
+{
+    OHOS::ConfigModel *p_ConfigModel  =  OHOS::ConfigModel::GetInstance();
+    
+    return p_ConfigModel->GetSystemVolume();
+}
+void Set_CallVolume(int value) //设置铃声和媒体音量
+{
+    OHOS::ConfigModel *p_ConfigModel  =  OHOS::ConfigModel::GetInstance();
+    p_ConfigModel->SetCallVolume(value);
+    return;
+}
+
+int Get_CallVolume(void) //获取铃声和媒体音量
+{
+    OHOS::ConfigModel *p_ConfigModel  =  OHOS::ConfigModel::GetInstance();
+    
+    return p_ConfigModel->GetCallVolume();
+}
 
 uint8_t ble_is_ready(void)
 {
@@ -335,7 +400,7 @@ void read_message_data(void)
     char path[100];
     uint32_t data_len = 0;
     char *str_data = get_message_dir_path();
-    sprintf(path,"%s%s",str_data,ANCS_DATA_CJSON);
+    sprintf(path,"%s/%s",str_data,ANCS_DATA_CJSON);
     printf("buf file %s\n",path);
     FILE *jsfile = fopen(path, "r");
     cJSON *data_root;
@@ -373,7 +438,6 @@ void read_message_data(void)
                     cJSON *time = NULL;
                     cJSON *hasCode = NULL;
                     cJSON *read_t = NULL;
-                    cJSON *detialJSON = cJSON_CreateObject();
                     object = cJSON_GetArrayItem(dataList,i);//1 0 
                     uid_t = cJSON_GetObjectItem(object, "uid");
                     appid_t = cJSON_GetObjectItem(object, "appid_t");
@@ -382,29 +446,36 @@ void read_message_data(void)
                     time = cJSON_GetObjectItem(object, "time");
                     hasCode = cJSON_GetObjectItem(object, "hasCode");
                     read_t = cJSON_GetObjectItem(object, "read");
-                    message_infor_s.message_t[count - 1- i].uid = uid_t->valueint;//
-                    message_infor_s.message_t[count - 1- i].appid = appid_t->valueint;
-                    if(strlen(title_buf->valuestring) == 0)
+                    message_infor_s.message_t[i].uid = uid_t->valueint;//
+                    message_infor_s.message_t[i].appid = appid_t->valueint;
+                    if(strlen(title_buf->valuestring) != 0)//10 
                     {
-                        memcpy(message_infor_s.message_t[count - 1- i].title,title_buf->valuestring,strlen(title_buf->valuestring));
+                        memcpy(message_infor_s.message_t[i].title,title_buf->valuestring,strlen(title_buf->valuestring));
                     }else{
-                        memset(message_infor_s.message_t[count - 1- i].title,0,TITLE_BUF_LEN);
+                        memset(message_infor_s.message_t[i].title,0,TITLE_BUF_LEN);
 
                     }
+                    printf("message_infor_s.message_t[i].title:%s",message_infor_s.message_t[i].title);
 
-                    if(strlen(msg_buf->valuestring) == 0)
+                    if(strlen(msg_buf->valuestring) != 0)
                     {
-                        memcpy(message_infor_s.message_t[count - 1- i].msg,msg_buf->valuestring,strlen(msg_buf->valuestring));
+                        memcpy(message_infor_s.message_t[i].msg,msg_buf->valuestring,strlen(msg_buf->valuestring));
                     }else{
-                        memset(message_infor_s.message_t[count - 1- i].msg,0,MSG_BUF_LEN);
+                        memset(message_infor_s.message_t[i].msg,0,MSG_BUF_LEN);
                     }
-                    message_infor_s.message_t[count - 1- i].time = time->valueint;
-                    message_infor_s.message_t[count - 1- i].hasCode = hasCode->valueint;
-                    message_infor_s.message_t[count - 1- i].read = read_t->valueint;
+                    printf("message_infor_s.message_t[count - 1- i].msg:%s",message_infor_s.message_t[i].msg);
+                    message_infor_s.message_t[i].time = time->valueint;
+                    message_infor_s.message_t[i].hasCode = hasCode->valueint;
+                    message_infor_s.message_t[i].read = read_t->valueint;
                }
             }
         }
     }
+    printf("message_infor_s.num%d\r\n",message_infor_s.num); //2 1 0
+    for(uint8_t i = message_infor_s.num-1;i > 0 ;i--)
+    {
+        printf("message_infor_s:title %s msg :%s\r\n",message_infor_s.message_t[i].title,message_infor_s.message_t[i].msg);
+    }
 }
 message_infor_t *get_message_info(void)
 {
index fe9dbe3..72ea3a2 100644 (file)
@@ -63,55 +63,76 @@ extern "C"
 #define MAX_MESSAGE_NUM 10
 #define TITLE_BUF_LEN 256
 #define MSG_BUF_LEN 301
-    struct ancs_data_info_t
-    {
-        uint32_t time;             // 时间戳
-        int uid;                   // uid 消息唯一编号
-        int appid;                 // 消息类型:1:微信 2:QQ 3:短信 4:其他
-        char title[TITLE_BUF_LEN]; // 消息发送者
-        char msg[MSG_BUF_LEN];     // 消息内容
-        int hasCode;               // 消息hash code
-        int read;                  // 是否已读 0 未读 1 已读
-    };
+struct ancs_data_info_t
+{
+    uint32_t time;//时间戳 
+    int uid;//uid 消息唯一编号
+    int appid;//消息类型:1:微信 2:QQ 3:短信 4:其他
+    char title[TITLE_BUF_LEN];//消息发送者
+    char msg[MSG_BUF_LEN];//消息内容
+    int hasCode;//消息hash code
+    int read;//是否已读 0 未读 1 已读
+};
+
+struct message_infor_t
+{
+    uint8_t num;
+    struct ancs_data_info_t message_t[MAX_MESSAGE_NUM];
+};
 
-    struct message_infor_t
-    {
-        uint8_t num;
-        struct ancs_data_info_t message_t[MAX_MESSAGE_NUM];
-    };
-    void set_weather_now_data(int humidity, char *windScale, char *textNight, int uvIndex, int temp, int iconNight);
+void read_message_data(void);//读内存信息数据开机读一次
+struct message_infor_t *get_message_info(void);
+void set_weather_now_data(int humidity, char* windScale, char* textNight,int uvIndex,int temp,int iconNight);
+
+void set_weather_address_data(int lat, char* atm, char* city,char* subLocality,int lon);
+void set_weather_one_data(int tempMin, int iconDay,int fxDate, int tempMax, char *textDay,int x);
+
+uint8_t ble_is_ready(void);
+void set_ble_falg(bool falg);
+uint8_t ble_is_connect_ready(void);
+char *addressbook(void);
+void addressbookToRead(char*);
+void  addressbookTowrite(void);
+const char *get_health_data_path(void);
+void add_addressbookToRead(char *data);
+
+void set_user_data(msg_user_info_t data);
+
+int get_goal_stepcount(void);
+
+int get_vibrationremiander(void);
+
+int get_SilentMode(void);
+
+void set_goal_stepcount(uint32_t step);
+
+void set_vibrationremiander(uint8_t falg);
 
-    void set_weather_address_data(int lat, char *atm, char *city, char *subLocality, int lon);
-    void set_weather_one_data(int tempMin, int iconDay, int fxDate, int tempMax, char *textDay, int x);
+void set_brigthness(uint8_t data); //设置屏幕亮度
 
-    uint8_t ble_is_ready(void);
-    void set_ble_falg(bool falg);
-    uint8_t ble_is_connect_ready(void);
-    char *addressbook(void);
-    void addressbookToRead(char *);
-    void addressbookTowrite(void);
-    const char *get_health_data_path(void);
-    void add_addressbookToRead(char *data);
+int get_brigthness(void); //获取屏幕亮度
 
-    void set_user_data(msg_user_info_t data);
+void set_ScreenDuration(int data); //设置亮屏时长
 
-    int get_goal_stepcount(void);
+int get_ScreenDuration(void); //获取亮屏时长
 
-    int get_vibrationremiander(void);
+void Set_RaiseToWake(bool value); //抬婉亮屏开关 
 
-    int get_SilentMode(void);
+int Get_RaiseToWake(void); //获取抬婉亮屏开关 
 
-    void set_goal_stepcount(uint32_t step);
+void Set_SystemVolume(int value); //设置系统音量
+int Get_SystemVolume(void); //获取系统音量
 
-    void set_vibrationremiander(uint8_t falg);
+void Set_CallVolume(int value); //设置铃声和媒体音量
+int Get_CallVolume(void); //获取铃声和媒体音量
 
-    void set_SilentMode(uint8_t falg);
-    /*设置自动获取实时数据开关*/
-    void set_traning_updata_auto(uint8_t traingauto);
-    /*设置获取实时训练数据频率*/
-    void set_traning_updata_freq(uint8_t freq);
-    /*设置训练最高心率*/
-    void set_traning_heart_max(uint8_t data);
+void set_SilentMode(uint8_t falg);
+/*设置自动获取实时数据开关*/
+void set_traning_updata_auto(uint8_t traingauto);
+/*设置获取实时训练数据频率*/
+void set_traning_updata_freq(uint8_t freq);
+/*设置训练最高心率*/
+void set_traning_heart_max(uint8_t data);
 
 #ifdef __cplusplus
 #if __cplusplus
index 878d300..9de5c89 100644 (file)
@@ -148,8 +148,6 @@ int ble_recv_msg_callback(uint8_t writ_read,uint16_t msg_typeID, uint8_t *msg_da
                 break;\r
 \r
             case USER_INFOR_CMD:\r
-                // memset(&user_info,0,sizeof(user_info));\r
-                // memcpy(&user_info,msg_data,sizeof(user_info));\r
                 set_user_data(user_info);\r
                 break;\r
 \r
@@ -1434,18 +1432,42 @@ void GetWatchLcdParamCmd(uint16_t cmd,uint8_t *crcnum,uint16_t len,uint8_t *tota
 \r
        if(Check_CRC(crcnum,len,crcvalue))\r
        {\r
-        ble_recv_msg_callback_t func =  ble_recv_get_send_msg_callback_func();\r
-        memset(&watch_lcd_param,0,sizeof(msg_watch_lcd_param_info_t));\r
-        \r
-        // printf("drink_info:%d %d %d\r\n",drink_info.drink_on,drink_info.alarm_mode,drink_info.start_hour);\r
-        watch_lcd_param.brigntess = crcnum[0];\r
-        watch_lcd_param.screen_time = crcnum[1];\r
-        watch_lcd_param.wrist_on = crcnum[2];\r
-        if(func != NULL)\r
+        uint8_t type = crcnum[0];\r
+        if(type == 0)//只设置屏幕亮度\r
+        {\r
+            uint8_t brightness = crcnum[1];\r
+            set_brigthness(brightness);\r
+        }else if(type == 1)//设置亮屏时长 抬碗亮屏\r
         {\r
-            func(WRITE_FLASH_DATA,cmd,&watch_lcd_param,sizeof(msg_watch_lcd_param_info_t));\r
+            uint8_t screen_type = crcnum[1];//ms级别\r
+            int screen_time = 5*1000;\r
+            switch (screen_type)\r
+            {\r
+                case 0:\r
+                    screen_time = 5*1000;\r
+                    break;\r
+                case 1:\r
+                    screen_time = 10*1000;\r
+                    break;\r
+                case 2:\r
+                    screen_time = 15*1000;\r
+                    break;\r
+                case 3:\r
+                    screen_time = 30*1000;\r
+                    break;\r
+                case 4:\r
+                    screen_time = 60*1000;\r
+                    break;\r
+                case 5:\r
+                    screen_time = 60*5*1000;\r
+                    break;\r
+                default:\r
+                    break;\r
+            }\r
+            bool raise = crcnum[2];\r
+            set_ScreenDuration(screen_time);\r
+            Set_RaiseToWake(raise);\r
         }\r
-        \r
         sendBuf[17] = 1;\r
         sendBuf[18] = Calculate_CRC(sendBuf,18);\r
         sendBleData(sendBuf,19);\r
@@ -1477,30 +1499,33 @@ void GetVoiceVibrateParamCmd(uint16_t cmd,uint8_t *crcnum,uint16_t len,uint8_t *
 \r
        if(Check_CRC(crcnum,len,crcvalue))\r
        {\r
-        ble_recv_msg_callback_t func =  ble_recv_get_send_msg_callback_func();\r
-        memset(&voice_vibration,0,sizeof(msg_get_voice_vibration_info_t));\r
-        if(func != NULL)\r
-        {\r
-            func(READ_FLASH_DATA,cmd,&voice_vibration,sizeof(msg_get_voice_vibration_info_t));\r
-        }\r
-        // printf("drink_info:%d %d %d\r\n",drink_info.drink_on,drink_info.alarm_mode,drink_info.start_hour);\r
+       \r
         uint8_t type = crcnum[0];\r
         if(type == 0)//只改变系统音量参数 其他还是保持不变 按照原来的参数\r
         {\r
-            voice_vibration.sys_volume = crcnum[1];\r
+            int sys_volume = crcnum[1];\r
+            Set_SystemVolume(sys_volume);\r
+\r
         }else if(type == 1)//只改变铃声音量参数 其他还是保持不变 按照原来的参数\r
         {\r
-            voice_vibration.ring_volume = crcnum[1];\r
-        }else if(type == 2)//只改变铃声和振动开关\r
+            int ring_volume = 0;\r
+            ring_volume = crcnum[1];\r
+            Set_CallVolume(ring_volume);\r
+\r
+        }else if(type == 2)//只改变媒体音量\r
         {\r
-            voice_vibration.bell_on = crcnum[1];\r
-            voice_vibration.vibrate_on = crcnum[2];\r
+            int ring_volume = 0;\r
+            ring_volume = crcnum[1];\r
+            Set_CallVolume(ring_volume);\r
         }\r
-        if(func != NULL)\r
+        else if(type == 3)//只改变铃声和振动开关\r
         {\r
-            func(WRITE_FLASH_DATA,cmd,&voice_vibration,sizeof(msg_get_voice_vibration_info_t));\r
+            int bell_on = crcnum[1];\r
+            int vibrate_on = crcnum[2];\r
+            set_SilentMode(bell_on);\r
+            set_vibrationremiander(vibrate_on);\r
         }\r
-        \r
+\r
         sendBuf[17] = 1;\r
         sendBuf[18] = Calculate_CRC(sendBuf,18);\r
         sendBleData(sendBuf,19);\r
@@ -2206,11 +2231,12 @@ static void findWatchCmd(uint16_t cmd,uint8_t *crcnum,uint16_t len,uint8_t *tota
         //弹窗界面\r
         if(findFlag)//查找手表弹窗界面\r
         {\r
-\r
+            CustomEventPublish(TOPIC_EVENT_FIND_WATCH,NULL,0);\r
         }else//停止查找手表 如果在查找手表界面就要停止回到上一级界面\r
         {\r
-\r
+            CustomEventPublish(TOPIC_EVENT_CANCEL_FIND_WATCH,NULL,0);\r
         }\r
+        setFindWatchFlag(1);\r
     }else\r
     {\r
         setFindWatchFlag(0);\r
@@ -2783,16 +2809,36 @@ static void GetScreenParamCmd(uint16_t cmd,uint8_t *crcnum,uint16_t len,uint8_t
     memcpy(value+11,&tmp,4);\r
     memcpy(value+15,&tmp_data,2);\r
 \r
-    ble_recv_msg_callback_t func =  ble_recv_get_send_msg_callback_func();\r
-    memset(&watch_lcd_param,0,sizeof(msg_watch_lcd_param_info_t));\r
-    \r
-    if(func != NULL)\r
+    int brigntess = get_brigthness();\r
+    int screen_time = 0;\r
+    switch (get_ScreenDuration()/1000)\r
     {\r
-        func(READ_FLASH_DATA,cmd,&watch_lcd_param,sizeof(msg_watch_lcd_param_info_t));\r
-    }//读设备内存\r
-    value[17] = watch_lcd_param.brigntess;\r
-    value[18] = watch_lcd_param.screen_time;\r
-    value[19] = watch_lcd_param.wrist_on;\r
+        case 5:\r
+            screen_time = 0;\r
+            break;\r
+        case 10:\r
+            screen_time = 1;\r
+            break;\r
+        case 15:\r
+            screen_time = 2;\r
+            break;\r
+        case 30:\r
+            screen_time = 3;\r
+            break;\r
+        case 60:\r
+            screen_time = 4;\r
+            break;\r
+        case 60*5:\r
+            screen_time = 5;\r
+            break;\r
+        default:\r
+            screen_time = 0;\r
+            break;\r
+    }\r
+    bool wrist_on = Get_RaiseToWake();\r
+    value[17] = brigntess;\r
+    value[18] = screen_time;\r
+    value[19] = wrist_on;\r
     value[20] = Calculate_CRC(value,20);\r
     sendBleData(value,21);\r
 }\r
@@ -2846,26 +2892,19 @@ static void GetSoundVibrationCmd(uint16_t cmd,uint8_t *crcnum,uint16_t len,uint8
     memcpy(value+15,&tmp_data,2);\r
     if(Check_CRC(crcnum,len,crcvalue))\r
     {\r
-        memset(&voice_vibration,0,sizeof(msg_get_voice_vibration_info_t));\r
-        // uint8_t sysSoundLevel = 0;//系统音量调节\r
-        // uint8_t sysRing = 0;//铃声音量调节\r
-        // uint8_t sysMedia = 0;//媒体音量调节\r
-        // uint8_t RingSwitch = 0;//铃声开关\r
-        // uint8_t VibiationSwitch = 0;//振动开关\r
-        ble_recv_msg_callback_t func =  ble_recv_get_send_msg_callback_func();\r
-        memset(&voice_vibration,0,sizeof(msg_get_voice_vibration_info_t));\r
-        \r
-        // printf("drink_info:%d %d %d\r\n",drink_info.drink_on,drink_info.alarm_mode,drink_info.start_hour);\r
-        \r
-        if(func != NULL)\r
-        {\r
-            func(READ_FLASH_DATA,cmd,&voice_vibration,sizeof(msg_get_voice_vibration_info_t));\r
-        }\r
-        value[17] = voice_vibration.sys_volume;// \r
-        value[18] = voice_vibration.ring_volume;// \r
-        value[19] = voice_vibration.media_volume;// \r
-        value[20] = voice_vibration.bell_on;//\r
-        value[21] = voice_vibration.vibrate_on;// \r
+       \r
+        int sys_volume = Get_SystemVolume();\r
+        int ring_volume = Get_CallVolume();\r
+        int media_volume = Get_CallVolume();\r
+        uint8_t vibrate_on = get_vibrationremiander();\r
+\r
+        bool bell_on = get_SilentMode();\r
+\r
+        value[17] = sys_volume;// \r
+        value[18] = ring_volume;// \r
+        value[19] = media_volume;// \r
+        value[20] = bell_on;//\r
+        value[21] = vibrate_on;// \r
         value[22] = Calculate_CRC(value,22);\r
         sendBleData(value,23);\r
     }else\r
@@ -4260,7 +4299,7 @@ void message_data(int uid,int appid,char *title,char *msg,int hasCode)
         return;\r
     }\r
     char *str_data = get_message_dir_path();\r
-    sprintf(path,"%s%s",str_data,ANCS_DATA_CJSON);\r
+    sprintf(path,"%s/%s",str_data,ANCS_DATA_CJSON);\r
     printf("creat file %s\n",path);\r
     FILE *jsfile = fopen(path, "r");\r
     cJSON *data_root;\r
@@ -4280,11 +4319,13 @@ void message_data(int uid,int appid,char *title,char *msg,int hasCode)
         data_root= cJSON_Parse(jsonData);\r
         // data_root = cJSON_GetObjectItem(modifiedJson,"infor");\r
         free(jsonData);\r
+\r
     }else{\r
         data_root = cJSON_Parse("{\\r
         \"infor\": [\\r
         ]}");\r
     }\r
+\r
     cJSON *dataJSON = cJSON_CreateObject();\r
 \r
     cJSON *detialJSON = cJSON_CreateObject();\r
@@ -4296,22 +4337,30 @@ void message_data(int uid,int appid,char *title,char *msg,int hasCode)
     {\r
         timeBuf = 0;\r
     }\r
+    \r
     cJSON_AddNumberToObject(itemJSON,"uid",uid);\r
+   \r
     cJSON_AddNumberToObject(itemJSON,"appid_t",appid);//消息类型 微信 qq 等看结构体或者协议定义\r
+   \r
     cJSON_AddStringToObject(itemJSON,"title",title);//消息发送者\r
+    \r
     cJSON_AddStringToObject(itemJSON,"msg",msg);//消息内容\r
+  \r
     cJSON_AddNumberToObject(itemJSON,"time",timeBuf);//时间戳\r
+   \r
     cJSON_AddNumberToObject(itemJSON,"hasCode",hasCode);//暂时不需要预留接口\r
+    \r
     cJSON_AddBoolToObject(itemJSON,"read",false);//是否已读 false未读 1 已读默认存的时候已经未读\r
+    \r
     cJSON *dataList = cJSON_GetObjectItem(data_root, "infor");\r
     if (dataList != NULL && cJSON_IsArray(dataList))\r
     {\r
         int numData = cJSON_GetArraySize(dataList);\r
         if(numData >= MAX_MESSAGE_NUM)//大于20条就循环迭代显示并保存数据 \r
         {\r
-            for (uint8_t i = MAX_MESSAGE_NUM-1; i > 0; i--)//2-1 1 0\r
+            for (uint8_t i = 0; i < MAX_MESSAGE_NUM-1; i++)//2-1 1 0\r
             {\r
-                // printf("ancs !!!!!!!!!!!!\r\n");\r
+                // printf("ancs !!!!!!!!!!!! i:%d\r\n",i);\r
                 cJSON *object = NULL;\r
                 cJSON *uid = NULL;\r
                 cJSON *appid_t = NULL;\r
@@ -4322,7 +4371,7 @@ void message_data(int uid,int appid,char *title,char *msg,int hasCode)
                 cJSON *read = NULL;\r
                 cJSON* deitemJSON = cJSON_CreateObject();\r
                 cJSON *detialJSON = cJSON_CreateObject();\r
-                object = cJSON_GetArrayItem(dataList,i);//1 0 \r
+                object = cJSON_GetArrayItem(dataList,i+1);//9 9-18  0+1 9+1\r
                 uid = cJSON_GetObjectItem(object, "uid");\r
                 appid_t = cJSON_GetObjectItem(object, "appid_t");\r
                 title = cJSON_GetObjectItem(object, "title");\r
@@ -4338,7 +4387,7 @@ void message_data(int uid,int appid,char *title,char *msg,int hasCode)
                 cJSON_AddNumberToObject(deitemJSON,"time",time->valueint);//时间戳\r
                 cJSON_AddNumberToObject(deitemJSON,"hasCode",hasCode->valueint);//暂时不需要预留接口\r
                 cJSON_AddBoolToObject(deitemJSON,"read",read->valueint);//是否已读 false未读 1 已读默认存的时候已经未读\r
-                cJSON_ReplaceItemInArray(dataList, i-1, deitemJSON);\r
+                cJSON_ReplaceItemInArray(dataList, i, deitemJSON);// \r
             }\r
             cJSON_ReplaceItemInArray(dataList,MAX_MESSAGE_NUM-1, itemJSON);\r
         }else{\r
@@ -4347,17 +4396,18 @@ void message_data(int uid,int appid,char *title,char *msg,int hasCode)
     }\r
     char *jsonString = cJSON_Print(data_root);\r
     printf("ancs %s",jsonString);\r
-    FILE *file = fopen(path, "wb");\r
-    if (file)\r
+    FILE *fp = fopen(path, "wb");\r
+    if (fp)\r
     {\r
-        fwrite(jsonString, 1, strlen(jsonString), file);\r
-        fclose(file);\r
+        fwrite(jsonString, 1, strlen(jsonString), fp);\r
+        fclose(fp);\r
     }\r
     free(jsonString);\r
     if(path != NULL)\r
     {\r
         free(path);\r
     }\r
+    read_message_data();\r
 \r
 }\r
 \r
@@ -4421,9 +4471,9 @@ uint8_t jscheck_ancs(uint8_t *data)
         hasCode_t = hasCode->valueint;\r
     }\r
     cJSON_Delete(root);\r
-    message_data(uid_t,appid_t,title_c,msgBuf,hasCode);\r
-    if(title_c != NULL){\r
-        free(title_c);\r
+    message_data(uid_t,appid_t,titleBuf,msgBuf,hasCode_t);\r
+    if(titleBuf != NULL){\r
+        free(titleBuf);\r
     }\r
     if(msgBuf != NULL){\r
         free(msgBuf);\r
index 32517d7..81f9b4c 100755 (executable)
@@ -56,6 +56,8 @@ static const TopicToCore topicToCoreArray[] = {
     {TOPIC_EVENT_DEVICE_UNBIND,A_CORE_MASK, 1},
     {TOPIC_EVENT_DEVICE_UNBINDING_REQUEST,A_CORE_MASK, 1},
 #endif
+    {TOPIC_EVENT_FIND_WATCH,A_CORE_MASK, 1},//查找手表
+    {TOPIC_EVENT_CANCEL_FIND_WATCH,A_CORE_MASK, 1},
 #ifdef SUPPORT_CAT1_MODEM
     {TOPIC_EVENT_CAT1_INCOMMING, A_CORE_MASK, 1},
     {TOPIC_EVENT_CAT1_CALLCONNTED, A_CORE_MASK, 1},
index 61aa3bb..31657ab 100644 (file)
@@ -31,6 +31,7 @@
 #include <iostream>
 #include "ui_service.h"
 #include <graphic_service.h>
+#include "bleEvent.h"
 namespace OHOS
 {
     UIViewGroup *FindWatchGroupView{nullptr};
@@ -57,6 +58,9 @@ namespace OHOS
         UNUSED(event);
         if (&view == FindWatchButton) // 手表已找到
         {
+            #ifdef SUPPORT_BLE_SERVICE
+            setFindWatchFlag(2);//表示已找到手表
+            #endif
             FindWatchRingPlayStop();
             NotificationManager::GetInstance()->StopNotify();
             SetFindWatchNotifyFlag(false);