Преглед изворни кода

1、修改功耗界面里二维码链接icon背景创建的地方,给背景添加LV_OBJ_FLAG_CLICKABLE标志,并去除把事件同步给父对象
2、在头像显示界面,设置图片显示前先清除缓存lvgl_img_buf_clean_cache
3、将系统设置的背景size设置为满屏,避免从设置里面退出来时,背景没遮住前一次界面的内容信息,显示残留

robbin пре 3 дана
родитељ
комит
25449d209e

BIN
application/aem_watch/simulator/aem_gui/aem_gui.cpp


BIN
application/aem_watch/simulator/aem_gui/aem_gui.h


+ 1091 - 0
application/aem_watch/simulator/aem_gui/aem_gui.vcxproj.filters

@@ -0,0 +1,1091 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="源文件">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="头文件">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
+    </Filter>
+    <Filter Include="资源文件">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+    </Filter>
+    <Filter Include="framework">
+      <UniqueIdentifier>{4cd1281b-c336-4e3b-be7a-9b16a4c700e2}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="framework\core">
+      <UniqueIdentifier>{4192ba90-a1ee-4e11-a888-7f5b953300a7}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="framework\core\app_mgr">
+      <UniqueIdentifier>{32674c96-e671-4c8d-81e0-29d76fe2f1ab}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="framework\core\app_mgr\activity">
+      <UniqueIdentifier>{269a5273-02a7-42be-bef9-ca805a262975}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="framework\core\app_mgr\include">
+      <UniqueIdentifier>{b15fa496-5a03-44bb-b7bb-2590b18c3671}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="framework\core\app_mgr\trans_anim">
+      <UniqueIdentifier>{66c53557-66fb-404a-803e-ffc753dedf92}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="app_service">
+      <UniqueIdentifier>{66dc101b-1e71-4898-bc40-de048d0ab090}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="app_service\include">
+      <UniqueIdentifier>{21f73b23-dd08-4bd3-9066-b5e3b12cca86}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="app_service\female_health">
+      <UniqueIdentifier>{6cbe3d47-7e23-4ca5-a1c6-c96ebf910b62}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="app_service\workout">
+      <UniqueIdentifier>{3ce97183-daaf-40e7-a89b-909dd0c8fb56}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="app_service\heart_rate">
+      <UniqueIdentifier>{5c8f04d9-0172-4d19-b8ae-543c3ba5e736}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="app_service\spo2">
+      <UniqueIdentifier>{051fd4cd-6239-4a3e-8c96-93736968e308}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="app_service\stress">
+      <UniqueIdentifier>{329c96f9-8037-49c5-a8fd-394b496e53e6}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="app_service\activity">
+      <UniqueIdentifier>{9111a2fe-b0f4-4597-a221-fc1f6324cd2b}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="app_service\clock">
+      <UniqueIdentifier>{430c43ee-9c0a-4c93-9f84-863d6a5ea1ee}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="app_service\phone">
+      <UniqueIdentifier>{b41384d3-b2f5-46af-be78-85a7ce29e391}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="app_service\sleep">
+      <UniqueIdentifier>{6d1edfc1-926e-4def-8a63-5f51ef7cad14}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="app_service\media">
+      <UniqueIdentifier>{9ada3ebc-b638-48dc-8322-812a6f912151}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="app_service\message">
+      <UniqueIdentifier>{713a900a-41c3-4c61-a7c9-cdeef1aeb5bf}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="app_service\audio">
+      <UniqueIdentifier>{2f0fde5f-c77b-43fc-8e95-40797f5f4509}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="app_service\muisc">
+      <UniqueIdentifier>{98ba3d13-9311-421e-b222-451a3e925980}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="application">
+      <UniqueIdentifier>{f807ee8b-747d-4dfe-a4c6-ca9f5283b5ff}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="application\launch">
+      <UniqueIdentifier>{8b2e646c-b191-4be5-9f80-4ae5e780ae75}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="application\launch\single_wf">
+      <UniqueIdentifier>{76fa3431-65db-4c06-869c-c7465b2ee9dd}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="application\launch\scroller">
+      <UniqueIdentifier>{6fc98482-8fb4-4dd5-ac54-d6eef85791da}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="application\launch\anim">
+      <UniqueIdentifier>{95d10ba3-9c01-42d6-a360-51de6ae6c268}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="application\launch\widget_edit">
+      <UniqueIdentifier>{5039d121-af55-4608-b525-1ea80566710e}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="framework\database">
+      <UniqueIdentifier>{5875145a-a44c-477a-8d32-4f9491514077}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="framework\database\data_db">
+      <UniqueIdentifier>{bb79e3e2-f1e3-4700-9e84-584a405f63c3}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="framework\database\data_provider">
+      <UniqueIdentifier>{340d4ef4-e8da-4f64-83dd-576c59867b02}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="framework\database\include">
+      <UniqueIdentifier>{a125eaa7-b6ee-4c36-a3fa-00be6cbb326a}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="framework\gui">
+      <UniqueIdentifier>{6a5431c7-c29d-437f-95ba-54c66fca6a18}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="framework\gui\aem_widgets">
+      <UniqueIdentifier>{3538aa5a-1ef6-4e7b-94e7-4684892d0f90}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="framework\gui\aem_widgets\src">
+      <UniqueIdentifier>{68e299aa-4d84-4a15-a424-f854cd346c4d}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="framework\protocol">
+      <UniqueIdentifier>{af036bc6-5dc5-466d-b8e0-d0246c1029fe}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="framework\protocol\include">
+      <UniqueIdentifier>{2d75041b-9c16-4522-8208-015306294066}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="framework\service">
+      <UniqueIdentifier>{1b12a902-83b8-49b6-a916-2679dc54ef27}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="framework\service\ui_task">
+      <UniqueIdentifier>{b8d771cc-f2a9-4294-9e41-e95b288c5995}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="framework\service\app_task">
+      <UniqueIdentifier>{3f1f10c7-3287-484f-b9c6-536fc4af4722}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="framework\system">
+      <UniqueIdentifier>{f3e7c765-74c5-4cba-a577-1c2ac28123cd}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="framework\system\include">
+      <UniqueIdentifier>{22a93bf2-88fa-4c79-adc9-64e9acf5c9ba}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="framework\utils">
+      <UniqueIdentifier>{d1ad39be-5c5b-4895-8841-a80c7d8baeb7}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="framework\utils\include">
+      <UniqueIdentifier>{9d218ada-cced-42b2-a8a7-9b009d023105}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="main">
+      <UniqueIdentifier>{39fb52d9-b8aa-4f71-877d-9989ee85f7c4}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="framework\core\app_clock">
+      <UniqueIdentifier>{39e890ad-137a-4c3d-a52b-85e7761bdb71}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="framework\core\app_event">
+      <UniqueIdentifier>{76f2f813-dac1-432c-8d29-0fffd97bc64a}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="framework\core\watch_fwk">
+      <UniqueIdentifier>{346164da-dea8-4123-96c0-2b8a048f08da}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="framework\core\watch_fwk\app_list">
+      <UniqueIdentifier>{3b2d40e6-a93a-4e7f-aa56-1d55185e848b}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="framework\core\watch_fwk\launch">
+      <UniqueIdentifier>{0d1cad56-3d3d-44e7-ad03-45330cb1d1d5}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="framework\core\watch_fwk\quick_setting">
+      <UniqueIdentifier>{6abd0c11-9658-47e0-8223-c17b38de0ae4}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="framework\core\watch_fwk\watch_face">
+      <UniqueIdentifier>{228d05a9-8fc8-4bca-b5c8-92f52e8b262f}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="framework\core\watch_fwk\util">
+      <UniqueIdentifier>{e86f73d0-03c6-44e9-8c27-dab52951383b}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="framework\core\pop_window">
+      <UniqueIdentifier>{938ffd74-5b2e-49c6-a997-fbf3f3e84232}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="app_service\weather">
+      <UniqueIdentifier>{0fe5f5e2-3da8-455b-8988-6d82ed6956af}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="app_service\barometer">
+      <UniqueIdentifier>{94281ed5-b71f-4ea1-8a9e-c457b5caf4c4}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="app_service\pop_window">
+      <UniqueIdentifier>{48079b6e-9712-4a83-af76-ba2d831eaa4d}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="application\launch\low_mem_launch">
+      <UniqueIdentifier>{71741851-151f-4a79-94cd-ab72dc092202}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="application\launch\tile_data">
+      <UniqueIdentifier>{357aac9a-79db-4c6b-84de-3257fc35112f}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="application\wf_simulator">
+      <UniqueIdentifier>{dffcddbf-3000-4a69-b3be-5b6fa3ad2700}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="framework\monitor">
+      <UniqueIdentifier>{4ff87c55-b468-4d65-8b27-5e562291a1c7}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="app_service\recorder">
+      <UniqueIdentifier>{305fa2bb-c7ed-4d48-92d1-8cee51abe8b9}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="framework\gui\aem_txt">
+      <UniqueIdentifier>{e0bda224-39e6-4c94-b21d-368e5ae720d2}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="framework\core\aod_app">
+      <UniqueIdentifier>{6f3bab01-fe8d-452b-8c3a-c1e1ee855c88}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="app_service\cloud_wf">
+      <UniqueIdentifier>{bd173a59-a2f1-40bf-9924-bb0026495c04}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="app_service\cloud_wf\utils">
+      <UniqueIdentifier>{8d51fd6a-4844-4104-82d6-e647c9d1d54c}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="app_service\cloud_wf\parse">
+      <UniqueIdentifier>{7951c0c4-fc61-4655-b4fd-46a4a8bd5429}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="app_service\cloud_wf\manager">
+      <UniqueIdentifier>{848db750-ebca-46a1-8945-d976c8b3a345}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="app_service\cloud_wf\loader">
+      <UniqueIdentifier>{6fbc95ce-49dd-410d-9010-9a9d9253d2f6}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="app_service\cloud_wf\data_provider">
+      <UniqueIdentifier>{34ba590a-7b6b-47d4-9e56-24135719700f}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="app_service\cloud_wf\anim">
+      <UniqueIdentifier>{b19011e6-9750-478a-a9cc-f04b5e503cb6}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="app_service\cloud_wf\wf_widgets">
+      <UniqueIdentifier>{42cc842e-2572-45d5-aac4-50bd203cb249}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="application\launch\cloud_wf">
+      <UniqueIdentifier>{43895420-61c5-4faa-b79b-cec8f95a09d4}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="application\launch\wf_edit">
+      <UniqueIdentifier>{85319bf1-2306-4d93-beae-102cf8015294}</UniqueIdentifier>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="aem_gui.h">
+      <Filter>头文件</Filter>
+    </ClInclude>
+    <ClInclude Include="..\LVGL.Simulator\simulator_config.h">
+      <Filter>头文件</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\core\app_mgr\include\aem_anim_buffer.h">
+      <Filter>framework\core\app_mgr\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\core\app_mgr\include\aem_app_info.h">
+      <Filter>framework\core\app_mgr\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\core\app_mgr\include\aem_app_mgr.h">
+      <Filter>framework\core\app_mgr\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\core\app_mgr\include\aem_app_mgr_cfg.h">
+      <Filter>framework\core\app_mgr\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\core\app_mgr\include\aem_app_msg.h">
+      <Filter>framework\core\app_mgr\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\core\app_mgr\include\aem_app_activity.h">
+      <Filter>framework\core\app_mgr\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\core\app_mgr\include\aem_app_sched.h">
+      <Filter>framework\core\app_mgr\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\core\app_mgr\include\aem_app_trans_anim.h">
+      <Filter>framework\core\app_mgr\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\core\app_mgr\include\aem_gesture.h">
+      <Filter>framework\core\app_mgr\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\core\app_mgr\include\aem_intent.h">
+      <Filter>framework\core\app_mgr\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\core\app_mgr\include\aem_keypad.h">
+      <Filter>framework\core\app_mgr\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\core\app_mgr\include\aem_list.h">
+      <Filter>framework\core\app_mgr\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\core\app_mgr\include\aem_activity_list.h">
+      <Filter>framework\core\app_mgr\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\core\app_mgr\include\aem_ui_evt.h">
+      <Filter>framework\core\app_mgr\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\core\app_mgr\include\aem_ui_refr.h">
+      <Filter>framework\core\app_mgr\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\include\aem_activity_data_if.h">
+      <Filter>app_service\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\include\aem_female_health_service.h">
+      <Filter>app_service\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\include\aem_heart_rate_service.h">
+      <Filter>app_service\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\include\aem_sleep_service.h">
+      <Filter>app_service\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\include\aem_spo2_service.h">
+      <Filter>app_service\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\include\aem_stress_service.h">
+      <Filter>app_service\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\include\aem_workout_data.h">
+      <Filter>app_service\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\include\aem_workout_if.h">
+      <Filter>app_service\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\message\aem_msg_config.h">
+      <Filter>app_service\message</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\message\aem_msg_service.h">
+      <Filter>app_service\message</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\message\aem_msg_settings.h">
+      <Filter>app_service\message</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\message\aem_msg_switch.h">
+      <Filter>app_service\message</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\application\launch\aem_launch_conf.h">
+      <Filter>application\launch</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\application\launch\aem_main_launch.h">
+      <Filter>application\launch</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\application\launch\single_wf\aem_single_loop_launch.h">
+      <Filter>application\launch\single_wf</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\application\launch\scroller\aem_launch_scroller.h">
+      <Filter>application\launch\scroller</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\database\include\aem_data_his.h">
+      <Filter>framework\database\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\database\include\aem_data_share.h">
+      <Filter>framework\database\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\database\include\aem_db.h">
+      <Filter>framework\database\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\database\include\aem_ble_data_share.h">
+      <Filter>framework\database\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\database\include\aem_settings_default.h">
+      <Filter>framework\database\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\include\aem_arc.h">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\include\aem_popup.h">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\include\aem_arc_zoom_bg_img_btn.h">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\include\aem_bg.h">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\include\aem_checkbox.h">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\include\aem_curve_btn.h">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\include\aem_double_img_btns.h">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\include\aem_double_label.h">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\include\aem_double_label_ex.h">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\include\aem_double_label_icon_item.h">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\include\aem_double_label_loading_item.h">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\include\aem_double_label_switch_item.h">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\include\aem_double_label_switch_item_ex.h">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\include\aem_double_zoom_btns.h">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\include\aem_hor_indicator.h">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\include\aem_icon_double_label_checkbox_item.h">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\include\aem_icon_double_label_item.h">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\include\aem_icon_double_label_radio_btn_item.h">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\include\aem_icon_double_label_switch_item.h">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\include\aem_img_btn.h">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\include\aem_indicator.h">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\include\aem_loading.h">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\include\aem_more_roller_adv.h">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\include\aem_page.h">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\include\aem_pub_widgets_conf.h">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\include\aem_pub_widgets_global.h">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\include\aem_radio_btn.h">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\include\aem_roller.h">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\include\aem_roller_adv.h">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\include\aem_single_zoom_btn.h">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\include\aem_snap_recycleview.h">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\include\aem_switch.h">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\include\aem_sys_function_interface.h">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\include\aem_title.h">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\include\aem_toast.h">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\include\aem_ver_progress_bar.h">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\include\aem_waterfall_list.h">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\include\aem_wf_ll.h">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\include\aem_zoom_bg_img_btn.h">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\include\aem_zoom_item_base.h">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\include\aem_zoom_item_example.h">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\include\aem_zoom_label.h">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\include\aem_zoom_list.h">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\protocol\include\aem_ble_settings_if.h">
+      <Filter>framework\protocol\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\protocol\include\aem_proto_ble_if.h">
+      <Filter>framework\protocol\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\service\ui_task\aem_app_lv_task.h">
+      <Filter>framework\service\ui_task</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\service\ui_task\aem_lv_server.h">
+      <Filter>framework\service\ui_task</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\service\ui_task\aem_sen_ui_proc.h">
+      <Filter>framework\service\ui_task</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\service\app_task\aem_app_ble_proc.h">
+      <Filter>framework\service\app_task</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\service\app_task\aem_app_int_proc.h">
+      <Filter>framework\service\app_task</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\service\app_task\aem_app_service.h">
+      <Filter>framework\service\app_task</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\service\app_task\aem_app_task.h">
+      <Filter>framework\service\app_task</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\service\app_task\aem_app_task_if.h">
+      <Filter>framework\service\app_task</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\service\app_task\aem_ble_app_proc.h">
+      <Filter>framework\service\app_task</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\system\include\aem_device.h">
+      <Filter>framework\system\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\system\include\aem_section.h">
+      <Filter>framework\system\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\system\include\aem_sim_msgq.h">
+      <Filter>framework\system\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\system\include\aem_time.h">
+      <Filter>framework\system\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\system\include\aem_type.h">
+      <Filter>framework\system\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\utils\include\aem_utils.h">
+      <Filter>framework\utils\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\main\aem_ui_task.h">
+      <Filter>main</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\core\app_clock\aem_app_clock.h">
+      <Filter>framework\core\app_clock</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\core\watch_fwk\app_list\aem_app_list_mgr.h">
+      <Filter>framework\core\watch_fwk\app_list</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\core\watch_fwk\util\aem_fwk_util.h">
+      <Filter>framework\core\watch_fwk\util</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\system\include\aem_sys.h">
+      <Filter>framework\system\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\core\pop_window\include\aem_pop_ui.h">
+      <Filter>framework\core\pop_window</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\system\include\aem_def_settings.h">
+      <Filter>framework\system\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\database\include\aem_nvram.h">
+      <Filter>framework\database\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\application\launch\anim\aem_launch_anim_effect.h">
+      <Filter>application\launch\anim</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\aem\include\framework\gui\aem_widgets\include\aem_supported_strings.h">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\application\launch\low_mem_launch\aem_loop_launch_low_mem.h">
+      <Filter>application\launch\low_mem_launch</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\application\launch\tile_data\aem_tile_data_provider.h">
+      <Filter>application\launch\tile_data</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\monitor\aem_monitor.h">
+      <Filter>framework\monitor</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\include\framework\gui\aem_txt\include\aem_txt_khmer.h">
+      <Filter>framework\gui\aem_txt</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\include\framework\core\aod_app\include\aem_aod_mgr.h">
+      <Filter>framework\core\aod_app</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\include\framework\gui\aem_txt\include\aem_txt.h">
+      <Filter>framework\gui\aem_txt</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\cloud_wf\aem_watch_face.h">
+      <Filter>app_service\cloud_wf</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\cloud_wf\utils\aem_wf_util.h">
+      <Filter>app_service\cloud_wf\utils</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\cloud_wf\parse\aem_wf_parse.h">
+      <Filter>app_service\cloud_wf\parse</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\cloud_wf\parse\json.h">
+      <Filter>app_service\cloud_wf\parse</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\cloud_wf\parse\json_layout.h">
+      <Filter>app_service\cloud_wf\parse</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\cloud_wf\manager\aem_wf_mgr.h">
+      <Filter>app_service\cloud_wf\manager</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\cloud_wf\loader\aem_wf_img_loader.h">
+      <Filter>app_service\cloud_wf\loader</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\cloud_wf\data_provider\aem_cloud_wf_data_provider.h">
+      <Filter>app_service\cloud_wf\data_provider</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\cloud_wf\anim\aem_wf_widget_anim.h">
+      <Filter>app_service\cloud_wf\anim</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\cloud_wf\wf_widgets\aem_cloud_wf_refresh.h">
+      <Filter>app_service\cloud_wf\wf_widgets</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\cloud_wf\wf_widgets\aem_cloud_wf_widget_refresh.h">
+      <Filter>app_service\cloud_wf\wf_widgets</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\cloud_wf\wf_widgets\aem_cloud_wf_widgets.h">
+      <Filter>app_service\cloud_wf\wf_widgets</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\application\launch\wf_edit\aem_wf_edit_starter.h">
+      <Filter>application\launch\wf_edit</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\cloud_wf\wf_widgets\aem_wf_num_img.h">
+      <Filter>app_service\cloud_wf\wf_widgets</Filter>
+    </ClInclude>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="aem_gui.cpp">
+      <Filter>源文件</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\core\app_mgr\activity\aem_activity_list.c">
+      <Filter>framework\core\app_mgr\activity</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\core\app_mgr\activity\aem_app_activity.c">
+      <Filter>framework\core\app_mgr\activity</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\core\app_mgr\trans_anim\aem_anim_buffer.c">
+      <Filter>framework\core\app_mgr\trans_anim</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\core\app_mgr\trans_anim\aem_app_trans_anim.c">
+      <Filter>framework\core\app_mgr\trans_anim</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\core\app_mgr\aem_app_info.c">
+      <Filter>framework\core\app_mgr</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\core\app_mgr\aem_app_mgr.c">
+      <Filter>framework\core\app_mgr</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\core\app_mgr\aem_app_msg.c">
+      <Filter>framework\core\app_mgr</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\core\app_mgr\aem_app_sched.c">
+      <Filter>framework\core\app_mgr</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\core\app_mgr\aem_gesture.c">
+      <Filter>framework\core\app_mgr</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\core\app_mgr\aem_gui_pm.c">
+      <Filter>framework\core\app_mgr</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\core\app_mgr\aem_keypad.c">
+      <Filter>framework\core\app_mgr</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\core\app_mgr\aem_list.c">
+      <Filter>framework\core\app_mgr</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\core\app_mgr\aem_ui_evt.c">
+      <Filter>framework\core\app_mgr</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\core\app_mgr\aem_ui_refr.c">
+      <Filter>framework\core\app_mgr</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\aem_app_comm.c">
+      <Filter>app_service</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\female_health\aem_female_health_service.c">
+      <Filter>app_service\female_health</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\workout\aem_workout_data.c">
+      <Filter>app_service\workout</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\workout\aem_workout_goal_and_remind_setting.c">
+      <Filter>app_service\workout</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\workout\aem_workout_service.c">
+      <Filter>app_service\workout</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\workout\aem_workout_setting.c">
+      <Filter>app_service\workout</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\heart_rate\aem_heart_rate_service.c">
+      <Filter>app_service\heart_rate</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\spo2\aem_spo2_service.c">
+      <Filter>app_service\spo2</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\stress\aem_stress_service.c">
+      <Filter>app_service\stress</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\clock\aem_alarm_manager.c">
+      <Filter>app_service\clock</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\clock\aem_clock_data.c">
+      <Filter>app_service\clock</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\clock\aem_stopwatch_data.c">
+      <Filter>app_service\clock</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\clock\aem_timer_data.c">
+      <Filter>app_service\clock</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\phone\aem_call_log_data.c">
+      <Filter>app_service\phone</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\phone\aem_contact_data.c">
+      <Filter>app_service\phone</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\sleep\aem_sleep_service.c">
+      <Filter>app_service\sleep</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\media\aem_media.c">
+      <Filter>app_service\media</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\message\aem_msg_service.c">
+      <Filter>app_service\message</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\message\aem_msg_settings.c">
+      <Filter>app_service\message</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\message\aem_msg_switch.c">
+      <Filter>app_service\message</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\audio\aem_audio.c">
+      <Filter>app_service\audio</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\music\aem_local_music.c">
+      <Filter>app_service\muisc</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\music\aem_music_service.c">
+      <Filter>app_service\muisc</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\application\launch\aem_main_launch.c">
+      <Filter>application\launch</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\application\launch\single_wf\aem_single_loop_launch.c">
+      <Filter>application\launch\single_wf</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\application\launch\single_wf\aem_single_loop_launch_register.c">
+      <Filter>application\launch\single_wf</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\application\launch\scroller\aem_launch_scroller.c">
+      <Filter>application\launch\scroller</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\application\launch\widget_edit\aem_widget_edit.c">
+      <Filter>application\launch\widget_edit</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\database\data_db\aem_data_his.c">
+      <Filter>framework\database\data_db</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\database\data_db\aem_db.c">
+      <Filter>framework\database\data_db</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\database\data_provider\aem_ble_data_share.c">
+      <Filter>framework\database\data_provider</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\database\data_provider\aem_data_share.c">
+      <Filter>framework\database\data_provider</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\src\aem_arc.c">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\src\aem_popup.c">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\src\aem_arc_zoom_bg_img_btn.c">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\src\aem_bg.c">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\src\aem_checkbox.c">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\src\aem_curve_btn.c">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\src\aem_double_img_btns.c">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\src\aem_double_label.c">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\src\aem_double_label_ex.c">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\src\aem_double_label_icon_item.c">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\src\aem_double_label_loading_item.c">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\src\aem_double_label_switch_item.c">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\src\aem_double_label_switch_item_ex.c">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\src\aem_double_zoom_btns.c">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\src\aem_hor_indicator.c">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\src\aem_icon_double_label_checkbox_item.c">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\src\aem_icon_double_label_item.c">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\src\aem_icon_double_label_radio_btn_item.c">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\src\aem_icon_double_label_switch_item.c">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\src\aem_img_btn.c">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\src\aem_indicator.c">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\src\aem_loading.c">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\src\aem_more_roller_adv.c">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\src\aem_page.c">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\src\aem_radio_btn.c">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\src\aem_roller.c">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\src\aem_roller_adv.c">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\src\aem_single_zoom_btn.c">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\src\aem_snap_recycleview.c">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\src\aem_switch.c">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\src\aem_sys_function_interface.c">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\src\aem_title.c">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\src\aem_toast.c">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\src\aem_ver_progress_bar.c">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\src\aem_waterfall_list.c">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\src\aem_wf_ll.c">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\src\aem_zoom_bg_img_btn.c">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\src\aem_zoom_item_base.c">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\src\aem_zoom_item_example.c">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\src\aem_zoom_label.c">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\src\aem_zoom_list.c">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\service\ui_task\aem_app_lv_task.c">
+      <Filter>framework\service\ui_task</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\service\ui_task\aem_lv_server.c">
+      <Filter>framework\service\ui_task</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\service\ui_task\aem_sen_ui_proc.c">
+      <Filter>framework\service\ui_task</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\service\app_task\aem_app_ble_proc.c">
+      <Filter>framework\service\app_task</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\service\app_task\aem_app_int_proc.c">
+      <Filter>framework\service\app_task</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\service\app_task\aem_app_service.c">
+      <Filter>framework\service\app_task</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\service\app_task\aem_app_task.c">
+      <Filter>framework\service\app_task</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\service\app_task\aem_ble_app_proc.c">
+      <Filter>framework\service\app_task</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\system\aem_device.c">
+      <Filter>framework\system</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\system\aem_platform.c">
+      <Filter>framework\system</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\system\aem_sim_msgq.c">
+      <Filter>framework\system</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\system\aem_time.c">
+      <Filter>framework\system</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\utils\aem_utils.c">
+      <Filter>framework\utils</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\main\aem_ui_task.c">
+      <Filter>main</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\main\aem_app.c">
+      <Filter>main</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\core\app_event\aem_app_event.c">
+      <Filter>framework\core\app_event</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\core\watch_fwk\app_list\aem_app_list_fwk.c">
+      <Filter>framework\core\watch_fwk\app_list</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\core\watch_fwk\app_list\aem_app_list_mgr.c">
+      <Filter>framework\core\watch_fwk\app_list</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\core\watch_fwk\launch\aem_launch_mgr.c">
+      <Filter>framework\core\watch_fwk\launch</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\core\watch_fwk\quick_setting\aem_quick_setting_fwk.c">
+      <Filter>framework\core\watch_fwk\quick_setting</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\core\watch_fwk\watch_face\aem_watchface_mgr.c">
+      <Filter>framework\core\watch_fwk\watch_face</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\core\watch_fwk\util\aem_fwk_util.c">
+      <Filter>framework\core\watch_fwk\util</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\system\aem_sys.c">
+      <Filter>framework\system</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\application\launch\widget_edit\aem_widget_list.c">
+      <Filter>application\launch\widget_edit</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\core\pop_window\aem_pop_ui.c">
+      <Filter>framework\core\pop_window</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\weather\aem_weather_service.c">
+      <Filter>app_service\weather</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\barometer\aem_barometer_service.c">
+      <Filter>app_service\barometer</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\system\aem_def_settings.c">
+      <Filter>framework\system</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\pop_window\aem_pop_service.c">
+      <Filter>app_service\pop_window</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\src\aem_shaking_anim.c">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\src\aem_cube_anim.c">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\database\data_db\aem_nvram.c">
+      <Filter>framework\database\data_db</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\application\launch\anim\aem_launch_anim_effect.c">
+      <Filter>application\launch\anim</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\application\launch\aem_launch_conf.c">
+      <Filter>application\launch</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\music\aem_bt_earphone.c">
+      <Filter>app_service\muisc</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\src\aem_supported_strings.c">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\activity\aem_activity_data_if.c">
+      <Filter>app_service\activity</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\service\ui_task\aem_aod_app.c">
+      <Filter>framework\service\ui_task</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\application\launch\low_mem_launch\aem_loop_launch_low_mem.c">
+      <Filter>application\launch\low_mem_launch</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\application\launch\low_mem_launch\aem_loop_launch_low_mem_register.c">
+      <Filter>application\launch\low_mem_launch</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\application\launch\tile_data\aem_tile_data_provider.c">
+      <Filter>application\launch\tile_data</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\workout\aem_workout_record_data.c">
+      <Filter>app_service\workout</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\application\wf_simulator\aem_wf_sim.c">
+      <Filter>application\wf_simulator</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\monitor\aem_monitor.c">
+      <Filter>framework\monitor</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\recorder\aem_recorder_file.c">
+      <Filter>app_service\recorder</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_widgets\src\aem_scroll_item.c">
+      <Filter>framework\gui\aem_widgets\src</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_txt\aem_txt_khmer.c">
+      <Filter>framework\gui\aem_txt</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\core\pop_window\aem_pop_mgr.c">
+      <Filter>framework\core\pop_window</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\core\aod_app\aem_aod_mgr.c">
+      <Filter>framework\core\aod_app</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\gui\aem_txt\aem_txt.c">
+      <Filter>framework\gui\aem_txt</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\cloud_wf\utils\aem_wf_util.c">
+      <Filter>app_service\cloud_wf\utils</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\cloud_wf\parse\aem_wf_parse.c">
+      <Filter>app_service\cloud_wf\parse</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\cloud_wf\parse\json.c">
+      <Filter>app_service\cloud_wf\parse</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\cloud_wf\parse\json_layout.c">
+      <Filter>app_service\cloud_wf\parse</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\cloud_wf\manager\aem_wf_mgr.c">
+      <Filter>app_service\cloud_wf\manager</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\cloud_wf\loader\aem_wf_img_loader.c">
+      <Filter>app_service\cloud_wf\loader</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\cloud_wf\data_provider\aem_cloud_wf_data_provider.c">
+      <Filter>app_service\cloud_wf\data_provider</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\cloud_wf\anim\aem_wf_widget_anim.c">
+      <Filter>app_service\cloud_wf\anim</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\cloud_wf\wf_widgets\aem_cloud_wf_refresh.c">
+      <Filter>app_service\cloud_wf\wf_widgets</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\cloud_wf\wf_widgets\aem_cloud_wf_widget_refresh.c">
+      <Filter>app_service\cloud_wf\wf_widgets</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\cloud_wf\wf_widgets\aem_cloud_wf_widgets.c">
+      <Filter>app_service\cloud_wf\wf_widgets</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\application\launch\cloud_wf\aem_watch_face_cloud.c">
+      <Filter>application\launch\cloud_wf</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\application\launch\wf_edit\aem_cloud_wf_edit.c">
+      <Filter>application\launch\wf_edit</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\application\launch\wf_edit\aem_wf_edit_starter.c">
+      <Filter>application\launch\wf_edit</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\music\aem_ble_music.c">
+      <Filter>app_service\muisc</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\app_service\cloud_wf\wf_widgets\aem_wf_num_img.c">
+      <Filter>app_service\cloud_wf\wf_widgets</Filter>
+    </ClCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <Text Include="..\..\..\..\thirdparty\lib\aem\gui_fwk\framework\service\ui_task\CMakeLists.txt">
+      <Filter>framework\service\ui_task</Filter>
+    </Text>
+  </ItemGroup>
+</Project>

+ 4 - 0
application/aem_watch/simulator/aem_gui/aem_gui.vcxproj.user

@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup />
+</Project>

+ 40 - 24
application/aem_watch/src/application/in_out_power/aem_in_out_power_screen.c

@@ -104,16 +104,16 @@ static lv_obj_t *activity_value_item_create(lv_obj_t *par, lv_color_t value_colo
     return bg;
 }
 
-static void link_icon_event_cb(lv_event_t *event)
-{
-    //printk("link_icon_event_cb\n");
+// static void link_icon_event_cb(lv_event_t *event)
+// {
+//     //printk("link_icon_event_cb\n");
 
-    if (event->code == LV_EVENT_CLICKED)
-    {
-        aem_activity_run(AEM_BIND_QRCODE, NULL);
-        //aem_app_close(AEM_APP_ID_IN_OUT_POWER);
-    }
-}
+//     if (event->code == LV_EVENT_SHORT_CLICKED)
+//     {
+//         aem_activity_run(AEM_BIND_QRCODE, NULL);
+//         //aem_app_close(AEM_APP_ID_IN_OUT_POWER);
+//     }
+// }
 
 static void draw_event_cb(lv_event_t *e)
 {    
@@ -488,19 +488,20 @@ static lv_obj_t *aem_in_out_power_arc_show_create(lv_obj_t *par)
         lv_obj_t *link_icon = lv_img_create(arc_bg);
         if (link_icon)
         {
+            lv_obj_clear_flag(link_icon, LV_OBJ_FLAG_CLICKABLE);
             lv_img_set_src(link_icon, &IMG_SCENE_IN_OUT_POWER_PIC_LINK);
             lv_obj_align(link_icon, LV_ALIGN_BOTTOM_MID, AEM_SIZE_HOR_FACTOR_466(0), AEM_SIZE_VER_FACTOR_466(-15));
         } 
 
-        lv_obj_t *link_bg = aem_bg_create(arc_bg, AEM_SIZE_HOR_FACTOR_466(120), AEM_SIZE_VER_FACTOR_466(80), lv_color_white());
-        if (link_bg)
-        {
-            lv_obj_set_style_bg_opa(link_bg, LV_OPA_TRANSP, 0);
-            lv_obj_add_flag(link_bg, LV_OBJ_FLAG_CLICKABLE);
-            lv_obj_clear_flag(link_bg, LV_OBJ_FLAG_EVENT_BUBBLE);
-            lv_obj_align(link_bg, LV_ALIGN_BOTTOM_MID, AEM_SIZE_HOR_FACTOR_466(0), AEM_SIZE_VER_FACTOR_466(0));
-            lv_obj_add_event_cb(link_bg, link_icon_event_cb, LV_EVENT_CLICKED, NULL);
-        }  
+        // lv_obj_t *link_bg = aem_bg_create(arc_bg, AEM_SIZE_HOR_FACTOR_466(120), AEM_SIZE_VER_FACTOR_466(80), lv_color_white());
+        // if (link_bg)
+        // {
+        //     lv_obj_set_style_bg_opa(link_bg, LV_OPA_TRANSP, 0);
+        //     lv_obj_add_flag(link_bg, LV_OBJ_FLAG_CLICKABLE);
+        //     lv_obj_clear_flag(link_bg, LV_OBJ_FLAG_EVENT_BUBBLE);
+        //     lv_obj_align(link_bg, LV_ALIGN_BOTTOM_MID, AEM_SIZE_HOR_FACTOR_466(0), AEM_SIZE_VER_FACTOR_466(0));
+        //     lv_obj_add_event_cb(link_bg, link_icon_event_cb, LV_EVENT_SHORT_CLICKED, NULL);
+        // }  
     }
 
     return par;
@@ -577,10 +578,14 @@ static lv_obj_t *create_chart(lv_obj_t *par, int type)
     lv_chart_set_type(chart, LV_CHART_TYPE_LINE);
     // 设置图表对象的数据点数量为24
     lv_chart_set_point_count(chart, chart_point_num);
-    //if (type == 0) // input?output
+    if (type == 0) // input?output
     {
         lv_chart_set_range(chart, LV_CHART_AXIS_PRIMARY_Y, chart_range_min, chart_range_max);
     }
+    else
+    {
+        lv_chart_set_range(chart, LV_CHART_AXIS_PRIMARY_Y, output_power_green_chart_range_min, output_power_green_chart_range_max);
+    }
 
     lv_chart_set_div_line_count(chart, 0, 0); //	设置背景分界线
     lv_obj_add_event_cb(chart, draw_event_cb, LV_EVENT_DRAW_PART_BEGIN, (void *)type);
@@ -637,12 +642,15 @@ static void aem_create_in_out_point_page(lv_obj_t *par)
     }
     lv_memset(s_power_point, 0x00, sizeof(aem_struct_power_point));
 
-    s_power_point->bg = arc_bg_create(par);
-    if (s_power_point->bg)
+    if (s_power_point->bg == NULL)
     {
-        lv_obj_clear_flag(s_power_point->bg, LV_OBJ_FLAG_CLICKABLE);
-        s_power_point->input_power_blue_chart = create_chart(par, 0);
-        s_power_point->output_power_green_chart = create_chart(par, 1);
+        s_power_point->bg = arc_bg_create(par);
+        if (s_power_point->bg)
+        {
+            lv_obj_clear_flag(s_power_point->bg, LV_OBJ_FLAG_CLICKABLE);
+            s_power_point->input_power_blue_chart = create_chart(par, 0);
+            s_power_point->output_power_green_chart = create_chart(par, 1);
+        }
     }
 }
 
@@ -775,6 +783,14 @@ void aem_in_out_power_screen_update(lv_obj_t *par)
 
             info->input_power_blue_chart[0] = f_Power[f_Power_index] * 10.00;//rand() % 59 + 1;
             info->output_power_green_chart[0] = f_Power[1 - f_Power_index] * 10.00;//rand() % 59 + 1;
+            if (info->input_power_blue_chart[0] == 0) 
+            {
+                info->input_power_blue_chart[0] = info->input_power_blue_chart[1];  //防止出现0功耗的错误情况
+            }
+            if (info->output_power_green_chart[0] == 0)
+            {
+                info->output_power_green_chart[0] = info->output_power_green_chart[1];  //防止出现0功耗的错误情况
+            }
 
             for (int i = 0; i < chart_point_num; i++)
             {

+ 20 - 18
application/aem_watch/src/application/in_out_power/aem_input_power_screen.c

@@ -95,16 +95,16 @@ static lv_obj_t *activity_value_item_create(lv_obj_t *par, lv_color_t value_colo
     return bg;
 }
 
-static void link_icon_event_cb(lv_event_t *event)
-{
-    //printk("link_icon_event_cb\n");
+// static void link_icon_event_cb(lv_event_t *event)
+// {
+//     //printk("link_icon_event_cb\n");
 
-    if (event->code == LV_EVENT_CLICKED)
-    {
-        aem_activity_run(AEM_BIND_QRCODE, NULL);
-        //aem_app_close(AEM_APP_ID_input_power);
-    }
-}
+//     if (event->code == LV_EVENT_CLICKED)
+//     {
+//         aem_activity_run(AEM_BIND_QRCODE, NULL);
+//         //aem_app_close(AEM_APP_ID_input_power);
+//     }
+// }
 
 static void draw_event_cb(lv_event_t *e)
 {    
@@ -343,19 +343,21 @@ static lv_obj_t *aem_input_power_arc_show_create(lv_obj_t *par)
         lv_obj_t *link_icon = lv_img_create(arc_bg);
         if (link_icon)
         {
+            lv_obj_clear_flag(link_icon, LV_OBJ_FLAG_CLICKABLE);
             lv_img_set_src(link_icon, &IMG_SCENE_IN_OUT_POWER_PIC_LINK);
             lv_obj_align(link_icon, LV_ALIGN_BOTTOM_MID, AEM_SIZE_HOR_FACTOR_466(0), AEM_SIZE_VER_FACTOR_466(-15));
         } 
 
-        lv_obj_t *link_bg = aem_bg_create(arc_bg, AEM_SIZE_HOR_FACTOR_466(120), AEM_SIZE_VER_FACTOR_466(80), lv_color_white());
-        if (link_bg)
-        {
-            lv_obj_set_style_bg_opa(link_bg, LV_OPA_TRANSP, 0);
-            lv_obj_add_flag(link_bg, LV_OBJ_FLAG_CLICKABLE);
-            lv_obj_clear_flag(link_bg, LV_OBJ_FLAG_EVENT_BUBBLE);
-            lv_obj_align(link_bg, LV_ALIGN_BOTTOM_MID, AEM_SIZE_HOR_FACTOR_466(0), AEM_SIZE_VER_FACTOR_466(0));
-            lv_obj_add_event_cb(link_bg, link_icon_event_cb, LV_EVENT_CLICKED, NULL);
-        }  
+        // lv_obj_t *link_bg = aem_bg_create(arc_bg, AEM_SIZE_HOR_FACTOR_466(120), AEM_SIZE_VER_FACTOR_466(80), lv_color_white());
+        // if (link_bg)
+        // {
+        //     lv_obj_set_style_bg_opa(link_bg, LV_OPA_TRANSP, 0);
+        //     lv_obj_clear_flag(link_bg, LV_OBJ_FLAG_CLICKABLE);
+        //     // lv_obj_add_flag(link_bg, LV_OBJ_FLAG_CLICKABLE);
+        //     // lv_obj_clear_flag(link_bg, LV_OBJ_FLAG_EVENT_BUBBLE);
+        //     lv_obj_align(link_bg, LV_ALIGN_BOTTOM_MID, AEM_SIZE_HOR_FACTOR_466(0), AEM_SIZE_VER_FACTOR_466(0));
+        //     lv_obj_add_event_cb(link_bg, link_icon_event_cb, LV_EVENT_CLICKED, NULL);
+        // }  
     }
 
     return par;

+ 39 - 0
application/aem_watch/src/application/in_out_power/aem_widget_in_out_power.c

@@ -15,10 +15,12 @@
 #include "res_include.h"
 #include "app_ui.h"
 #include "aem_in_out_power.h"
+#include "aem_activity_id.h"
 
 typedef struct
 {
     lv_obj_t *bg;
+    lv_obj_t *link_bg;
     lv_timer_t *timer;
 } aem_wf_in_out_power_t;
 
@@ -26,6 +28,17 @@ static aem_wf_in_out_power_t *s_wf_in_out_power = NULL;
 
 static bool in_out_value_show_flag = false;
 
+static void link_icon_event_cb(lv_event_t* event)
+{
+    //printk("link_icon_event_cb\n");
+
+    if (event->code == LV_EVENT_CLICKED)
+    {
+        aem_activity_run(AEM_BIND_QRCODE, NULL);
+        //aem_app_close(AEM_APP_ID_input_power);
+    }
+}
+
 static void timer_cb(lv_timer_t *t)
 {
     if (s_wf_in_out_power == NULL)
@@ -60,6 +73,7 @@ static void timer_cb(lv_timer_t *t)
         lv_obj_remove_event_cb(s_wf_in_out_power->bg, NULL);  //清除所有事件回调
         lv_obj_del(s_wf_in_out_power->bg);
         s_wf_in_out_power->bg = NULL;
+        s_wf_in_out_power->link_bg = NULL;
         
         if (in_out_value_show_flag)
         {
@@ -70,6 +84,18 @@ static void timer_cb(lv_timer_t *t)
             s_wf_in_out_power->bg = aem_input_power_screen_create(par, true);
         }
 
+        if (s_wf_in_out_power->link_bg == NULL)
+        {
+            s_wf_in_out_power->link_bg = aem_bg_create(s_wf_in_out_power->bg, AEM_SIZE_HOR_FACTOR_466(120), AEM_SIZE_VER_FACTOR_466(80), lv_color_white());
+        
+            if (s_wf_in_out_power->link_bg)
+            {
+                lv_obj_set_style_bg_opa(s_wf_in_out_power->link_bg, LV_OPA_TRANSP, 0);
+                lv_obj_add_flag(s_wf_in_out_power->link_bg, LV_OBJ_FLAG_CLICKABLE);
+                lv_obj_align(s_wf_in_out_power->link_bg, LV_ALIGN_BOTTOM_MID, AEM_SIZE_HOR_FACTOR_466(0), AEM_SIZE_VER_FACTOR_466(0));
+                lv_obj_add_event_cb(s_wf_in_out_power->link_bg, link_icon_event_cb, LV_EVENT_CLICKED, NULL);
+            }  
+        }
         lv_obj_add_flag(s_wf_in_out_power->bg, LV_OBJ_FLAG_CLICKABLE);       //给背景添加LV_OBJ_FLAG_CLICKABLE标志
         lv_obj_clear_flag(s_wf_in_out_power->bg, LV_OBJ_FLAG_EVENT_BUBBLE);  //去除把事件同步给父对象LV_OBJ_FLAG_EVENT_BUBBLE
 
@@ -127,6 +153,19 @@ static void on_resume()
     if (s_wf_in_out_power->bg)
     {
         lv_obj_remove_event_cb(s_wf_in_out_power->bg, NULL);  //清除所有事件回调
+        
+        if (s_wf_in_out_power->link_bg == NULL)
+        {
+            s_wf_in_out_power->link_bg = aem_bg_create(s_wf_in_out_power->bg, AEM_SIZE_HOR_FACTOR_466(120), AEM_SIZE_VER_FACTOR_466(80), lv_color_white());
+        
+            if (s_wf_in_out_power->link_bg)
+            {
+                lv_obj_set_style_bg_opa(s_wf_in_out_power->link_bg, LV_OPA_TRANSP, 0);
+                lv_obj_add_flag(s_wf_in_out_power->link_bg, LV_OBJ_FLAG_CLICKABLE);
+                lv_obj_align(s_wf_in_out_power->link_bg, LV_ALIGN_BOTTOM_MID, AEM_SIZE_HOR_FACTOR_466(0), AEM_SIZE_VER_FACTOR_466(0));
+                lv_obj_add_event_cb(s_wf_in_out_power->link_bg, link_icon_event_cb, LV_EVENT_CLICKED, NULL);
+            }  
+        }
     }        
 
     if (s_wf_in_out_power->timer == NULL)

+ 4 - 0
application/aem_watch/src/application/profile_photo/aem_profile_photo_screen.c

@@ -10,6 +10,7 @@
 #include "aem_app_fwk.h"
 #include "text_canvas.h"
 #include "aem_txt.h"
+#include <lvgl/lvgl_memory.h>
 
 #define LV_COLOR_BLUE LV_COLOR_MAKE(0x36, 0xdc, 0xff)
 #define LV_COLOR_GREEN LV_COLOR_MAKE(0x88, 0xff, 0x56)
@@ -153,6 +154,9 @@ static lv_obj_t *aem_profile_photo_arc_show_create(lv_obj_t *par)
                     img_dsc->data_size = LV_IMG_BUF_SIZE_TRUE_COLOR_ALPHA(DEF_UI_WIDTH, DEF_UI_HEIGHT);
                     img_dsc->data = photo_data_buff;
 
+                    
+                    lvgl_img_buf_clean_cache(img_dsc);  // 清除缓存
+
                     lv_img_set_src(photo_icon, img_dsc);
                 }
                 else

+ 1 - 1
application/aem_watch/src/application/settings/aem_settings.c

@@ -90,7 +90,7 @@ static void create_ui(void)
     {
         return;
     }
-
+    lv_obj_set_size(s_ui->page, DEF_UI_WIDTH, DEF_UI_HEIGHT);
     lv_obj_clear_flag(s_ui->page, LV_OBJ_FLAG_CLICKABLE);
     lv_obj_set_style_pad_row(s_ui->page, 0, 0);
     lv_obj_set_style_pad_bottom(s_ui->page, SETTINGS_PAD_BOTTOM, LV_PART_MAIN);

+ 2 - 2
application/aem_watch/src/user_cfg/device_info_cfg.h

@@ -8,11 +8,11 @@
 #if DMG_LCM
 #define MAJOR_VERSION 1
 #define MINOR_VERSION 1
-#define MICRO_VERSION 5
+#define MICRO_VERSION 7
 #else
 #define MAJOR_VERSION 2
 #define MINOR_VERSION 0
-#define MICRO_VERSION 5
+#define MICRO_VERSION 7
 #endif
 
 #define DEVICE_ID "CJ01"//3085

+ 1 - 1
thirdparty/lib/aem/config/aem_project.h

@@ -4,7 +4,7 @@
 #pragma warning(error : 4013)
 #endif
 #define AEM_VERSION "BL_Develop_NOR"
-#define BUILD_TIME "202506051615"
+#define BUILD_TIME "202506161140"
 #define AEM_GUI_FWK_LIB_VER "2.0.0.0"
 #define APP_DOWNLOAD_URL "https://customer.com"
 #define AEM_APP_TRANS_ANIMATION 1