--- /dev/null
+#include "ui_resource_string.h"
+#include "AppViewIDs.h"
+#include "UiConfig.h"
+
+namespace OHOS
+{
+ typedef struct
+ {
+ AppViewId id;
+ const char *iconLarge;
+ const char *iconSmall;
+ const char *iconHexagon;
+ const char *label;
+ uint16_t TextId;
+ const char *uid;
+ const char *zh_name; // 大写英文字母
+ const char *en_name; // 英语名称
+ } AppItem;
+
+ const AppItem g_nativeAppList[] = {
+#ifdef A5133_DEMO_CLIENT
+ {VIEW_OBU_MESSAGE, PNG_APPLIST_THEME_IMAGE_BIG, PNG_APPLIST_THEME_IMAGE, PNG_APPLIST_DEFAULT_IMG, "OBU", STR_OBU_MESSAGE, nullptr, "O", "OBU"},
+#endif
+ {VIEW_MAIN_PHONE, PNG_APPLIST_CALLER_IMAGE_BIG, PNG_APPLIST_CALLER_IMAGE, PNG_APPLIST_DEFAULT_IMG, "电话", STR_TELEPHONE, nullptr, "D", "TELEPHONE"},
+#if HEART_APPLIST
+ {VIEW_HEART_CHART, PNG_APPLIST_HEART_IMAGE_BIG, PNG_APPLIST_HEART_IMAGE, PNG_APPLIST_DEFAULT_IMG, "心率", STR_HEART_RATE, nullptr, "X", "HEART_RATE"},
+#endif
+ {VIEW_BLOOD_RESULT, PNG_APPLIST_SPO2_IMAGE_BIG, PNG_APPLIST_SPO2_IMAGE, PNG_APPLIST_DEFAULT_IMG, "血氧", STR_BLOOD_OXYGEN, nullptr, "X", "BLOOD_OXYGEN"},
+#if defined(BOARD_W9)
+ /*W9Slice写宏里面*/
+ {VIEW_BLOOD_PRESSURE_CHECK, PNG_APPLIST_BP_MESSURE_IMAGE_BIG, PNG_APPLIST_BP_MESSURE_IMAGE, PNG_APPLIST_DEFAULT_IMG, "血压测量", STR_BP_CHECK, nullptr, "X", "BP_CHECK"},
+#endif
+#if defined(BOARD_W9) || defined(BOARD_N9) && 0
+ // ECG
+ {VIEW_ECG, PNG_APPLIST_ECG_IMAGE_BIG, PNG_APPLIST_ECG_IMAGE, PNG_APPLIST_DEFAULT_IMG, "ECG", STR_ECG, nullptr, "E", "ECG"},
+ // 情绪
+ {VIEW_EMOTION, PNG_APPLIST_EMOTION_IMAGE_BIG, PNG_APPLIST_EMOTION_IMAGE, PNG_APPLIST_DEFAULT_IMG, "情绪", STR_EMOTION, nullptr, "Q", "EMOTION"},
+ // 压力
+ {VIEW_PRESSURE, PNG_APPLIST_STRESS_IMAGE_BIG, PNG_APPLIST_STRESS_IMAGE, PNG_APPLIST_DEFAULT_IMG, "压力", STR_PRESSURE, nullptr, "Y", "PRESSURE"},
+ // 疲劳度
+ {VIEW_FATIGUE, PNG_APPLIST_FATIGUE_IMAGE_BIG, PNG_APPLIST_FATIGUE_IMAGE, PNG_APPLIST_DEFAULT_IMG, "疲劳度", STR_FATIGUE_LEVEL, nullptr, "P", "FATIGUE"},
+#endif
+ {VIEW_SLEEP, PNG_APPLIST_SLEEP_IMAGE_BIG, PNG_APPLIST_SLEEP_IMAGE, PNG_APPLIST_DEFAULT_IMG, "睡眠", STR_SLEEP, nullptr, "S", "SLEEP"},
+ {VIEW_TRAINING, PNG_APPLIST_TRAINING_IMAGE_BIG, PNG_APPLIST_TRAINING_IMAGE, PNG_APPLIST_DEFAULT_IMG, "运动", STR_TRAINING, nullptr, "Y", "TRAINING"},
+ {VIEW_TRAINING_RECORD, PNG_APPLIST_TRAINING_RECORD_IMAGE_BIG, PNG_APPLIST_TRAINING_RECORD_IMAGE, PNG_APPLIST_DEFAULT_IMG, "运动记录", STR_TRAINING_RECORD, nullptr, "Y", "TRAINING_RECORD"},
+ {VIEW_GOAL, PNG_APPLIST_GOAL_IMAGE_BIG, PNG_APPLIST_GOAL_IMAGE, PNG_APPLIST_DEFAULT_IMG, "活动", STR_ACTIVITY, nullptr, "H", "ACTIVITY"},
+#if defined(BOARD_N9)
+ {VIEW_AI_VOICE, PNG_APPLIST_AIVOICE_IMAGE_BIG, PNG_APPLIST_AIVOICE_IMAGE, PNG_APPLIST_DEFAULT_IMG, "星辰AI", STR_START_AI, nullptr, "X", "START_AI"},
+#else
+ {VIEW_AI_VOICE, PNG_APPLIST_AIVOICE_IMAGE_BIG, PNG_APPLIST_AIVOICE_IMAGE, PNG_APPLIST_DEFAULT_IMG, "AI全家桶", STR_AI_FAMILY_MEALS, nullptr, "A", "AI_FAMILY_MEALS"},
+// {VIEW_AI_VOICE, "/user/res/AIVoice/aimodels/aimodels_lingxi.bin", "/user/res/AIVoice/aimodels/aimodels_lingxi.bin", PNG_APPLIST_DEFAULT_IMG, "九天大模型", STR_JIUTIAN, nullptr, "J","JIUTIAN"},
+#endif
+#ifdef SUPPORT_ALIPAY_SEC
+ {VIEW_MAIN_ALIPAY, PNG_APPLIST_ALIPAY_IMAGE_BIG, PNG_APPLIST_ALIPAY_IMAGE, PNG_APPLIST_DEFAULT_IMG, "支付宝", STR_ALIPAY, nullptr, "Z", "ALIPAY"},
+#endif
+ {VIEW_MESSAGE, PNG_APPLIST_MESSAGE_IMAGE_BIG, PNG_APPLIST_MESSAGE_IMAGE, PNG_APPLIST_DEFAULT_IMG, "消息通知", STR_MESSAGE_NOTIFICATION, nullptr, "X", "MESSAGE_NOTIFICATION"},
+ {VIEW_COMPASS, PNG_APPLIST_COMPASS_IMAGE_BIG, PNG_APPLIST_COMPASS_IMAGE, PNG_APPLIST_DEFAULT_IMG, "指南针", STR_COMPASS, nullptr, "Z", "COMPASS"},
+ {VIEW_CALCULATOR, PNG_APPLIST_INFORMATION_IMAGE_BIG, PNG_APPLIST_INFORMATION_IMAGE, PNG_APPLIST_DEFAULT_IMG, "计算器", STR_CALCULATOR, nullptr, "J", "CALCULATOR"},
+ {VIEW_RECORD, PNG_APPLIST_RECORD_IMAGE_BIG, PNG_APPLIST_RECORD_IMAGE, PNG_APPLIST_DEFAULT_IMG, "录音", STR_RECORD, nullptr, "L", "RECORD"},
+ {VIEW_FLASHLIGHT, PNG_APPLIST_FLASHLIGHT_IMAGE_BIG, PNG_APPLIST_FLASHLIGHT_IMAGE, PNG_APPLIST_DEFAULT_IMG, "手电筒", STR_FLASHLIGHT, nullptr, "S", "FLASHLIGHT"},
+ {VIEW_WEATHER, PNG_APPLIST_WEATHER_IMAGE_BIG, PNG_APPLIST_WEATHER_IMAGE, PNG_APPLIST_DEFAULT_IMG, "天气", STR_WEATHER, nullptr, "T", "WEATHER"},
+ {VIEW_MAIN_STOPWATCH, PNG_APPLIST_STOPWATCH_IMAGE_BIG, PNG_APPLIST_STOPWATCH_IMAGE, PNG_APPLIST_DEFAULT_IMG, "秒表", STR_STOPWATCH, nullptr, "M", "STOPWATCH"},
+ {VIEW_MAIN_COUNTDOWN, PNG_APPLIST_COUNTDOWN_IMAGE_BIG, PNG_APPLIST_COUNTDOWN_IMAGE, PNG_APPLIST_DEFAULT_IMG, "计时器", STR_TIMER, nullptr, "J", "COUNTDOWN"},
+ {VIEW_RESPIRATORY_TRAINING, PNG_APPLIST_BREATHE_IMAGE_BIG, PNG_APPLIST_BREATHE_IMAGE, PNG_APPLIST_DEFAULT_IMG, "呼吸训练", STR_BREATH_TRAINING, nullptr, "H", "BREATH_TRAINING"},
+ {VIEW_TAKEPHOTOS, PNG_APPLIST_TACKEPHOTOS_IMAGE_BIG, PNG_APPLIST_TACKEPHOTOS_IMAGE, PNG_APPLIST_DEFAULT_IMG, "遥控拍照", STR_REMOTE_SHOOTING, nullptr, "Y", "REMOTE_SHOOTING"},
+ {VIEW_MAIN_ALARM, PNG_APPLIST_ALARM_IMAGE_BIG, PNG_APPLIST_ALARM_IMAGE, PNG_APPLIST_DEFAULT_IMG, "闹钟", STR_ALARM, nullptr, "N", "ALARM"},
+ {VIEW_FIND_PHONE, PNG_APPLIST_FINDPHONE_IMAGE_BIG, PNG_APPLIST_FINDPHONE_IMAGE, PNG_APPLIST_DEFAULT_IMG, "查找手机", STR_FIND_PHONE, nullptr, "C", "FIND_PHONE"},
+ {VIEW_MUSIC_PLAYER, PNG_APPLIST_MUSIC_IMAGE_BIG, PNG_APPLIST_MUSIC_IMAGE, PNG_APPLIST_DEFAULT_IMG, "音乐播放器", STR_MUSIC, nullptr, "Y", "PLAYER"},
+ {VIEW_ASSISTANT, PNG_APPLIST_SMART_IMAGE_BIG, PNG_APPLIST_SMART_IMAGE, PNG_APPLIST_DEFAULT_IMG, "语音助手", STR_VOICE_ASSISTANT, nullptr, "Y", "VOICE_ASSISTANT"},
+ {VIEW_SCHEDULE, PNG_APPLIST_SCHEDULE_IMAGE_BIG, PNG_APPLIST_SCHEDULE_IMAGE, PNG_APPLIST_DEFAULT_IMG, "schedule", STR_SCHEDULE, nullptr, "S", "SCHEDULE"},
+ {VIEW_CALENDAR, PNG_APPLIST_CALENDAR_IMAGE_BIG, PNG_APPLIST_CALENDAR_IMAGE, PNG_APPLIST_DEFAULT_IMG, "日历", STR_CALENDAR, nullptr, "R", "CALENDAR"},
+ {VIEW_SETTING, PNG_APPLIST_SETTING_IMAGE_BIG, PNG_APPLIST_SETTING_IMAGE, PNG_APPLIST_DEFAULT_IMG, "设置", STR_SETTINGS, nullptr, "S", "SETTINGS"},
+ // {VIEW_CANVAS_TEST, PNG_APPLIST_DISTURB_IMAGE, PNG_APPLIST_DISTURB_IMAGE, PNG_APPLIST_DEFAULT_IMG, "勿扰模式", STR_DO_NOT_DISTURB, nullptr},
+#if 0
+ /*屏蔽Slice*/
+ {VIEW_DNOTDISTURB, PNG_APPLIST_DISTURB_IMAGE, PNG_APPLIST_DISTURB_IMAGE, PNG_APPLIST_DEFAULT_IMG, "勿扰模式", STR_DO_NOT_DISTURB, nullptr},
+ {VIEW_ADD_CARD, PNG_APPLIST_CARDSET_IMAGE, PNG_APPLIST_CARDSET_IMAGE, PNG_APPLIST_DEFAULT_IMG, "卡片管理", STR_CARD_MANAGEMENT, nullptr},
+ {VIEW_SET_DIAL_STYLE, PNG_APPLIST_CHANGEDIAL_IMAGE, PNG_APPLIST_CHANGEDIAL_IMAGE, PNG_APPLIST_DEFAULT_IMG, "更换表盘", STR_WATCH_FACE, nullptr},
+ {VIEW_SAVEELE, PNG_APPLIST_SAVEELE_IMAGE, PNG_APPLIST_SAVEELE_IMAGE, PNG_APPLIST_DEFAULT_IMG, "省电模式", STR_POWER_SAVE_MODE, nullptr},
+ {VIEW_SOUND_VIBRATION, PNG_APPLIST_VOICE_IMAGE, PNG_APPLIST_VOICE_IMAGE, PNG_APPLIST_DEFAULT_IMG, "声音", STR_SOUND, nullptr},
+ {VIEW_PHONEDIR, PNG_APPLIST_CALLLOG_IMAGE, PNG_APPLIST_CALLLOG_IMAGE, PNG_APPLIST_DEFAULT_IMG, "常用联系人", STR_FAVORITE_CONTACTS, nullptr},
+ {VIEW_THEME_STYLE, PNG_APPLIST_THEME_IMAGE, PNG_APPLIST_THEME_IMAGE, PNG_APPLIST_DEFAULT_IMG, "显示方式", STR_DISPLAY_MODE, nullptr},
+ {VIEW_BRIGHTNESSLEVEL, PNG_APPLIST_BRIGHTNESSLEVEL_IMAGE, PNG_APPLIST_BRIGHTNESSLEVEL_IMAGE, PNG_APPLIST_DEFAULT_IMG, "亮度调节", STR_BRIGHTNESS_ADJUSTMENT, nullptr},
+ {VIEW_CLASSIC_BLUETOOTH, PNG_APPLIST_BLUETOOTH_IMAGE, PNG_APPLIST_BLUETOOTH_IMAGE, PNG_APPLIST_DEFAULT_IMG, "蓝牙", STR_BLUETOOTH, nullptr},
+ {VIEW_LANGUAGE_SWITCH, PNG_CONNECT_PHONE_IMAGE, PNG_CONNECT_PHONE_IMAGE, PNG_APPLIST_DEFAULT_IMG,"语言切换", nullptr},
+ {VIEW_MAIN_TEMP, PNG_APPLIST_TEMP_IMAGE, PNG_APPLIST_TEMP_IMAGE, PNG_APPLIST_DEFAULT_IMG,"体温", nullptr},
+ {VIEW_OFFLINEVOICE, PNG_APPLIST_VOCASSIST_IMAGE, PNG_APPLIST_VOCASSIST_IMAGE, PNG_APPLIST_DEFAULT_IMG,"语音助手", nullptr},
+ {VIEW_UISAMPLE, PNG_APPLIST_UI_SAMPLE_IMAGE, PNG_APPLIST_UI_SAMPLE_IMAGE, PNG_APPLIST_DEFAULT_IMG,"示例", nullptr},
+ {VIEW_MESSAGE, PNG_APPLIST_CALLER_IMAGE, PNG_APPLIST_CALLER_IMAGE, PNG_APPLIST_DEFAULT_IMG,"信息通知", nullptr},
+ {VIEW_INDOORWALK, PNG_APPLIST_WALK_IMAGE, PNG_APPLIST_WALK_IMAGE, PNG_APPLIST_DEFAULT_IMG,"室内步行", nullptr},
+ {VIEW_INDOORWALK, PNG_APPLIST_WALK_IMAGE, PNG_APPLIST_WALK_IMAGE, PNG_APPLIST_DEFAULT_IMG,"室内步行",STR_ACTIVITY, nullptr},
+#endif
+ };
+}
\ No newline at end of file
#define _APPLIST_MODEL_H_
#include "bundle_info.h"
-#include "AppViewIDs.h"
+#include "ApplistConfigModel.h"
#include "ohos_types.h"
#include "components/ui_label_ext.h"
#define APP_MAX_NUM 50
namespace OHOS {
-typedef struct {
- AppViewId id;
- const char *iconLarge;
- const char *iconSmall;
- const char *iconHexagon;
- const char *label;
- uint16_t TextId;
- const char *uid;
-} AppItem;
-
#define AppListStyle ThemeStyle
int GetCurselectImageIndex(void);
void SetPreselectImageIndex(int index);
int GetPreselectImageIndex(void);
+ void sortAppItemsByZhName(AppItem applist_n9[], int appLen);
void SetInitFlag(bool flag);
private:
virtual ~ApplistModel();
ApplistPresenter *presenter{nullptr};
- AppItem applist[APP_MAX_NUM] = { VIEW_INVALID, nullptr, nullptr, nullptr,nullptr,STR_EXERCISE_GENERAL, nullptr };
+#if defined(BOARD_N9)
+ AppItem applist_n9[APP_MAX_NUM] = { VIEW_INVALID, nullptr, nullptr, nullptr,nullptr,STR_EXERCISE_GENERAL, nullptr ,nullptr,nullptr};
+#elif defined(BOARD_W9)
+ AppItem applist_w9[APP_MAX_NUM] = { VIEW_INVALID, nullptr, nullptr, nullptr,nullptr,STR_EXERCISE_GENERAL, nullptr ,nullptr,nullptr};
+ #endif
+ AppItem applist[APP_MAX_NUM] = { VIEW_INVALID, nullptr, nullptr, nullptr,nullptr,STR_EXERCISE_GENERAL, nullptr ,nullptr,nullptr};
BundleInfo *bundleInfos = nullptr;
int32 bundleLen = 0;
uint8 appLen = 0;
#define HEART_APPLIST 1
namespace OHOS
{
- /**- APPLSIT
- * - 手机
- * - 心率
- * - 血氧
- * - 训练
- * - 训练记录
- * - 活动
- * - AI全家桶
- * - 支付宝
- * - 消息通知
- * - 指南针
- * - 录音
- * - 手电筒
- * - 天气
- * - 秒表
- * - 计时器
- * - 呼吸训练
- * - 遥控拍照
- * - 闹钟
- * - 声音
- * - 查找手机
- * - 勿扰模式
- * - 卡片管理
- * - 更换表盘
- * - 省电模式
- * - 设置
- */
- const AppItem g_nativeAppList[] = {
-#ifdef A5133_DEMO_CLIENT
- {VIEW_OBU_MESSAGE, PNG_APPLIST_THEME_IMAGE_BIG, PNG_APPLIST_THEME_IMAGE, PNG_APPLIST_DEFAULT_IMG, "OBU", STR_OBU_MESSAGE, nullptr},
-#endif
- {VIEW_MAIN_PHONE, PNG_APPLIST_CALLER_IMAGE_BIG, PNG_APPLIST_CALLER_IMAGE, PNG_APPLIST_DEFAULT_IMG, "电话", STR_TELEPHONE, nullptr},
-#if HEART_APPLIST
- {VIEW_HEART_CHART, PNG_APPLIST_HEART_IMAGE_BIG, PNG_APPLIST_HEART_IMAGE, PNG_APPLIST_DEFAULT_IMG, "心率", STR_HEART_RATE, nullptr},
-#endif
- {VIEW_BLOOD_RESULT, PNG_APPLIST_SPO2_IMAGE_BIG, PNG_APPLIST_SPO2_IMAGE, PNG_APPLIST_DEFAULT_IMG, "血氧", STR_BLOOD_OXYGEN, nullptr},
-#if defined(BOARD_W9)
- /*W9Slice写宏里面*/
- {VIEW_BLOOD_PRESSURE_CHECK, PNG_APPLIST_BP_MESSURE_IMAGE_BIG, PNG_APPLIST_BP_MESSURE_IMAGE, PNG_APPLIST_DEFAULT_IMG, "血压测量", STR_BP_CHECK, nullptr},
-#endif
-// #if defined(BOARD_N9)
-// /*N9Slice写宏里面*
-// #endif
- #if defined(BOARD_W9) || defined(BOARD_N9) && 0
- //ECG
- {VIEW_ECG, PNG_APPLIST_ECG_IMAGE_BIG, PNG_APPLIST_ECG_IMAGE, PNG_APPLIST_DEFAULT_IMG, "ECG", STR_ECG, nullptr},
- //情绪
- {VIEW_EMOTION, PNG_APPLIST_EMOTION_IMAGE_BIG, PNG_APPLIST_EMOTION_IMAGE, PNG_APPLIST_DEFAULT_IMG, "情绪", STR_EMOTION, nullptr},
- //压力
- {VIEW_PRESSURE, PNG_APPLIST_STRESS_IMAGE_BIG, PNG_APPLIST_STRESS_IMAGE, PNG_APPLIST_DEFAULT_IMG, "压力", STR_PRESSURE, nullptr},
- //疲劳度
- {VIEW_FATIGUE, PNG_APPLIST_FATIGUE_IMAGE_BIG, PNG_APPLIST_FATIGUE_IMAGE, PNG_APPLIST_DEFAULT_IMG, "疲劳度", STR_FATIGUE_LEVEL, nullptr},
-#endif
- {VIEW_SLEEP, PNG_APPLIST_SLEEP_IMAGE_BIG, PNG_APPLIST_SLEEP_IMAGE, PNG_APPLIST_DEFAULT_IMG, "睡眠", STR_SLEEP, nullptr},
- {VIEW_TRAINING, PNG_APPLIST_TRAINING_IMAGE_BIG, PNG_APPLIST_TRAINING_IMAGE, PNG_APPLIST_DEFAULT_IMG, "运动", STR_TRAINING, nullptr},
- {VIEW_TRAINING_RECORD, PNG_APPLIST_TRAINING_RECORD_IMAGE_BIG, PNG_APPLIST_TRAINING_RECORD_IMAGE, PNG_APPLIST_DEFAULT_IMG, "运动记录", STR_TRAINING_RECORD, nullptr},
- {VIEW_GOAL, PNG_APPLIST_GOAL_IMAGE_BIG, PNG_APPLIST_GOAL_IMAGE, PNG_APPLIST_DEFAULT_IMG, "活动", STR_ACTIVITY, nullptr},
- {VIEW_AI_VOICE, PNG_APPLIST_AIVOICE_IMAGE_BIG, PNG_APPLIST_AIVOICE_IMAGE, PNG_APPLIST_DEFAULT_IMG, "AI全家桶", STR_AI_FAMILY_MEALS, nullptr},
-#ifdef SUPPORT_ALIPAY_SEC
- {VIEW_MAIN_ALIPAY, PNG_APPLIST_ALIPAY_IMAGE_BIG, PNG_APPLIST_ALIPAY_IMAGE, PNG_APPLIST_DEFAULT_IMG, "支付宝", STR_ALIPAY, nullptr},
-#endif
- {VIEW_MESSAGE, PNG_APPLIST_MESSAGE_IMAGE_BIG, PNG_APPLIST_MESSAGE_IMAGE, PNG_APPLIST_DEFAULT_IMG, "消息通知", STR_MESSAGE_NOTIFICATION, nullptr},
- {VIEW_COMPASS, PNG_APPLIST_COMPASS_IMAGE_BIG, PNG_APPLIST_COMPASS_IMAGE, PNG_APPLIST_DEFAULT_IMG, "指南针", STR_COMPASS, nullptr},
- {VIEW_CALCULATOR, PNG_APPLIST_INFORMATION_IMAGE_BIG, PNG_APPLIST_INFORMATION_IMAGE, PNG_APPLIST_DEFAULT_IMG, "计算器", STR_CALCULATOR, nullptr},
- {VIEW_RECORD, PNG_APPLIST_RECORD_IMAGE_BIG, PNG_APPLIST_RECORD_IMAGE, PNG_APPLIST_DEFAULT_IMG, "录音", STR_RECORD, nullptr},
- {VIEW_FLASHLIGHT, PNG_APPLIST_FLASHLIGHT_IMAGE_BIG, PNG_APPLIST_FLASHLIGHT_IMAGE, PNG_APPLIST_DEFAULT_IMG, "手电筒", STR_FLASHLIGHT, nullptr},
- {VIEW_WEATHER, PNG_APPLIST_WEATHER_IMAGE_BIG, PNG_APPLIST_WEATHER_IMAGE, PNG_APPLIST_DEFAULT_IMG, "天气", STR_WEATHER, nullptr},
- {VIEW_MAIN_STOPWATCH, PNG_APPLIST_STOPWATCH_IMAGE_BIG, PNG_APPLIST_STOPWATCH_IMAGE, PNG_APPLIST_DEFAULT_IMG, "秒表", STR_STOPWATCH, nullptr},
- {VIEW_MAIN_COUNTDOWN, PNG_APPLIST_COUNTDOWN_IMAGE_BIG, PNG_APPLIST_COUNTDOWN_IMAGE, PNG_APPLIST_DEFAULT_IMG, "计时器", STR_TIMER, nullptr},
- {VIEW_RESPIRATORY_TRAINING, PNG_APPLIST_BREATHE_IMAGE_BIG, PNG_APPLIST_BREATHE_IMAGE, PNG_APPLIST_DEFAULT_IMG, "呼吸训练", STR_BREATH_TRAINING, nullptr},
- {VIEW_TAKEPHOTOS, PNG_APPLIST_TACKEPHOTOS_IMAGE_BIG, PNG_APPLIST_TACKEPHOTOS_IMAGE, PNG_APPLIST_DEFAULT_IMG, "遥控拍照", STR_REMOTE_SHOOTING, nullptr},
- {VIEW_MAIN_ALARM, PNG_APPLIST_ALARM_IMAGE_BIG, PNG_APPLIST_ALARM_IMAGE, PNG_APPLIST_DEFAULT_IMG, "闹钟", STR_ALARM, nullptr},
- {VIEW_FIND_PHONE, PNG_APPLIST_FINDPHONE_IMAGE_BIG, PNG_APPLIST_FINDPHONE_IMAGE, PNG_APPLIST_DEFAULT_IMG, "查找手机", STR_FIND_PHONE, nullptr},
- {VIEW_MUSIC_PLAYER, PNG_APPLIST_MUSIC_IMAGE_BIG, PNG_APPLIST_MUSIC_IMAGE, PNG_APPLIST_DEFAULT_IMG, "音乐播放器", STR_MUSIC, nullptr},
- {VIEW_ASSISTANT, PNG_APPLIST_SMART_IMAGE_BIG, PNG_APPLIST_SMART_IMAGE, PNG_APPLIST_DEFAULT_IMG, "语音助手", STR_VOICE_ASSISTANT, nullptr},
- {VIEW_SCHEDULE, PNG_APPLIST_SCHEDULE_IMAGE_BIG, PNG_APPLIST_SCHEDULE_IMAGE, PNG_APPLIST_DEFAULT_IMG, "schedule", STR_SCHEDULE, nullptr},
- {VIEW_CALENDAR, PNG_APPLIST_CALENDAR_IMAGE_BIG, PNG_APPLIST_CALENDAR_IMAGE, PNG_APPLIST_DEFAULT_IMG, "日历", STR_CALENDAR, nullptr},
- {VIEW_SETTING, PNG_APPLIST_SETTING_IMAGE_BIG, PNG_APPLIST_SETTING_IMAGE, PNG_APPLIST_DEFAULT_IMG, "设置", STR_SETTINGS, nullptr},
- // {VIEW_CANVAS_TEST, PNG_APPLIST_DISTURB_IMAGE, PNG_APPLIST_DISTURB_IMAGE, PNG_APPLIST_DEFAULT_IMG, "勿扰模式", STR_DO_NOT_DISTURB, nullptr},
-#if 0
-/*屏蔽Slice*/
- {VIEW_DNOTDISTURB, PNG_APPLIST_DISTURB_IMAGE, PNG_APPLIST_DISTURB_IMAGE, PNG_APPLIST_DEFAULT_IMG, "勿扰模式", STR_DO_NOT_DISTURB, nullptr},
- {VIEW_ADD_CARD, PNG_APPLIST_CARDSET_IMAGE, PNG_APPLIST_CARDSET_IMAGE, PNG_APPLIST_DEFAULT_IMG, "卡片管理", STR_CARD_MANAGEMENT, nullptr},
- {VIEW_SET_DIAL_STYLE, PNG_APPLIST_CHANGEDIAL_IMAGE, PNG_APPLIST_CHANGEDIAL_IMAGE, PNG_APPLIST_DEFAULT_IMG, "更换表盘", STR_WATCH_FACE, nullptr},
- {VIEW_SAVEELE, PNG_APPLIST_SAVEELE_IMAGE, PNG_APPLIST_SAVEELE_IMAGE, PNG_APPLIST_DEFAULT_IMG, "省电模式", STR_POWER_SAVE_MODE, nullptr},
- {VIEW_SOUND_VIBRATION, PNG_APPLIST_VOICE_IMAGE, PNG_APPLIST_VOICE_IMAGE, PNG_APPLIST_DEFAULT_IMG, "声音", STR_SOUND, nullptr},
- {VIEW_PHONEDIR, PNG_APPLIST_CALLLOG_IMAGE, PNG_APPLIST_CALLLOG_IMAGE, PNG_APPLIST_DEFAULT_IMG, "常用联系人", STR_FAVORITE_CONTACTS, nullptr},
- {VIEW_THEME_STYLE, PNG_APPLIST_THEME_IMAGE, PNG_APPLIST_THEME_IMAGE, PNG_APPLIST_DEFAULT_IMG, "显示方式", STR_DISPLAY_MODE, nullptr},
- {VIEW_BRIGHTNESSLEVEL, PNG_APPLIST_BRIGHTNESSLEVEL_IMAGE, PNG_APPLIST_BRIGHTNESSLEVEL_IMAGE, PNG_APPLIST_DEFAULT_IMG, "亮度调节", STR_BRIGHTNESS_ADJUSTMENT, nullptr},
- {VIEW_CLASSIC_BLUETOOTH, PNG_APPLIST_BLUETOOTH_IMAGE, PNG_APPLIST_BLUETOOTH_IMAGE, PNG_APPLIST_DEFAULT_IMG, "蓝牙", STR_BLUETOOTH, nullptr},
- {VIEW_LANGUAGE_SWITCH, PNG_CONNECT_PHONE_IMAGE, PNG_CONNECT_PHONE_IMAGE, PNG_APPLIST_DEFAULT_IMG,"语言切换", nullptr},
- {VIEW_MAIN_TEMP, PNG_APPLIST_TEMP_IMAGE, PNG_APPLIST_TEMP_IMAGE, PNG_APPLIST_DEFAULT_IMG,"体温", nullptr},
- {VIEW_OFFLINEVOICE, PNG_APPLIST_VOCASSIST_IMAGE, PNG_APPLIST_VOCASSIST_IMAGE, PNG_APPLIST_DEFAULT_IMG,"语音助手", nullptr},
- {VIEW_UISAMPLE, PNG_APPLIST_UI_SAMPLE_IMAGE, PNG_APPLIST_UI_SAMPLE_IMAGE, PNG_APPLIST_DEFAULT_IMG,"示例", nullptr},
- {VIEW_MESSAGE, PNG_APPLIST_CALLER_IMAGE, PNG_APPLIST_CALLER_IMAGE, PNG_APPLIST_DEFAULT_IMG,"信息通知", nullptr},
- {VIEW_INDOORWALK, PNG_APPLIST_WALK_IMAGE, PNG_APPLIST_WALK_IMAGE, PNG_APPLIST_DEFAULT_IMG,"室内步行", nullptr},
- {VIEW_INDOORWALK, PNG_APPLIST_WALK_IMAGE, PNG_APPLIST_WALK_IMAGE, PNG_APPLIST_DEFAULT_IMG,"室内步行",STR_ACTIVITY, nullptr},
-#endif
- };
-
ApplistModel &ApplistModel::GetInstance(void)
{
static ApplistModel instance;
{
initFlag = flag;
}
+ void ApplistModel::sortAppItemsByZhName(AppItem applist_n9[], int appLen)
+ {
+ typedef struct {
+ char letter;
+ int index;
+ } LetterInfo;
+
+ LetterInfo temp[APP_MAX_NUM];
+ int count = 0;
+
+ // 提取zh_name中的大写字母并记录原始位置
+ for (int i = 0; i < appLen; i++) {
+ if (applist_n9[i].zh_name && applist_n9[i].zh_name[0] >= 'A' &&
+ applist_n9[i].zh_name[0] <= 'Z') {
+ temp[count].letter = applist_n9[i].zh_name[0];
+ temp[count].index = i;
+ count++;
+ }
+ }
+
+ // 自定义排序:先按字母顺序,再按原始位置
+ for (int i = 0; i < count - 1; i++) {
+ for (int j = i + 1; j < count; j++) {
+ if (temp[i].letter > temp[j].letter ||
+ (temp[i].letter == temp[j].letter && temp[i].index > temp[j].index)) {
+ LetterInfo t = temp[i];
+ temp[i] = temp[j];
+ temp[j] = t;
+ }
+ }
+ }
+
+ // 创建排序后的AppItem临时数组
+ AppItem sortedItems[APP_MAX_NUM];
+ int sortedIndex = 0;
+
+ // 先放入排序后的大写字母项
+ for (int i = 0; i < count; i++) {
+ sortedItems[sortedIndex++] = applist_n9[temp[i].index];
+ }
+
+ // 再放入非大写字母项(保持原顺序)
+ for (int i = 0; i < appLen; i++) {
+ if (!applist_n9[i].zh_name || applist_n9[i].zh_name[0] < 'A' ||
+ applist_n9[i].zh_name[0] > 'Z') {
+ sortedItems[sortedIndex++] = applist_n9[i];
+ }
+ }
+
+ // 更新原数组
+ memcpy(applist_n9, sortedItems, sizeof(AppItem) * appLen);
+ }
void ApplistModel::ResolvingJSAppItems(void)
{
nativeAppNum = 0;
}
appLen = nativeAppNum;
+
+#if defined(BOARD_N9)
+ //将applist中数据复制到applist_n9中,applist_n9中数据与applist中数据相同
+ memcpy_s(applist_n9, sizeof(AppItem) * APP_MAX_NUM, applist, sizeof(AppItem) * appLen);
+ //按照英文字母排序
+ sortAppItemsByZhName(applist_n9, appLen);
+ //大写字母按字母表顺序排列,相同字母按原始出现顺序排列
+ //打印排序结果
+ for (uint8_t i = 0; i < appLen; i++)
+ {
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "applist_n9[%d].zh_name = %s", i, applist_n9[i].zh_name);
+ }
+#elif defined(BOARD_W9)
+ //将applist中数据复制到applist_w9中,applist_w9中数据与applist中数据相同
+ memcpy_s(applist_w9, sizeof(AppItem) * APP_MAX_NUM, applist, sizeof(AppItem) * appLen);
+ //按照英文单词排序
+ sortAppItemsByZhName(applist_w9, appLen);
+ for (uint8_t i = 0; i < appLen; i++)
+ {
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "applist_w9[%d].en_name = %s", i, applist_w9[i].en_name);
+ }
+#endif
+
#ifdef JS_ENABLE
int32_t len = 0;
ret = BundleMsClient::GetInstance().GetBundleInfos(0, &bundleInfos, &len);
}
while (len--)
{
+ #if defined(BOARD_N9)
+ applist_n9[appLen].id = VIEW_EXTERN_APP;
+ applist_n9[appLen].iconLarge = bundleInfos[len].smallIconPath;
+ applist_n9[appLen].iconSmall = bundleInfos[len].smallIconPath;
+ applist_n9[appLen].iconHexagon = bundleInfos[len].bigIconPath;
+ applist_n9[appLen].label = bundleInfos[len].label;
+ applist_n9[appLen].uid = bundleInfos[len].bundleName;
+ #elif defined(BOARD_W9)
+ applist_w9[appLen].id = VIEW_EXTERN_APP;
+ applist_w9[appLen].iconLarge = bundleInfos[len].smallIconPath;
+ applist_w9[appLen].iconSmall = bundleInfos[len].smallIconPath;
+ applist_w9[appLen].iconHexagon = bundleInfos[len].bigIconPath;
+ applist_w9[appLen].label = bundleInfos[len].label;
+ applist_w9[appLen].uid = bundleInfos[len].bundleName;
+ #endif
+
applist[appLen].id = VIEW_EXTERN_APP;
applist[appLen].iconLarge = bundleInfos[len].smallIconPath;
applist[appLen].iconSmall = bundleInfos[len].smallIconPath;
const AppItem *ApplistModel::GetApplistItems() const
{
+ #if defined(BOARD_N9)
+ return applist_n9;
+ #elif defined(BOARD_W9)
+ return applist_w9;
+ #else
return applist;
+ #endif
}
uint8 ApplistModel::GetAppListNum() const
{ConfigDataType::DATATYPE_STRING, "dmp_china_mobile_address", "b.fxltsbl.com"},//CONFIGMOFEL_ITEM_DMP_CHINA_MOBILE_ADDRESS 移动入库地址 测试使用适配地址 IP = b.fxltsbl.com 出正式使用商用地址 IP = a.fxltsbl.com
{ConfigDataType::DATATYPE_INT, "select_aimodel", "0" },//CONFIGMODEL_ITEM_SELECT_AIMODEL
{ConfigDataType::DATATYPE_BOOL, "is_first_time_start", "true" }, //CONFIGMODEL_ITEM_FIRSTTIMESTART true :手表第一次启动,否则不是
- {ConfigDataType::DATATYPE_STRING, "open_ai_api_keys", "-1" }, //CONFIGMODEL_ITEM_OPEN_AI_API_KEYS
+ {ConfigDataType::DATATYPE_STRING, "open_ai_api_keys", "-1" }, //CONFIGMODEL_ITEM_OPEN_AI_API_KEYS
+ #if defined(BOARD_N9)
+ {ConfigDataType::DATATYPE_STRING, "applist_style", "list" }, //CONFIGMODEL_ITEM_APPLIST_STYLE
+ #else
{ConfigDataType::DATATYPE_STRING, "applist_style", "arc_scale_list" }, //CONFIGMODEL_ITEM_APPLIST_STYLE
+ #endif
{ConfigDataType::DATATYPE_INT, "android_or_ios", "0" },//CONFIGMODEL_ITEM_BLE_IOS_OR_ANDROID
{ConfigDataType::DATATYPE_INT, "br_pari" , "0"},
{ConfigDataType::DATATYPE_INT, "ota_upgrade" , "0"},// CONFIGMODEL_ITEM_OTA_UPGRADE