+/*
+ * @Author: penglei 1624952103@qq.com
+ * @Date: 2025-08-19 18:24:19
+ * @LastEditors: penglei 1624952103@qq.com
+ * @LastEditTime: 2025-08-19 18:34:47
+ * @FilePath: /FD230/code/sdk/zhihui/UI/producttest/include/testModel.h
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
+ */
#ifndef TEST_MODEL_H
#define TEST_MODEL_H
#include <stdint.h>
public:
static testModel *GetInstance(void);
void testModelupdata(int);
- bool SetResult(int viewId, bool pass);
+ bool SetResult(int viewId, test_status_enum pass);
bool SetResult(std::string viewIdstr);
- bool GetResult(int viewId);
+ test_status_enum GetResult(int viewId);
std::string GetSummaryString();
std::string GetViewId(int viewid);
#ifndef TEST_VIEW_H\r
#define TEST_VIEW_H\r
\r
-\r
#include "View.h"\r
\r
#include "components/ui_view_group.h"\r
#include "components/ui_image_view.h"\r
#include "components/ui_button.h"\r
#include "components/ui_label_button_ext.h"\r
+#include "components/ui_label_button.h"\r
\r
#include "producttest/include/testabout.h"\r
#include "producttest/include/testLCD.h"\r
#include "producttest/include/testTP.h"\r
#include "producttest/include/testluminance.h"\r
#include "producttest/include/testchanging.h"\r
-#include "producttest/include/testspeak.h" \r
+#include "producttest/include/testspeak.h"\r
#include "producttest/include/testmotor.h"\r
#include "producttest/include/testbutton.h"\r
#include "producttest/include/testmagnetic.h"\r
#include "producttest/include/testmicrophone.h"\r
-#include "producttest/include/testcat1.h" \r
-#include "producttest/include/testhrsenson.h" \r
+#include "producttest/include/testcat1.h"\r
+#include "producttest/include/testhrsenson.h"\r
#include "producttest/include/testgsenson.h"\r
#include "producttest/include/testold.h"\r
#include "producttest/include/testbt.h"\r
#endif\r
namespace OHOS\r
{\r
- \r
\r
- \r
- \r
class testPresenter;\r
class testView : public View<testPresenter>\r
{\r
static testView *GetInstance(void);\r
\r
void OnStart() override;\r
- \r
+\r
struct ButtonConfig\r
{\r
int x;\r
const char *ViewId;\r
const char *ImageSrc;\r
\r
- //label\r
+ // label\r
int label_x;\r
int label_y;\r
uint8_t ALIGN;\r
- int Fontsize;\r
- \r
+ int Fontsize;\r
};\r
- \r
+\r
bool ChangeSystemView(int16_t thisView);\r
bool ChangeSystemAboutView(int16_t thisView);\r
bool ChangeLCDTESTView(int16_t thisView);\r
#ifdef ENABLE_LQBP002TA\r
bool ChangepressureTestTESTView(int16_t thisView);\r
#endif\r
- #ifdef SUPPORT_A5133_SERVICE\r
+#ifdef SUPPORT_A5133_SERVICE\r
bool ChangeA5133TESTView(int16_t thisView);\r
- #endif\r
+#endif\r
bool ClickFunc(int16_t interface);\r
void ChangeView(int16_t hideView, int16_t showView);\r
UIScrollView *GetSystemScrollView(int ViewId);\r
\r
+ void AddResultButtons(UIScrollView *scrollView, int16_t viewId);\r
+\r
private:\r
void InitIView(void);\r
- void initView_ext(int x,int y,int w,int h,int interval,const char *imagsrc);\r
+ void initView_ext(int x, int y, int w, int h, int interval, const char *imagsrc);\r
void ClearAll(void);\r
bool SetTheSystemScrollView(void);\r
bool SetTheTitle(void);\r
UIButton *SetTheButton(ButtonConfig &buttonconfig, UIView::OnClickListener *clickListener);\r
UILabelButtonExt *SetTheButton_ext(ButtonConfig_ext_t &ButtonConfig_ext, UIView::OnClickListener *clickListener);\r
- \r
+\r
testAboutView *test_about_view;\r
UIScrollView *SystemScrollView[30]{nullptr};\r
UIViewGroup *group{nullptr};\r
testGPSView *test_GPS_view{nullptr};\r
#endif\r
#ifdef ENABLE_LQBP002TA\r
- testpressureView * test_pressure_view{nullptr};\r
+ testpressureView *test_pressure_view{nullptr};\r
#endif\r
- #ifdef SUPPORT_A5133_SERVICE\r
- testA5133View *test_A5133_view{nullptr};\r
- #endif\r
- UILabelButtonExt *button[30]={NULL};\r
+#ifdef SUPPORT_A5133_SERVICE\r
+ testA5133View *test_A5133_view{nullptr};\r
+#endif\r
+ UILabelButtonExt *button[30] = {NULL};\r
bool initViewStatus{false};\r
+\r
+ UILabelButton *oktestBtn{nullptr};\r
+ UILabelButton *failtestBtn{nullptr};\r
};\r
- struct test_ext\r
+ struct test_ext\r
{\r
- const int16_t viewId;\r
- char *viewid_str;\r
- char *Labe_str;\r
- char *viewid_str_next;\r
- bool (testView::*func)(int16_t thisView);\r
- bool enable_falg;\r
+ const int16_t viewId;\r
+ char *viewid_str;\r
+ char *Labe_str;\r
+ char *viewid_str_next;\r
+ bool (testView::*func)(int16_t thisView);\r
+ bool enable_falg;\r
};\r
- extern test_ext Test_ViewMapper_t[];\r
-\r
-\r
- \r
- UILabelButtonExt *okBtn{nullptr};\r
- UILabelButtonExt *failBtn{nullptr};\r
-\r
+ extern test_ext Test_ViewMapper_t[];\r
\r
} // namespace OHOS\r
\r
* @Author: penglei 1624952103@qq.com
* @Date: 2024-08-22 16:59:44
* @LastEditors: penglei 1624952103@qq.com
- * @LastEditTime: 2025-08-16 14:51:45
+ * @LastEditTime: 2025-08-19 19:31:32
* @FilePath: /FD230/code/sdk/application/wearable/fd230/nativeapp/nativeui/producttest/src/testModel.cpp
-* @Description:
- *
- * Copyright (c) 2024 by ${git_name_email}, All Rights Reserved.
+ * @Description:
+ *
+ * Copyright (c) 2024 by ${git_name_email}, All Rights Reserved.
*/
#include "producttest/include/testModel.h"
#include "producttest/include/testPresenter.h"
#include "producttest/include/testLCDC.h"
#include "producttest/include/testTPC.h"
+#include "wearable_log.h"
#include "custom_utils.h"
namespace OHOS
{
- //测试结果数组
+ // 测试结果数组
test_status_t test_status_list[MAX_TEST_ITEM] = {
- { LCD_TEST, TEST_STATUS_NONE, "LCD_Test" },
- { TP_TEST, TEST_STATUS_NONE, "Touch_Panel_Test" },
- { MAGNETIC_TEST, TEST_STATUS_NONE, "Magnetic_Test" },
- { LUMINANCE_TEST, TEST_STATUS_NONE, "Luminance_Test" },
- { BAT_TEST, TEST_STATUS_NONE, "Battery_Charger_Test" },
- { SPK_TEST, TEST_STATUS_NONE, "Speaker_Test" },
- { KEY_TEST, TEST_STATUS_NONE, "Key_Test" },
- { MOTOR_TEST, TEST_STATUS_NONE, "Motor_Vibration_Test" },
- { HR_TEST, TEST_STATUS_NONE, "Heart_Rate_Sensor_Test" },
- { GSENSOR_TEST, TEST_STATUS_NONE, "G_Sensor_Test" },
- { CAT1_TEST, TEST_STATUS_NONE, "CAT1_Module_Test" },
- { BUTTON_TEST, TEST_STATUS_NONE, "Physical_Buttons_Test" },
- { BT_TEST, TEST_STATUS_NONE, "Bluetooth_Test" },
- { APPI_TEST, TEST_STATUS_NONE, "SE_Chip_Test" },
- { GPS_TEST, TEST_STATUS_NONE, "GPS_Position_Test" },
- // { LOWPOWER_TEST, TEST_STATUS_NONE, "Deep_Sleep_Current_Test" },
+ {LCD_TEST, TEST_STATUS_NONE, "LCD"},
+ {TP_TEST, TEST_STATUS_NONE, "Touch_Panel"},
+ {MAGETIC_TEST, TEST_STATUS_NONE, "Magnetic"},
+ {LUMINANCE_TEST, TEST_STATUS_NONE, "Luminance"},
+ {BAT_TEST, TEST_STATUS_NONE, "BatteryCharger"},
+ {SPK_TEST, TEST_STATUS_NONE, "Speaker"},
+ {KEY_TEST, TEST_STATUS_NONE, "Key"},
+ {MOTOR_TEST, TEST_STATUS_NONE, "Motor"},
+ {HR_TEST, TEST_STATUS_NONE, "Heart_Rate"},
+ {GSENSOR_TEST, TEST_STATUS_NONE, "G_Sensor"},
+ {CAT1_TEST, TEST_STATUS_NONE, "CAT1"},
+ {BUTTON_TEST, TEST_STATUS_NONE, "Buttons"},
+ {BT_TEST, TEST_STATUS_NONE, "Bluetooth"},
+ {APPI_TEST, TEST_STATUS_NONE, "SE_Chip"},
+ {GPS_TEST, TEST_STATUS_NONE, "GPS"},
+ // { LOWPOWER_TEST, TEST_STATUS_NONE, "Deep_Sleep_Current" },
};
- //设置测试结果
+ // 设置测试结果
bool testModel::SetResult(int viewId, test_status_enum pass)
{
- //判断viewId是否在测试项枚举范围内
- if(viewId < 0 || viewId >= MAX_TEST_ITEM)
+ // 判断viewId是否在测试项枚举范围内
+ if (viewId < 0 || viewId >= MAX_TEST_ITEM)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "testModel::SetResult: viewId out of range");
return false;
}
- //记录开始时间
- if(is_first_test)
+ // 记录开始时间
+ if (is_first_test)
{
- //设置测试开始时间
+ // 设置测试开始时间
char current_time[9]; // 分配内存给current_time
if (uapi_get_HHMMSS_Time(current_time, ':', true) != ERRCODE_SUCC)
{
m_start_time = current_time;
is_first_test = false;
}
- //更新测试结果
+ // 更新测试结果
test_status_list[viewId].status = pass ? TEST_STATUS_SUCCESS : TEST_STATUS_ERROR;
return true;
}
- //通过测试项描述进行更新
+ // 通过测试项描述进行更新
bool testModel::SetResult(std::string viewIdstr)
{
- //解析执行结果
+ printf("目前传过来的idstr:%s\n", viewIdstr.c_str());
+ // 解析执行结果
test_status_enum status = TEST_STATUS_NONE;
- if(strncmp(viewIdstr.c_str(), "TestOK", 6) == 0)
+ if (strncmp(viewIdstr.c_str(), "TestOK", 6) == 0)
{
status = TEST_STATUS_SUCCESS;
}
- else if(strncmp(viewIdstr.c_str(), "TestNO", 6) == 0)
+ else if (strncmp(viewIdstr.c_str(), "TestNO", 6) == 0)
{
status = TEST_STATUS_ERROR;
}
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "testModel::SetResult: invalid status string");
return false;
}
-
- //提取测试项描述(跳过前面的"TestOK"或"TestNO")
+
+ // 提取测试项描述(跳过前面的"TestOK"或"TestNO")
std::string desc = viewIdstr.substr(6);
-
- //查找匹配的测试项并更新状态
- for(int i = 0; i < MAX_TEST_ITEM; i++)
+ printf("提取的测试项:%s\n", desc.c_str());
+
+ // 查找匹配的测试项并更新状态
+ for (int i = 0; i < MAX_TEST_ITEM; i++)
{
- if(strcmp(test_status_list[i].desc, desc.c_str()) == 0)
+ if (strcmp((test_status_list[i].test_result).c_str(), desc.c_str()) == 0)
{
- //记录开始时间(与ID更新方式保持一致)
- if(is_first_test)
+ // 记录开始时间(与ID更新方式保持一致)
+ if (is_first_test)
{
char current_time[9];
if (uapi_get_HHMMSS_Time(current_time, ':', true) != ERRCODE_SUCC)
m_start_time = current_time;
is_first_test = false;
}
-
- //更新测试状态
+
+ // 更新测试状态
test_status_list[i].status = status;
return true;
}
}
-
- //未找到匹配的测试项
+
+ // 未找到匹配的测试项
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "testModel::SetResult: test item not found - %s", desc.c_str());
return false;
}
- //获取测试结果
+ // 获取测试结果
test_status_enum testModel::GetResult(int viewId)
{
- if(viewId < 0 || viewId >= MAX_TEST_ITEM)
+ if (viewId < 0 || viewId >= MAX_TEST_ITEM)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "testModel::GetResult: viewId out of range");
- return false;
+ return TEST_STATUS_NONE;
}
return test_status_list[viewId].status;
}
- //获取描述str
- std::string testModel::GetViewId(int viewid)
+ // 获取描述str
+ std::string testModel::GetViewId(int viewId)
{
- if(viewId < 0 || viewId >= MAX_TEST_ITEM)
+ if (viewId < 0 || viewId >= MAX_TEST_ITEM)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "testModel::GetResult: viewId out of range");
- return false;
+ return nullptr;
}
return test_status_list[viewId].test_result;
}
- //汇总测试项结果
+ // 汇总测试项结果
std::string testModel::GetSummaryString()
{
- //清空测试结果总结
+ // 清空测试结果总结
m_summary.clear();
m_skipped_tests = 0;
m_failed_tests = 0;
- //进行编译 设置未测试的测试项;未通过的测试项;
- for(int i = 0; i < MAX_TEST_ITEM; i++)
+ // 进行编译 设置未测试的测试项;未通过的测试项;
+ for (int i = 0; i < MAX_TEST_ITEM; i++)
{
- if(test_status_list[i].status == TEST_STATUS_NONE)
+ if (test_status_list[i].status == TEST_STATUS_NONE)
{
m_summary += test_status_list[i].test_result + "未测试\n";
m_skipped_tests++;
}
- else if(test_status_list[i].status == TEST_STATUS_ERROR)
+ else if (test_status_list[i].status == TEST_STATUS_ERROR)
{
m_summary += test_status_list[i].test_result + "未通过\n";
m_failed_tests++;
}
}
-
+
return m_summary;
}
void testModel::testModelupdata(int type)
{
- printf("testModelupdata : %d\n",type);
+ printf("testModelupdata : %d\n", type);
switch (type)
{
- case 1:
- if( testView::GetInstance())
- {
- testView::GetInstance()->ChangeView(TESTVIEW,LCD);
- factorytest_hide_test_lcd_button();
- }
- break;
+ case 1:
+ if (testView::GetInstance())
+ {
+ testView::GetInstance()->ChangeView(TESTVIEW, LCD);
+ factorytest_hide_test_lcd_button();
+ }
+ break;
- case 2:
- if( testView::GetInstance())
- {
- testView::GetInstance()->ChangeView(TESTVIEW,TP);
- factorytest_hide_test_tp_button();
- }
- break;
-
- case 3:
- if( testView::GetInstance())
- {
- testView::GetInstance()->ChangeView(TESTVIEW,BUTTON);
- factorytest_hide_test_lcd_button();
- }
- break;
+ case 2:
+ if (testView::GetInstance())
+ {
+ testView::GetInstance()->ChangeView(TESTVIEW, TP);
+ factorytest_hide_test_tp_button();
+ }
+ break;
- case 4:
- if( testView::GetInstance())
- {
- testView::GetInstance()->ChangeView(TESTVIEW,OLDTEST);
- factorytest_hide_test_lcd_button();
- }
- break;
+ case 3:
+ if (testView::GetInstance())
+ {
+ testView::GetInstance()->ChangeView(TESTVIEW, BUTTON);
+ factorytest_hide_test_lcd_button();
+ }
+ break;
- default:
- break;
- }
+ case 4:
+ if (testView::GetInstance())
+ {
+ testView::GetInstance()->ChangeView(TESTVIEW, OLDTEST);
+ factorytest_hide_test_lcd_button();
+ }
+ break;
+ default:
+ break;
+ }
}
-
-
-
}
\ No newline at end of file
}\r
\r
// 处理各测试界面的 成功/失败 按钮\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"view.GetViewId() %s ",view.GetViewId());\r
if (strncmp(view.GetViewId(), "TestOK", 6) == 0 || strncmp(view.GetViewId(), "TestNO", 6) == 0)\r
{\r
std::string vid = view.GetViewId();\r
\r
if(testModel::GetInstance()->SetResult(vid))\r
{\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"222");\r
return true;\r
}\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"111");\r
return false;\r
}\r
\r
#include "producttest/include/testView.h"\r
#include "producttest/include/testPresenter.h"\r
+#include "producttest/include/testModel.h"\r
#include "components/ui_label_button.h"\r
#include "power_display_service.h"\r
#include "wearable_log.h"\r
#ifdef SUPPORT_CAT1_SERVICE\r
{CAT1, "cat1button", "CAT1", "cat1button_next", &testView::ChangeCAT1TESTView, true},\r
#endif\r
- {BUTTON, "buttonbutton", "button", "buttonbutton_next", &testView::ChangKEYTESTView, true},\r
+ {BUTTON, "buttonbutton", "oktestBtn", "buttonbutton_next", &testView::ChangKEYTESTView, true},\r
{MICROPHONE, "microphonebutton", "microphone", "microphonebutton_next", &testView::ChangeMPTESTView, true},\r
{HRSENSON, "hrsensonbutton", "hrsensor", "hrsensonbutton_next", &testView::ChangeHRTESTView, true},\r
{GSENSON, "gsensonbutton", "gsensor", "gsensonbutton_next", &testView::ChangeGTESTView, true},\r
}\r
}\r
/////////////////////////\r
- if(okBtn)\r
- { \r
- delete okBtn; \r
- okBtn = nullptr;\r
+ if (oktestBtn)\r
+ {\r
+ delete oktestBtn;\r
+ oktestBtn = nullptr;\r
}\r
- if(failBtn)\r
- { \r
- delete failBtn; \r
- failBtn = nullptr;\r
+ if (failtestBtn)\r
+ {\r
+ delete failtestBtn;\r
+ failtestBtn = nullptr;\r
}\r
/////////////////////////////\r
if (test_about_view)\r
return true;\r
}\r
\r
+ void testView::AddResultButtons(UIScrollView *scrollView, int16_t viewId)\r
+ {\r
+ if (scrollView == nullptr)\r
+ {\r
+ return;\r
+ }\r
+\r
+ printf("目前测试项id:%d",viewId);\r
+\r
+ // 创建新按钮(如果当前按钮为空)\r
+ if (oktestBtn == nullptr)\r
+ {\r
+ oktestBtn = new UILabelButton();\r
+ if (oktestBtn == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "InitButtonExt is error");\r
+ return; // 内存分配失败,返回false\r
+ }\r
+ oktestBtn->SetPosition(40, 80);\r
+ oktestBtn->Resize(135, 88);\r
+\r
+ oktestBtn->SetStyle(STYLE_TEXT_FONT, 30);\r
+ oktestBtn->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+ }\r
+ if (failtestBtn == nullptr)\r
+ {\r
+ failtestBtn = new UILabelButton();\r
+ if (failtestBtn == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "InitButtonExt is error");\r
+ return; // 内存分配失败,返回false\r
+ }\r
+ failtestBtn->SetPosition(220, 80);\r
+ failtestBtn->Resize(135, 88);\r
+\r
+ failtestBtn->SetStyle(STYLE_TEXT_FONT, 30);\r
+ failtestBtn->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+ }\r
+\r
+ // 获取当前测试项状态\r
+ test_status_enum status = testModel::GetInstance()->GetResult(viewId);\r
+ printf("目前该项的测试状态为:%d\n",status);\r
+ // 获取测试项描述\r
+ std::string viewDesc = testModel::GetInstance()->GetViewId(viewId);\r
+ printf("目前测试项的描述是:%s\n",viewDesc.c_str());\r
+\r
+ if (oktestBtn)\r
+ {\r
+ oktestBtn->SetText("成功");\r
+ oktestBtn->SetAlign(TEXT_ALIGNMENT_CENTER);\r
+ // 根据状态设置按钮样式\r
+ switch (status)\r
+ {\r
+ case TEST_STATUS_NONE:\r
+ oktestBtn->SetStyle(STYLE_BACKGROUND_COLOR, Color::Gray().full);\r
+ break;\r
+ case TEST_STATUS_SUCCESS:\r
+ oktestBtn->SetStyle(STYLE_BACKGROUND_COLOR, Color::Green().full);\r
+ break;\r
+ case TEST_STATUS_ERROR:\r
+ oktestBtn->SetStyle(STYLE_BACKGROUND_COLOR, Color::Gray().full);\r
+ break;\r
+ }\r
+\r
+ // 设置按钮标识\r
+ std::string okIdStr = "TestOK" + viewDesc;\r
+ printf("设置 按键的viewId %s\n", okIdStr.c_str());\r
+ oktestBtn->SetViewId(okIdStr.c_str());\r
+ oktestBtn->SetOnClickListener(testPresenter::GetInstance());\r
+ scrollView->Add(oktestBtn);\r
+ }\r
+\r
+ if (failtestBtn)\r
+ {\r
+ failtestBtn->SetText("失败");\r
+ failtestBtn->SetAlign(TEXT_ALIGNMENT_CENTER);\r
+\r
+ // 根据状态设置按钮样式\r
+ switch (status)\r
+ {\r
+ case TEST_STATUS_NONE:\r
+ failtestBtn->SetStyle(STYLE_BACKGROUND_COLOR, Color::Gray().full);\r
+ break;\r
+ case TEST_STATUS_SUCCESS:\r
+ failtestBtn->SetStyle(STYLE_BACKGROUND_COLOR, Color::Gray().full);\r
+ break;\r
+ case TEST_STATUS_ERROR:\r
+ failtestBtn->SetStyle(STYLE_BACKGROUND_COLOR, Color::Red().full);\r
+ break;\r
+ }\r
+\r
+ // 设置按钮标识(修复了原代码中的错误)\r
+ std::string failIdStr = "TestNO" + viewDesc;\r
+ printf("设置 按键的viewId %s\n", failIdStr.c_str());\r
+ failtestBtn->SetViewId(failIdStr.c_str());\r
+ failtestBtn->SetOnClickListener(testPresenter::GetInstance());\r
+ scrollView->Add(failtestBtn);\r
+ }\r
+ }\r
+\r
/// @brief 设置按钮\r
- /// @param button\r
+ /// @param oktestBtn\r
/// @return true 设置成功,false 失败\r
\r
UILabelButtonExt *testView::SetTheButton_ext(ButtonConfig_ext_t &buttonconfig, UIView::OnClickListener *clickListener)\r
{\r
- UILabelButtonExt *button = new UILabelButtonExt();\r
- if (button == nullptr)\r
+ UILabelButtonExt *oktestBtn = new UILabelButtonExt();\r
+ if (oktestBtn == nullptr)\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, " SystemView::SetTheButton: button new fail!");\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, " SystemView::SetTheButton: oktestBtn new fail!");\r
return nullptr;\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->SetAlign(TEXT_ALIGNMENT_LEFT);\r
- button->SetLabelPosition(buttonconfig.label_x, buttonconfig.label_y);\r
- button->SetFont(DEFAULT_VECTOR_FONT_FILENAME_EN, buttonconfig.Fontsize);\r
- // button->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);\r
-\r
- button->SetImagePosition(326, 37);\r
- return button;\r
+ oktestBtn->SetPosition(buttonconfig.x, buttonconfig.y, buttonconfig.w, buttonconfig.h);\r
+ oktestBtn->SetViewId(buttonconfig.ViewId);\r
+ oktestBtn->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);\r
+ oktestBtn->SetImageSrc(buttonconfig.ImageSrc, buttonconfig.ImageSrc);\r
+ oktestBtn->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);\r
+ oktestBtn->SetOnClickListener(clickListener);\r
+\r
+ oktestBtn->SetText(buttonconfig.str);\r
+ oktestBtn->SetAlign(TEXT_ALIGNMENT_LEFT);\r
+ oktestBtn->SetLabelPosition(buttonconfig.label_x, buttonconfig.label_y);\r
+ oktestBtn->SetFont(DEFAULT_VECTOR_FONT_FILENAME_EN, buttonconfig.Fontsize);\r
+ // oktestBtn->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);\r
+\r
+ oktestBtn->SetImagePosition(326, 37);\r
+ return oktestBtn;\r
}\r
\r
void testView::initView_ext(int x, int y, int w, int h, int interval, const char *imagsrc)\r
return false;\r
}\r
SystemScrollView[thisView] = test_MG_view->testmagicInitIView(thisView);\r
- AddResultButtons(SystemScrollView[thisView], MAGNETIC_TEST);\r
+ AddResultButtons(SystemScrollView[thisView], MAGETIC_TEST);\r
group->Add(SystemScrollView[thisView]);\r
}\r
return true;\r
display_api->set_auto_timeout_function(false);\r
\r
uint8_t cnt = pm_veto_get_id_cnt(PM_ID_P_TEST);\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "cnt : %d\n",cnt);\r
- if (cnt == 0) \r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "cnt : %d\n", cnt);\r
+ if (cnt == 0)\r
{\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "uapi_pm_add_sleep_veto(PM_ID_P_TEST);");\r
uapi_pm_add_sleep_veto(PM_ID_P_TEST);\r
AddViewToRootContainer(group);\r
}\r
\r
- int16_t testView::GetCurrentViewId()\r
- {\r
- return m_currentViewId;\r
- }\r
-\r
- void testView::AddResultButtons(UIScrollView *scrollView, int16_t viewId)\r
-{\r
- if (scrollView == nullptr) {\r
- return;\r
- }\r
-\r
- // 放到上方,避免被内容遮挡\r
- if(okBtn == nullptr)\r
- okBtn = testAboutView::GetInstance()->init_button_next(40, 80, (char*)"TestOK");\r
- if(failBtn == nullptr)\r
- failBtn = testAboutView::GetInstance()->init_button_next(220, 80, (char*)"TestNO");\r
- \r
- // 获取当前测试项状态\r
- test_status_enum status = testModel::GetInstance()->GetResult(viewId);\r
- // 获取测试项描述\r
- std::string viewDesc = testModel::GetInstance()->GetViewId(viewId);\r
- \r
- if (okBtn) {\r
- okBtn->SetText("成功");\r
- okBtn->SetAlign(TEXT_ALIGNMENT_CENTER);\r
- \r
- // 根据状态设置按钮样式\r
- switch(status)\r
- {\r
- case TEST_STATUS_NONE:\r
- okBtn->SetStyle(STYLE_BACKGROUND_COLOR, Color::Gray().full);\r
- break;\r
- case TEST_STATUS_SUCCESS:\r
- okBtn->SetStyle(STYLE_BACKGROUND_COLOR, Color::Green().full);\r
- break;\r
- case TEST_STATUS_ERROR:\r
- okBtn->SetStyle(STYLE_BACKGROUND_COLOR, Color::Gray().full);\r
- break;\r
- }\r
- \r
- // 设置按钮标识\r
- std::string okIdStr = "TestOK" + viewDesc;\r
- okBtn->SetViewId(okIdStr.c_str());\r
- scrollView->Add(okBtn);\r
- okBtn->SetOnClickListener(testPresenter::GetInstance());\r
- }\r
- \r
- if (failBtn) {\r
- failBtn->SetText("失败");\r
- failBtn->SetAlign(TEXT_ALIGNMENT_CENTER);\r
- \r
- // 根据状态设置按钮样式\r
- switch(status)\r
- {\r
- case TEST_STATUS_NONE:\r
- failBtn->SetStyle(STYLE_BACKGROUND_COLOR, Color::Gray().full);\r
- break;\r
- case TEST_STATUS_SUCCESS:\r
- failBtn->SetStyle(STYLE_BACKGROUND_COLOR, Color::Gray().full);\r
- break;\r
- case TEST_STATUS_ERROR:\r
- failBtn->SetStyle(STYLE_BACKGROUND_COLOR, Color::Red().full);\r
- break;\r
- }\r
- \r
- // 设置按钮标识(修复了原代码中的错误)\r
- std::string failIdStr = "TestNO" + viewDesc;\r
- failBtn->SetViewId(failIdStr.c_str());\r
- scrollView->Add(failBtn);\r
- failBtn->SetOnClickListener(testPresenter::GetInstance());\r
- }\r
-}\r
-\r
} // namespace OHOS
\ No newline at end of file