}
#endif
+
+#if USE_FR8012HAQ
+//
+#include "../../../lv_drivers/indev/FR8012HAQ/fr8012haq.h"
+
+static void mmi_factorymode_light_leak_test_status_update(lv_anim_t * anim)
+{
+ char str[64]= {0};
+ int apre_val0 = 0, apre_val1 = 0, aps_val = 0;
+
+ fr8012haq_factory_data_get(&apre_val0, &apre_val1, &aps_val);
+ sprintf(str, "%s: %d,%d,%d", (char *)lv_lang_get_text(WATCH_TEXT_ID_LIGHT_LEAK_DATA),
+ apre_val0,
+ apre_val1,
+ aps_val);
+ lv_label_set_text(anim->var, str);
+}
+
+static void mmi_factorymode_light_leak_event_cb(lv_obj_t * btn, lv_event_t e)
+{
+ if(LV_EVENT_CLICKED != e)
+ return;
+
+ if(NULL == btn)
+ return;
+
+ lv_obj_t * par = lv_obj_get_parent((lv_obj_t*)btn);
+ if(NULL == par)
+ return;
+
+ lv_obj_del(btn);
+
+ testing_st = FAC_HEART;
+ fr8012haq_measure_factory_start();
+
+ lv_obj_t * label = lv_label_create(par, NULL);
+ lv_obj_add_style(label, LV_OBJ_PART_MAIN, &FACTORY_MODE_TEST_ITEM_TEXT_FONT);
+ lv_label_set_long_mode(label, LV_LABEL_LONG_BREAK);
+ lv_obj_set_width(label, LV_HOR_RES - 40);
+ lv_obj_set_pos(label, 20, LV_VER_RES / 4);
+
+ char str[64]= {0};
+ sprintf(str, "%s: ", (char *)lv_lang_get_text(WATCH_TEXT_ID_LIGHT_LEAK_DATA));
+ lv_label_set_text(label,str);
+
+ lv_anim_path_t path;
+ lv_anim_path_init(&path);
+ lv_anim_path_set_cb(&path, lv_anim_path_step);
+
+ lv_anim_t a;
+ lv_anim_init(&a);
+ lv_anim_set_var(&a, label);
+ lv_anim_set_start_cb(&a, (lv_anim_ready_cb_t)mmi_factorymode_light_leak_test_status_update);
+ lv_anim_set_time(&a, 1);
+ lv_anim_set_repeat_count(&a, LV_ANIM_REPEAT_INFINITE);
+ lv_anim_set_delay(&a,1000);
+ lv_anim_set_repeat_delay(&a, 1000);
+ lv_anim_start(&a);
+}
+
+static lv_obj_t * mmi_factorymode_light_leak_test_create(lv_obj_t * activity_obj)
+{
+ if(activity_obj == NULL) {
+ lv_watch_activity_ext_t activity_ext;
+ memset(&activity_ext, 0, sizeof(lv_watch_activity_ext_t));
+ activity_ext.actId = ACT_ID_FACTORY_MODE_TEST;
+ activity_ext.create = mmi_factorymode_light_leak_test_create;
+ activity_ext.prepare_destory = factorymode_test_prepare_destory;
+ activity_obj = lv_watch_creat_activity_obj(&activity_ext);
+ LV_ASSERT_MEM(activity_obj);
+ if(NULL == activity_obj) {
+ return NULL;
+ }
+ }
+
+ lv_obj_t * obj = lv_watch_obj_create(activity_obj);
+ LV_ASSERT_MEM(obj);
+ if(NULL == obj)
+ return NULL;
+
+ lv_obj_t * content = lv_cont_create(obj, NULL);
+ lv_obj_set_size(content, lv_obj_get_width(obj), lv_obj_get_height(obj));
+ lv_obj_add_style(content,LV_OBJ_PART_MAIN, &lv_watch_style_transp);
+ lv_obj_align(content, NULL, LV_ALIGN_CENTER, 0, 0);
+ lv_obj_set_click(content, false);
+
+ lv_obj_t * btn_start = lv_btn_create(content, NULL);
+ lv_obj_set_size(btn_start, LV_HOR_RES / 2, LV_HOR_RES / 6);
+ lv_obj_set_event_cb(btn_start, mmi_factorymode_light_leak_event_cb);
+ lv_obj_align(btn_start, NULL, LV_ALIGN_CENTER, 0, -10);
+
+ lv_obj_t * label_start = lv_label_create(btn_start, NULL);
+ lv_label_set_text_id(label_start, WATCH_TEXT_ID_START_TEST);
+ lv_obj_add_style(label_start,LV_OBJ_PART_MAIN, &FACTORY_MODE_TEST_ITEM_TEXT_FONT);
+ lv_label_set_align(label_start, LV_LABEL_ALIGN_CENTER);
+ lv_obj_align(label_start, NULL, LV_ALIGN_CENTER, 0, 0);
+
+ lv_obj_t * label_prompt = lv_label_create(content, NULL);
+ lv_obj_add_style(label_prompt, LV_LABEL_PART_MAIN, &FACTORY_MODE_TEST_ITEM_TEXT_FONT_BIG);
+ lv_label_set_text_id(label_prompt, WATCH_TEXT_ID_LIVE_CALIBRATION_PROMPT);
+ lv_obj_set_width(label_prompt, LV_HOR_RES - 40);
+ //lv_obj_align(label_prompt, btn_start, LV_ALIGN_OUT_BOTTOM_MID, 0, -10);
+ lv_obj_align(label_prompt, NULL, LV_ALIGN_IN_BOTTOM_MID, 0, -LV_VER_RES / 8);
+
+ return obj;
+}
+
+void mmi_factorymode_light_leak_test_create_btn_cb(lv_obj_t * btn,lv_event_t e)
+{
+ if(e == LV_EVENT_CLICKED)
+ {
+ mmi_factorymode_light_leak_test_create(NULL);
+ }
+}
+#endif
+
+
static void mmi_factorymode_heart_test_status_update(lv_anim_t * anim)
{
char str[32]= {0};