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)
{
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;
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");
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)
{
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
\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
\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
//弹窗界面\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
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
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
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
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
{\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
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
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
}\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
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