修改小樱表盘的背景model映射
authorCaisking <Casiking@zhihuishixun.com>
Mon, 5 Jan 2026 09:38:03 +0000 (17:38 +0800)
committerCaisking <Casiking@zhihuishixun.com>
Mon, 5 Jan 2026 09:38:03 +0000 (17:38 +0800)
code/sdk/application/wearable/fd272/nativeapp/nativeui/include/main/dial/DialDataBase.h
code/sdk/application/wearable/fd272/nativeapp/nativeui/include/main/dial/DialDataType.h
code/sdk/application/wearable/fd272/nativeapp/nativeui/main/include/dial/DialDataBase.h
code/sdk/application/wearable/fd272/nativeapp/nativeui/main/include/dial/DialDataType.h
code/sdk/application/wearable/fd272/nativeapp/nativeui/main/include/dial/DialModelBg.h
code/sdk/application/wearable/fd272/nativeapp/nativeui/main/src/dial/DialDataBase.cpp
code/sdk/application/wearable/fd272/nativeapp/nativeui/main/src/dial/DialModelBg.cpp

index 569441e..9235eb3 100644 (file)
 
 enum class DialOldDataType {
   DATA_TYPE_FLOAT_BASE = 0,
-  DATA_TYPE_STEPS,          // Ô˶¯²½Êý
-  DATA_TYPE_HEART_RATE,     // ÐÄÂÊ
-  DATA_TYPE_CALORIE,        // Ô˶¯¿¨Â·Àï
-  DATA_TYPE_TEMPERATURE,    // Î¶È
-  DATA_TYPE_PM25,           // PM2.5 (ĿǰûÓÐÓ³Éä ÐèÒªÔö¼Ó)
-  DATA_TYPE_PRESSURE,       // ѹÁ¦
-  DATA_TYPE_AILTITUDE,      // º£°Î
-  DATA_TYPE_POWER,          // µçÁ¿
-  DATA_TYPE_CLOCK_ANGLE_H,  // ʱÕë½Ç¶È
-  DATA_TYPE_CLOCK_ANGLE_M,  // ·ÖÕë½Ç¶È
-  DATA_TYPE_CLOCK_ANGLE_S,  // ÃëÕë½Ç¶È
-  DATA_TYPE_CLOCK_ANGLE_MS, // ºÁÃëÕë½Ç¶È
-  DATA_TYPE_TIME_SECOND,    // Ãë
-  DATA_TYPE_TIME_MINUTE,    // ·ÖÖÓ
+  DATA_TYPE_STEPS,          // �˶�����
+  DATA_TYPE_HEART_RATE,     // ����
+  DATA_TYPE_CALORIE,        // �˶���·��
+  DATA_TYPE_TEMPERATURE,    // �¶�
+  DATA_TYPE_PM25,           // PM2.5 (Ŀǰû��ӳ�� ��Ҫ����)
+  DATA_TYPE_PRESSURE,       // ѹ��
+  DATA_TYPE_AILTITUDE,      // ����
+  DATA_TYPE_POWER,          // ����
+  DATA_TYPE_CLOCK_ANGLE_H,  // ʱ��Ƕ�
+  DATA_TYPE_CLOCK_ANGLE_M,  // ����Ƕ�
+  DATA_TYPE_CLOCK_ANGLE_S,  // ����Ƕ�
+  DATA_TYPE_CLOCK_ANGLE_MS, // ������Ƕ�
+  DATA_TYPE_TIME_SECOND,    // ��
+  DATA_TYPE_TIME_MINUTE,    // ����
   DATA_TYPE_TIME_HOUR,      // Сʱ
-  DATA_TYPE_TIME_DATE,      // ÈÕÆÚ
-  DATA_TYPE_TIME_WEEK,      // ÐÇÆÚ
-  DATA_TYPE_TIME_MONTH,     // Ô·Ý
-  DATA_TYPE_TIME_YEAR,      // Äê·Ý
-  /* ------------------------------- ÔÚÏÂÃæÔö¼ÓÐÂÊý¾ÝÀàÐÍ
+  DATA_TYPE_TIME_DATE,      // ����
+  DATA_TYPE_TIME_WEEK,      // ����
+  DATA_TYPE_TIME_MONTH,     // �·�
+  DATA_TYPE_TIME_YEAR,      // ���
+  /* ------------------------------- ��������������������
      ------------------------------- */
-  DATA_TYPE_CHARGE,           // ³äµç״̬
-  DATA_TYPE_DIALPATH,         // ±íÅÌ·¾¶  (ĿǰûÓÐÓ³Éä ÐèÒªÔö¼Ó£¬µ«ÊǸÃÏî Ã»ÓÐʹÓã¿)
-  DATA_TYPE_SPO2,             // ѪÑõ
-  DATA_TYPE_DISTANCE,         // Ô˶¯¾àÀë
-  DATA_TYPE_WEATHER,          // ÌìÆø
-  DATA_TYPE_POWER_STANDBY,    // ±¸ÓõçÁ¿Êý¾ÝÀàÐÍ
+  DATA_TYPE_CHARGE,           // ���״̬
+  DATA_TYPE_DIALPATH,         // ����·��  (Ŀǰû��ӳ�� ��Ҫ���ӣ����Ǹ��� û��ʹ�ã�)
+  DATA_TYPE_SPO2,             // Ѫ��
+  DATA_TYPE_DISTANCE,         // �˶�����
+  DATA_TYPE_WEATHER,          // ����
+  DATA_TYPE_POWER_STANDBY,    // ���õ�����������
   DATA_TYPE_HOUR_TENS,        // Сʱ(ʮλ)
-  DATA_TYPE_HOUR_UNITS,       // Ð¡Ê±(µ¥Î»)
-  DATA_TYPE_MINUTE_TENS,      // ·ÖÖÓ(ʮλ)
-  DATA_TYPE_MINUTE_UNITS,     // ·ÖÖÓ(µ¥Î»)
-  DATA_TYPE_WEEK_NUM,         // ÐÇÆÚ(Êý×Ö)
-  DATA_TYPE_STEPS_GOAL,       // Ô˶¯²½ÊýÄ¿±ê
-  DATA_TYPE_SECOND_MAPPER,    // ÃëÓ³Éä
-  DATA_TYPE_POWER_MAPPER,     // µçÁ¿Ó³Éä
-  DATA_TYPE_CALORIE_GOAL,     // Ô˶¯¿¨Â·ÀïÄ¿±ê
-  DATA_TYPE_STEPS_GOAL_INT,   // Ô˶¯²½Êý°Ù·Ö±È
-  DATA_TYPE_CALORIE_GOAL_INT, // Ô˶¯¿¨Â·ÀïÄ¿±ê°Ù·Ö±È
+  DATA_TYPE_HOUR_UNITS,       // Сʱ(��λ)
+  DATA_TYPE_MINUTE_TENS,      // ����(ʮλ)
+  DATA_TYPE_MINUTE_UNITS,     // ����(��λ)
+  DATA_TYPE_WEEK_NUM,         // ����(����)
+  DATA_TYPE_STEPS_GOAL,       // �˶�����Ŀ��
+  DATA_TYPE_SECOND_MAPPER,    // ��ӳ��
+  DATA_TYPE_POWER_MAPPER,     // ����ӳ��
+  DATA_TYPE_CALORIE_GOAL,     // �˶���·��Ŀ��
+  DATA_TYPE_STEPS_GOAL_INT,   // �˶������ٷֱ�
+  DATA_TYPE_CALORIE_GOAL_INT, // �˶���·��Ŀ��ٷֱ�
+  DATA_TYPE_TIME_PERIOD_BG, // 时间段背景索引(0-3: 0-5点->0, 6-11点->1, 12-17点->2, 18-23点->3)
 
 
-  DATA_TYPE_MULTI_FLOAT_BASE = 0x2fff, // ¶à¸ö¸¡µãÊý¾ÝÀàÐÍ»ùֵ
+  DATA_TYPE_MULTI_FLOAT_BASE = 0x2fff, // ��������������ͻ�ֵ
 
 
-  DATA_TYPE_TEXT_BASE = 0x4fff, // Îı¾Êý¾ÝÀàÐÍ»ùֵ
-  DATA_TYPE_WEEK_STR,           // ÐÇÆÚ(string)
-  DATA_TYPE_DATE_STR,           // ÈÕÆÚ(string)
-  DATA_TYPE_WEATHER_STR,        // ÌìÆø£¨string)
-  DATA_TYPE_TIMESTR_STR,        // ʱ¼䣨string)
-  DATA_TYPE_DATE_WEEK_STR,      // ÈÕÆÚ(ÄêÔÂÈÕ)ÐÇÆÚ£¨string)
-  DATA_TYPE_POWER_STR,          // µçÁ¿£¨string)
-  DATA_TYPE_DATE_WEEK_MD_STR,   // ÐÇÆÚ£¨ÔÂÈÕ£©ºÍÈÕÆÚ£¨string)
-  DATA_TYPE_DATE_EN_STR,        // Ô·Ý+ÈÕÆÚ £¨Ó¢ÎÄ£©
-  DATA_TYPE_WEEK_EN_STR,        // ÐÇÆÚ£¨Ó¢ÎÄ£©
-  DATA_TYPE_STEPS_GOAL_STR,     // Ô˶¯²½ÊýÄ¿±ê(string)
-  DATA_TYPE_CALORIE_GOAL_STR,   // ¿¨Â·ÀïÄ¿±ê(string)
+  DATA_TYPE_TEXT_BASE = 0x4fff, // �ı��������ͻ�ֵ
+  DATA_TYPE_WEEK_STR,           // ����(string)
+  DATA_TYPE_DATE_STR,           // ����(string)
+  DATA_TYPE_WEATHER_STR,        // ������string)
+  DATA_TYPE_TIMESTR_STR,        // ʱ�䣨string)
+  DATA_TYPE_DATE_WEEK_STR,      // ����(������)���ڣ�string)
+  DATA_TYPE_POWER_STR,          // ������string)
+  DATA_TYPE_DATE_WEEK_MD_STR,   // ���ڣ����գ������ڣ�string)
+  DATA_TYPE_DATE_EN_STR,        // �·�+���� ��Ӣ�ģ�
+  DATA_TYPE_WEEK_EN_STR,        // ���ڣ�Ӣ�ģ�
+  DATA_TYPE_STEPS_GOAL_STR,     // �˶�����Ŀ��(string)
+  DATA_TYPE_CALORIE_GOAL_STR,   // ��·��Ŀ��(string)
 
 
   
-  DATA_TYPE_MAX = 0x6000, // Êý¾ÝÀàÐ͵Ä×î´óֵ
+  DATA_TYPE_MAX = 0x6000, // �������͵����ֵ
 };
 
 OHOS::DialDataType Convert2DataType(DialOldDataType dialData);
index 9584267..d1cb419 100644 (file)
@@ -151,7 +151,9 @@ enum class DialDataType : int16_t {
     WEEK_NUM, // 星期(数字)
     STEPS_GOAL_BOXPROGRESS,//步数目标进度条映射?
     CALORIE_GOAL_BOXPROGRESS,//卡路里目标进度条映射?
+    TIME_PERIOD_BG, // 时间段背景索引(0-3: 0-5点->0, 6-11点->1, 12-17点->2, 18-23点->3)
 
+    
     SWIVEL_GEAR_POSITIVE = 8190, // private data, clockwise
     SWIVEL_GEAR_NEGATIVE = 8191, // counterclockwise
     // 结束:单个浮点数据,私有可定制部分,到8191结束(包括8191)
index 3a5718a..44af2bd 100644 (file)
@@ -42,6 +42,7 @@ enum class DialOldDataType {
   DATA_TYPE_CALORIE_GOAL,     // 运动卡路里目标
   DATA_TYPE_STEPS_GOAL_INT,   // 运动步数百分比
   DATA_TYPE_CALORIE_GOAL_INT, // 运动卡路里目标百分比
+  DATA_TYPE_TIME_PERIOD_BG, // 时间段背景索引(0-3: 0-5点->0, 6-11点->1, 12-17点->2, 18-23点->3)
 
 
   DATA_TYPE_MULTI_FLOAT_BASE = 0x2fff, // 多个浮点数据类型基值
index 9584267..28ced91 100644 (file)
@@ -137,7 +137,6 @@ enum class DialDataType : int16_t {
     BLOOD_OXYGEN = 220,
     SYSTOLIC_BLOOD_PRESSURE = 221,
     DIASTOLIC_BLOOD_PRESSURE = 222,
-    TIME_PERIOD_BG = 223, // 时间段背景索引(0-3: 0-5点->0, 6-11点->1, 12-17点->2, 18-23点->3)
     DUAL_LANGUAGE_SYSTEM = 230,
     UNREAD_SMS_MSG = 250,
     UNREAD_WECHAT_MSG = 251,
@@ -151,6 +150,7 @@ enum class DialDataType : int16_t {
     WEEK_NUM, // 星期(数字)
     STEPS_GOAL_BOXPROGRESS,//步数目标进度条映射?
     CALORIE_GOAL_BOXPROGRESS,//卡路里目标进度条映射?
+    TIME_PERIOD_BG, // 时间段背景索引(0-3: 0-5点->0, 6-11点->1, 12-17点->2, 18-23点->3)
 
     SWIVEL_GEAR_POSITIVE = 8190, // private data, clockwise
     SWIVEL_GEAR_NEGATIVE = 8191, // counterclockwise
index d6f55ea..ac8e166 100644 (file)
@@ -32,6 +32,7 @@ namespace OHOS
          * @return 时间段索引: 0-5点->0, 6-11点->1, 12-17点->2, 18-23点->3
          */
         int CalculateTimePeriodIndex(int hour);
+        int bgperiodIndex_ = 0;
     };
 }
 
index e75718e..796de17 100644 (file)
@@ -53,6 +53,7 @@ static std::unordered_map<DialOldDataType, OHOS::DialDataType, DataTypeHash> g_d
     {DialOldDataType::DATA_TYPE_CALORIE_GOAL, OHOS::DialDataType::CALORIE_GOAL_BOXPROGRESS},
     {DialOldDataType::DATA_TYPE_STEPS_GOAL_INT, OHOS::DialDataType::STEP_GOAL_PROGRESS},
     {DialOldDataType::DATA_TYPE_CALORIE_GOAL_INT, OHOS::DialDataType::CALORIE_RATIO},
+    {DialOldDataType::DATA_TYPE_TIME_PERIOD_BG, OHOS::DialDataType::TIME_PERIOD_BG},
     {DialOldDataType::DATA_TYPE_WEEK_STR, OHOS::DialDataType::WEEK_STR},
     {DialOldDataType::DATA_TYPE_DATE_STR, OHOS::DialDataType::DATE_STR},
     {DialOldDataType::DATA_TYPE_WEATHER_STR, OHOS::DialDataType::WEATHER_STR},
index d552362..ce3f46e 100644 (file)
@@ -41,12 +41,14 @@ bool DialModelBg::GetDialFloatData(DialDataType &type, float &out)
 
     // 获取当前小时(0-23)
     int hour = tblock_.tm_hour;
+
+    printf("DialModelBg::GetDialFloatData hour: %d\n", hour);
     
     // 计算时间段索引
-    int periodIndex = CalculateTimePeriodIndex(hour);
+    bgperiodIndex_ = CalculateTimePeriodIndex(hour);
     
     // 返回时间段索引作为浮点数
-    out = static_cast<float>(periodIndex);
+    out = static_cast<float>(bgperiodIndex_);
     
     return true;
 }