namespace OHOS
{
/**- APPLSIT
+ * - 手机
* - 心率
* - 血氧
* - 训练
* - 训练记录
- * - 指南针
- * - 电话
- * - 常用联系人
- * - 天气
* - 活动
- * - 更换表盘
- * - 显示方式
- * - 卡片管理
- * - 音乐
- * - 睡眠
+ * - 文心一言
+ * - 豆包
+ * - KIMI
+ * - ChatGPT
+ * - 支付宝
+ * - 消息通知
+ * - 指南针
* - 录音
+ * - 手电筒
+ * - 天气
+ * - 秒表
+ * - 计时器
* - 呼吸训练
* - 遥控拍照
- * - 语言助手
- * - 支付宝
- * - 计时器
* - 闹钟
- * - 秒表
- * - 计算器
- * - 查找手机
- * - 亮度调节
* - 声音
- * - 蓝牙
+ * - 查找手机
+ * - 勿扰模式
+ * - 卡片管理
* - 勿扰模式
- * - 消息通知
* - 省电模式
- * - AIVoice
- * - 手电筒
* - 设置
*/
const AppItem g_nativeAppList[] = {
- {VIEW_BLOODOXY, PNG_APPLIST_SPO2_IMAGE, PNG_APPLIST_SPO2_IMAGE, PNG_APPLIST_DEFAULT_IMG, "血氧", STR_BLOOD_OXYGEN, nullptr},
+ {VIEW_MAIN_PHONE, PNG_APPLIST_CALLER_IMAGE, PNG_APPLIST_CALLER_IMAGE, PNG_APPLIST_DEFAULT_IMG, "手机", STR_PHONE, nullptr},
{VIEW_HEART, PNG_APPLIST_HEART_IMAGE, PNG_APPLIST_HEART_IMAGE, PNG_APPLIST_DEFAULT_IMG, "心率", STR_HEART_RATE, nullptr},
+ {VIEW_BLOODOXY, PNG_APPLIST_SPO2_IMAGE, PNG_APPLIST_SPO2_IMAGE, PNG_APPLIST_DEFAULT_IMG, "血氧", STR_BLOOD_OXYGEN, nullptr},
{VIEW_TRAINING, PNG_APPLIST_TRAINING_IMAGE, PNG_APPLIST_TRAINING_IMAGE, PNG_APPLIST_DEFAULT_IMG, "训练", STR_TRAINING, nullptr},
{VIEW_TRAINING_RECORD, PNG_APPLIST_TRAINING_RECORD_IMAGE, PNG_APPLIST_TRAINING_RECORD_IMAGE, PNG_APPLIST_DEFAULT_IMG, "训练记录", STR_TRAINING_RECORD, nullptr},
- {VIEW_COMPASS, PNG_APPLIST_COMPASS_IMAGE, PNG_APPLIST_COMPASS_IMAGE, PNG_APPLIST_DEFAULT_IMG, "指南针", STR_COMPASS, nullptr},
- {VIEW_MAIN_PHONE, PNG_APPLIST_CALLER_IMAGE, PNG_APPLIST_CALLER_IMAGE, PNG_APPLIST_DEFAULT_IMG, "电话", STR_PHONE, nullptr},
- {VIEW_PHONEDIR, PNG_APPLIST_CALLLOG_IMAGE, PNG_APPLIST_CALLLOG_IMAGE, PNG_APPLIST_DEFAULT_IMG, "常用联系人", STR_FAVORITE_CONTACTS, nullptr},
- {VIEW_WEATHER, PNG_APPLIST_WEATHER_IMAGE, PNG_APPLIST_WEATHER_IMAGE, PNG_APPLIST_DEFAULT_IMG, "天气", STR_WEATHER, nullptr},
{VIEW_GOAL, PNG_APPLIST_GOAL_IMAGE, PNG_APPLIST_GOAL_IMAGE, PNG_APPLIST_DEFAULT_IMG, "活动", STR_ACTIVITY, nullptr},
- {VIEW_SET_DIAL_STYLE, PNG_APPLIST_CHANGEDIAL_IMAGE, PNG_APPLIST_CHANGEDIAL_IMAGE, PNG_APPLIST_DEFAULT_IMG, "更换表盘", STR_WATCH_FACE, nullptr},
- {VIEW_THEME_STYLE, PNG_APPLIST_THEME_IMAGE, PNG_APPLIST_THEME_IMAGE, PNG_APPLIST_DEFAULT_IMG, "显示方式", STR_DISPLAY_MODE, nullptr},
- {VIEW_ADD_CARD, PNG_APPLIST_CARDSET_IMAGE, PNG_APPLIST_CARDSET_IMAGE, PNG_APPLIST_DEFAULT_IMG, "卡片管理", STR_CARD_MANAGEMENT, nullptr},
- {VIEW_SLEEP, PNG_APPLIST_SLEEP_IMAGE, PNG_APPLIST_SLEEP_IMAGE, PNG_APPLIST_DEFAULT_IMG, "睡眠", STR_SLEEP, nullptr},
- {VIEW_RECORD, PNG_APPLIST_RECORD_IMAGE, PNG_APPLIST_RECORD_IMAGE, PNG_APPLIST_DEFAULT_IMG, "录音", STR_RECORD, nullptr},
- {VIEW_RESPIRATORY_TRAINING, PNG_APPLIST_BREATHE_IMAGE, PNG_APPLIST_BREATHE_IMAGE, PNG_APPLIST_DEFAULT_IMG, "呼吸训练", STR_BREATH_TRAINING, nullptr},
- {VIEW_TAKEPHOTOS, PNG_APPLIST_TACKEPHOTOS_IMAGE, PNG_APPLIST_TACKEPHOTOS_IMAGE, PNG_APPLIST_DEFAULT_IMG, "遥控拍照", STR_REMOTE_SHOOTING, nullptr},
+ {VIEW_AI_VOICE, PNG_APPLIST_GOAL_IMAGE, PNG_APPLIST_GOAL_IMAGE, PNG_APPLIST_DEFAULT_IMG, "AI全家桶", STR_AI_FAMILY_MEALS, nullptr},
#ifdef SUPPORT_ALIPAY_SEC
{VIEW_MAIN_ALIPAY, PNG_APPLIST_ALIPAY_IMAGE, PNG_APPLIST_ALIPAY_IMAGE, PNG_APPLIST_DEFAULT_IMG, "支付宝", STR_ALIPAY, nullptr},
#endif
- {VIEW_MAIN_COUNTDOWN, PNG_APPLIST_COUNTDOWN_IMAGE, PNG_APPLIST_COUNTDOWN_IMAGE, PNG_APPLIST_DEFAULT_IMG,"计时器", STR_TIMER, nullptr},
- {VIEW_MAIN_ALARM, PNG_APPLIST_ALARM_IMAGE, PNG_APPLIST_ALARM_IMAGE,PNG_APPLIST_DEFAULT_IMG,"闹钟", STR_ALARM, nullptr},
- {VIEW_MAIN_STOPWATCH, PNG_APPLIST_STOPWATCH_IMAGE, PNG_APPLIST_STOPWATCH_IMAGE,PNG_APPLIST_DEFAULT_IMG, "秒表", STR_STOPWATCH, nullptr},
- {VIEW_FIND_PHONE, PNG_APPLIST_FINDPHONE_IMAGE, PNG_APPLIST_FINDPHONE_IMAGE, PNG_APPLIST_DEFAULT_IMG,"查找手机", STR_FIND_PHONE, nullptr},
- {VIEW_BRIGHTNESSLEVEL, PNG_APPLIST_BRIGHTNESSLEVEL_IMAGE, PNG_APPLIST_BRIGHTNESSLEVEL_IMAGE, PNG_APPLIST_DEFAULT_IMG,"亮度调节", STR_BRIGHTNESS_ADJUSTMENT, nullptr},
- {VIEW_SOUND_VIBRATION, PNG_APPLIST_VOICE_IMAGE, PNG_APPLIST_VOICE_IMAGE, PNG_APPLIST_DEFAULT_IMG,"声音", STR_SOUND, nullptr},
- {VIEW_CLASSIC_BLUETOOTH, PNG_APPLIST_BLUETOOTH_IMAGE, PNG_APPLIST_BLUETOOTH_IMAGE, PNG_APPLIST_DEFAULT_IMG,"蓝牙", STR_BLUETOOTH, nullptr},
- {VIEW_DNOTDISTURB, PNG_APPLIST_DISTURB_IMAGE, PNG_APPLIST_DISTURB_IMAGE, PNG_APPLIST_DEFAULT_IMG,"勿扰模式", STR_DO_NOT_DISTURB, nullptr},
- {VIEW_MESSAGE, PNG_APPLIST_MESSAGE_IMAGE, PNG_APPLIST_MESSAGE_IMAGE, PNG_APPLIST_DEFAULT_IMG,"消息通知", STR_MESSAGE_NOTIFICATION, nullptr},
- {VIEW_SAVEELE, PNG_APPLIST_SAVEELE_IMAGE, PNG_APPLIST_SAVEELE_IMAGE, PNG_APPLIST_DEFAULT_IMG,"省电模式", STR_POWER_SAVE_MODE, nullptr},
- {VIEW_AI_VOICE, PNG_APPLIST_AIVOICE_IMAGE, PNG_APPLIST_AIVOICE_IMAGE, PNG_APPLIST_DEFAULT_IMG,"AI Voice", STR_AI_VOICE, nullptr},
- {VIEW_FLASHLIGHT, PNG_APPLIST_FLASHLIGHT_IMAGE, PNG_APPLIST_FLASHLIGHT_IMAGE, PNG_APPLIST_DEFAULT_IMG,"手电筒", STR_FLASHLIGHT, nullptr},
- {VIEW_SETTING, PNG_APPLIST_SETTING_IMAGE, PNG_APPLIST_SETTING_IMAGE, PNG_APPLIST_DEFAULT_IMG,"设置", STR_SETTINGS, nullptr},
+ {VIEW_MESSAGE, PNG_APPLIST_MESSAGE_IMAGE, PNG_APPLIST_MESSAGE_IMAGE, PNG_APPLIST_DEFAULT_IMG, "消息通知", STR_MESSAGE_NOTIFICATION, nullptr},
+ {VIEW_COMPASS, PNG_APPLIST_COMPASS_IMAGE, PNG_APPLIST_COMPASS_IMAGE, PNG_APPLIST_DEFAULT_IMG, "指南针", STR_COMPASS, nullptr},
+ {VIEW_RECORD, PNG_APPLIST_RECORD_IMAGE, PNG_APPLIST_RECORD_IMAGE, PNG_APPLIST_DEFAULT_IMG, "录音", STR_RECORD, nullptr},
+ {VIEW_FLASHLIGHT, PNG_APPLIST_FLASHLIGHT_IMAGE, PNG_APPLIST_FLASHLIGHT_IMAGE, PNG_APPLIST_DEFAULT_IMG, "手电筒", STR_FLASHLIGHT, nullptr},
+ {VIEW_WEATHER, PNG_APPLIST_WEATHER_IMAGE, PNG_APPLIST_WEATHER_IMAGE, PNG_APPLIST_DEFAULT_IMG, "天气", STR_WEATHER, nullptr},
+ {VIEW_MAIN_STOPWATCH, PNG_APPLIST_STOPWATCH_IMAGE, PNG_APPLIST_STOPWATCH_IMAGE, PNG_APPLIST_DEFAULT_IMG, "秒表", STR_STOPWATCH, nullptr},
+ {VIEW_MAIN_COUNTDOWN, PNG_APPLIST_COUNTDOWN_IMAGE, PNG_APPLIST_COUNTDOWN_IMAGE, PNG_APPLIST_DEFAULT_IMG, "计时器", STR_TIMER, nullptr},
+ {VIEW_RESPIRATORY_TRAINING, PNG_APPLIST_BREATHE_IMAGE, PNG_APPLIST_BREATHE_IMAGE, PNG_APPLIST_DEFAULT_IMG, "呼吸训练", STR_BREATH_TRAINING, nullptr},
+ {VIEW_TAKEPHOTOS, PNG_APPLIST_TACKEPHOTOS_IMAGE, PNG_APPLIST_TACKEPHOTOS_IMAGE, PNG_APPLIST_DEFAULT_IMG, "遥控拍照", STR_REMOTE_SHOOTING, nullptr},
+ {VIEW_MAIN_ALARM, PNG_APPLIST_ALARM_IMAGE, PNG_APPLIST_ALARM_IMAGE, PNG_APPLIST_DEFAULT_IMG, "闹钟", STR_ALARM, nullptr},
+ {VIEW_SOUND_VIBRATION, PNG_APPLIST_VOICE_IMAGE, PNG_APPLIST_VOICE_IMAGE, PNG_APPLIST_DEFAULT_IMG, "声音", STR_SOUND, nullptr},
+ {VIEW_FIND_PHONE, PNG_APPLIST_FINDPHONE_IMAGE, PNG_APPLIST_FINDPHONE_IMAGE, PNG_APPLIST_DEFAULT_IMG, "查找手机", STR_FIND_PHONE, nullptr},
+ {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_SLEEP, PNG_APPLIST_SLEEP_IMAGE, PNG_APPLIST_SLEEP_IMAGE, PNG_APPLIST_DEFAULT_IMG, "睡眠", STR_SLEEP, nullptr},
+ {VIEW_SETTING, PNG_APPLIST_SETTING_IMAGE, PNG_APPLIST_SETTING_IMAGE, PNG_APPLIST_DEFAULT_IMG, "设置", STR_SETTINGS, 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},
#if 0
/*屏蔽Slice*/
#include "systemupdate/include/SystemUpdateModel.h"\r
namespace OHOS\r
{\r
-\r
static SystemView *g_pSystemView{nullptr};\r
\r
- struct SystemViewMapper_ext\r
- {\r
- const int16_t viewId;\r
- const char *viewid_str;\r
- // const char *Labe_str;\r
- uint16_t textId;\r
- bool (SystemView::*func)(int16_t thisView);\r
- };\r
-\r
- SystemViewMapper_ext ViewMapper_t[] = {\r
- {ABOUTTHEWATCHVIEW, ABOUT_THE_WATCH, STR_ABOUT_WATCH, &SystemView::ChangeSystemAboutView},\r
- {SYSTEMLUPGRADE, SYSTEM_UPGRADE, STR_SYSTEM_UPDATE, &SystemView::ChangeSystemupgradeView},\r
- {WATCHQRCODE, WATCH_QR_CODE, STR_WATCH_QR_CODE, &SystemView::ChangeWatchQRCodeView},\r
- {SYSTEMLANGUAGEVIEW, SYSTEM_LANGUAGE, STR_SYSTEM_LANGUAGE, &SystemView::ChangeSystemLanguageView},\r
- {FACTORYRESETVIEW, FACTORY_RESET, STR_FACTORY_RESET, &SystemView::ChangeSystemFactoryResetView},\r
-\r
- };\r
-\r
- // 根据传入的interface参数执行相应视图ID关联的成员函数。\r
- bool SystemView::ClickFunc(int16_t interface)\r
- {\r
- int funcSize = sizeof(ViewMapper_t) / sizeof(ViewMapper_t[SYSTEMVIEW]);\r
- for (int i = 0; i < funcSize; i++)\r
- {\r
- if (interface == ViewMapper_t[i].viewId)\r
- {\r
- bool jug = (this->*(ViewMapper_t[i].func))(interface);\r
- if (jug == false)\r
- {\r
- return false;\r
- }\r
- return true;\r
- }\r
- }\r
- return false;\r
- }\r
-\r
- // 切换视图\r
- void SystemView::ChangeView(int16_t hideView, int16_t showView)\r
- {\r
- if (hideView > MAX_SYSTEMVIEWID)\r
- {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView:: SystemViewId Overstep ones bounds");\r
- return;\r
- }\r
- SystemScrollView[hideView]->SetVisible(false);\r
- ClickFunc(showView);\r
- SystemScrollView[showView]->SetVisible(true);\r
- Draw();\r
- }\r
-\r
SystemView::SystemView()\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::SystemView");\r
SystemView::~SystemView()\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::~SystemView");\r
- ClearAll();\r
g_pSystemView = nullptr;\r
}\r
\r
\r
void SystemView::ClearAll()\r
{\r
- if (SystemScrollView[SYSTEMVIEW] != nullptr)\r
+ if (viewInitStatus)\r
{\r
- SystemScrollView[SYSTEMVIEW]->RemoveAll();\r
-\r
- if (Title != nullptr)\r
+ if (SystemScrollView[SYSTEMVIEW] != nullptr)\r
{\r
- delete Title;\r
- Title = nullptr;\r
- }\r
-\r
- int num = (sizeof(ViewMapper_t) / sizeof(SystemViewMapper_ext));\r
- for (int i = 0; i < num; i++)\r
- {\r
- delete SystemViewButton[i];\r
- SystemViewButton[i] = nullptr;\r
+ SystemScrollView[SYSTEMVIEW]->RemoveAll();\r
+ if (Title != nullptr)\r
+ {\r
+ delete Title;\r
+ Title = nullptr;\r
+ }\r
+ for (int i = 0; i < 5; i++)\r
+ {\r
+ if (SystemViewLabelButton[i] != nullptr)\r
+ {\r
+ delete SystemViewLabelButton[i];\r
+ SystemViewLabelButton[i] = nullptr;\r
+ }\r
+\r
+ if (SystemViewLabel[i] != nullptr)\r
+ {\r
+ delete SystemViewLabel[i];\r
+ SystemViewLabel[i] = nullptr;\r
+ }\r
+ }\r
+ if (NeedToUpdateImage != nullptr)\r
+ {\r
+ delete NeedToUpdateImage;\r
+ NeedToUpdateImage = nullptr;\r
+ }\r
+ delete SystemScrollView[SYSTEMVIEW];\r
+ SystemScrollView[SYSTEMVIEW] = nullptr;\r
}\r
+ }\r
+ if (p_SystemAboutTheWatchView != nullptr)\r
+ {\r
+ delete p_SystemAboutTheWatchView;\r
+ p_SystemAboutTheWatchView = nullptr;\r
+ }\r
+ if (p_SystemFactoryResetView != nullptr)\r
+ {\r
+ delete p_SystemFactoryResetView;\r
+ p_SystemFactoryResetView = nullptr;\r
+ }\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ClearAll end!!");\r
+ }\r
\r
- if (p_SystemAboutTheWatchView != nullptr)\r
- {\r
- delete p_SystemAboutTheWatchView;\r
- p_SystemAboutTheWatchView = nullptr;\r
- }\r
+ UILabelButtonExt *SystemView::SystemViewLabelButtonInit(ButtonConfig &buttonconfig)\r
+ {\r
+ UILabelButtonExt *labelButton = new UILabelButtonExt();\r
+ if (labelButton == nullptr)\r
+ {\r
+ return nullptr;\r
+ }\r
+ labelButton->SetPosition(buttonconfig.x, buttonconfig.y, buttonconfig.w, buttonconfig.h);\r
+ labelButton->SetViewId(buttonconfig.viewId);\r
+ labelButton->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);\r
+ labelButton->SetImageSrc(PNG_SETTING_NEXT_IMAGE, PNG_SETTING_NEXT_IMAGE);\r
+ labelButton->SetImagePosition(326, 37);\r
+ labelButton->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff000000, UIButton::PRESSED);\r
+ labelButton->SetOnClickListener(presenter_);\r
+\r
+ return labelButton;\r
+ }\r
\r
- if (p_SystemupgradeView != nullptr)\r
- {\r
- delete p_SystemupgradeView;\r
- p_SystemupgradeView = nullptr;\r
- }\r
+ UILabelExt *SystemView::SystemViewLabelInit(LabelConfig &labelconfig)\r
+ {\r
+ UILabelExt *label = new UILabelExt();\r
+ if (label == nullptr)\r
+ {\r
+ return nullptr;\r
+ }\r
+ label->SetPosition(labelconfig.left, labelconfig.top, labelconfig.width, labelconfig.height);\r
+ label->SetStyle(STYLE_TEXT_FONT, labelconfig.fontSize);\r
+ label->SetStyle(STYLE_LINE_HEIGHT, labelconfig.lineHeigh);\r
+ label->SetTextId(labelconfig.textId);\r
+ label->SetLineBreakMode(labelconfig.lineBreakMode);\r
+ label->SetRollSpeed(70);\r
+ label->SetFont(DEFAULT_VECTOR_FONT_FILENAME, labelconfig.fontSize);\r
+ return label;\r
+ }\r
\r
- if (p_WatchQRCodeView != nullptr)\r
+ bool SystemView::CreateSystemViewLabel(void)\r
+ {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SystemView::CreateSystemViewLabel");\r
+ LabelConfig labelConfig = {\r
+ .left = 83,\r
+ .top = 50,\r
+ .width = 300,\r
+ .height = 35,\r
+ .fontSize = 30,\r
+ .lineHeigh = 35,\r
+ .textId = STR_SYSTEM, /*系统*/\r
+ .lineBreakMode = UILabel::LINE_BREAK_OSCILLATION,\r
+ };\r
+ Title = SystemViewLabelInit(labelConfig);\r
+ if (Title == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::Title");\r
+ return false;\r
+ }\r
+ Title->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
+ SystemScrollView[SYSTEMVIEW]->Add(Title);\r
+ /* -------------------------------------------------------------------------- */\r
+ struct LabelSetup\r
+ {\r
+ int16_t y;\r
+ const int16_t textId;\r
+ };\r
+\r
+ LabelSetup labelSetups[] = {\r
+ {153, STR_ABOUT_WATCH},\r
+ {273, STR_SYSTEM_UPDATE},\r
+ {393, STR_WATCH_QR_CODE},\r
+ {513, STR_SYSTEM_LANGUAGE},\r
+ {633, STR_FACTORY_RESET},\r
+ };\r
+ for (int i = 0; i < sizeof(labelSetups) / sizeof(labelSetups[0]); ++i)\r
+ {\r
+ labelConfig = {\r
+ .left = 90,\r
+ .top = labelSetups[i].y,\r
+ .width = 240,\r
+ .height = 35,\r
+ .fontSize = 30,\r
+ .lineHeigh = 35,\r
+ .textId = labelSetups[i].textId,\r
+ .lineBreakMode = UILabel::LINE_BREAK_OSCILLATION,\r
+ };\r
+ SystemViewLabel[i] = SystemViewLabelInit(labelConfig);\r
+ if (SystemViewLabel[i] == nullptr)\r
{\r
- delete p_WatchQRCodeView;\r
- p_WatchQRCodeView = nullptr;\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SoundAndVibrationView::SystemViewLabel[%d] new fail!", i);\r
+ return false;\r
}\r
+ SystemScrollView[SYSTEMVIEW]->Add(SystemViewLabel[i]);\r
+ }\r
\r
- if (p_SystemFactoryResetView != nullptr)\r
- {\r
- delete p_SystemFactoryResetView;\r
- p_SystemFactoryResetView = nullptr;\r
- }\r
+ return true;\r
+ }\r
\r
- if (NeedToUpdateImage != nullptr)\r
+ bool SystemView::CreateSystemViewLabelButton(void)\r
+ {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SystemView::CreateSystemViewLabelButton");\r
+ struct ButtonSetup\r
+ {\r
+ int y;\r
+ const char *viewId;\r
+ };\r
+ ButtonSetup buttonSetups[] = {\r
+ {120, ABOUT_THE_WATCH},\r
+ {240, SYSTEM_UPGRADE},\r
+ {360, WATCH_QR_CODE},\r
+ {480, SYSTEM_LANGUAGE},\r
+ {600, FACTORY_RESET},\r
+ };\r
+\r
+ for (int i = 0; i < sizeof(buttonSetups) / sizeof(buttonSetups[0]); ++i)\r
+ {\r
+ ButtonConfig buttonconfig = {\r
+ .x = 43,\r
+ .y = buttonSetups[i].y,\r
+ .w = 380,\r
+ .h = 100,\r
+ .viewId = buttonSetups[i].viewId,\r
+ };\r
+ SystemViewLabelButton[i] = SystemViewLabelButtonInit(buttonconfig);\r
+ if (SystemViewLabelButton[i] == nullptr)\r
{\r
- delete NeedToUpdateImage;\r
- NeedToUpdateImage = nullptr;\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SoundAndVibrationView::Button[%d] new fail!", i);\r
+ return false;\r
}\r
-\r
- delete SystemScrollView[SYSTEMVIEW];\r
- SystemScrollView[SYSTEMVIEW] = nullptr;\r
+ SystemScrollView[SYSTEMVIEW]->Add(SystemViewLabelButton[i]);\r
}\r
+\r
+ return true;\r
}\r
\r
- /// @brief 设置SystemScrollView\r
- /// @param void\r
- /// @return true 设置成功,false 失败\r
- bool SystemView::SetTheSystemScrollView(void)\r
+ bool SystemView::CreateSystemScrollView(void)\r
{\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SystemView::CreateSystemScrollView");\r
SystemScrollView[SYSTEMVIEW] = new UIScrollView();\r
if (SystemScrollView[SYSTEMVIEW] == nullptr)\r
{\r
SystemScrollView[SYSTEMVIEW]->SetDirection(1);\r
SystemScrollView[SYSTEMVIEW]->SetThrowDrag(true); // 设置手指抬起屏幕后是否继续滚动。\r
SystemScrollView[SYSTEMVIEW]->SetMaxScrollDistance(1000); // 设置手指抬起屏幕后的最大滚动距离。\r
- UIView::OnDragListener *draglistener = static_cast<UIView::OnDragListener *>(SystemPresenter::GetInstance());\r
- if (draglistener == nullptr)\r
- {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::draglistener can not be nullptr!");\r
- return false;\r
- }\r
- SystemScrollView[SYSTEMVIEW]->SetOnDragListener(draglistener);\r
+ SystemScrollView[SYSTEMVIEW]->RequestFocus();\r
+ SystemScrollView[SYSTEMVIEW]->SetRotateFactor(true);\r
+ SystemScrollView[SYSTEMVIEW]->SetOnDragListener(presenter_);\r
SystemScrollView[SYSTEMVIEW]->SetTouchable(true);\r
SystemScrollView[SYSTEMVIEW]->SetDraggable(true);\r
+\r
return true;\r
}\r
\r
- /// @brief 设置标题\r
- /// @param void\r
- /// @return true 设置成功,false 失败\r
- bool SystemView::SetTheTitle(void)\r
+ /*需要更新的红点图片初始化*/\r
+ void SystemView::NeedToUpdateImageinit(void)\r
{\r
- Title = new UILabelExt();\r
- if (Title == nullptr)\r
+ if (NeedToUpdateImage == nullptr)\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::Title new fail!");\r
- return false;\r
+ NeedToUpdateImage = new UIImageView();\r
+ if (NeedToUpdateImage == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::SystemView");\r
+ return;\r
+ }\r
+ NeedToUpdateImage->SetPosition(323, 280, 20, 20);\r
+ NeedToUpdateImage->SetStyle(STYLE_BORDER_RADIUS, 200);\r
+ const char *imagesPath = "/user/res/system/SYSTEM_UPDATE_FLAG.bin";\r
+ NeedToUpdateImage->SetSrc(imagesPath);\r
+\r
+ SystemScrollView[SYSTEMVIEW]->Add(NeedToUpdateImage);\r
}\r
- Title->SetPosition(83, 52, 300, 35);\r
- Title->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
- Title->SetStyle(STYLE_TEXT_FONT, 30);\r
- Title->SetStyle(STYLE_LINE_HEIGHT, 35);\r
- // Title->SetText("系统");\r
- Title->SetTextId(STR_SYSTEM);\r
- Title->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION);\r
- Title->SetRollSpeed(70);\r
- Title->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
- // Title->SetRollSpeed(6);\r
- Title->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
- return true;\r
}\r
\r
- UILabelButtonExt *SystemView::SetTheButton_ext(ButtonConfig_ext_t &buttonconfig, UIView::OnClickListener *clickListener)\r
+ void SystemView::CreateSystemView(void)\r
{\r
- UILabelButtonExt *button = new UILabelButtonExt();\r
- if (button == nullptr)\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SystemView::CreateSystemView");\r
+ if (!CreateSystemScrollView() || !CreateSystemViewLabelButton() || !CreateSystemViewLabel())\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, " SystemView::SetTheButton: button new fail!");\r
- return nullptr;\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SystemView::CreateSystemView");\r
+ return;\r
}\r
- button->SetPosition(buttonconfig.x, buttonconfig.y, buttonconfig.w, buttonconfig.h);\r
- button->SetViewId(buttonconfig.ViewId);\r
- button->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);\r
- button->SetImageSrc(buttonconfig.ImageSrc, buttonconfig.ImageSrc);\r
- button->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);\r
- button->SetOnClickListener(clickListener);\r
-\r
- // button->SetText(buttonconfig.str);\r
- button->SetTextId(buttonconfig.textId);\r
- button->SetAlign(TEXT_ALIGNMENT_LEFT);\r
- button->SetLabelPosition(buttonconfig.label_x, buttonconfig.label_y);\r
- button->SetFont(DEFAULT_VECTOR_FONT_FILENAME, buttonconfig.Fontsize);\r
- // button->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);\r
-\r
- button->SetImagePosition(326, 37);\r
- return button;\r
+ viewInitStatus = true;\r
}\r
\r
- void SystemView::initView_ext(int x, int y, int w, int h, int interval, const char *imagsrc)\r
+ void SystemView::OnStart()\r
{\r
- if (!SetTheSystemScrollView())\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SystemView::OnStart");\r
+ View<SystemPresenter>::OnStart();\r
+ SetContainerView(new UIViewGroup());\r
+ if (GetContainer() == nullptr)\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::SetTheSystemScrollView() fail!");\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SetContainerView fail!!");\r
return;\r
}\r
- if (!SetTheTitle())\r
+ container_->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
+\r
+ if (!viewInitStatus)\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::SetTheTitle() fail!");\r
+ CreateSystemView();\r
+ }\r
+\r
+ RootView::GetInstance()->SetOnKeyActListener(presenter_);\r
+ }\r
+\r
+ void SystemView::OnSetUpView()\r
+ {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SystemView::OnSetUpView");\r
+ View<SystemPresenter>::OnSetUpView();\r
+ if (SystemScrollView[SYSTEMVIEW] == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView:: OnSetUpView has nullptr");\r
return;\r
}\r
- /* -------------------------------------------------------------------------- */\r
- UIView::OnClickListener *clickListener = static_cast<UIView::OnClickListener *>(SystemPresenter::GetInstance());\r
- /* -------------------------------------------------------------------------- */\r
- ButtonConfig_ext_t buttonconfig;\r
- buttonconfig.x = x;\r
- buttonconfig.y = y;\r
- buttonconfig.w = w;\r
- buttonconfig.h = h;\r
+ if (SystemUpdateModel::GetInstance().IsLatestVersion() == false) // 如果不是最新系统版本出现小圆点\r
+ {\r
+ NeedToUpdateImageinit();\r
+ }\r
+ container_->Add(SystemScrollView[SYSTEMVIEW]);\r
+ Draw();\r
+ }\r
\r
- int len = sizeof(ViewMapper_t) / sizeof(SystemViewMapper_ext);\r
+ void SystemView::OnTearDownView()\r
+ {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SystemView::OnTearDownView");\r
+ View<SystemPresenter>::OnTearDownView();\r
+ return;\r
+ }\r
\r
- for (int i = 0; i < len; i++)\r
+ void SystemView::OnStop()\r
+ {\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SystemView::OnStop");\r
+ View<SystemPresenter>::OnStop();\r
+ if (container_ != nullptr)\r
{\r
- // buttonconfig.str = ViewMapper_t[i].Labe_str;\r
- buttonconfig.textId = ViewMapper_t[i].textId;\r
- buttonconfig.ViewId = ViewMapper_t[i].viewid_str;\r
- buttonconfig.ImageSrc = imagsrc;\r
- buttonconfig.label_x = 40;\r
- buttonconfig.label_y = 0;\r
- buttonconfig.Fontsize = 30;\r
- buttonconfig.ALIGN = TEXT_ALIGNMENT_LEFT;\r
- SystemViewButton[i] = SetTheButton_ext(buttonconfig, clickListener);\r
- buttonconfig.y += interval;\r
+ container_->RemoveAll();\r
+ delete container_;\r
+ container_ = nullptr;\r
}\r
+ RootView::GetInstance()->ClearOnKeyActListener();\r
+ ClearAll();\r
+ return;\r
}\r
\r
// 0.跳转到系统视图,其他视图都市通过这个视图跳转\r
- bool SystemView::ChangeSystemView(int16_t thisView)\r
+ bool SystemView::ChangeToSystemView(int16_t thisView)\r
{\r
if (SystemScrollView[thisView] == nullptr)\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeSystemView");\r
- RootView::GetInstance()->Add(SystemScrollView[thisView]);\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeToSystemView");\r
+ container_->Add(SystemScrollView[thisView]);\r
}\r
return true;\r
}\r
\r
// 1.跳转到关于手表\r
- bool SystemView::ChangeSystemAboutView(int16_t thisView)\r
+ bool SystemView::ChangeToSystemAboutView(int16_t thisView)\r
{\r
if (SystemScrollView[thisView] == nullptr)\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeSystemAboutView");\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeToSystemAboutView");\r
p_SystemAboutTheWatchView = new SystemAboutTheWatchView();\r
if (p_SystemAboutTheWatchView == nullptr)\r
{\r
return false;\r
}\r
SystemScrollView[thisView] = p_SystemAboutTheWatchView->SystemAbouTheWatchtInitIView();\r
- RootView::GetInstance()->Add(SystemScrollView[thisView]);\r
+ container_->Add(SystemScrollView[thisView]);\r
}\r
return true;\r
}\r
\r
- // 2.跳转到手表二维码\r
- bool SystemView::ChangeWatchQRCodeView(int16_t thisView)\r
+ // 3.跳转到恢复出厂设置界面\r
+ bool SystemView::ChangeToSystemFactoryResetView(int16_t thisView)\r
{\r
if (SystemScrollView[thisView] == nullptr)\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeWatchQRCodeView");\r
- p_WatchQRCodeView = new SystemSuperviseView();\r
- if (p_WatchQRCodeView == nullptr)\r
- {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView:: new scrollView[%d] fail", thisView);\r
- return false;\r
- }\r
- SystemScrollView[thisView] = p_WatchQRCodeView->SystemSuperviseViewInit();\r
- RootView::GetInstance()->Add(SystemScrollView[thisView]);\r
- }\r
- return true;\r
- }\r
-\r
- // 3.跳转到系统语言界面\r
- bool SystemView::ChangeSystemLanguageView(int16_t thisView)\r
- {\r
- return true;\r
- }\r
-\r
- // 4.跳转到恢复出厂设置界面\r
- bool SystemView::ChangeSystemFactoryResetView(int16_t thisView)\r
- {\r
- if (SystemScrollView[thisView] == nullptr)\r
- {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeSystemFactoryResetView");\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeToSystemFactoryResetView");\r
p_SystemFactoryResetView = new SystemFactoryResetView();\r
if (p_SystemFactoryResetView == nullptr)\r
{\r
return false;\r
}\r
SystemScrollView[thisView] = p_SystemFactoryResetView->SystemFactoryResetViewInit();\r
- RootView::GetInstance()->Add(SystemScrollView[thisView]);\r
+ container_->Add(SystemScrollView[thisView]);\r
}\r
return true;\r
}\r
\r
- // 5.跳转到系统升级界面\r
- bool SystemView::ChangeSystemupgradeView(int16_t thisView)\r
+ struct SystemViewMapper\r
{\r
- if (SystemScrollView[thisView] == nullptr)\r
+ const int16_t viewId;\r
+ bool (SystemView::*func)(int16_t thisView);\r
+ };\r
+\r
+ static const SystemViewMapper ViewMapper[] = {\r
+ {SYSTEMVIEW, &SystemView::ChangeToSystemView},\r
+ {ABOUTTHEWATCHVIEW, &SystemView::ChangeToSystemAboutView},\r
+ {FACTORYRESETVIEW, &SystemView::ChangeToSystemFactoryResetView},\r
+ };\r
+\r
+ // 根据传入的interface参数执行相应视图ID关联的成员函数。\r
+ bool SystemView::ClickFunc(int16_t interface)\r
+ {\r
+ int funcSize = sizeof(ViewMapper) / sizeof(ViewMapper[SYSTEMVIEW]);\r
+ for (int i = 0; i < funcSize; i++)\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::ChangeSystemupgradeView");\r
- p_SystemupgradeView = new SystemupgradeView();\r
- if (p_SystemupgradeView == nullptr)\r
+ if (interface == ViewMapper[i].viewId)\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView:: new scrollView[%d] fail", thisView);\r
- return false;\r
+ bool jug = (this->*(ViewMapper[i].func))(interface);\r
+ if (jug == false)\r
+ {\r
+ return false;\r
+ }\r
+ return true;\r
}\r
- SystemScrollView[thisView] = p_SystemupgradeView->SystemupgradeViewInit();\r
- RootView::GetInstance()->Add(SystemScrollView[thisView]);\r
}\r
- return true;\r
+ return false;\r
}\r
\r
- UIScrollView *SystemView::GetSystemScrollView(int ViewId)\r
+ /*检查传入的两个视图参数 hideView 和 showView 的有效性。*/\r
+ bool SystemView::CheckViewParam(int16_t hideView, int16_t showView)\r
{\r
- if (SystemScrollView[ViewId] == nullptr)\r
+ if (showView < 0 || showView >= MAX_SYSTEMVIEWID)\r
{\r
- return nullptr;\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::CheckViewParam showView err.");\r
+ return false;\r
}\r
- return SystemScrollView[ViewId];\r
- }\r
\r
- void SystemView::NeedToUpdateImageinit(void)\r
- {\r
- if (NeedToUpdateImage == nullptr)\r
+ if (hideView < 0 || hideView > MAX_SYSTEMVIEWID)\r
{\r
- NeedToUpdateImage = new UIImageView();\r
- if (NeedToUpdateImage == nullptr)\r
- {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::SystemView");\r
- return;\r
- }\r
- NeedToUpdateImage->SetPosition(323, 280, 20, 20);\r
- NeedToUpdateImage->SetStyle(STYLE_BORDER_RADIUS, 200);\r
- const char *imagesPath = "/user/res/system/SYSTEM_UPDATE_FLAG.bin";\r
- NeedToUpdateImage->SetSrc(imagesPath);\r
-\r
- SystemScrollView[SYSTEMVIEW]->Add(NeedToUpdateImage);\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::CheckViewParam hideView err.");\r
+ return false;\r
}\r
- }\r
\r
- void SystemView::OnStart()\r
- {\r
- View<SystemPresenter>::OnStart();\r
- initView_ext(43, 120, 380, 100, 120, "/user/res/SETTING_NEXT.bin");\r
- RootView::OnKeyActListener *keyactListener = (RootView::OnKeyActListener *)OHOS::SystemPresenter::GetInstance();\r
- RootView::GetInstance()->SetOnKeyActListener(keyactListener);\r
+ return true;\r
}\r
\r
- void SystemView::OnSetUpView()\r
+ // 切换视图\r
+ void SystemView::ChangeView(int16_t hideView, int16_t showView)\r
{\r
- View<SystemPresenter>::OnSetUpView();\r
- if (SystemScrollView[SYSTEMVIEW] == nullptr)\r
+ if (!CheckViewParam(hideView, showView))\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView:: OnSetUpView has nullptr");\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::CheckViewParam failed.");\r
return;\r
}\r
-\r
- SystemScrollView[SYSTEMVIEW]->Add(Title);\r
- int len = sizeof(ViewMapper_t) / sizeof(SystemViewMapper_ext);\r
-\r
- for (int i = 0; i < len; i++)\r
- {\r
- SystemScrollView[SYSTEMVIEW]->Add(SystemViewButton[i]);\r
- }\r
- if (SystemUpdateModel::GetInstance().IsLatestVersion() == false) // 如果不是最新系统版本出现小圆点\r
- {\r
- NeedToUpdateImageinit();\r
- }\r
- RootView::GetInstance()->Add(SystemScrollView[SYSTEMVIEW]);\r
+ SystemScrollView[hideView]->SetVisible(false);\r
+ ClickFunc(showView);\r
+ SystemScrollView[showView]->SetVisible(true);\r
Draw();\r
}\r
\r
- void SystemView::OnTearDownView()\r
- {\r
-\r
- View<SystemPresenter>::OnTearDownView();\r
- return;\r
- }\r
-\r
- void SystemView::OnStop()\r
+ UIScrollView *SystemView::GetSystemScrollView(int ViewId)\r
{\r
-\r
- View<SystemPresenter>::OnStop();\r
- RootView::GetInstance()->ClearOnKeyActListener();\r
- RootView::GetInstance()->RemoveAll();\r
- return;\r
+ if (SystemScrollView[ViewId] == nullptr)\r
+ {\r
+ return nullptr;\r
+ }\r
+ return SystemScrollView[ViewId];\r
}\r
}
\ No newline at end of file