From 0e3104f72325601ae0944ab6b8417cc7e48441fb Mon Sep 17 00:00:00 2001 From: cheng Date: Thu, 22 Aug 2024 21:19:52 +0800 Subject: [PATCH] schedule file --- .../nativeui/schedule/include/ScheduleData.h | 38 +++++++++ .../nativeui/schedule/include/ScheduleModel.h | 20 ++--- .../nativeui/schedule/src/ScheduleModel.cpp | 81 +++++++++---------- .../schedule/src/SchedulePresenter.cpp | 4 +- .../ble_service/blemoder/CMakeLists.txt | 1 + .../service/ble_service/blemoder/bletest.cpp | 55 +++++++++---- 6 files changed, 124 insertions(+), 75 deletions(-) create mode 100644 code/sdk/application/wearable/fd230app/nativeui/schedule/include/ScheduleData.h diff --git a/code/sdk/application/wearable/fd230app/nativeui/schedule/include/ScheduleData.h b/code/sdk/application/wearable/fd230app/nativeui/schedule/include/ScheduleData.h new file mode 100644 index 000000000..56dd43a5a --- /dev/null +++ b/code/sdk/application/wearable/fd230app/nativeui/schedule/include/ScheduleData.h @@ -0,0 +1,38 @@ + +#ifndef __SCHEDULEDATA_H__ +#define __SCHEDULEDATA_H__ + +// #include "ohos_types.h" +#include + +#ifdef __cplusplus +#if __cplusplus +extern "C" { +#endif +#endif + +namespace OHOS +{ + typedef struct + { + std::string date; // 7/8 + std::string topic; // xxxx + std::string time; //10:30-14:00 + std::string content; // yyyyyyy + }ScheduleRevData; + + #define SCHEDULE_DATA_COUNT_MAX (20) + + void C_ScheduleSetByApp(ScheduleRevData * data, uint8_t index, bool is_finish); + int C_ScheduleDataReadFromFile(); + int C_ScheduleDataWriteToFile(); +} + + +#ifdef __cplusplus +#if __cplusplus +} +#endif +#endif + +#endif \ No newline at end of file diff --git a/code/sdk/application/wearable/fd230app/nativeui/schedule/include/ScheduleModel.h b/code/sdk/application/wearable/fd230app/nativeui/schedule/include/ScheduleModel.h index 44e53e79d..9811d711b 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/schedule/include/ScheduleModel.h +++ b/code/sdk/application/wearable/fd230app/nativeui/schedule/include/ScheduleModel.h @@ -4,28 +4,18 @@ #include "ohos_types.h" #include "schedule/include/ScheduleListItem.h" +#include "schedule/include/ScheduleData.h" namespace OHOS { - typedef struct - { - std::string date; // 7/8 - std::string topic; // xxxx - std::string time; //10:30-14:00 - std::string content; // yyyyyyy - }ScheduleRevData; - - #define SCHEDULE_DATA_COUNT_MAX (20) - - class ScheduleModel { public: static ScheduleModel &GetInstance(void); - uint8_t ScheduleDataInfoSet(void); bool ScheduleDataIsEmpty(void); ScheduleListItemInfo * ScheduleDataInfoGet(void); + uint8_t ScheduleDataItemCountGet(void); std::string ScheduleInfoDateStrGet(uint8_t index); std::string ScheduleInfoTopicStrGet(uint8_t index); @@ -34,16 +24,18 @@ namespace OHOS void ScheduleSetByApp(ScheduleRevData * data, uint8_t index, bool is_finish); - void ScheduleDataToInfo(void); - private: ScheduleModel(); ~ScheduleModel(); ScheduleModel(const ScheduleModel &) = delete; ScheduleModel &operator=(const ScheduleModel &) = delete; + void ScheduleDataItemCountSet(uint8_t count); + void ScheduleDataToInfo(void); + ScheduleRevData ScheduleRevData_[SCHEDULE_DATA_COUNT_MAX] = {nullptr, nullptr, nullptr, nullptr}; ScheduleListItemInfo ScheduleDataInfo_[SCHEDULE_DATA_COUNT_MAX*2] = {nullptr, nullptr, nullptr, nullptr, 0, false, 0, 0}; + uint8_t ItemCount_{0}; }; } diff --git a/code/sdk/application/wearable/fd230app/nativeui/schedule/src/ScheduleModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/schedule/src/ScheduleModel.cpp index 1d5d7c061..145b4a63b 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/schedule/src/ScheduleModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/schedule/src/ScheduleModel.cpp @@ -20,51 +20,22 @@ namespace OHOS return instance; } - static ScheduleListItemInfo t_data[10] = { - {"10-10", "date00", "a", "a", 0, true, 4, 0}, - {"10-10", "date000", "05:05", "jkguqpfhklal", 0, false, 0, 0}, - {"10-10", "date000", "06:06", "dalguqpfhklal", 0, false, 0, 1}, - {"10-10", "date002", "07:07", "atzdflal", 0, false, 0, 2}, - {"10-10", "date003", "08:08", "gjqpljkal", 0, false, 0, 3}, - - {"10-18", "date01", "b", "b", 0, true, 2, 0}, - {"10-18", "date011", "09:09", "qpfal", 0, false, 0, 0}, - {"10-18", "date011", "10:10", "tttccccccckgl", 0, false, 0, 1}, - - {"11-30", "date02", "c", "c", 0, true, 1, 0}, - {"11-30", "date020", "11:11", "qyq4100000fg21al", 0, false, 0, 0} - }; - - uint8_t ScheduleModel::ScheduleDataInfoSet(void) + bool ScheduleModel::ScheduleDataIsEmpty(void) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScheduleModel::ScheduleDataInfoSet 00"); - uint8_t count = 0; - - for(uint8_t i = 0; i < 10; i++) - { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[%d]:ScheduleModel::ScheduleDataInfoSet", __LINE__); - ScheduleDataInfo_[i].DateStr.assign(t_data[i].DateStr); - ScheduleDataInfo_[i].TopicStr.assign(t_data[i].TopicStr); - ScheduleDataInfo_[i].TimeStr.assign(t_data[i].TimeStr); - ScheduleDataInfo_[i].DataStr.assign(t_data[i].DataStr); - - ScheduleDataInfo_[i].index = t_data[i].index; - ScheduleDataInfo_[i].is_date_item = t_data[i].is_date_item; - ScheduleDataInfo_[i].child_num = t_data[i].child_num; - ScheduleDataInfo_[i].child_index = t_data[i].child_index; - } - - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScheduleModel::ScheduleDataInfoSet 10"); + if(0 == ItemCount_) + return true; + + return false; + } - return count; + uint8_t ScheduleModel::ScheduleDataItemCountGet(void) + { + return ItemCount_; } - bool ScheduleModel::ScheduleDataIsEmpty(void) + void ScheduleModel::ScheduleDataItemCountSet(uint8_t count) { - if(ScheduleDataInfo_[0].DateStr.length()) - return false; - - return true; + ItemCount_ = count; } ScheduleListItemInfo * ScheduleModel::ScheduleDataInfoGet(void) @@ -94,6 +65,8 @@ namespace OHOS void ScheduleModel::ScheduleSetByApp(ScheduleRevData * data, uint8_t index, bool is_finish) { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScheduleModel::ScheduleSetByApp,%d,%d", index, is_finish); + ScheduleRevData_[index].date.assign(data->date); ScheduleRevData_[index].topic.assign(data->topic); ScheduleRevData_[index].time.assign(data->time); @@ -107,15 +80,16 @@ namespace OHOS void ScheduleModel::ScheduleDataToInfo(void) { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScheduleModel::ScheduleDataToInfo"); uint8_t i = 0; uint8_t j = 0; uint8_t count = 0; memset(ScheduleDataInfo_, 0x0, sizeof(ScheduleListItemInfo) * SCHEDULE_DATA_COUNT_MAX*2); - count = 0; + count = 1; - for(i = 0, j = 0; i < count, j < SCHEDULE_DATA_COUNT_MAX * 2; i++) + for(i = 0, j = 0; i < count; i++) { if(0 == i) { @@ -161,7 +135,30 @@ namespace OHOS ScheduleDataInfo_[j].child_index = 0; } } + + if((SCHEDULE_DATA_COUNT_MAX * 2) <= j) + { + break; + } } + + ScheduleDataItemCountSet(j + 1); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScheduleModel::ScheduleDataToInfo,%d,%s", j, ScheduleDataInfo_[0].DateStr.c_str()); } + + void C_ScheduleSetByApp(ScheduleRevData * data, uint8_t index, bool is_finish) + { + ScheduleModel::GetInstance().ScheduleSetByApp(data, index, is_finish); + } + + int C_ScheduleDataReadFromFile() + { + return 0; + } + + int C_ScheduleDataWriteToFile() + { + return 0; + } } diff --git a/code/sdk/application/wearable/fd230app/nativeui/schedule/src/SchedulePresenter.cpp b/code/sdk/application/wearable/fd230app/nativeui/schedule/src/SchedulePresenter.cpp index c831d33ce..a9040959e 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/schedule/src/SchedulePresenter.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/schedule/src/SchedulePresenter.cpp @@ -39,8 +39,6 @@ namespace OHOS { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SchedulePresenter::OnStart"); Presenter::OnStart(); - - ScheduleModel_->ScheduleDataInfoSet(); } // 页面已经展示后的调用逻辑 @@ -54,7 +52,7 @@ namespace OHOS } ScheduleListItemInfo * ItemInfo = ScheduleModel_->ScheduleDataInfoGet(); - for (uint8_t i = 0; i < 10; i++) + for (uint8_t i = 0; i < ScheduleModel_->ScheduleDataItemCountGet(); i++) { view_->AddItemToList(ItemInfo[i]); } diff --git a/code/sdk/application/wearable/service/ble_service/blemoder/CMakeLists.txt b/code/sdk/application/wearable/service/ble_service/blemoder/CMakeLists.txt index b345bf896..a48e9f423 100644 --- a/code/sdk/application/wearable/service/ble_service/blemoder/CMakeLists.txt +++ b/code/sdk/application/wearable/service/ble_service/blemoder/CMakeLists.txt @@ -37,6 +37,7 @@ ${ROOT_DIR}/application/wearable/fd230app/nativeui/set_dial/include ${ROOT_DIR}/application/wearable/fd230app/nativeui/aivoice/include ${ROOT_DIR}/application/wearable/fd230app/nativeui/alarm/include ${ROOT_DIR}/application/wearable/fd230app/nativeui/musicplayer/include +${ROOT_DIR}/application/wearable/fd230app/nativeui/schedule/include #/home/hcj/FD230/code/sdk/application/wearable/fd230app/nativeui/alarm/include/AlarmClockModel.h #/home/hcj/FD230/code/sdk/middleware/services/media/foundation/player/interfaces/kits/player.h diff --git a/code/sdk/application/wearable/service/ble_service/blemoder/bletest.cpp b/code/sdk/application/wearable/service/ble_service/blemoder/bletest.cpp index dd0dd712b..a83924f14 100644 --- a/code/sdk/application/wearable/service/ble_service/blemoder/bletest.cpp +++ b/code/sdk/application/wearable/service/ble_service/blemoder/bletest.cpp @@ -82,6 +82,7 @@ extern "C" { #include #include #include "power_display_service.h" +#include "ScheduleData.h" #define before_file_day 30 @@ -99,26 +100,48 @@ bool is_first_pair(void) bool Ble_Set_ScheduleInfo(uint8_t id,uint32_t timetamp_begin,uint32_t timetamp_end,char *title,char *data) { - OHOS::ScheduleInfo info; - info.id=id; - info.timetamp_begin=timetamp_begin; - info.timetamp_end=timetamp_end; - info.titel.clear(); - info.content.clear(); - info.titel.append(title,strlen(title)+1); - info.content.append(data,strlen(data)+1); - printf("///////////////////日程数据////////////////////\r\n"); - printf("id:%d\r\n",info.id); - printf("timetamp_begin:%d\r\n",info.timetamp_begin); - printf("timetamp_end:%d\r\n",info.timetamp_end); - printf("titel:%s\r\n",info.titel.c_str()); - printf("content:%s\r\n",info.content.c_str()); + OHOS::ScheduleRevData info_; + + info_.topic.clear(); + info_.content.clear(); + info_.topic.append(title,strlen(title)+1); + info_.content.append(data,strlen(data)+1); + time_t currtime=timetamp_begin; + struct tm *timeinfo; + timeinfo = localtime(&currtime); + int y=timeinfo->tm_year+ 1900; + int m=timeinfo->tm_mon+1; + int d=timeinfo->tm_mday; + int h=timeinfo->tm_hour; + int min=timeinfo->tm_min; + char day_buf[24]={0}; + sprintf_s(day_buf,24,"%d/%d",m,d); + info_.date.clear(); + info_.date.append(day_buf,strlen(day_buf)+1); + + currtime=timetamp_end; + timeinfo = localtime(&currtime); + + int h_=timeinfo->tm_hour; + int min_=timeinfo->tm_min; + char time_buf[24]={0}; + sprintf_s(time_buf,24,"%02d:%02d-%02d:%02d",h,min,h_,min_); + info_.time.clear(); + info_.time.append(time_buf,strlen(time_buf)+1); + + printf("///////////////////日程数据////////////////////\r\n"); + printf("date:%s\r\n",info_.date.c_str()); + printf("time:%s\r\n",info_.time.c_str()); + printf("titel:%s\r\n",info_.topic.c_str()); + printf("content:%s\r\n",info_.content.c_str()); printf("//////////////////////////////////////////////\r\n"); - return true; + //printf("delete_before_file now day%d %d %d\r\n ",y,m,d); - + OHOS::C_ScheduleSetByApp(&info_, id - 1, false); + + return true; } -- 2.17.1