schedule file
authorcheng <chengyf@zhihuishixun.com>
Thu, 22 Aug 2024 13:19:52 +0000 (21:19 +0800)
committercheng <chengyf@zhihuishixun.com>
Thu, 22 Aug 2024 13:19:52 +0000 (21:19 +0800)
code/sdk/application/wearable/fd230app/nativeui/schedule/include/ScheduleData.h [new file with mode: 0644]
code/sdk/application/wearable/fd230app/nativeui/schedule/include/ScheduleModel.h
code/sdk/application/wearable/fd230app/nativeui/schedule/src/ScheduleModel.cpp
code/sdk/application/wearable/fd230app/nativeui/schedule/src/SchedulePresenter.cpp
code/sdk/application/wearable/service/ble_service/blemoder/CMakeLists.txt
code/sdk/application/wearable/service/ble_service/blemoder/bletest.cpp

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 (file)
index 0000000..56dd43a
--- /dev/null
@@ -0,0 +1,38 @@
+
+#ifndef __SCHEDULEDATA_H__
+#define __SCHEDULEDATA_H__
+
+// #include "ohos_types.h"
+#include <string>
+
+#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
index 44e53e7..9811d71 100644 (file)
@@ -4,28 +4,18 @@
 \r
 #include "ohos_types.h"\r
 #include "schedule/include/ScheduleListItem.h"\r
+#include "schedule/include/ScheduleData.h"\r
 \r
 \r
 namespace OHOS\r
 {\r
-    typedef struct\r
-    {\r
-        std::string date; // 7/8\r
-        std::string topic; // xxxx\r
-        std::string time; //10:30-14:00\r
-        std::string content; // yyyyyyy\r
-    }ScheduleRevData;\r
-\r
-    #define SCHEDULE_DATA_COUNT_MAX (20)\r
-\r
-    \r
     class ScheduleModel\r
     {\r
     public:\r
         static ScheduleModel &GetInstance(void);\r
-        uint8_t ScheduleDataInfoSet(void);\r
         bool ScheduleDataIsEmpty(void);\r
         ScheduleListItemInfo * ScheduleDataInfoGet(void);\r
+        uint8_t ScheduleDataItemCountGet(void);\r
 \r
         std::string ScheduleInfoDateStrGet(uint8_t index);\r
         std::string ScheduleInfoTopicStrGet(uint8_t index);\r
@@ -34,16 +24,18 @@ namespace OHOS
 \r
         void ScheduleSetByApp(ScheduleRevData * data, uint8_t index, bool is_finish);\r
 \r
-        void ScheduleDataToInfo(void);\r
-\r
     private:\r
         ScheduleModel();\r
         ~ScheduleModel();\r
         ScheduleModel(const ScheduleModel &) = delete;\r
         ScheduleModel &operator=(const ScheduleModel &) = delete;\r
 \r
+        void ScheduleDataItemCountSet(uint8_t count);\r
+        void ScheduleDataToInfo(void);\r
+\r
         ScheduleRevData ScheduleRevData_[SCHEDULE_DATA_COUNT_MAX] = {nullptr, nullptr, nullptr, nullptr};\r
         ScheduleListItemInfo ScheduleDataInfo_[SCHEDULE_DATA_COUNT_MAX*2] = {nullptr, nullptr, nullptr, nullptr, 0, false, 0, 0};\r
+        uint8_t ItemCount_{0};\r
     };\r
 }\r
 \r
index 1d5d7c0..145b4a6 100644 (file)
@@ -20,51 +20,22 @@ namespace OHOS
         return instance;\r
     }\r
 \r
-    static ScheduleListItemInfo t_data[10] = {\r
-                                        {"10-10", "date00", "a", "a", 0, true, 4, 0},\r
-                                        {"10-10", "date000", "05:05", "jkguqpfhklal", 0, false, 0, 0},\r
-                                        {"10-10", "date000", "06:06", "dalguqpfhklal", 0, false, 0, 1},\r
-                                        {"10-10", "date002", "07:07", "atzdflal", 0, false, 0, 2},\r
-                                        {"10-10", "date003", "08:08", "gjqpljkal", 0, false, 0, 3},\r
-\r
-                                        {"10-18", "date01", "b", "b", 0, true, 2, 0},\r
-                                        {"10-18", "date011", "09:09", "qpfal", 0, false, 0, 0},\r
-                                        {"10-18", "date011", "10:10", "tttccccccckgl", 0, false, 0, 1},\r
-\r
-                                        {"11-30", "date02", "c", "c", 0, true, 1, 0},\r
-                                        {"11-30", "date020", "11:11", "qyq4100000fg21al", 0, false, 0, 0}        \r
-                                    };\r
-\r
-    uint8_t ScheduleModel::ScheduleDataInfoSet(void)\r
+    bool ScheduleModel::ScheduleDataIsEmpty(void)\r
     {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScheduleModel::ScheduleDataInfoSet 00");\r
-        uint8_t count = 0;\r
-\r
-        for(uint8_t i = 0; i < 10; i++)\r
-        {\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[%d]:ScheduleModel::ScheduleDataInfoSet", __LINE__);\r
-            ScheduleDataInfo_[i].DateStr.assign(t_data[i].DateStr);\r
-            ScheduleDataInfo_[i].TopicStr.assign(t_data[i].TopicStr);\r
-            ScheduleDataInfo_[i].TimeStr.assign(t_data[i].TimeStr);\r
-            ScheduleDataInfo_[i].DataStr.assign(t_data[i].DataStr);\r
-\r
-            ScheduleDataInfo_[i].index = t_data[i].index;\r
-            ScheduleDataInfo_[i].is_date_item = t_data[i].is_date_item;\r
-            ScheduleDataInfo_[i].child_num = t_data[i].child_num;\r
-            ScheduleDataInfo_[i].child_index = t_data[i].child_index;\r
-        }\r
-\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScheduleModel::ScheduleDataInfoSet 10");\r
+        if(0 == ItemCount_)\r
+            return true;\r
+        \r
+        return false;\r
+    }\r
 \r
-        return count;\r
+    uint8_t ScheduleModel::ScheduleDataItemCountGet(void)\r
+    {\r
+        return ItemCount_;\r
     }\r
 \r
-    bool ScheduleModel::ScheduleDataIsEmpty(void)\r
+    void ScheduleModel::ScheduleDataItemCountSet(uint8_t count)\r
     {\r
-        if(ScheduleDataInfo_[0].DateStr.length())\r
-            return false;\r
-        \r
-        return true;\r
+        ItemCount_ = count;\r
     }\r
 \r
     ScheduleListItemInfo * ScheduleModel::ScheduleDataInfoGet(void)\r
@@ -94,6 +65,8 @@ namespace OHOS
 \r
     void ScheduleModel::ScheduleSetByApp(ScheduleRevData * data, uint8_t index, bool is_finish)\r
     {\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScheduleModel::ScheduleSetByApp,%d,%d", index, is_finish);\r
+\r
         ScheduleRevData_[index].date.assign(data->date);\r
         ScheduleRevData_[index].topic.assign(data->topic);\r
         ScheduleRevData_[index].time.assign(data->time);\r
@@ -107,15 +80,16 @@ namespace OHOS
 \r
     void ScheduleModel::ScheduleDataToInfo(void)\r
     {\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScheduleModel::ScheduleDataToInfo");\r
         uint8_t i = 0;\r
         uint8_t j = 0;\r
         uint8_t count = 0;\r
 \r
         memset(ScheduleDataInfo_, 0x0, sizeof(ScheduleListItemInfo) * SCHEDULE_DATA_COUNT_MAX*2);\r
 \r
-        count = 0;\r
+        count = 1;\r
 \r
-        for(i = 0, j = 0; i < count, j < SCHEDULE_DATA_COUNT_MAX * 2; i++)\r
+        for(i = 0, j = 0; i < count; i++)\r
         {\r
             if(0 == i)\r
             {\r
@@ -161,7 +135,30 @@ namespace OHOS
                     ScheduleDataInfo_[j].child_index = 0;\r
                 }\r
             }\r
+                    \r
+            if((SCHEDULE_DATA_COUNT_MAX * 2) <= j)\r
+            {\r
+                break;\r
+            }\r
         }\r
+\r
+        ScheduleDataItemCountSet(j + 1);\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScheduleModel::ScheduleDataToInfo,%d,%s", j, ScheduleDataInfo_[0].DateStr.c_str());\r
     }\r
 \r
+\r
+    void C_ScheduleSetByApp(ScheduleRevData * data, uint8_t index, bool is_finish)\r
+    {\r
+        ScheduleModel::GetInstance().ScheduleSetByApp(data, index, is_finish);\r
+    }\r
+\r
+    int C_ScheduleDataReadFromFile()\r
+    {\r
+        return 0;\r
+    }\r
+\r
+    int C_ScheduleDataWriteToFile()\r
+    {\r
+        return 0;\r
+    }\r
 }\r
index c831d33..a904095 100644 (file)
@@ -39,8 +39,6 @@ namespace OHOS
     {\r
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SchedulePresenter::OnStart");\r
         Presenter<ScheduleView, ScheduleModel>::OnStart();\r
-\r
-        ScheduleModel_->ScheduleDataInfoSet();\r
     }\r
 \r
     // 页面已经展示后的调用逻辑\r
@@ -54,7 +52,7 @@ namespace OHOS
         }\r
 \r
         ScheduleListItemInfo * ItemInfo = ScheduleModel_->ScheduleDataInfoGet();\r
-        for (uint8_t i = 0; i < 10; i++)\r
+        for (uint8_t i = 0; i < ScheduleModel_->ScheduleDataItemCountGet(); i++)\r
         {\r
             view_->AddItemToList(ItemInfo[i]);\r
         }\r
index b345bf8..a48e9f4 100644 (file)
@@ -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
index dd0dd71..a83924f 100644 (file)
@@ -82,6 +82,7 @@ extern "C" {
 #include <dirent.h>
 #include <ppg_service.h>
 #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;
 }