patch_615_1009_to_1029 1469/1
authorSnickerSun <snickersun@163.com>
Wed, 27 Nov 2024 08:14:25 +0000 (16:14 +0800)
committerSnickerSun <snickersun@163.com>
Wed, 27 Nov 2024 08:14:25 +0000 (16:14 +0800)
216 files changed:
code/sdk/application/brandy/brandy_recovery/input_app.c
code/sdk/application/brandy/brandy_standard/chip_init.c
code/sdk/application/brandy/brandy_standard/input_app.c
code/sdk/application/brandy/brandy_standard/kernel_init.c
code/sdk/application/brandy/brandy_standard/thread_pri_init.c
code/sdk/application/brandy/brandy_testsuite/input_app.c
code/sdk/application/wearable/alipay/service/alipay_feature.c
code/sdk/application/wearable/nativeabilityfwk/src/Ability.cpp
code/sdk/application/wearable/nativeabilityfwk/src/NativeAbility.cpp
code/sdk/application/wearable/nativeabilityfwk/src/transition/HexagonsTransition.cpp
code/sdk/application/wearable/nativeapp/nativeui/applist/include/ApplistView.h
code/sdk/application/wearable/nativeapp/nativeui/applist/src/ApplistPresenter.cpp
code/sdk/application/wearable/nativeapp/nativeui/applist/src/ApplistView.cpp
code/sdk/application/wearable/nativeapp/nativeui/main/src/MainModel.cpp
code/sdk/application/wearable/nativeapp/nativeui/main/src/MainPresenterSample.cpp
code/sdk/application/wearable/ohos_deps/ohos_types.h
code/sdk/application/wearable/service/msg_center/brandy-auto-ota-cli/libmsg_center.a
code/sdk/application/wearable/service/msg_center/brandy-auto-ota-ser/libmsg_center.a
code/sdk/application/wearable/service/msg_center/brandy-native-js/libmsg_center.a
code/sdk/application/wearable/service/msg_center/brandy-xts/libmsg_center.a
code/sdk/application/wearable/service/msg_center/src/msg_center_customer.cpp
code/sdk/application/wearable/service/msg_center/src/vendor_app/baidu/baidu_app.cpp
code/sdk/application/wearable/service/power_manager/src/power_display_service.c
code/sdk/application/wstp/at_service/app/app_msg_manager.c
code/sdk/application/wstp/at_service/audio/audio_msg_manager.c
code/sdk/application/wstp/at_service/bt/bt_manager_msg_manager.c
code/sdk/application/wstp/at_service/graphic/CMakeLists.txt
code/sdk/application/wstp/at_service/graphic/graphic_msg_manager.c
code/sdk/application/wstp/at_service/graphic/sample/gpu_sample.c
code/sdk/application/wstp/at_service/media/media_msg_manager.c
code/sdk/application/wstp/at_service/ohosfwk/ohosfwk_at_process.cpp
code/sdk/build/config/target_config/brandy/config.py
code/sdk/drivers/chips/brandy/config/pmp_config.c
code/sdk/drivers/drivers/driver/audio/source/core/common/share_mem/core_msg.c
code/sdk/drivers/drivers/driver/audio/source/drv/arch/drv_sap_msg.c
code/sdk/drivers/drivers/driver/mipi/shared/mipi_tx.c
code/sdk/drivers/drivers/driver/mipi/shared/mipi_tx.h
code/sdk/drivers/drivers/driver/mmc/host/sdhci/brandy/mmc_sdhci.c
code/sdk/drivers/drivers/driver/pmp/pmp.c
code/sdk/drivers/drivers/driver/psram/psram_drv.c
code/sdk/drivers/drivers/driver/rtc_unified/rtc.c
code/sdk/drivers/drivers/hal/xip/hal_xip.c
code/sdk/drivers/drivers/hal/xip/hal_xip_v150_regs_op.h
code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/ability_service.cpp.xml
code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/appsys_ams_cmd.cpp.xml
code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/bundlems_slite_client.cpp.xml
code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/display_vau.c.xml
code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/gt_bundle_installer.cpp.xml
code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/gt_bundle_manager_service.cpp.xml
code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/gt_bundle_parser.cpp.xml
code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/lite_m_gfx_engine.cpp.xml
code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/lv_draw_vgu.c.xml
code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/text_ext.cpp.xml
code/sdk/interim_binary/brandy/audio/build_hso_cfg/hso_database/xml/base/dsp_core/core_msg.c.xml
code/sdk/interim_binary/brandy/bt/build_hso_cfg/hdb/hdbcfg/mss_prim_db.xml
code/sdk/interim_binary/brandy/bt/build_hso_cfg/hso_database/xml/base/bt_core/gdk_cmsis.c.xml
code/sdk/interim_binary/brandy/bt/build_hso_cfg/hso_database/xml/base/bt_core/osdep.c.xml
code/sdk/interim_binary/brandy/bt/build_hso_cfg/hso_database/xml/base/bt_core/patch_bth.c.xml
code/sdk/interim_binary/brandy/libs/bt/evb_standard/freertos/ble/libbt_host_brandy_service.a
code/sdk/interim_binary/brandy/libs/bt/evb_standard/freertos/ble/libbt_host_sdk.a
code/sdk/interim_binary/brandy/libs/bt/evb_standard/freertos/br/libbt_host_audio_manager_wrapper.a
code/sdk/interim_binary/brandy/libs/bt/evb_standard/freertos/br/libbt_host_brandy_service.a
code/sdk/interim_binary/brandy/libs/bt/evb_standard/freertos/br/libbt_host_sdk.a
code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/ble/libbt_host_brandy_service.a
code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/ble/libbt_host_sdk.a
code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/br/libbt_host_audio_manager_wrapper.a
code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/br/libbt_host_brandy_service.a
code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/br/libbt_host_sdk.a
code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/mini/ble/libbt_host_brandy_service.a
code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/mini/ble/libbt_host_sdk.a
code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/mini/br/libbt_host_audio_manager_wrapper.a
code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/mini/br/libbt_host_brandy_service.a
code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/mini/br/libbt_host_sdk.a
code/sdk/middleware/chips/brandy/exception/exception.h
code/sdk/middleware/chips/brandy/exception/exception_riscv.c
code/sdk/middleware/chips/brandy/pm/pm_adapt/pm_core.c
code/sdk/middleware/chips/brandy/pm/pm_adapt/pm_lp_stub.c
code/sdk/middleware/chips/brandy/pm/service/pm_sleep.c
code/sdk/middleware/services/gpu/api/jpeg/inc/jpeg_struct.h
code/sdk/middleware/services/gpu/api/jpeg/src/jpeg_mem.c
code/sdk/middleware/services/gpu/api/rm/brandy-auto-ota-cli/libgfx_rm.a
code/sdk/middleware/services/gpu/api/rm/brandy-auto-ota-ser/libgfx_rm.a
code/sdk/middleware/services/gpu/api/rm/brandy-native-js-r/libgfx_rm.a
code/sdk/middleware/services/gpu/api/rm/brandy-native-js/libgfx_rm.a
code/sdk/middleware/services/gpu/api/rm/brandy-target1-r/libgfx_rm.a
code/sdk/middleware/services/gpu/api/rm/brandy-target1/libgfx_rm.a
code/sdk/middleware/services/gpu/api/rm/brandy-target3-r/libgfx_rm.a
code/sdk/middleware/services/gpu/api/rm/brandy-target3/libgfx_rm.a
code/sdk/middleware/services/gpu/api/rm/brandy-target4-r/libgfx_rm.a
code/sdk/middleware/services/gpu/api/rm/brandy-target4/libgfx_rm.a
code/sdk/middleware/services/gpu/api/rm/brandy-target5-r/libgfx_rm.a
code/sdk/middleware/services/gpu/api/rm/brandy-target5/libgfx_rm.a
code/sdk/middleware/services/gpu/api/rm/brandy-xts/libgfx_rm.a
code/sdk/middleware/services/gpu/api/rm/testsuite-brandy-sdk/libgfx_rm.a
code/sdk/middleware/services/gpu/drv/comm/gpu_mem_config.h
code/sdk/middleware/services/gpu/drv/dpu/dfx/dpu_dfx.c
code/sdk/middleware/services/gpu/drv/dpu/dfx/dpu_dfx.h
code/sdk/middleware/services/gpu/drv/dpu/intf/drv_dpu_intf.c
code/sdk/middleware/services/gpu/drv/dpu/isr/dpu_isr.c
code/sdk/middleware/services/gpu/drv/dpu/layer/dpu_layer.c
code/sdk/middleware/services/gpu/drv/include/drv_dpu.h
code/sdk/middleware/services/gpu/drv/include/drv_vau.h
code/sdk/middleware/services/gpu/drv/vau/dfx/vau_dfx.c
code/sdk/middleware/services/gpu/drv/vau/dfx/vau_dfx.h
code/sdk/middleware/services/gpu/drv/vau/hal/vau_hal_apb.c
code/sdk/middleware/services/gpu/drv/vau/intf/drv_vau_intf.c
code/sdk/middleware/services/gpu/drv/vau/list/vau_list.c
code/sdk/middleware/services/gui/hal/common/include/graphic_hardware_config.h
code/sdk/middleware/services/gui/hal/display/brandy-auto-ota-cli/libdisplay_gfx.a
code/sdk/middleware/services/gui/hal/display/brandy-auto-ota-ser/libdisplay_gfx.a
code/sdk/middleware/services/gui/hal/display/brandy-native-js/libdisplay_gfx.a
code/sdk/middleware/services/gui/hal/display/brandy-target1/libdisplay_gfx.a
code/sdk/middleware/services/gui/hal/display/brandy-target3/libdisplay_gfx.a
code/sdk/middleware/services/gui/hal/display/brandy-target5/libdisplay_gfx.a
code/sdk/middleware/services/gui/hal/display/brandy-xts/libdisplay_gfx.a
code/sdk/middleware/services/gui/lvgl/brandy-target1/liblvgl_proprietary_mini.a
code/sdk/middleware/services/gui/lvgl/brandy-target5/liblvgl_proprietary.a
code/sdk/middleware/services/gui/lvgl/proprietary/src/dfx/lv_key_injector.c
code/sdk/middleware/services/gui/lvgl/proprietary/src/porting/lv_input_device.c
code/sdk/middleware/services/gui/uikit/brandy-auto-ota-cli/libuikit_ext.a
code/sdk/middleware/services/gui/uikit/brandy-auto-ota-ser/libuikit_ext.a
code/sdk/middleware/services/gui/uikit/brandy-native-js/libuikit_ext.a
code/sdk/middleware/services/gui/uikit/brandy-target3/libuikit_ext.a
code/sdk/middleware/services/gui/uikit/brandy-xts/libuikit_ext.a
code/sdk/middleware/services/gui/uikit/proprietary/include/common/text_ext.h
code/sdk/middleware/services/gui/uikit/proprietary/include/components/ui_cross_view.h
code/sdk/middleware/services/gui/uikit/proprietary/include/components/ui_list_ext.h
code/sdk/middleware/services/gui/uikit/proprietary/include/components/ui_menu_item.h
code/sdk/middleware/services/gui/uikit/proprietary/include/components/ui_transform_list.h
code/sdk/middleware/services/gui/uikit/proprietary/include/dfx/dfx_frame_trace.h
code/sdk/middleware/services/gui/uikit/proprietary/include/service/graphic_service.h
code/sdk/middleware/services/gui/uikit/proprietary/src/service/src/graphic_event_handler.cpp
code/sdk/middleware/services/gui/uikit/proprietary/src/service/src/graphic_service.cpp
code/sdk/middleware/services/gui/uikit/proprietary/src/ui/frameworks/components/ui_list_ext.cpp
code/sdk/middleware/services/gui/uikit/proprietary/src/ui/frameworks/components/ui_lite_surface_view.cpp
code/sdk/middleware/services/gui/uikit/proprietary/src/ui/frameworks/components/ui_menu_item.cpp
code/sdk/middleware/services/gui/uikit/proprietary/src/ui/frameworks/dfx/dfx_frame_trace.cpp
code/sdk/middleware/services/gui/uikit/sample/uitest/components/ui_test_list_ext/ui_test_list_ext.cpp
code/sdk/middleware/services/gui/uikit/sample/uitest/components/ui_test_list_fps/ui_test_list_fps.cpp
code/sdk/middleware/services/gui/uikit/sample/uitest/components/ui_test_slipflow/ui_test_slipflow.cpp
code/sdk/middleware/services/gui/uikit/sample/uitest/components/ui_test_text_fps/ui_test_text_fps.cpp
code/sdk/middleware/services/gui/uikit/sample/uitest/components/ui_test_transform_list/ui_test_scale_list.cpp
code/sdk/middleware/services/gui/uikit/ui/frameworks/common/text.cpp
code/sdk/middleware/services/gui/uikit/ui/frameworks/components/ui_label.cpp
code/sdk/middleware/services/gui/uikit/ui/frameworks/core/task_manager.cpp
code/sdk/middleware/services/gui/uikit/ui/frameworks/draw/draw_utils.cpp
code/sdk/middleware/services/gui/uikit/ui/frameworks/font/ui_font_vector.cpp
code/sdk/middleware/services/gui/uikit/ui/interfaces/kits/components/ui_abstract_scroll.h
code/sdk/middleware/services/gui/uikit/ui/interfaces/kits/components/ui_label.h
code/sdk/middleware/services/gui/uikit/ui/interfaces/kits/components/ui_label_button.h
code/sdk/middleware/services/media/foundation/player/interfaces/kits/player_lite/js/builtin/src/audio_player.cpp
code/sdk/middleware/utils/at/wstp_at/src/at_cmd_task.c
code/sdk/middleware/utils/fs/vfs/brandy-auto-ota-cli/libx_vfs_private.a
code/sdk/middleware/utils/fs/vfs/brandy-auto-ota-ser/libx_vfs_private.a
code/sdk/middleware/utils/fs/vfs/brandy-native-js-r/libx_vfs_private.a
code/sdk/middleware/utils/fs/vfs/brandy-native-js/libx_vfs_private.a
code/sdk/middleware/utils/fs/vfs/brandy-target1-r/libx_vfs_private.a
code/sdk/middleware/utils/fs/vfs/brandy-target1/libx_vfs_private.a
code/sdk/middleware/utils/fs/vfs/brandy-target3-r/libx_vfs_private.a
code/sdk/middleware/utils/fs/vfs/brandy-target3/libx_vfs_private.a
code/sdk/middleware/utils/fs/vfs/brandy-target4-r/libx_vfs_private.a
code/sdk/middleware/utils/fs/vfs/brandy-target4/libx_vfs_private.a
code/sdk/middleware/utils/fs/vfs/brandy-target5-r/libx_vfs_private.a
code/sdk/middleware/utils/fs/vfs/brandy-target5/libx_vfs_private.a
code/sdk/middleware/utils/fs/vfs/brandy-xts-r/libx_vfs_private.a
code/sdk/middleware/utils/fs/vfs/brandy-xts/libx_vfs_private.a
code/sdk/middleware/utils/fs/vfs/testsuite-brandy-sdk/libx_vfs_private.a
code/sdk/middleware/utils/fs/yaffs2/brandy-auto-ota-cli/libfs_yaffs2.a
code/sdk/middleware/utils/fs/yaffs2/brandy-auto-ota-ser/libfs_yaffs2.a
code/sdk/middleware/utils/fs/yaffs2/brandy-native-js-r/libfs_yaffs2.a
code/sdk/middleware/utils/fs/yaffs2/brandy-native-js/libfs_yaffs2.a
code/sdk/middleware/utils/fs/yaffs2/brandy-target1-r/libfs_yaffs2.a
code/sdk/middleware/utils/fs/yaffs2/brandy-target1/libfs_yaffs2.a
code/sdk/middleware/utils/fs/yaffs2/brandy-target3-r/libfs_yaffs2.a
code/sdk/middleware/utils/fs/yaffs2/brandy-target3/libfs_yaffs2.a
code/sdk/middleware/utils/fs/yaffs2/brandy-target4-r/libfs_yaffs2.a
code/sdk/middleware/utils/fs/yaffs2/brandy-target4/libfs_yaffs2.a
code/sdk/middleware/utils/fs/yaffs2/brandy-target5-r/libfs_yaffs2.a
code/sdk/middleware/utils/fs/yaffs2/brandy-target5/libfs_yaffs2.a
code/sdk/middleware/utils/fs/yaffs2/brandy-xts-r/libfs_yaffs2.a
code/sdk/middleware/utils/fs/yaffs2/brandy-xts/libfs_yaffs2.a
code/sdk/middleware/utils/fs/yaffs2/testsuite-brandy-sdk/libfs_yaffs2.a
code/sdk/middleware/utils/nv/nv_storage_lib/nv_async_store.c
code/sdk/open_source/openharmony/base/startup/syspara_lite/src/parameter_common.c
code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-auto-ota-cli/libams.a
code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-auto-ota-ser/libams.a
code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-native-js/libams.a
code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-xts/libams.a
code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/CMakeLists.txt
code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-auto-ota-cli/libace.a
code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-auto-ota-ser/libace.a
code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-native-js/libace.a
code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-xts/libace.a
code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/components/baidu_map_component.cpp
code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/modules/baidumapcomponent/baidumap.cpp
code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/modules/baidumapcomponent/baidumap.h
code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/modules/keyinput/keyinput.cpp [new file with mode: 0644]
code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/modules/keyinput/keyinput.h
code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/modules/network_module.h
code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-auto-ota-cli/libbms.a
code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-auto-ota-ser/libbms.a
code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-native-js/libbms.a
code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-xts/libbms.a
code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/include/appexecfwk/appexecfwk_lite/frameworks/bundle_lite/include/bundlems_slite_client.h
code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/include/appexecfwk/appexecfwk_lite/interfaces/kits/bundle_lite/element_name.h
code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/include/appexecfwk/appexecfwk_lite/interfaces/kits/bundle_lite/slite/bundle_manager.h
code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/include/appexecfwk/appexecfwk_lite/services/bundlemgr_lite/include/gt_bundle_installer.h
code/sdk/open_source/openharmony/third_party/jerryscript/brandy-auto-ota-cli/libjerryscript.a
code/sdk/open_source/openharmony/third_party/jerryscript/brandy-auto-ota-ser/libjerryscript.a
code/sdk/open_source/openharmony/third_party/jerryscript/brandy-native-js/libjerryscript.a
code/sdk/open_source/openharmony/third_party/jerryscript/brandy-xts/libjerryscript.a
code/sdk/tools/pkg/bin/brandy/bt.bin
code/sdk/tools/pkg/bin/brandy/dsp/max/dsp_main.bin
code/sdk/tools/pkg/bin/brandy/dsp/mini/dsp_main.bin
code/sdk/tools/pkg/bin/brandy/dsp/normal/dsp_main.bin
patch_615_1009_to_1029.txt [new file with mode: 0644]

index c842d9e..087329d 100644 (file)
@@ -20,7 +20,7 @@
 #include "soc_lcd_api.h"
 #endif
 
-static unsigned long g_app_queue;
+static unsigned long g_app_queue = 0xFFFFFFFF;
 
 /**
  * @if Eng
index 15dd374..57e4227 100644 (file)
@@ -12,7 +12,6 @@
 #include "rtc.h"\r
 #include "gpio.h"\r
 #include "ipc.h"\r
-#include "cpu_trace.h"\r
 #include "uart_porting.h"\r
 #include "log_memory_region.h"\r
 #include "clocks_core_common.h"\r
@@ -35,6 +34,7 @@
 #define XIP_CACHE_INTR_MASK                     0xa3006128\r
 #define XIP_CACHE_WRITE_DATA_DELAY_INTR_MASK    0x8\r
 #define XIP_CACHE_ENABLE_WRITE_INTR_MASK        0x1\r
+#define XIP_CACHE_2AHBM_INTR_MASK               0x2\r
 \r
 #if ENABLE_LOW_POWER == YES\r
 extern uint32_t __sys_pm_start__;\r
@@ -70,6 +70,7 @@ static void chip_xip_init(void)
     // Mask interrupts caused by CACHE2AHBM module state machine timeout\r
     reg16_clrbit(XIP_CACHE_INTR_MASK, XIP_CACHE_WRITE_DATA_DELAY_INTR_MASK);\r
     reg16_clrbit(XIP_CACHE_INTR_MASK, XIP_CACHE_ENABLE_WRITE_INTR_MASK);\r
+    reg16_clrbit(XIP_CACHE_INTR_MASK, XIP_CACHE_2AHBM_INTR_MASK);\r
 }\r
 \r
 static void chip_enable_ulp_ram(void)\r
@@ -151,8 +152,6 @@ void chip_init(void)
     uapi_dma_init();\r
     uapi_dma_open();\r
 \r
-    cpu_trace_enable_mcpu_repeat();\r
-\r
     ipc_init();\r
 \r
     log_memory_region_init();\r
index 0af1268..bcc6ec8 100644 (file)
@@ -20,7 +20,7 @@
 #include "soc_lcd_api.h"
 #endif
 
-static unsigned long g_app_queue;
+static unsigned long g_app_queue = 0xFFFFFFFF;
 uint8_t g_long_press_flag = 0;
 /**
  * @if Eng
index 58f17cc..32d4861 100644 (file)
@@ -235,7 +235,7 @@ void kernel_init(void)
 \r
     /* os kernel adapt config */\r
     ArchSetExcHook((EXC_PROC_FUNC)do_fault_handler);\r
-    ArchSetNMIHook((NMI_PROC_FUNC)do_hard_fault_handler);\r
+    ArchSetNMIHook((NMI_PROC_FUNC)nmi_fault_handler);\r
     OsSetMainTask();\r
     OsCurrTaskSet((LosTaskCB*)OsGetMainTask());\r
     g_os_init_select = OS_CLASS_LITEOS;\r
index 09efc52..34da567 100644 (file)
@@ -9,6 +9,8 @@
 #include "common_def.h"\r
 #include "pm.h"\r
 #include "watchdog.h"\r
+#include "cpu_trace.h"\r
+#include "non_os_reboot.h"\r
 /* after reboot system emmc need write exc info to the file system from sector */\r
 #if defined(SAVE_EXC_INFO) && defined(CFG_DRIVERS_MMC)\r
 #include "exception.h"\r
@@ -330,6 +332,19 @@ static void thread_main(const void *unused)
 #ifdef CFG_DRIVERS_NANDFLASH\r
     nandflash_init_handle();\r
 #endif\r
+\r
+    reboot_cause_t cause = get_cpu_utils_reset_cause();\r
+    if ((cause != REBOOT_CAUSE_APPLICATION_STD_CHIP_WDT_FRST) &&\r
+        (cause != REBOOT_CAUSE_APPLICATION_XIP_CTRL) &&\r
+        (cause != REBOOT_CAUSE_APPLICATION_XIP_CACHE)) {\r
+        cpu_trace_enable_mcpu_repeat();\r
+    } else {\r
+        PRINT("nmi reboot cause: 0x%x, reason: 0x%x"NEWLINE, cause, get_fault_reason());\r
+        // save cputrace memory if chip watchdog reset\r
+        hal_cpu_trace_clock_enable();\r
+        panic(PANIC_ASSERT, cause);\r
+    }\r
+\r
     uapi_pm_control(PM_DISPLAY_POWER_UP_AND_RUN);\r
     (void)osDelay(TICK_TEN_MS);\r
 \r
index d8d9578..2cbdc52 100644 (file)
@@ -19,7 +19,7 @@
 #include "soc_lcd_api.h"
 #endif
 
-static unsigned long g_app_queue;
+static unsigned long g_app_queue = 0xFFFFFFFF;
 
 /**
  * @if Eng
index cd5d9f0..f05c1d1 100644 (file)
@@ -54,7 +54,7 @@ typedef struct {
 static osSemaphoreId_t g_alipay_sem_id;
 semaphoreex_t g_alipay_sem = { { "AlipaySem", 0, NULL, 0 }, 1, 1 };
 static bool g_alipay_init_flag = false;
-static unsigned long g_alipay_queue_id = 0;
+static unsigned long g_alipay_queue_id = 0xFFFFFFFF;
 static uint32_t *g_alipay_task_handle = NULL;
 static uint32_t g_alipay_alow_read_write = 0;
 
index 4cbe171..1cf68ae 100644 (file)
@@ -118,8 +118,10 @@ void Ability::PostChangeSlice(const uint16_t targetSliceId, TransitionType type,
         if (type != TransitionType::TRANSITION_INVALID) {
             osal_atomic_dec(&transitionCount_);
         }
+        FreeElement(elementName);
         return;
     }
+    FreeElement(elementName);
 #endif
 
     bool useTransition = sliceTransition_.SetTransitionType(type);
index fccb324..8346329 100644 (file)
@@ -104,11 +104,11 @@ void NativeAbility::OnActive(const Want &want)
 
 void NativeAbility::StopAbility()
 {
-    GraphicService::GetInstance()->SetNativeUIRunning(false);
-    NotificationManager::GetInstance()->SetNativeUIRunning(false);
     PauseSlice();
     StopSlice();
     nativeAbilityState_ = STATE_INACTIVE;
+    GraphicService::GetInstance()->SetNativeUIRunning(false);
+    NotificationManager::GetInstance()->SetNativeUIRunning(false);
 #ifdef JS_ENABLE
     SliteAbility::OnBackground();
 #endif
index 57c3070..45ebd76 100644 (file)
@@ -42,14 +42,16 @@ void HexagonsTransition::OnTransitionStart(UIViewGroup* current, UIImageView* ta
         current_->GetCurrentPosition(focusIndex_);
     opaStart_ = focusView_->GetOpaScale();
     scaleStart_ = current_->GetGlobalScale();
-    Rect rect = focusView_->GetRect();
-    float xScale = target_->GetWidth() * 1.0f / rect.GetWidth();
-    float yScale = target_->GetHeight() * 1.0f / rect.GetHeight();
+    float xScale = target_->GetWidth() * 1.0f / focusView_->GetWidth();
+    float yScale = target_->GetHeight() * 1.0f / focusView_->GetHeight();
     scaleEnd_ = FloatLessEqual(xScale, yScale) ? xScale : yScale;
 
+    Rect rect = focusView_->GetRect();
     targetXStart_ = rect.GetX();
     targetYStart_ = rect.GetY();
-    targetScaleStart_ = 1.0f / scaleEnd_;
+    float targetXScale = rect.GetWidth() * 1.0f / target_->GetWidth();
+    float targetYScale = rect.GetHeight() * 1.0f / target_->GetHeight();
+    targetScaleStart_ = FloatMoreEqual(targetXScale, targetYScale) ? targetXScale : targetYScale;
 
     uint32_t offsetTime = static_cast<uint32_t>((scaleStart_ - HEXAGONS_SCALE_INIT) /
         (scaleEnd_ - HEXAGONS_SCALE_INIT) * duration_);
index cdbc2d1..aedb638 100644 (file)
@@ -117,6 +117,7 @@ public:
     void ClearAppItemToList();
     void RefreshAppList(void);
     void StartFootBallAnimator();
+    void ResumeWaterFallDraggable();
 
 private:
     /* for list style */
index 5033bd7..f73e438 100644 (file)
@@ -43,6 +43,8 @@ namespace OHOS {
         Presenter::OnResume();
         if (GetCurrentStyle() == AppListStyle::FOOTBALL_STYLE) {
             view_->StartFootBallAnimator();
+        } else if  (GetCurrentStyle() == AppListStyle::WATERFALL_STYLE) {
+            view_->ResumeWaterFallDraggable();
         }
     }
 
index 0163330..2bfd895 100644 (file)
@@ -136,6 +136,8 @@ void ApplistView::WaterfallStyleOnStart()
     waterfallList_->RequestFocus();
     waterfallList_->SetRotateFactor(10); // 10, empirical coefficient
     waterfallList_->SetOnRotateListener(presenter_);
+    waterfallList_->SetTouchable(false);
+    waterfallList_->SetDraggable(false); // ensure that it can't be dragged during animation to avoid error display
     AddViewToRootContainer(waterfallList_);
 }
 
@@ -171,6 +173,14 @@ void ApplistView::ListStyleOnStart()
     AddViewToRootContainer(contentList_);
 }
 
+void ApplistView::ResumeWaterFallDraggable()
+{
+    if (waterfallList_ != nullptr) {
+        waterfallList_->SetTouchable(true);
+        waterfallList_->SetDraggable(true); // resume touchable after transition animation
+    }
+}
+
 void ApplistView::StartFootBallAnimator()
 {
     WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ApplistView::StartFootBallAnimator");
index 7cd3c93..737e038 100644 (file)
@@ -63,7 +63,7 @@ namespace OHOS {
 \r
         memset_s(cardSettings, CARD_SETTING_COUNT_MAX, 0, CARD_SETTING_COUNT_MAX);\r
         len = UtilsGetValue("card_setting", temp, CARD_SETTING_VALUE_LEN);\r
-        if (len >= 0) {\r
+        if (len >= 0 && strlen(temp) > 0) {\r
             /* 读取用户card配置 */\r
             char *setBuffer = nullptr;\r
             char *setValue = strtok_s(temp, ",", &setBuffer);\r
index fad6309..f6b7bbf 100644 (file)
@@ -260,9 +260,15 @@ void MainPresenterSample::Notify(void)
         DialSetting &setting = GetDialSetting();
         if (setting.dialFlag) {
             DialModelTime::GetInstance()->UpdateTime();
-            dynamic_cast<DialViewGroup*>(view_->GetViewById(WATCH_FACE))->UpdateViewsByPeriodicUpdateData();
+            DialViewGroup* group = dynamic_cast<DialViewGroup*>(view_->GetViewById(WATCH_FACE));
+            if (group != nullptr) {
+                group->UpdateViewsByPeriodicUpdateData();
+            }
         } else {
-            dynamic_cast<MainClockView*>(view_->GetViewById(WATCH_FACE))->UpdateTime();
+            MainClockView* clock = dynamic_cast<MainClockView*>(view_->GetViewById(WATCH_FACE));
+            if (clock != nullptr) {
+                clock->UpdateTime();
+            }
         }
     }
 }
index 8c4074f..8b913e3 100644 (file)
@@ -10,7 +10,7 @@
 #if !defined(_WIN32)
 #include "los_typedef.h"
 #else
-#include <Windows.h>
+#include <windows.h>
 #endif
 
 #ifdef __cplusplus
index 9959912..69b5ffb 100644 (file)
Binary files a/code/sdk/application/wearable/service/msg_center/brandy-auto-ota-cli/libmsg_center.a and b/code/sdk/application/wearable/service/msg_center/brandy-auto-ota-cli/libmsg_center.a differ
index 7857ebd..e4d13c4 100644 (file)
Binary files a/code/sdk/application/wearable/service/msg_center/brandy-auto-ota-ser/libmsg_center.a and b/code/sdk/application/wearable/service/msg_center/brandy-auto-ota-ser/libmsg_center.a differ
index e2d640b..a5c5042 100644 (file)
Binary files a/code/sdk/application/wearable/service/msg_center/brandy-native-js/libmsg_center.a and b/code/sdk/application/wearable/service/msg_center/brandy-native-js/libmsg_center.a differ
index 88bf7c8..240b7f4 100644 (file)
Binary files a/code/sdk/application/wearable/service/msg_center/brandy-xts/libmsg_center.a and b/code/sdk/application/wearable/service/msg_center/brandy-xts/libmsg_center.a differ
index 4dca295..147a225 100644 (file)
@@ -220,8 +220,10 @@ void StartJsApp(char *bundleName)
 
     if (strcmp(topAbility->bundleName, bundleName) == 0) {
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "%s is active", bundleName);
+        FreeElement(topAbility);
         return;
     }
+    FreeElement(topAbility);
     // If the alarm notification is being processed, we need to disable the alarm notification first.
     if (OHOS::NotificationManager::GetInstance()->GetNotifyPriority() == PRIORITY_TWO &&
         OHOS::NotificationManager::GetInstance()->HasNotifyShowing()) {
@@ -254,9 +256,10 @@ void StopJsApp(char *bundleName)
 
     if (strcmp(topAbility->bundleName, bundleName) != 0) {
         WEARABLE_LOGE(HILOG_MODULE_AAFWK, "%s is not top active", bundleName);
+        FreeElement(topAbility);
         return;
     }
-
+    FreeElement(topAbility);
     int token = 0;
     OHOS::AbilityMsClient::GetInstance().TerminateAbility(token);
 }
@@ -266,9 +269,10 @@ void MsgCenterReportBtStatusToJS(uint16_t msgId)
     ElementName *elementName = OHOS::AbilityMsClient::GetInstance().GetTopAbility();
     if (!(elementName != nullptr && strcmp(elementName->bundleName, "com.huawei.launcher") != 0)) {
         WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "JS is not on top, ignore report");
+        FreeElement(elementName);
         return;
     }
-
+    FreeElement(elementName);
     if (msgId == BT_DISCONNECTED_TO_MSGCENTER) {
         BaidumapSendMsgToJS("0", MSGCENTER_TYPE_ID_VECTOR_NAVI_BT_DISCONNECTED);
     } else if (msgId == BT_CONNECTED_TO_MSGCENTER) {
index 570ae72..33edb7e 100644 (file)
@@ -21,6 +21,7 @@
 #include "baidumap.h"\r
 #include "soc_osal.h"\r
 #include "watchdog.h"\r
+#include "js_ability.h"\r
 \r
 #ifdef __cplusplus\r
 extern "C" {\r
@@ -88,7 +89,7 @@ errcode_t msg_center_navigation_recv(uint8_t cmd_id, uint8_t type, void *usr_dat
 \r
     (void)memcpy_s(data, payload_len, tlv_payload, payload_len);\r
     data[payload_len] = '\0';\r
-    WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "recv navigate info--> %s\r\n", tlv_payload);\r
+    WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "recv navigate info--> %s\r\n", data);\r
     DmsLiteSendMsgToJS(data);\r
     free(data);\r
     data = nullptr;\r
@@ -243,7 +244,7 @@ errcode_t msg_center_xiaodu_recv_xiaodu_info(uint8_t cmd_id, uint8_t type, void
 \r
     (void)memcpy_s(data, payload_len, tlv_payload, payload_len);\r
     data[payload_len] = '\0';\r
-    WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "recv xiaodu info--> %s\r\n", tlv_payload);\r
+    WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "recv xiaodu info--> %s\r\n", data);\r
     DmsLiteSendMsgToJS(data);\r
     free(data);\r
     data = nullptr;\r
@@ -272,7 +273,7 @@ errcode_t msg_center_xiaodu_recv_wenxin_info(uint8_t cmd_id, uint8_t type, void
 \r
     (void)memcpy_s(data, payload_len, tlv_payload, payload_len);\r
     data[payload_len] = '\0';\r
-    WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "recv wenxin info--> %s\r\n", tlv_payload);\r
+    WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "recv wenxin info--> %s\r\n", data);\r
     DmsLiteSendMsgToJS(data);\r
     free(data);\r
     data = nullptr;\r
@@ -464,7 +465,7 @@ static void msg_center_transfer_longbuf(char *data, uint8_t type)
 \r
     fp = fopen(data, "rb");\r
     if (fp == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "%s: open %s fail.\r\n", vector_navi_get_str(type), data);\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "open %s fail.\r\n", data);\r
         return;\r
     }\r
 \r
@@ -472,21 +473,23 @@ static void msg_center_transfer_longbuf(char *data, uint8_t type)
     long file_len = ftell(fp);\r
     char *file_content = (char *)malloc(sizeof(char) * (file_len + 1));\r
     if (file_content == nullptr) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "%s: malloc fail, file_len = %d.\r\n", vector_navi_get_str(type), file_len);\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, " malloc fail, file_len = %d.\r\n", file_len);\r
+        fclose(fp);\r
         return;\r
     }\r
 \r
     fseek(fp, 0L, SEEK_SET);\r
     if (fread(file_content, file_len, 1, fp) != 1) {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "%s: fread fail, file_len = %d.\r\n", vector_navi_get_str(type), file_len);\r
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "fread fail, file_len = %d.\r\n", file_len);\r
         free(file_content);\r
         file_content = nullptr;\r
+        fclose(fp);\r
         return;\r
     }\r
     fclose(fp);\r
     file_content[file_len] = '\0';\r
 \r
-    WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "%s: file_len = %d.\r\n", vector_navi_get_str(type), file_len);\r
+    WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "file_len = %d.\r\n", file_len);\r
 \r
     /* send to JSI */\r
     BaidumapSendMsgToJS(file_content, type);\r
@@ -533,16 +536,28 @@ errcode_t msg_center_vector_navi_recv_svg(uint8_t cmd_id, uint8_t type, void *us
     uint8_t tl_len = msg_center_get_tlv_tl_len(usr_data);\r
     uint16_t payload_len = usr_len - tl_len;\r
     uint8_t *tlv_payload = (uint8_t *)msg_center_get_tlv_payload(usr_data);\r
-    uint8_t ack = 1;\r
+    uint8_t ack = 1; /* recv流程的协议ack做保活判断,1 -- JS onLine, 0 -- JS offLine */\r
     errcode_t ret = ERRCODE_SUCC;\r
     uint8_t res;\r
 \r
     /* ack */\r
+    const char *bundleName = OHOS::ACELite::JSAbility::GetPackageName();\r
+    if (bundleName != nullptr && strcmp(bundleName, "com.baidu.BaiduMap") == 0) {\r
+        ack = 1;\r
+    } else {\r
+        ack = 0;\r
+    }\r
+\r
     ret = msg_center_send_data(cmd_id, type, &ack, sizeof(ack));\r
     if (ret != ERRCODE_SUCC) {\r
         return ERRCODE_FAIL;\r
     }\r
 \r
+    if (ack == 0) {\r
+        WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "JS offline\r\n");\r
+        return ERRCODE_SUCC;\r
+    }\r
+\r
     /* svg json */\r
     char *svg_json = (char *)malloc(payload_len + 1);\r
     if (svg_json == nullptr) {\r
@@ -587,7 +602,7 @@ errcode_t msg_center_vector_navi_req_svg(uint8_t cmd_id, uint8_t type, void *usr
         return ERRCODE_FAIL;\r
     }\r
 \r
-    WEARABLE_LOGD(WEARABLE_LOG_MODULE_MSG_CENTER, "usr_data = %s\r\n", usr_data);\r
+    WEARABLE_LOGD(WEARABLE_LOG_MODULE_MSG_CENTER, "req svg succ\r\n");\r
     return ERRCODE_SUCC;\r
 }\r
 \r
@@ -628,7 +643,7 @@ errcode_t msg_center_vector_navi_recv_dst_list(uint8_t cmd_id, uint8_t type, voi
 \r
     (void)memcpy_s(data, payload_len, tlv_payload, payload_len);\r
     data[payload_len] = '\0';\r
-    WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "recv vector navi info--> %s\r\n", tlv_payload);\r
+    WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "recv vector navi info--> %s\r\n", data);\r
     /* send to baiduSDK */\r
     free(data);\r
     data = nullptr;\r
@@ -663,7 +678,7 @@ errcode_t msg_center_vector_navi_recv_navi_info(uint8_t cmd_id, uint8_t type, vo
 \r
     (void)memcpy_s(data, payload_len, tlv_payload, payload_len);\r
     data[payload_len] = '\0';\r
-    WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "recv vector navi info--> %s\r\n", tlv_payload);\r
+    WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "recv vector navi info--> %s\r\n", data);\r
     /* send data to js */\r
     free(data);\r
     data = nullptr;\r
@@ -707,11 +722,23 @@ errcode_t msg_center_vector_navi_recv_poi(uint8_t cmd_id, uint8_t type, void *us
     errcode_t ret = ERRCODE_SUCC;\r
 \r
     /* ack */\r
+    const char *bundleName = OHOS::ACELite::JSAbility::GetPackageName();\r
+    if (bundleName != nullptr && strcmp(bundleName, "com.baidu.BaiduMap") == 0) {\r
+        ack = 1;\r
+    } else {\r
+        ack = 0;\r
+    }\r
+\r
     ret = msg_center_send_data(cmd_id, type, &ack, sizeof(ack));\r
     if (ret != ERRCODE_SUCC) {\r
         return ERRCODE_FAIL;\r
     }\r
 \r
+    if (ack == 0) {\r
+        WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "JS offline\r\n");\r
+        return ERRCODE_SUCC;\r
+    }\r
+\r
     char *data = (char *)malloc(payload_len + 1);\r
     if (data == nullptr) {\r
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "recv poi: malloc failed.\r\n");\r
@@ -721,7 +748,7 @@ errcode_t msg_center_vector_navi_recv_poi(uint8_t cmd_id, uint8_t type, void *us
 \r
     (void)memcpy_s(data, payload_len, tlv_payload, payload_len);\r
     data[payload_len] = '\0';\r
-    WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "recv poi info -- > %s, usr_len = %d\r\n", tlv_payload, usr_len);\r
+    WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "recv poi info -- > %s, usr_len = %d\r\n", data, usr_len);\r
 \r
     msg_center_transfer_longbuf(data, type);\r
     free(data);\r
@@ -764,8 +791,6 @@ static errcode_t msg_center_vector_navi_req_common_proc(uint8_t cmd_id, uint8_t
         return ERRCODE_FAIL;\r
     }\r
 \r
-    WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "%s, usr_data = %s, usr_len = %d\r\n", vector_navi_get_str(type),\r
-                  usr_data == NULL ? NULL : usr_data, usr_len);\r
     return ERRCODE_SUCC;\r
 }\r
 \r
@@ -820,11 +845,23 @@ static errcode_t msg_center_vector_navi_rec_common_proc(uint8_t cmd_id, uint8_t
     uint8_t ack = 1;\r
 \r
     /* ack */\r
+    const char *bundleName = OHOS::ACELite::JSAbility::GetPackageName();\r
+    if (bundleName != nullptr && strcmp(bundleName, "com.baidu.BaiduMap") == 0) {\r
+        ack = 1;\r
+    } else {\r
+        ack = 0;\r
+    }\r
+\r
     ret = msg_center_send_data(cmd_id, type, &ack, sizeof(ack));\r
     if (ret != ERRCODE_SUCC) {\r
         return ERRCODE_FAIL;\r
     }\r
 \r
+    if (ack == 0) {\r
+        WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "JS offline\r\n");\r
+        return ERRCODE_SUCC;\r
+    }\r
+\r
     #if defined(SUPPORT_POWER_MANAGER)\r
         const power_display_svr_api_t *display_api = power_display_svr_get_api();\r
         if (display_api->get_screen_state() != SCREEN_ON) {\r
@@ -843,7 +880,7 @@ static errcode_t msg_center_vector_navi_rec_common_proc(uint8_t cmd_id, uint8_t
 \r
     (void)memcpy_s(data, payload_len, tlv_payload, payload_len);\r
     data[payload_len] = '\0';\r
-    WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "%s -- > %s\r\n", vector_navi_get_str(type), tlv_payload);\r
+    WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "%s -- > %s\r\n", vector_navi_get_str(type), data);\r
 \r
     if (is_vector_navi_longbuf(type) && payload_len != 1) {\r
         if (payload_len == 2) { // 2,长距离的协议优化,限制为 ROUTE_TRANS_MAX_SIZE, app先读文件过滤,减少无效带宽损耗\r
index bb52283..5deec97 100644 (file)
@@ -56,7 +56,7 @@ void power_display_gui_cmd_handle_ext(void *data);
 void power_display_timer_cmd_handle_ext(void *data);\r
 #endif\r
 \r
-static unsigned long g_power_display_queue_id = 0;\r
+static unsigned long g_power_display_queue_id = 0xFFFFFFFF;\r
 static uint32_t g_power_recv_msg_num = 0;\r
 bool g_discard_all_events = false;\r
 static uint32_t g_power_tp_press_num = false;\r
index 9a846d7..0ae7a69 100644 (file)
@@ -15,7 +15,7 @@
 \r
 #define APP_AT_MSG_COUNT       16\r
 \r
-static unsigned long g_app_at_queue;\r
+static unsigned long g_app_at_queue = 0xFFFFFFFF;\r
 \r
 void app_at_task_queue_init(void)\r
 {\r
index 41abbbb..0a4db14 100644 (file)
@@ -16,7 +16,7 @@
 \r
 #define AUDIO_AT_MSG_COUNT       16\r
 \r
-static unsigned long g_audio_at_queue;\r
+static unsigned long g_audio_at_queue = 0xFFFFFFFF;\r
 \r
 void audio_at_task_queue_init(void)\r
 {\r
index 8183319..e93bdaa 100644 (file)
@@ -16,7 +16,7 @@
 \r
 #define BT_CMD_MSG_COUNT       16\r
 \r
-static unsigned long g_bt_manager_msg_queue;\r
+static unsigned long g_bt_manager_msg_queue = 0xFFFFFFFF;\r
 \r
 void bt_manager_at_task_queue_init(void)\r
 {\r
index 0193d21..0e620ba 100644 (file)
@@ -27,6 +27,8 @@ set(PRIVATE_HEADER
     ${ROOT_DIR}/middleware/services/gui/lvgl/sample\r
     ${ROOT_DIR}/middleware/services/gui/lvgl/proprietary\r
     ${ROOT_DIR}/middleware/services/gui/lvgl/proprietary/include/dfx\r
+    ${ROOT_DIR}/middleware/services/gpu/drv/include\r
+    ${ROOT_DIR}/middleware/services/gpu/drv/dpu/dfx\r
 )\r
 \r
 set(PRIVATE_DEFINES\r
index 3718144..fd47b7e 100644 (file)
@@ -16,7 +16,7 @@
 \r
 #define GRAPHIC_MSG_COUNT       16\r
 \r
-static unsigned long g_graphic_at_queue;\r
+static unsigned long g_graphic_at_queue = 0xFFFFFFFF;\r
 \r
 void graphic_at_task_queue_init(void)\r
 {\r
index 4f1a92d..c17e911 100644 (file)
@@ -16,6 +16,7 @@
 #include "soc_vau_api.h"
 #include "soc_dpu_api.h"
 #include "soc_mipi_tx.h"
+#include "dpu_dfx.h"
 
 #ifdef SUPPORT_GPU_TEST
 #include "test_gpu_comm.h"
 #define TEST_DPU_LAYER_WHITE  0xffffffff
 #define TEST_DPU_LAYER_YELLOW 0xffffff00
 
-extern td_s32 dfx_get_proc_info(int argc, const char *argv[]);
-extern td_s32 dfx_dpu_print(int argc, const char *argv[]);
 extern td_s32 vau_dfx_proc_read(int argc, const char *argv[]);
 extern td_s32 jpeg_dfx_proc_read(int argc, const char *argv[]);
 extern td_s32 gmmu_dfx_print_proc_info(int argc, const char *argv[]);
-extern td_s32 dfx_dpu_save_fb_enable(int argc, const char *argv[]);
 
 static td_void wstp_draw_box(ext_rect *rect, td_u32 stride, td_char *mem_start, td_u32 color, td_u32 bpp)
 {
@@ -190,12 +188,11 @@ static td_void wstp_gpu_dpu_cbar(int argc, const char *argv[])
 static td_void wstp_dpu_screen_cap_g0(td_void)
 {
     td_u32 addr, stride, height;
-    uapi_reg_read(0x56030e54, addr);
-    uapi_reg_read(0x56030e60, stride);
-    uapi_reg_read(0x56030e44, height);
+    dpu_dfx_info *dfx_info = dpu_dfx_get_info();
 
-    height = (height >> 16) + 1; // 16:index
-    stride = stride & 0xFFFF;
+    addr = dfx_info->layer_info[0].phy_addr;
+    height = dfx_info->layer_info[0].height;
+    stride = dfx_info->layer_info[0].stride;
 
     int fd = open("/user/dpu_screen_cap_g0.bin", O_RDWR | O_CREAT, 0666);
     if (fd < 0) {
@@ -209,31 +206,90 @@ static td_void wstp_dpu_screen_cap_g0(td_void)
     printf("save /user/dpu_screen_cap_g0.bin stride[%u] height[%u] success!\n", stride, height);
 }
 
-static td_void wstp_dpu_screen_cap_g1(td_void)
+static td_void wstp_dpu_screen_cap_g1_yuv_sp420(td_u32 y_addr, td_u32 y_h, td_u32 y_s)
 {
-    td_u32 y_addr, stride, w_h, height;
-    uapi_reg_read(0x56031054, y_addr);
-    uapi_reg_read(0x56031060, stride);
-    uapi_reg_read(0x56031044, w_h);
-
-    height = (w_h >> 16) + 1; // 16:index
-    stride = stride & 0xFFFF;
-    td_u32 y_size = stride * height;
-    td_u32 uv_size = stride * uapi_byte_align(height, 16) / 2; // 16:index, 2:index
+    td_u32 y_size = y_s * y_h;
+    td_u32 uv_size = y_s * uapi_byte_align(y_h, 16) / 2; // 16:index, 2:index
     td_u32 total_size = y_size + uv_size;
 
-    int fd = open("/user/dpu_screen_cap_g1.yuv", O_RDWR | O_CREAT, 0666);
+    int fd = open("/user/dpu_g1_sp420.yuv", O_RDWR | O_CREAT, 0666);
     if (fd < 0) {
-        printf("open file failure!\n");
+        printf("open file dpu_g1_sp420 failure!\n");
         return;
     }
 
     write(fd, (td_void *)(uintptr_t)y_addr, total_size);
     close(fd);
+    printf("save /user/dpu_g1_sp420.yuv stride[%u] height[%u] success!\n", y_s, y_h);
+}
+
+static td_void wstp_dpu_screen_cap_g1_yuv_p420(td_u32 y_addr, td_u32 y_w, td_u32 y_h, td_u32 y_s)
+{
+    td_u32 uv_addr = y_addr + y_s * y_h;
+    td_u32 uv_w, uv_h, uv_s;
+    uv_w = y_w / 2; // 2:index
+    uv_h = uapi_byte_align(y_h, 16) / 2; // 16: index 2:index
+    uv_s = y_s;
+
+    int fd = open("/user/dpu_g1_planar420.yuv", O_RDWR | O_CREAT, 0666);
+    if (fd < 0) {
+        printf("open file dpu_g1_planar420 failure!\n");
+        return;
+    }
+
+    // save_y_data
+    td_char *addr = (td_char *)(uintptr_t)y_addr;
+    for (td_u32 i = 0; i < y_h; i++) {
+        write(fd, addr, y_w);
+        addr += y_s;
+    }
+
+    // save_u_data
+    const td_u32 uv_max_len = 640;
+    char *uv_data = malloc(uv_w);
+    if (uv_data == NULL) {
+        printf("malloc fail for screen_cap g1 size = %u", uv_w);
+        return;
+    }
+
+    addr = (char *)(uintptr_t)uv_addr;
+    for (td_u32 i = 0; i < uv_h; i++) {
+        for (td_u32 j = 0; j < uv_w; j++) {
+            uv_data[j] = addr[2 * j + 1]; /* 2 is index */
+        }
+        write(fd, uv_data, uv_w);
+        addr += uv_s;
+    }
+
+    // save_v_data
+    addr = (char *)(uintptr_t)uv_addr;
+    for (td_u32 i = 0; i < uv_h; i++) {
+        for (td_u32 j = 0; j < uv_w; j++) {
+            uv_data[j] = addr[2 * j + 0]; /* 2 is index */
+        }
+        write(fd, uv_data, uv_w);
+        addr += uv_s;
+    }
 
-    printf("save /user/dpu_screen_cap_g1.yuv stride[%u] height[%u] success!\n", stride, height);
+    close(fd);
+    free(uv_data);
+    printf("save /user/dpu_g1_planar420.yuv y_w/h/s:[%u/%u/%u] uv_w/h/s:[%u/%u/%u]success!\n",
+           y_w, y_h, y_s, uv_w, uv_h, uv_s);
 }
 
+static td_void wstp_dpu_screen_cap_g1(td_void)
+{
+    td_u32 y_addr, y_w, y_h, y_s;
+    dpu_dfx_info *dfx_info = dpu_dfx_get_info();
+
+    y_addr = dfx_info->layer_info[1].phy_addr;
+    y_w    = dfx_info->layer_info[1].width;
+    y_h    = dfx_info->layer_info[1].height;
+    y_s = dfx_info->layer_info[1].stride;
+
+    wstp_dpu_screen_cap_g1_yuv_sp420(y_addr, y_h, y_s);
+    wstp_dpu_screen_cap_g1_yuv_p420(y_addr, y_w, y_h, y_s);
+}
 
 static td_void wstp_gpu_screen_cap(int argc, const char *argv[])
 {
@@ -292,10 +348,14 @@ td_void wstp_gpu_sample_process(int argc, char *argv[])
         dfx_show_layer_proc(argc - 1, argv + 1);
     } else if (strcmp((char *)argv[0], "dpu_print") == 0) {\r
         dfx_dpu_print(argc - 1, argv + 1);\r
+    } else if (strcmp((char *)argv[0], "dpu_print_reg") == 0) {
+        print_mipi_and_dpu_reg(argc - 1, argv + 1);
     } else if (strcmp((char *)argv[0], "dpu_save_fb") == 0) {
         dfx_dpu_save_fb_enable(argc - 1, argv + 1);
     } else if (strcmp((char *)argv[0], "vau_proc") == 0) {\r
         vau_dfx_proc_read(argc - 1, argv + 1);\r
+    } else if (strcmp((char *)argv[0], "vau_api_print") == 0) {
+        vau_dfx_enable_api_print(argc - 1, argv + 1);
     } else if (strcmp((char *)argv[0], "jpeg_proc") == 0) {\r
 #ifdef SUPPORT_GPU_JPEG\r
         jpeg_dfx_proc_read(argc - 1, argv + 1);\r
index aedd941..aba814c 100644 (file)
@@ -16,7 +16,7 @@
 \r
 #define MEDIA_AT_MSG_COUNT       16\r
 \r
-static unsigned long g_media_at_queue;\r
+static unsigned long g_media_at_queue = 0xFFFFFFFF;\r
 \r
 void media_at_task_queue_init(void)\r
 {\r
index 5949892..217a764 100644 (file)
@@ -91,7 +91,7 @@ static uint32_t OhosfwkATCmdAmExitJsApp(uint8_t *para, uint32_t paraLen, char *s
     ElementName *elementName = OHOS::AbilityMsClient::GetInstance().GetTopAbility();
     WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "OHOSFWK ATCMD Stop %s\n", elementName->bundleName);
     OHOS::AbilityMsClient::GetInstance().ForceStop(elementName->bundleName);
-
+    FreeElement(elementName);
     return ERRCODE_SUCC;
 }
 
@@ -107,12 +107,14 @@ static uint32_t OhosfwkATCmdBmInstall(uint8_t *para, uint32_t paraLen, char *str
         return ERRCODE_FAIL;
     }
 
-    if (argc != 1) {
+    if (argc > 2) {
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "OHOSFWK ATCMD Installing Package Failed\n");
         return ERRCODE_FAIL;
     }
-
-    InstallParam installParam = { .installLocation = 1, .keepData = false };
+    InstallParam installParam = { .installLocation = 1, .keepData = true };
+    if (strcmp("rmdata", (char*)argv[1]) == 0) {
+        installParam.keepData = false;
+    }
     OHOS::BundleMsClient::GetInstance().Install((char*)argv[0], &installParam, ReceiveCallback);
 
     return ERRCODE_SUCC;
@@ -146,7 +148,7 @@ static uint32_t OhosfwkATCmdBmUninstall(uint8_t *para, uint32_t paraLen, char *s
 
     InstallParam installParam = { .installLocation = 1, .keepData = false };
     OHOS::BundleMsClient::GetInstance().Uninstall(bundleName, &installParam, ReceiveCallback);
- 
+    FreeElement(topAbility);
     return ERRCODE_SUCC;
 }
 
index c184fd3..4c1d029 100644 (file)
@@ -302,7 +302,6 @@ target_group = {
     'pack_brandy_native_js': ['brandy-ssb', 'brandy-native-js-r', 'brandy-native-js'],
     'pack_brandy_native_js_user': ['brandy-ssb', 'brandy-native-js-r', 'brandy-native-js-user'],
     'pack_brandy_xts': ['brandy-ssb', 'brandy-xts-r', 'brandy-xts'],
-
     'brandy_all': ['brandy-ssb',
                    'brandy-target1', 'brandy-target3', 'brandy-target4', 'brandy-target5', 'brandy-native-js', 'brandy-native-js-user', 'brandy-xts',
                    'brandy-target1-r', 'brandy-target3-r', 'brandy-target4-r', 'brandy-target5-r', 'brandy-native-js-r', 'brandy-xts-r',
index 7097a88..d94ab58 100644 (file)
 #define DTCM_PMP_LENGTH         0x80000\r
 \r
 typedef enum {\r
-    BOOTROM_IDX       = 0,\r
-    ITCM_IDX          = 1,\r
-    ITCM_SECOND_IDX   = 2,\r
-    DTCM_IDX          = 3,\r
-    L2RAM_DSP_IDX     = 4,\r
-    L2RAM_GPU_IDX     = 5,\r
+    BOOTROM_IDX                = 0,\r
+    ITCM_IDX                   = 1,\r
+    ITCM_SECOND_IDX            = 2,\r
+    DTCM_IDX                   = 3,\r
+    L2RAM_IDX                  = 4,\r
+    SHARE_MEM_IDX              = 5,\r
+    BT_RAM_APP_MAPPING_IDX     = 6,\r
+    REG_ADDR_0_IDX             = 7,  /* reg 0x5x */\r
+    REG_ADDR_1_IDX             = 8,  /* reg 0xa3 */\r
+    CPU_ADDR_IDX               = 9,  /* reg 0xa3 */\r
 #if defined(CONFIG_PSRAM_SUPPORT) || defined(TEST_SUITE)\r
     PSRAM_IDX,\r
     PSRAM_GPU_IDX,\r
     PSRAM_SECOND_IDX,\r
 #endif\r
     NOR_FLASH_IDX,\r
+    BACKGROUND_IDX             = 15,\r
     MAX_REGION_NUM\r
 } region_index_t;\r
 \r
@@ -57,10 +62,10 @@ pmp_conf_t g_region_attr[MAX_REGION_NUM];
 \r
 static void pmp_init_config(void)\r
 {\r
-    /* bootrom 不可读不可写不可执行 */\r
+    /* bootrom 可读不可写不可执行 */\r
     g_region_attr[BOOTROM_IDX].idx = BOOTROM_IDX;\r
     g_region_attr[BOOTROM_IDX].addr = ROM_START;\r
-    g_region_attr[BOOTROM_IDX].size = BOOTROM_PMP_LENGTH;\r
+    g_region_attr[BOOTROM_IDX].size = 0x100;\r
     g_region_attr[BOOTROM_IDX].conf.pmp_attr = PMP_ATTR_NO_BUFFERABLE_AND_NO_CACHEABLE;\r
     g_region_attr[BOOTROM_IDX].conf.rwx_permission = (rwx_permission_t)PMPCFG_READ_ONLY_NEXECUTE;\r
     g_region_attr[BOOTROM_IDX].conf.addr_match = PMPCFG_ADDR_MATCH_NAPOT;\r
@@ -93,38 +98,66 @@ static void pmp_init_config(void)
     g_region_attr[DTCM_IDX].conf.addr_match = PMPCFG_ADDR_MATCH_NAPOT;\r
     g_region_attr[DTCM_IDX].conf.lock = true;\r
 \r
-    /* DSP L2MEM 可读可执行可写 打开cache属性 */\r
-    g_region_attr[L2RAM_DSP_IDX].idx = L2RAM_DSP_IDX;\r
-    g_region_attr[L2RAM_DSP_IDX].addr = L2MEM_DSP_ADDR_START;\r
-    g_region_attr[L2RAM_DSP_IDX].size = L2MEM_DSP_ADDR_LEN;\r
-#ifdef MEMORY_MINI\r
-    g_region_attr[L2RAM_DSP_IDX].conf.pmp_attr = PMP_ATTR_NO_BUFFERABLE_AND_NO_CACHEABLE;\r
-#else\r
-    g_region_attr[L2RAM_DSP_IDX].conf.pmp_attr = PMP_ATTR_WRITEBACK_RWALLOCATE;\r
-#endif\r
-    g_region_attr[L2RAM_DSP_IDX].conf.rwx_permission = (rwx_permission_t)PMPCFG_RW_EXECUTE;\r
-    g_region_attr[L2RAM_DSP_IDX].conf.addr_match = PMPCFG_ADDR_MATCH_NAPOT;\r
-    g_region_attr[L2RAM_DSP_IDX].conf.lock = true;\r
-\r
-    /* GPU L2MEM 可读可执行可写 打开cache属性 */\r
-    g_region_attr[L2RAM_GPU_IDX].idx = L2RAM_GPU_IDX;\r
-    g_region_attr[L2RAM_GPU_IDX].addr = L2MEM_GPU_ADDR_START;\r
-    g_region_attr[L2RAM_GPU_IDX].size = L2MEM_GPU_ADDR_LEN;\r
-#ifdef MEMORY_MINI\r
-    g_region_attr[L2RAM_GPU_IDX].conf.pmp_attr = PMP_ATTR_NO_BUFFERABLE_AND_NO_CACHEABLE;\r
-#else\r
-    g_region_attr[L2RAM_GPU_IDX].conf.pmp_attr = PMP_ATTR_WRITEBACK_RWALLOCATE;\r
-#endif\r
-    g_region_attr[L2RAM_GPU_IDX].conf.rwx_permission = (rwx_permission_t)PMPCFG_RW_EXECUTE;\r
-    g_region_attr[L2RAM_GPU_IDX].conf.addr_match = PMPCFG_ADDR_MATCH_NAPOT;\r
-    g_region_attr[L2RAM_GPU_IDX].conf.lock = true;\r
+    /* L2MEM 可读可执行可写 no cache属性 */\r
+    g_region_attr[L2RAM_IDX].idx = L2RAM_IDX;\r
+    g_region_attr[L2RAM_IDX].addr = 0x60000000;\r
+    g_region_attr[L2RAM_IDX].size = 0x2000000;\r
+    g_region_attr[L2RAM_IDX].conf.pmp_attr = PMP_ATTR_NO_BUFFERABLE_AND_NO_CACHEABLE;\r
+    g_region_attr[L2RAM_IDX].conf.rwx_permission = (rwx_permission_t)PMPCFG_RW_EXECUTE;\r
+    g_region_attr[L2RAM_IDX].conf.addr_match = PMPCFG_ADDR_MATCH_NAPOT;\r
+    g_region_attr[L2RAM_IDX].conf.lock = true;\r
+\r
+    /* SHARE_MEM_IDX 可读可写不可执行 不打开cache属性 */\r
+    g_region_attr[SHARE_MEM_IDX].idx = SHARE_MEM_IDX;\r
+    g_region_attr[SHARE_MEM_IDX].addr = 0x87000000;\r
+    g_region_attr[SHARE_MEM_IDX].size = 0x20000;\r
+    g_region_attr[SHARE_MEM_IDX].conf.pmp_attr = PMP_ATTR_NO_BUFFERABLE_AND_NO_CACHEABLE;\r
+    g_region_attr[SHARE_MEM_IDX].conf.rwx_permission = (rwx_permission_t)PMPCFG_RW_EXECUTE;\r
+    g_region_attr[SHARE_MEM_IDX].conf.addr_match = PMPCFG_ADDR_MATCH_NAPOT;\r
+    g_region_attr[SHARE_MEM_IDX].conf.lock = true;\r
+\r
+    /* BT_RAM_APP_MAPPING_IDX 可读可写不可执行 不打开cache属性 */\r
+    g_region_attr[BT_RAM_APP_MAPPING_IDX].idx = BT_RAM_APP_MAPPING_IDX;\r
+    g_region_attr[BT_RAM_APP_MAPPING_IDX].addr = 0xA6000000;\r
+    g_region_attr[BT_RAM_APP_MAPPING_IDX].size = 0x200000;\r
+    g_region_attr[BT_RAM_APP_MAPPING_IDX].conf.pmp_attr = PMP_ATTR_DEVICE_NO_BUFFERABLE;\r
+    g_region_attr[BT_RAM_APP_MAPPING_IDX].conf.rwx_permission = (rwx_permission_t)PMPCFG_RW_NEXECUTE;\r
+    g_region_attr[BT_RAM_APP_MAPPING_IDX].conf.addr_match = PMPCFG_ADDR_MATCH_NAPOT;\r
+    g_region_attr[BT_RAM_APP_MAPPING_IDX].conf.lock = true;\r
+\r
+    /* REG_ADDR_0_IDX 可读可写不可执行 不打开cache属性 */\r
+    g_region_attr[REG_ADDR_0_IDX].idx = REG_ADDR_0_IDX;\r
+    g_region_attr[REG_ADDR_0_IDX].addr = 0x50000000;\r
+    g_region_attr[REG_ADDR_0_IDX].size = 0x10000000;\r
+    g_region_attr[REG_ADDR_0_IDX].conf.pmp_attr = PMP_ATTR_DEVICE_NO_BUFFERABLE;\r
+    g_region_attr[REG_ADDR_0_IDX].conf.rwx_permission = (rwx_permission_t)PMPCFG_RW_NEXECUTE;\r
+    g_region_attr[REG_ADDR_0_IDX].conf.addr_match = PMPCFG_ADDR_MATCH_NAPOT;\r
+    g_region_attr[REG_ADDR_0_IDX].conf.lock = true;\r
+\r
+    /* REG_ADDR_1_IDX 可读可写不可执行 不打开cache属性 */\r
+    g_region_attr[REG_ADDR_1_IDX].idx = REG_ADDR_1_IDX;\r
+    g_region_attr[REG_ADDR_1_IDX].addr = 0xA3000000;\r
+    g_region_attr[REG_ADDR_1_IDX].size = 0x10000;\r
+    g_region_attr[REG_ADDR_1_IDX].conf.pmp_attr = PMP_ATTR_DEVICE_NO_BUFFERABLE;\r
+    g_region_attr[REG_ADDR_1_IDX].conf.rwx_permission = (rwx_permission_t)PMPCFG_RW_NEXECUTE;\r
+    g_region_attr[REG_ADDR_1_IDX].conf.addr_match = PMPCFG_ADDR_MATCH_NAPOT;\r
+    g_region_attr[REG_ADDR_1_IDX].conf.lock = true;\r
+\r
+    /* CPU_ADDR_IDX 可读可写不可执行 不打开cache属性 */\r
+    g_region_attr[CPU_ADDR_IDX].idx = CPU_ADDR_IDX;\r
+    g_region_attr[CPU_ADDR_IDX].addr = 0xB0000000;\r
+    g_region_attr[CPU_ADDR_IDX].size = 0x10000000;\r
+    g_region_attr[CPU_ADDR_IDX].conf.pmp_attr = PMP_ATTR_DEVICE_NO_BUFFERABLE;\r
+    g_region_attr[CPU_ADDR_IDX].conf.rwx_permission = (rwx_permission_t)PMPCFG_RW_NEXECUTE;\r
+    g_region_attr[CPU_ADDR_IDX].conf.addr_match = PMPCFG_ADDR_MATCH_NAPOT;\r
+    g_region_attr[CPU_ADDR_IDX].conf.lock = true;\r
 \r
 #if defined(CONFIG_PSRAM_SUPPORT) || defined(TEST_SUITE)\r
     /* PSRAM 第一段 可读可写不可执行 打开cache属性 */\r
     g_region_attr[PSRAM_IDX].idx = PSRAM_IDX;\r
     g_region_attr[PSRAM_IDX].addr = PSRAM_ADDR_START;\r
     g_region_attr[PSRAM_IDX].size = PSRAM_ADDR_LEN;\r
-    g_region_attr[PSRAM_IDX].conf.pmp_attr = PMP_ATTR_WRITEBACK_NO_ALLOCATE;\r
+    g_region_attr[PSRAM_IDX].conf.pmp_attr = PMP_ATTR_WRITEBACK_RWALLOCATE;\r
     g_region_attr[PSRAM_IDX].conf.rwx_permission = (rwx_permission_t)PMPCFG_RW_NEXECUTE;\r
     g_region_attr[PSRAM_IDX].conf.addr_match = PMPCFG_ADDR_MATCH_NAPOT;\r
     g_region_attr[PSRAM_IDX].conf.lock = true;\r
@@ -147,6 +180,15 @@ static void pmp_init_config(void)
     g_region_attr[NOR_FLASH_IDX].conf.rwx_permission = (rwx_permission_t)PMPCFG_READ_ONLY_EXECUTE;\r
     g_region_attr[NOR_FLASH_IDX].conf.addr_match = PMPCFG_ADDR_MATCH_NAPOT;\r
     g_region_attr[NOR_FLASH_IDX].conf.lock = true;\r
+\r
+    /* BACKGROUND_IDX 不可读不可写不可执行 */\r
+    g_region_attr[BACKGROUND_IDX].idx = BACKGROUND_IDX;\r
+    g_region_attr[BACKGROUND_IDX].addr = 0x0;\r
+    g_region_attr[BACKGROUND_IDX].size = 0xFFFFFFFF; /* 4GB */\r
+    g_region_attr[BACKGROUND_IDX].conf.pmp_attr = PMP_ATTR_DEVICE_NO_BUFFERABLE;\r
+    g_region_attr[BACKGROUND_IDX].conf.rwx_permission = (rwx_permission_t)PMPCFG_NO_ACCESS;\r
+    g_region_attr[BACKGROUND_IDX].conf.addr_match = PMPCFG_ADDR_MATCH_NAPOT;\r
+    g_region_attr[BACKGROUND_IDX].conf.lock = true;\r
 }\r
 \r
 void pmp_init(void)\r
index 61f8d7b..a7bd030 100644 (file)
@@ -325,6 +325,7 @@ static td_s32 msg_fifo_acquire_pkt(const core_msg_inst *msg_inst, core_msg_head
     msg_size = msg_pkt_align_up(msg_size);
     if (buf_size < msg_size) {
         sap_err_log_u32(msg_size);
+        (td_void)ring_buf_flush(msg_inst->shrb_buf.data_buf);
         return ERR_SYS_BUF_UNDERFLOW;
     }
 
index ea3a327..02dae9c 100644 (file)
@@ -35,7 +35,7 @@ extern "C" {
 #define SAP_MSG_TASK_SIZE 0xB00
 #define SAP_MSG_TASK_NAME "sap_msg"
 
-#define SAP_MSG_EVENT_NUM 64
+#define SAP_MSG_EVENT_NUM 128
 #define SAP_MSG_EVENT_SIZE sizeof(td_u16)
 #define SAP_MSG_QUEUE_TIMEOUT 0 /* Set 0 for ISR */
 #define SAP_MSG_WAIT_FOREVER 0xFFFFFFFF
index ba37abe..44a17da 100644 (file)
@@ -877,6 +877,26 @@ uint32_t uapi_mipi_tx_clear_exit_ulps(void)
     return EXT_ERR_SUCCESS;
 }
 
+bool uapi_mipi_tx_is_in_ulps(void)
+{
+    mipi_tx_lane_state_t clk_lane = {};
+    mipi_tx_lane_state_t data_lane0 = {};
+    mipi_tx_hal_get_lane_state(MIPI_TX_LANE_DATA0, &data_lane0);
+    mipi_tx_hal_get_lane_state(MIPI_TX_LANE_CLK, &clk_lane);
+    mipi_tx_lane_status clk_stat = mipi_tx_get_lane_state(&clk_lane);
+    mipi_tx_lane_status data0_stat = mipi_tx_get_lane_state(&data_lane0);
+
+    bool is_in_ulps_status = false;
+
+    char *lane_mode[] = {"non_idle", "idle", "sdlp", "ulps"};
+    if ((clk_stat == MIPI_TX_LANE_STATE_ULPS) || (data0_stat == MIPI_TX_LANE_STATE_ULPS)) {
+        printf("clk_stat: %s data0_stat: %s\n", lane_mode[clk_stat], lane_mode[data0_stat]);
+        is_in_ulps_status = true;
+    }
+
+    return is_in_ulps_status;
+}
+
 #ifdef __cplusplus
 #if __cplusplus
 }
index 3d71d34..f8af2ca 100644 (file)
@@ -65,5 +65,6 @@ void mipi_tx_drv_set_partial_refresh(combo_dev_cfg_t *dev_cfg);
 uint32_t mipi_tx_partial_refresh(sync_info_t *dev_sync);
 
 uint32_t mipi_tx_proc_show(uint32_t s);
+bool uapi_mipi_tx_is_in_ulps(void);
 
 #endif
index 06ccffa..1c0f7d7 100644 (file)
@@ -128,9 +128,10 @@ void emmc_save_info(void)
     g_mmc_cur_info.emmc_cclk_reg = readw(EMMC_CCLK_DIV_REG);
     g_mmc_cur_info.emmc_div_reg = readw(EMMC_DIV_REG);
     g_mmc_cur_info.sd_bus_reg = readw(SDIO_BUS_CGDIV_REG);
-    g_mmc_cur_info.mbiu_ctrl = readw(SDHCI_AXI_MBIIU_CTRL);
+    g_mmc_cur_info.mbiu_ctrl = readw(MBIIU_CTRL);
     g_mmc_cur_info.host_ctrl1 = readb(HOST_CTRL1);
     g_mmc_cur_info.host_ctrl2 = readw(HOST_CTRL2);
+
 #if EMMC_BOARD_DEBUG_ON
     PRINT("emmc save sdiom_reg=%x, emmc_cclk_reg=%x, emmc_div_reg=%x, timing=%d, phase=%d, bus_width=%d\r\n",
           g_mmc_cur_info.sdiom_clk_reg, g_mmc_cur_info.emmc_cclk_reg, g_mmc_cur_info.emmc_div_reg,
index 7543ac0..d782aed 100644 (file)
@@ -17,6 +17,9 @@
 
 static uint32_t get_pmp_napot_size(uint32_t value)
 {
+    if (value == 0xFFFFFFFF) {
+        return 0x7FFFFFFF;
+    }
     return ((value >> 1) - 1);
 }
 
index 0c60fc0..02b7298 100644 (file)
@@ -760,6 +760,13 @@ errcode_t uapi_psram_enter_xip(void)
     isb();\r
     reg16_write(CFG_CACHE2HABM_OVER_TIME_H_REG, XIP_CACHE_OVER_TIME);\r
 \r
+    reg16_write(CFG_XIP_OPI_READ_OVER_TIME_L_REG, 0xFFFF);\r
+    reg16_write(CFG_XIP_OPI_READ_OVER_TIME_H_REG, 0xFFFF);\r
+    reg16_write(CFG_XIP_WRITE_OVER_TIME_L_REG, 0xFFFF);\r
+    reg16_write(CFG_XIP_WRITE_OVER_TIME_H_REG, 0xFFFF);\r
+\r
+    reg16_setbit(XIP_WRITE_READ_ERROR_RESP_MASK_REG, 0x1);\r
+\r
     for (uint32_t i = 0 ; i < g_psram_device_parm[g_psram_device].xip_param_num; i++) {\r
         psram_device_e psramdevice = g_psram_device;\r
         reg32_write((uintptr_t)((g_psram_device_parm[psramdevice].xip_param)[i].addr),\r
index 191a6bd..851f589 100644 (file)
@@ -145,11 +145,13 @@ STATIC bool rtc_update_rtcs_rtc(rtc_index_t index, uint64_t update_amount_cycle)
     uint32_t irq_sts = osal_irq_lock();
     uint8_t soft_rtc_num = g_rtcs_manager[index].soft_rtc_num;
     for (uint32_t i = 0; i < soft_rtc_num; i++) {
+        if (g_rtcs_manager[index].rtcs[i].is_run == false) {
+            continue;
+        }
+
         if (g_rtcs_manager[index].rtcs[i].cycle <= update_amount_cycle) {
             g_rtcs_manager[index].rtcs[i].cycle = 0;
-            if (g_rtcs_manager[index].rtcs[i].is_run == true) {
-                has_new_rtc = true;
-            }
+            has_new_rtc = true;
         } else {
             g_rtcs_manager[index].rtcs[i].cycle -= update_amount_cycle;
         }
index 8b54443..6ed412b 100644 (file)
@@ -74,7 +74,7 @@ void hal_xip_enable(xip_id_t xip_index, uint8_t xip_mode_code, bool enable_addr_
     } else {\r
         hal_xip_reg_cfg_flash_sel_set_flash_sel(xip_index, 0);\r
     }\r
-    hal_xip_reg_xip_read_error_resp_mask_set_all(xip_index, 0);\r
+    hal_xip_reg_xip_read_error_resp_mask_set_all(xip_index, 0xF);\r
     /* chip_libra */\r
 #if defined(CONFIG_XIP_ENABLE_READ_OVERTIME)\r
     hal_xip_reg_cfg_xip_read_over_time_l_set_data(xip_index, 0xFFFF);\r
@@ -94,12 +94,16 @@ void hal_xip_enable(xip_id_t xip_index, uint8_t xip_mode_code, bool enable_addr_
 void hal_xip_disable(xip_id_t xip_index)\r
 {\r
     uint32_t irqs = osal_irq_lock();\r
+    osal_dsb();\r
+    osal_isb();\r
     hal_xip_reg_xip_read_qspi_enable_set_read_qspi_enable(xip_index, 0);\r
     while (hal_xip_reg_xip_read_qspi_enable_get_read_qspi_enable(xip_index) != 0) { }\r
     if ((hal_xip_reg_xip_read_qspi_enable_get_read_qspi_enable(0) ||\r
         hal_xip_reg_xip_read_qspi_enable_get_read_qspi_enable(1)) == 0) {\r
         hal_xip_reg_xip_cache_en_set_cache_en(0);\r
     }\r
+    osal_dsb();\r
+    osal_isb();\r
     osal_irq_restore(irqs);\r
 }\r
 \r
index e636f28..e6a4e6c 100644 (file)
@@ -481,7 +481,7 @@ static inline void hal_xip_reg_xip_write_read_error_resp_mask_set_all(uint32_t v
 {
     xip_write_read_error_resp_mask_data_t xip_write_read_error_resp_mask;
     xip_write_read_error_resp_mask.d32 = val;
-    g_xip_regs->xip_cache_error_resp_mask = xip_write_read_error_resp_mask.d32;
+    g_xip_regs->xip_write_read_error_resp_mask = xip_write_read_error_resp_mask.d32;
 }
 
 /**
index b21c0f9..558d5e2 100644 (file)
@@ -28,8 +28,8 @@
                        <MSG STRUCTURE="diag_log_msg0" NAME="OnBackgroundDone clean launcher record data @ability_service.cpp(492),INFO" ID="0xe01e0f65" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="Js app exit, but has no js app. @ability_service.cpp(499),WARNING" ID="0xe01e0f9b" />
                        <MSG STRUCTURE="diag_log_msg1" NAME="OnDestroyDone [%u] @ability_service.cpp(504),INFO" ID="0xe01e0fc5" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="AbilityService::SchedulerLifecycleDone state: STATE_ACTIVE @ability_service.cpp(616),INFO" ID="0xe01e1345" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="AbilityService::SchedulerLifecycleDone state: STATE_BACKGROUND @ability_service.cpp(621),INFO" ID="0xe01e136d" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="AbilityService::SchedulerLifecycleDone state: STATE_UNINITIALIZED @ability_service.cpp(626),INFO" ID="0xe01e1395" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="AbilityService::SendGraphicTEEventToJsAbility topRecord is not js!! @ability_service.cpp(667),ERROR" ID="0xe01e14da" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="AbilityService::SchedulerLifecycleDone state: STATE_ACTIVE @ability_service.cpp(617),INFO" ID="0xe01e134d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="AbilityService::SchedulerLifecycleDone state: STATE_BACKGROUND @ability_service.cpp(622),INFO" ID="0xe01e1375" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="AbilityService::SchedulerLifecycleDone state: STATE_UNINITIALIZED @ability_service.cpp(627),INFO" ID="0xe01e139d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="AbilityService::SendGraphicTEEventToJsAbility topRecord is not js!! @ability_service.cpp(668),ERROR" ID="0xe01e14e2" />
                        </MSG_LOG>
\ No newline at end of file
index 2260a92..ba0cc11 100644 (file)
@@ -1,14 +1,14 @@
 <MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="InitAppSysCmd aa! @appsys_ams_cmd.cpp(53),INFO" ID="0xe02201ad" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="topAbility is null @appsys_ams_cmd.cpp(82),ERROR" ID="0xe0220292" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="bundleName is not top active @appsys_ams_cmd.cpp(87),ERROR" ID="0xe02202ba" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="aa dump argc 2 only support topAbility, ERR!!! @appsys_ams_cmd.cpp(99),ERROR" ID="0xe022031a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="aa dump topAbility is native Launcher, ERR!!! @appsys_ams_cmd.cpp(105),ERROR" ID="0xe022034a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="cmd_aa dump topAbilityInfo bundleName = %s @appsys_ams_cmd.cpp(126),DBG" ID="0xe02203f6" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="cmd_aa dump topAbilityInfo dataPath = %s @appsys_ams_cmd.cpp(127),DBG" ID="0xe02203fe" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="cmd_aa dump topAbilityInfo srcPath = %s @appsys_ams_cmd.cpp(128),DBG" ID="0xe0220406" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="cmd_aa start @appsys_ams_cmd.cpp(140),INFO" ID="0xe0220465" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="argc is not 2, ERR!!! @appsys_ams_cmd.cpp(142),ERROR" ID="0xe0220472" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="cmd_aa command = %s @appsys_ams_cmd.cpp(148),INFO" ID="0xe02204a5" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="cmd_aa no correct cmd!!! @appsys_ams_cmd.cpp(156),ERROR" ID="0xe02204e2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="cmd_aa end @appsys_ams_cmd.cpp(159),INFO" ID="0xe02204fd" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="aa dump argc 2 only support topAbility, ERR!!! @appsys_ams_cmd.cpp(100),ERROR" ID="0xe0220322" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="aa dump topAbility is native Launcher, ERR!!! @appsys_ams_cmd.cpp(106),ERROR" ID="0xe0220352" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="cmd_aa dump topAbilityInfo bundleName = %s @appsys_ams_cmd.cpp(127),DBG" ID="0xe02203fe" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="cmd_aa dump topAbilityInfo dataPath = %s @appsys_ams_cmd.cpp(128),DBG" ID="0xe0220406" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="cmd_aa dump topAbilityInfo srcPath = %s @appsys_ams_cmd.cpp(129),DBG" ID="0xe022040e" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="cmd_aa start @appsys_ams_cmd.cpp(141),INFO" ID="0xe022046d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="argc is not 2, ERR!!! @appsys_ams_cmd.cpp(143),ERROR" ID="0xe022047a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="cmd_aa command = %s @appsys_ams_cmd.cpp(149),INFO" ID="0xe02204ad" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="cmd_aa no correct cmd!!! @appsys_ams_cmd.cpp(157),ERROR" ID="0xe02204ea" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="cmd_aa end @appsys_ams_cmd.cpp(160),INFO" ID="0xe0220505" />
                        </MSG_LOG>
\ No newline at end of file
index 06794b0..8e8c701 100644 (file)
@@ -1,3 +1,3 @@
-<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="[BMS] Initialize is failed @bundlems_slite_client.cpp(154),ERROR" ID="0xe03004d2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] Initialize is failed @bundlems_slite_client.cpp(169),ERROR" ID="0xe030054a" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="[BMS] Initialize is failed @bundlems_slite_client.cpp(178),ERROR" ID="0xe0300592" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] Initialize is failed @bundlems_slite_client.cpp(193),ERROR" ID="0xe030060a" />
                        </MSG_LOG>
\ No newline at end of file
index 3a15319..cead6b9 100644 (file)
                        <MSG STRUCTURE="diag_log_msg0" NAME="Invalid Join Style! @display_vau.c(732),ERROR" ID="0xcb1e16e2" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="HandlePaintStyle failed. @display_vau.c(746),ERROR" ID="0xcb1e1752" />
                        <MSG STRUCTURE="diag_log_msg1" NAME="uapi_vau_render failure, ret = 0x%x! @display_vau.c(929),ERROR" ID="0xcb1e1d0a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="uapi_vau_render failure, ret = 0x%x! @display_vau.c(999),ERROR" ID="0xcb1e1f3a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="RenderPath with invalid path. @display_vau.c(1131),ERROR" ID="0xcb1e235a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="One of fill and stroke in path attr should be set! @display_vau.c(1136),ERROR" ID="0xcb1e2382" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[%d] DispMalloc for tmpTarget1 failed @display_vau.c(1168),ERROR" ID="0xcb1e2482" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[%d] DispMalloc for tmpTarget2 failed @display_vau.c(1176),ERROR" ID="0xcb1e24c2" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[%d] RenderPathInternal failed @display_vau.c(1182),ERROR" ID="0xcb1e24f2" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[%d] RenderPatternInternal failed @display_vau.c(1187),ERROR" ID="0xcb1e251a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[%d] BlendToSurface failed @display_vau.c(1192),ERROR" ID="0xcb1e2542" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[%d] BlendToSurface failed @display_vau.c(1197),ERROR" ID="0xcb1e256a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[%d] RenderPathInternal failed @display_vau.c(1222),ERROR" ID="0xcb1e2632" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[%d] BlendImgToSurface failed @display_vau.c(1226),ERROR" ID="0xcb1e2652" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="uapi_vau_submit failure, ret = 0x%x! @display_vau.c(1273),ERROR" ID="0xcb1e27ca" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="gFuncs is null @display_vau.c(1285),ERROR" ID="0xcb1e282a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="memset_s gFuncs failed @display_vau.c(1291),ERROR" ID="0xcb1e285a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="VGU initializes successfully @display_vau.c(1310),INFO" ID="0xcb1e28f5" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="VGU uninitializes successfully @display_vau.c(1319),INFO" ID="0xcb1e293d" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="uapi_vau_render failure, ret = 0x%x! @display_vau.c(996),ERROR" ID="0xcb1e1f22" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="RenderPath with invalid path. @display_vau.c(1128),ERROR" ID="0xcb1e2342" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="One of fill and stroke in path attr should be set! @display_vau.c(1133),ERROR" ID="0xcb1e236a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[%d] DispMalloc for tmpTarget1 failed @display_vau.c(1165),ERROR" ID="0xcb1e246a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[%d] DispMalloc for tmpTarget2 failed @display_vau.c(1173),ERROR" ID="0xcb1e24aa" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[%d] RenderPathInternal failed @display_vau.c(1179),ERROR" ID="0xcb1e24da" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[%d] RenderPatternInternal failed @display_vau.c(1184),ERROR" ID="0xcb1e2502" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[%d] BlendToSurface failed @display_vau.c(1189),ERROR" ID="0xcb1e252a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[%d] BlendToSurface failed @display_vau.c(1194),ERROR" ID="0xcb1e2552" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[%d] RenderPathInternal failed @display_vau.c(1219),ERROR" ID="0xcb1e261a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[%d] BlendImgToSurface failed @display_vau.c(1223),ERROR" ID="0xcb1e263a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="uapi_vau_submit failure, ret = 0x%x! @display_vau.c(1270),ERROR" ID="0xcb1e27b2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="gFuncs is null @display_vau.c(1282),ERROR" ID="0xcb1e2812" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="memset_s gFuncs failed @display_vau.c(1288),ERROR" ID="0xcb1e2842" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="VGU initializes successfully @display_vau.c(1307),INFO" ID="0xcb1e28dd" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="VGU uninitializes successfully @display_vau.c(1316),INFO" ID="0xcb1e2925" />
                        </MSG_LOG>
\ No newline at end of file
index 6c735f0..85db150 100644 (file)
@@ -3,31 +3,31 @@
                        <MSG STRUCTURE="diag_log_msg1" NAME="[BMS] bundle num is %d @gt_bundle_installer.cpp(108),INFO" ID="0xe0420365" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] bundle quantity exceeds the limit! @gt_bundle_installer.cpp(111),ERROR" ID="0xe042037a" />
                        <MSG STRUCTURE="diag_log_msg1" NAME="[BMS] APPVERI_AppVerify is %d @gt_bundle_installer.cpp(127),INFO" ID="0xe04203fd" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="VINCENTSS::GtBundleInstaller::Install path = %s @gt_bundle_installer.cpp(182),INFO" ID="0xe04205b5" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] create random str fail! @gt_bundle_installer.cpp(209),ERROR" ID="0xe042068a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="VINCENTSS::GtBundleInstaller::Install 0002 @gt_bundle_installer.cpp(213),INFO" ID="0xe04206ad" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="errorCode3 = %d @gt_bundle_installer.cpp(217),INFO" ID="0xe04206cd" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="VINCENTSS::GtBundleInstaller::Install 003 @gt_bundle_installer.cpp(225),INFO" ID="0xe042070d" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="VINCENTSS::GtBundleInstaller::ProcessBundleInstall 001 @gt_bundle_installer.cpp(259),INFO" ID="0xe042081d" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="errorCode1 = %d @gt_bundle_installer.cpp(264),INFO" ID="0xe0420845" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="VINCENTSS::GtBundleInstaller::ProcessBundleInstall 002 @gt_bundle_installer.cpp(270),INFO" ID="0xe0420875" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="errorCode2 = %d @gt_bundle_installer.cpp(274),INFO" ID="0xe0420895" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="errorCode3 = %d @gt_bundle_installer.cpp(288),INFO" ID="0xe0420905" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="errorCode4 = %d @gt_bundle_installer.cpp(305),INFO" ID="0xe042098d" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="errorCode5 = %d @gt_bundle_installer.cpp(313),INFO" ID="0xe04209cd" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="errorCode6 = %d @gt_bundle_installer.cpp(318),INFO" ID="0xe04209f5" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="errorCode7 = %d @gt_bundle_installer.cpp(329),INFO" ID="0xe0420a4d" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="errorCode8 = %d @gt_bundle_installer.cpp(336),INFO" ID="0xe0420a85" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="errorCode9 = %d @gt_bundle_installer.cpp(346),INFO" ID="0xe0420ad5" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="errorCode10 = %d @gt_bundle_installer.cpp(353),INFO" ID="0xe0420b0d" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="errorCode11 = %d @gt_bundle_installer.cpp(362),INFO" ID="0xe0420b55" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="errorCode12 = %d @gt_bundle_installer.cpp(368),INFO" ID="0xe0420b85" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[BMS] UpdateBundleInfo errorCode = %d @gt_bundle_installer.cpp(370),INFO" ID="0xe0420b95" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] srcRawFilePath is nullptr @gt_bundle_installer.cpp(390),ERROR" ID="0xe0420c32" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] rawfile is not exists! @gt_bundle_installer.cpp(395),INFO" ID="0xe0420c5d" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] dstRawFilePath is nullptr @gt_bundle_installer.cpp(403),ERROR" ID="0xe0420c9a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] frename rawfile fail! @gt_bundle_installer.cpp(409),ERROR" ID="0xe0420cca" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[BMS] transform js to bc when install, result is %d @gt_bundle_installer.cpp(556),INFO" ID="0xe0421165" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[BMS] ConvertResInfoToBundleInfo errorCode = %d @gt_bundle_installer.cpp(581),INFO" ID="0xe042122d" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[BMS] delete permissions, result is %d @gt_bundle_installer.cpp(815),INFO" ID="0xe042197d" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="VINCENTSS::GtBundleInstaller::Install path = %s @gt_bundle_installer.cpp(188),INFO" ID="0xe04205e5" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] create random str fail! @gt_bundle_installer.cpp(215),ERROR" ID="0xe04206ba" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="VINCENTSS::GtBundleInstaller::Install 0002 @gt_bundle_installer.cpp(219),INFO" ID="0xe04206dd" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="errorCode3 = %d @gt_bundle_installer.cpp(224),INFO" ID="0xe0420705" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="VINCENTSS::GtBundleInstaller::Install 003 @gt_bundle_installer.cpp(232),INFO" ID="0xe0420745" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="VINCENTSS::GtBundleInstaller::ProcessBundleInstall 001 @gt_bundle_installer.cpp(266),INFO" ID="0xe0420855" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="errorCode1 = %d @gt_bundle_installer.cpp(271),INFO" ID="0xe042087d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="VINCENTSS::GtBundleInstaller::ProcessBundleInstall 002 @gt_bundle_installer.cpp(277),INFO" ID="0xe04208ad" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="errorCode2 = %d @gt_bundle_installer.cpp(281),INFO" ID="0xe04208cd" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="errorCode3 = %d @gt_bundle_installer.cpp(295),INFO" ID="0xe042093d" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="errorCode4 = %d @gt_bundle_installer.cpp(311),INFO" ID="0xe04209bd" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="errorCode5 = %d @gt_bundle_installer.cpp(319),INFO" ID="0xe04209fd" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="errorCode6 = %d @gt_bundle_installer.cpp(324),INFO" ID="0xe0420a25" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="errorCode7 = %d @gt_bundle_installer.cpp(335),INFO" ID="0xe0420a7d" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="errorCode8 = %d @gt_bundle_installer.cpp(342),INFO" ID="0xe0420ab5" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="errorCode9 = %d @gt_bundle_installer.cpp(354),INFO" ID="0xe0420b15" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="errorCode10 = %d @gt_bundle_installer.cpp(361),INFO" ID="0xe0420b4d" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="errorCode11 = %d @gt_bundle_installer.cpp(370),INFO" ID="0xe0420b95" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="errorCode12 = %d @gt_bundle_installer.cpp(376),INFO" ID="0xe0420bc5" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[BMS] UpdateBundleInfo errorCode = %d @gt_bundle_installer.cpp(378),INFO" ID="0xe0420bd5" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] srcRawFilePath is nullptr @gt_bundle_installer.cpp(398),ERROR" ID="0xe0420c72" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] rawfile is not exists! @gt_bundle_installer.cpp(403),INFO" ID="0xe0420c9d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] dstRawFilePath is nullptr @gt_bundle_installer.cpp(411),ERROR" ID="0xe0420cda" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] frename rawfile fail! @gt_bundle_installer.cpp(417),ERROR" ID="0xe0420d0a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[BMS] transform js to bc when install, result is %d @gt_bundle_installer.cpp(564),INFO" ID="0xe04211a5" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[BMS] ConvertResInfoToBundleInfo errorCode = %d @gt_bundle_installer.cpp(589),INFO" ID="0xe042126d" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[BMS] delete permissions, result is %d @gt_bundle_installer.cpp(823),INFO" ID="0xe04219bd" />
                        </MSG_LOG>
\ No newline at end of file
index bdf50b7..7cb7033 100644 (file)
@@ -9,24 +9,24 @@
                        <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] InstallPreBundle uninstallRecord is nullptr! @gt_bundle_manager_service.cpp(289),INFO" ID="0xe044090d" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] Pre install file path is invalid @gt_bundle_manager_service.cpp(302),ERROR" ID="0xe0440972" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] InstallAllSystemBundle InitAllAppInfo fail, list is nullptr @gt_bundle_manager_service.cpp(318),ERROR" ID="0xe04409f2" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="VINCENTSS::GtManagerService::ScanPackages = %s @gt_bundle_manager_service.cpp(374),INFO" ID="0xe0440bb5" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] ScanSystemApp InitAllAppInfo fail, list is nullptr @gt_bundle_manager_service.cpp(417),ERROR" ID="0xe0440d0a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] memset fail when initialize bundle name! @gt_bundle_manager_service.cpp(487),ERROR" ID="0xe0440f3a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] failed to copy bundle name! @gt_bundle_manager_service.cpp(492),ERROR" ID="0xe0440f62" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] malloc fail when reload third app! @gt_bundle_manager_service.cpp(502),ERROR" ID="0xe0440fb2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] strcat fail when reload third app! @gt_bundle_manager_service.cpp(507),ERROR" ID="0xe0440fda" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] app path is not dir when reload third app! @gt_bundle_manager_service.cpp(513),ERROR" ID="0xe044100a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] app path is not third bundle path! @gt_bundle_manager_service.cpp(519),INFO" ID="0xe044103d" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] third bundle reload number is to MAX_THIRD_BUNDLE_NUMBER! @gt_bundle_manager_service.cpp(526),INFO" ID="0xe0441075" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] parse bundle attr fail! @gt_bundle_manager_service.cpp(567),ERROR" ID="0xe04411ba" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[BMS] reload bundle info fail!, isSystemApp is %d @gt_bundle_manager_service.cpp(682),ERROR" ID="0xe0441552" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] get installRecord fail when restart! @gt_bundle_manager_service.cpp(738),ERROR" ID="0xe0441712" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] TransformJsToBcWhenRestart jsEngineVer_ is nullptr! @gt_bundle_manager_service.cpp(745),ERROR" ID="0xe044174a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] create string object fail when restart! @gt_bundle_manager_service.cpp(753),ERROR" ID="0xe044178a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] add js engine version record fail when restart! @gt_bundle_manager_service.cpp(768),ERROR" ID="0xe0441802" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] refresh js engine version fail when restart! @gt_bundle_manager_service.cpp(776),ERROR" ID="0xe0441842" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[BMS] transform js to bc, result is %d @gt_bundle_manager_service.cpp(803),INFO" ID="0xe044191d" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[BMS] delete byte code, result is %d @gt_bundle_manager_service.cpp(806),INFO" ID="0xe0441935" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] add transform result record fail when restart! @gt_bundle_manager_service.cpp(819),ERROR" ID="0xe044199a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] refresh transform result record fail when restart! @gt_bundle_manager_service.cpp(825),ERROR" ID="0xe04419ca" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="VINCENTSS::GtManagerService::ScanPackages = %s @gt_bundle_manager_service.cpp(376),INFO" ID="0xe0440bc5" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] ScanSystemApp InitAllAppInfo fail, list is nullptr @gt_bundle_manager_service.cpp(419),ERROR" ID="0xe0440d1a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] memset fail when initialize bundle name! @gt_bundle_manager_service.cpp(489),ERROR" ID="0xe0440f4a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] failed to copy bundle name! @gt_bundle_manager_service.cpp(494),ERROR" ID="0xe0440f72" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] malloc fail when reload third app! @gt_bundle_manager_service.cpp(504),ERROR" ID="0xe0440fc2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] strcat fail when reload third app! @gt_bundle_manager_service.cpp(509),ERROR" ID="0xe0440fea" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] app path is not dir when reload third app! @gt_bundle_manager_service.cpp(515),ERROR" ID="0xe044101a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] app path is not third bundle path! @gt_bundle_manager_service.cpp(521),INFO" ID="0xe044104d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] third bundle reload number is to MAX_THIRD_BUNDLE_NUMBER! @gt_bundle_manager_service.cpp(528),INFO" ID="0xe0441085" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] parse bundle attr fail! @gt_bundle_manager_service.cpp(573),ERROR" ID="0xe04411ea" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[BMS] reload bundle info fail!, isSystemApp is %d @gt_bundle_manager_service.cpp(688),ERROR" ID="0xe0441582" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] get installRecord fail when restart! @gt_bundle_manager_service.cpp(744),ERROR" ID="0xe0441742" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] TransformJsToBcWhenRestart jsEngineVer_ is nullptr! @gt_bundle_manager_service.cpp(751),ERROR" ID="0xe044177a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] create string object fail when restart! @gt_bundle_manager_service.cpp(759),ERROR" ID="0xe04417ba" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] add js engine version record fail when restart! @gt_bundle_manager_service.cpp(774),ERROR" ID="0xe0441832" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] refresh js engine version fail when restart! @gt_bundle_manager_service.cpp(782),ERROR" ID="0xe0441872" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[BMS] transform js to bc, result is %d @gt_bundle_manager_service.cpp(809),INFO" ID="0xe044194d" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[BMS] delete byte code, result is %d @gt_bundle_manager_service.cpp(812),INFO" ID="0xe0441965" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] add transform result record fail when restart! @gt_bundle_manager_service.cpp(825),ERROR" ID="0xe04419ca" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] refresh transform result record fail when restart! @gt_bundle_manager_service.cpp(831),ERROR" ID="0xe04419fa" />
                        </MSG_LOG>
\ No newline at end of file
index a5c808a..a591e40 100644 (file)
@@ -2,5 +2,5 @@
                        <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] ExtractHapProfile failed when excute parse bundle! @gt_bundle_parser.cpp(100),ERROR" ID="0xe0460322" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] cJSON_Parse failed when excute parse bundle! @gt_bundle_parser.cpp(108),ERROR" ID="0xe0460362" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] cJSON_GetObjectItem failed when excute parse bundle! @gt_bundle_parser.cpp(116),ERROR" ID="0xe04603a2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="SetModuleInfoDeviceType fail! @gt_bundle_parser.cpp(684),ERROR" ID="0xe0461562" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="SetModuleInfoDeviceType fail! @gt_bundle_parser.cpp(703),ERROR" ID="0xe04615fa" />
                        </MSG_LOG>
\ No newline at end of file
index a7ee87d..143cdc1 100644 (file)
@@ -1,33 +1,35 @@
-<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="unsupported BlendMode: %u. @lite_m_gfx_engine.cpp(74),ERROR" ID="0xcb0e0252" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="unsupported color format: %d @lite_m_gfx_engine.cpp(118),ERROR" ID="0xcb0e03b2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="Convert2VGUCap failed! Invalid Capstyle! @lite_m_gfx_engine.cpp(131),ERROR" ID="0xcb0e041a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="Convert2VGUBuffer failed. @lite_m_gfx_engine.cpp(162),ERROR" ID="0xcb0e0512" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="Fill operation failed. @lite_m_gfx_engine.cpp(193),ERROR" ID="0xcb0e060a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="font weight %u was not support @lite_m_gfx_engine.cpp(305),ERROR" ID="0xcb0e098a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="VGUPathAppendData failed. @lite_m_gfx_engine.cpp(346),ERROR" ID="0xcb0e0ad2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="VGUPathSetData failed. @lite_m_gfx_engine.cpp(357),ERROR" ID="0xcb0e0b2a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="Convert2VGUBuffer failed. @lite_m_gfx_engine.cpp(384),ERROR" ID="0xcb0e0c02" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="RenderPath failed. @lite_m_gfx_engine.cpp(395),ERROR" ID="0xcb0e0c5a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="Convert2VGUBuffer failed. @lite_m_gfx_engine.cpp(416),ERROR" ID="0xcb0e0d02" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="RenderPath failed. @lite_m_gfx_engine.cpp(427),ERROR" ID="0xcb0e0d5a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="Convert2VGUBuffer failed. @lite_m_gfx_engine.cpp(443),ERROR" ID="0xcb0e0dda" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="RenderPath failed. @lite_m_gfx_engine.cpp(469),ERROR" ID="0xcb0e0eaa" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="Convert2VGUBuffer failed. @lite_m_gfx_engine.cpp(484),ERROR" ID="0xcb0e0f22" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="RenderPath failed. @lite_m_gfx_engine.cpp(496),ERROR" ID="0xcb0e0f82" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="Convert2VGUBuffer failed. @lite_m_gfx_engine.cpp(606),ERROR" ID="0xcb0e12f2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="Convert2VGUBuffer failed. @lite_m_gfx_engine.cpp(633),ERROR" ID="0xcb0e13ca" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="RenderBlur failed! @lite_m_gfx_engine.cpp(649),ERROR" ID="0xcb0e144a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="RenderBlit failed! @lite_m_gfx_engine.cpp(705),ERROR" ID="0xcb0e160a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="DrawTransform failed. Software can only process uncompressed data. @lite_m_gfx_engine.cpp(740),ERROR" ID="0xcb0e1722" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="vguFuncs_ is null! @lite_m_gfx_engine.cpp(795),ERROR" ID="0xcb0e18da" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="InitVgu or RenderClearRect is null! @lite_m_gfx_engine.cpp(799),ERROR" ID="0xcb0e18fa" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="VGUPathInit, VGUPathAppendData, VGUPathClear or RenderPath is nullptr! @lite_m_gfx_engine.cpp(806),ERROR" ID="0xcb0e1932" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="VGUPathInit, VGUPathAppendData, VGUPathClear or RenderPath is nullptr! @lite_m_gfx_engine.cpp(812),ERROR" ID="0xcb0e1962" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="InitVgu failed! @lite_m_gfx_engine.cpp(817),ERROR" ID="0xcb0e198a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="vguFuncs_ is null! @lite_m_gfx_engine.cpp(828),INFO" ID="0xcb0e19e5" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="DeinitVgu failed! @lite_m_gfx_engine.cpp(833),ERROR" ID="0xcb0e1a0a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="AllocBuffer failed. @lite_m_gfx_engine.cpp(852),ERROR" ID="0xcb0e1aa2" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="unsupported PixelFormat: %d @lite_m_gfx_engine.cpp(879),ERROR" ID="0xcb0e1b7a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="bufferInfo_ is not inited. @lite_m_gfx_engine.cpp(984),ERROR" ID="0xcb0e1ec2" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="set value: %d @lite_m_gfx_engine.cpp(1038),DBG" ID="0xcb0e2076" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="unsupported BlendMode: %u. @lite_m_gfx_engine.cpp(75),ERROR" ID="0xcb0e025a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="unsupported color format: %d @lite_m_gfx_engine.cpp(119),ERROR" ID="0xcb0e03ba" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="Convert2VGUCap failed! Invalid Capstyle! @lite_m_gfx_engine.cpp(132),ERROR" ID="0xcb0e0422" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="Convert2VGUBuffer failed. @lite_m_gfx_engine.cpp(163),ERROR" ID="0xcb0e051a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="Fill operation failed. @lite_m_gfx_engine.cpp(194),ERROR" ID="0xcb0e0612" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="font weight %u was not support @lite_m_gfx_engine.cpp(306),ERROR" ID="0xcb0e0992" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="VGUPathAppendData failed. @lite_m_gfx_engine.cpp(347),ERROR" ID="0xcb0e0ada" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="VGUPathSetData failed. @lite_m_gfx_engine.cpp(358),ERROR" ID="0xcb0e0b32" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="Convert2VGUBuffer failed. @lite_m_gfx_engine.cpp(385),ERROR" ID="0xcb0e0c0a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="RenderPath failed. Sync previous task. @lite_m_gfx_engine.cpp(397),ERROR" ID="0xcb0e0c6a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="Convert2VGUBuffer failed. @lite_m_gfx_engine.cpp(418),ERROR" ID="0xcb0e0d12" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="RenderPath failed. Sync previous task. @lite_m_gfx_engine.cpp(430),ERROR" ID="0xcb0e0d72" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="Convert2VGUBuffer failed. @lite_m_gfx_engine.cpp(446),ERROR" ID="0xcb0e0df2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="RenderPath failed. Sync previous task. @lite_m_gfx_engine.cpp(473),ERROR" ID="0xcb0e0eca" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="Convert2VGUBuffer failed. @lite_m_gfx_engine.cpp(488),ERROR" ID="0xcb0e0f42" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="RenderPath failed. Sync previous task. @lite_m_gfx_engine.cpp(501),ERROR" ID="0xcb0e0faa" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="Convert2VGUBuffer failed. @lite_m_gfx_engine.cpp(611),ERROR" ID="0xcb0e131a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="Convert2VGUBuffer failed. @lite_m_gfx_engine.cpp(638),ERROR" ID="0xcb0e13f2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="RenderBlur failed! @lite_m_gfx_engine.cpp(654),ERROR" ID="0xcb0e1472" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="ignore js syncHwDraw when native ui task is already running! @lite_m_gfx_engine.cpp(669),WARNING" ID="0xcb0e14eb" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="ignore native syncHwDraw when js ui task is already running! @lite_m_gfx_engine.cpp(675),WARNING" ID="0xcb0e151b" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="RenderBlit failed! @lite_m_gfx_engine.cpp(723),ERROR" ID="0xcb0e169a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="DrawTransform failed. Software can only process uncompressed data. @lite_m_gfx_engine.cpp(758),ERROR" ID="0xcb0e17b2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="vguFuncs_ is null! @lite_m_gfx_engine.cpp(813),ERROR" ID="0xcb0e196a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="InitVgu or RenderClearRect is null! @lite_m_gfx_engine.cpp(817),ERROR" ID="0xcb0e198a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="VGUPathInit, VGUPathAppendData, VGUPathClear or RenderPath is nullptr! @lite_m_gfx_engine.cpp(824),ERROR" ID="0xcb0e19c2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="VGUPathInit, VGUPathAppendData, VGUPathClear or RenderPath is nullptr! @lite_m_gfx_engine.cpp(830),ERROR" ID="0xcb0e19f2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="InitVgu failed! @lite_m_gfx_engine.cpp(835),ERROR" ID="0xcb0e1a1a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="vguFuncs_ is null! @lite_m_gfx_engine.cpp(846),INFO" ID="0xcb0e1a75" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="DeinitVgu failed! @lite_m_gfx_engine.cpp(851),ERROR" ID="0xcb0e1a9a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="AllocBuffer failed. @lite_m_gfx_engine.cpp(870),ERROR" ID="0xcb0e1b32" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="unsupported PixelFormat: %d @lite_m_gfx_engine.cpp(897),ERROR" ID="0xcb0e1c0a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="bufferInfo_ is not inited. @lite_m_gfx_engine.cpp(1002),ERROR" ID="0xcb0e1f52" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="set value: %d @lite_m_gfx_engine.cpp(1056),DBG" ID="0xcb0e2106" />
                        </MSG_LOG>
\ No newline at end of file
index eb6b0a0..4087476 100644 (file)
@@ -1,20 +1,20 @@
 <MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="RenderBlit failed! @lv_draw_vgu.c(155),ERROR" ID="0xc94804da" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="InitVgu failed! @lv_draw_vgu.c(196),ERROR" ID="0xc9480622" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="DeinitVgu failed! @lv_draw_vgu.c(212),ERROR" ID="0xc94806a2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="LvFillRect failed. @lv_draw_vgu.c(503),ERROR" ID="0xc9480fba" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="[%s: %d] cannot support draw layer. @lv_draw_vgu.c(732),ERROR" ID="0xc94816e2" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="lv_draw_letter: glyph dsc. not found for U+%&quot; PRIX32, letter);#if LV_USE_FONT_PLACEHOLDER/* draw placeholder */lv_area_t glyphCoords;lv_draw_rect_dsc_t rectDsc;lv_coord_t beginX = pos-&gt;x + glyphDsc.ofs_x;lv_coord_t beginY = pos-&gt;y + glyphDsc.ofs_y;lv_area_set(&amp;glyphCoords, beginX, beginY, beginX + glyphDsc.box_w, beginY + glyphDsc.box_h);lv_draw_rect_dsc_init(&amp;rectDsc);rectDsc.bg_opa = LV_OPA_MIN;rectDsc.outline_opa = LV_OPA_MIN;rectDsc.shadow_opa = LV_OPA_MIN;rectDsc.bg_img_opa = LV_OPA_MIN;rectDsc.border_color = dsc-&gt;color;rectDsc.border_width = 1;drawCtx-&gt;draw_rect(drawCtx, &amp;rectDsc, &amp;glyphCoords);#endif}return;}if ((glyphDsc.box_h == 0) || (glyphDsc.box_w == 0)) {return;}#if LV_USE_DFX_CMD &amp;&amp; LV_USE_DFX_TRACEFrameTraceStart(FRAME_TRACE_HW_DRAW_LETTER);#endifRenderGlyphPath(drawCtx, dsc, pos, letter, &amp;glyphDsc);#if LV_USE_DFX_CMD &amp;&amp; LV_USE_DFX_TRACElv_area_t area = {pos-&gt;x, pos-&gt;y, letter};FrameTraceEnd(FRAME_TRACE_HW_DRAW_LETTER, &amp;area);#endif#elseLvSubmitHwDraw(true);#if LV_USE_DFX_CMD &amp;&amp; LV_USE_DFX_TRACEFrameTraceStart(FRAME_TRACE_SW_DRAW_LETTER);#endiflv_draw_sw_letter(drawCtx, dsc, pos, letter);#if LV_USE_DFX_CMD &amp;&amp; LV_USE_DFX_TRACElv_area_t area = {pos-&gt;x, pos-&gt;y, letter};FrameTraceEnd(FRAME_TRACE_SW_DRAW_LETTER, &amp;area);#endif#endif}static void LvDrawLine(struct _lv_draw_ctx_t* drawCtx, const lv_draw_line_dsc_t* dsc,const lv_point_t* point1, const lv_point_t* point2){BlitPendingImgs();LvSubmitHwDraw(true);#if LV_USE_DFX_CMD &amp;&amp; LV_USE_DFX_TRACEFrameTraceStart(FRAME_TRACE_SW_DRAW_LINE);#endiflv_draw_sw_line(drawCtx, dsc, point1, point2);#if LV_USE_DFX_CMD &amp;&amp; LV_USE_DFX_TRACElv_area_t area = {point1-&gt;x, point1-&gt;y, point2-&gt;x, point2-&gt;y};FrameTraceEnd(FRAME_TRACE_SW_DRAW_LINE, &amp;area);#endif}static void LvDrawPolygon(lv_draw_ctx_t* drawCtx, const lv_draw_rect_dsc_t* dsc,const lv_point_t* points, uint16_t pointCnt){BlitPendingImgs();LvSubmitHwDraw(true);#if LV_USE_DFX_CMD &amp;&amp; LV_USE_DFX_TRACEFrameTraceStart(FRAME_TRACE_SW_DRAW_POLYGON);#endiflv_draw_sw_polygon(drawCtx, dsc, points, pointCnt);#if LV_USE_DFX_CMD &amp;&amp; LV_USE_DFX_TRACElv_area_t area = {points-&gt;x, points-&gt;y, pointCnt, 0};FrameTraceEnd(FRAME_TRACE_SW_DRAW_POLYGON, &amp;area);#endif}static void LvDrawBufferCopy(lv_draw_ctx_t* drawCtx,void* dstBuf, lv_coord_t dstStride, const lv_area_t* dstArea,void* srcBuf, lv_coord_t srcStride, const lv_area_t* srcArea){BlitPendingImgs();LvSubmitHwDraw(true);#if LV_USE_DFX_CMD &amp;&amp; LV_USE_DFX_TRACEFrameTraceStart(FRAME_TRACE_SW_DRAW_BUFCOPY);#endiflv_draw_sw_buffer_copy(drawCtx, dstBuf, dstStride, dstArea, srcBuf, srcStride, srcArea);#if LV_USE_DFX_CMD &amp;&amp; LV_USE_DFX_TRACEFrameTraceEnd(FRAME_TRACE_SW_DRAW_BUFCOPY, dstArea);#endif}static struct _lv_draw_layer_ctx_t* LvDrawLayerCreate(struct _lv_draw_ctx_t* drawCtx,lv_draw_layer_ctx_t* layerCtx, lv_draw_layer_flags_t flags){BlitPendingImgs();LvSubmitHwDraw(true);#if LV_USE_DFX_CMD &amp;&amp; LV_USE_DFX_TRACEFrameTraceStart(FRAME_TRACE_SW_DRAW_LAYERC);#endifstruct _lv_draw_layer_ctx_t* ret = lv_draw_sw_layer_create(drawCtx, layerCtx, flags);#if LV_USE_DFX_CMD &amp;&amp; LV_USE_DFX_TRACElv_area_t area = {flags, 0, 0, 0};FrameTraceEnd(FRAME_TRACE_SW_DRAW_LAYERC, &amp;area);#endifreturn ret;}static void LvDrawLayerAdjust(struct _lv_draw_ctx_t* drawCtx, struct _lv_draw_layer_ctx_t* layerCtx,lv_draw_layer_flags_t flags){BlitPendingImgs();LvSubmitHwDraw(true);#if LV_USE_DFX_CMD &amp;&amp; LV_USE_DFX_TRACEFrameTraceStart(FRAME_TRACE_SW_DRAW_LAYERA);#endiflv_draw_sw_layer_adjust(drawCtx, layerCtx, flags);#if LV_USE_DFX_CMD &amp;&amp; LV_USE_DFX_TRACElv_area_t area = {flags, 0, 0, 0};FrameTraceEnd(FRAME_TRACE_SW_DRAW_LAYERA, &amp;area);#endif}static void LvDrawLayerBlend(struct _lv_draw_ctx_t* drawCtx, struct _lv_draw_layer_ctx_t* layerCtx,const lv_draw_img_dsc_t* dsc){BlitPendingImgs();LvSubmitHwDraw(true);#if LV_USE_DFX_CMD &amp;&amp; LV_USE_DFX_TRACEFrameTraceStart(FRAME_TRACE_SW_DRAW_LAYERB);#endiflv_draw_sw_layer_blend(drawCtx, layerCtx, dsc);#if LV_USE_DFX_CMD &amp;&amp; LV_USE_DFX_TRACElv_area_t area = {dsc-&gt;resId, 0, 0, 0};FrameTraceEnd(FRAME_TRACE_SW_DRAW_LAYERB, &amp;area);#endif}static void LvDrawLayerDestroy(lv_draw_ctx_t* drawCtx, lv_draw_layer_ctx_t* layerCtx){BlitPendingImgs();LvSubmitHwDraw(true);#if LV_USE_DFX_CMD &amp;&amp; LV_USE_DFX_TRACEFrameTraceStart(FRAME_TRACE_SW_DRAW_LAYERD);#endiflv_draw_sw_layer_destroy(drawCtx, layerCtx);#if LV_USE_DFX_CMD &amp;&amp; LV_USE_DFX_TRACEFrameTraceEnd(FRAME_TRACE_SW_DRAW_LAYERD, NULL);#endif}void LvDrawVguCtxInit(struct _lv_disp_drv_t* drv, lv_draw_ctx_t* drawCtx){if (g_vguFuncs == NULL) {LV_LOGE(&quot;[%s: %d] module is not inited. @lv_draw_vgu.c(892),ERROR" ID="0xc9481be2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="drawCtx is null. @lv_draw_vgu.c(961),ERROR" ID="0xc9481e0a" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="[%s: %d] cannot support draw layer. @lv_draw_vgu.c(966),ERROR" ID="0xc9481e32" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="RenderBlur failed! @lv_draw_vgu.c(997),ERROR" ID="0xc9481f2a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="unsupported color format: %u @lv_draw_vgu.c(1041),ERROR" ID="0xc948208a" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="[%s: %d] cannot support draw layer. @lv_draw_vgu.c(1110),ERROR" ID="0xc94822b2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="Not support mask @lv_draw_vgu.c(1117),ERROR" ID="0xc94822ea" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="[%s: %d] cannot support draw layer. @lv_draw_vgu.c(1229),ERROR" ID="0xc948266a" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="[%s: %d] cannot support draw layer. @lv_draw_vgu.c(1302),ERROR" ID="0xc94828b2" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="[%s: %d] cannot support draw layer. @lv_draw_vgu.c(1353),ERROR" ID="0xc9482a4a" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="[%s: %d] cannot support draw layer. @lv_draw_vgu.c(1375),ERROR" ID="0xc9482afa" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="VGUPathSetData failed. @lv_draw_vgu.c(1380),ERROR" ID="0xc9482b22" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="[%s: %d] cannot support draw layer. @lv_draw_vgu.c(1393),ERROR" ID="0xc9482b8a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="RenderPath failed. @lv_draw_vgu.c(1418),ERROR" ID="0xc9482c52" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="LvFillRect failed. @lv_draw_vgu.c(506),ERROR" ID="0xc9480fd2" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="[%s: %d] cannot support draw layer. @lv_draw_vgu.c(735),ERROR" ID="0xc94816fa" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="lv_draw_letter: glyph dsc. not found for U+%&quot; PRIX32, letter);#if LV_USE_FONT_PLACEHOLDER/* draw placeholder */lv_area_t glyphCoords;lv_draw_rect_dsc_t rectDsc;lv_coord_t beginX = pos-&gt;x + glyphDsc.ofs_x;lv_coord_t beginY = pos-&gt;y + glyphDsc.ofs_y;lv_area_set(&amp;glyphCoords, beginX, beginY, beginX + glyphDsc.box_w, beginY + glyphDsc.box_h);lv_draw_rect_dsc_init(&amp;rectDsc);rectDsc.bg_opa = LV_OPA_MIN;rectDsc.outline_opa = LV_OPA_MIN;rectDsc.shadow_opa = LV_OPA_MIN;rectDsc.bg_img_opa = LV_OPA_MIN;rectDsc.border_color = dsc-&gt;color;rectDsc.border_width = 1;drawCtx-&gt;draw_rect(drawCtx, &amp;rectDsc, &amp;glyphCoords);#endif}return;}if ((glyphDsc.box_h == 0) || (glyphDsc.box_w == 0)) {return;}#if LV_USE_DFX_CMD &amp;&amp; LV_USE_DFX_TRACEFrameTraceStart(FRAME_TRACE_HW_DRAW_LETTER);#endifRenderGlyphPath(drawCtx, dsc, pos, letter, &amp;glyphDsc);#if LV_USE_DFX_CMD &amp;&amp; LV_USE_DFX_TRACElv_area_t area = {pos-&gt;x, pos-&gt;y, letter};FrameTraceEnd(FRAME_TRACE_HW_DRAW_LETTER, &amp;area);#endif#elseLvSubmitHwDraw(true);#if LV_USE_DFX_CMD &amp;&amp; LV_USE_DFX_TRACEFrameTraceStart(FRAME_TRACE_SW_DRAW_LETTER);#endiflv_draw_sw_letter(drawCtx, dsc, pos, letter);#if LV_USE_DFX_CMD &amp;&amp; LV_USE_DFX_TRACElv_area_t area = {pos-&gt;x, pos-&gt;y, letter};FrameTraceEnd(FRAME_TRACE_SW_DRAW_LETTER, &amp;area);#endif#endif}static void LvDrawLine(struct _lv_draw_ctx_t* drawCtx, const lv_draw_line_dsc_t* dsc,const lv_point_t* point1, const lv_point_t* point2){BlitPendingImgs();LvSubmitHwDraw(true);#if LV_USE_DFX_CMD &amp;&amp; LV_USE_DFX_TRACEFrameTraceStart(FRAME_TRACE_SW_DRAW_LINE);#endiflv_draw_sw_line(drawCtx, dsc, point1, point2);#if LV_USE_DFX_CMD &amp;&amp; LV_USE_DFX_TRACElv_area_t area = {point1-&gt;x, point1-&gt;y, point2-&gt;x, point2-&gt;y};FrameTraceEnd(FRAME_TRACE_SW_DRAW_LINE, &amp;area);#endif}static void LvDrawPolygon(lv_draw_ctx_t* drawCtx, const lv_draw_rect_dsc_t* dsc,const lv_point_t* points, uint16_t pointCnt){BlitPendingImgs();LvSubmitHwDraw(true);#if LV_USE_DFX_CMD &amp;&amp; LV_USE_DFX_TRACEFrameTraceStart(FRAME_TRACE_SW_DRAW_POLYGON);#endiflv_draw_sw_polygon(drawCtx, dsc, points, pointCnt);#if LV_USE_DFX_CMD &amp;&amp; LV_USE_DFX_TRACElv_area_t area = {points-&gt;x, points-&gt;y, pointCnt, 0};FrameTraceEnd(FRAME_TRACE_SW_DRAW_POLYGON, &amp;area);#endif}static void LvDrawBufferCopy(lv_draw_ctx_t* drawCtx,void* dstBuf, lv_coord_t dstStride, const lv_area_t* dstArea,void* srcBuf, lv_coord_t srcStride, const lv_area_t* srcArea){BlitPendingImgs();LvSubmitHwDraw(true);#if LV_USE_DFX_CMD &amp;&amp; LV_USE_DFX_TRACEFrameTraceStart(FRAME_TRACE_SW_DRAW_BUFCOPY);#endiflv_draw_sw_buffer_copy(drawCtx, dstBuf, dstStride, dstArea, srcBuf, srcStride, srcArea);#if LV_USE_DFX_CMD &amp;&amp; LV_USE_DFX_TRACEFrameTraceEnd(FRAME_TRACE_SW_DRAW_BUFCOPY, dstArea);#endif}static struct _lv_draw_layer_ctx_t* LvDrawLayerCreate(struct _lv_draw_ctx_t* drawCtx,lv_draw_layer_ctx_t* layerCtx, lv_draw_layer_flags_t flags){BlitPendingImgs();LvSubmitHwDraw(true);#if LV_USE_DFX_CMD &amp;&amp; LV_USE_DFX_TRACEFrameTraceStart(FRAME_TRACE_SW_DRAW_LAYERC);#endifstruct _lv_draw_layer_ctx_t* ret = lv_draw_sw_layer_create(drawCtx, layerCtx, flags);#if LV_USE_DFX_CMD &amp;&amp; LV_USE_DFX_TRACElv_area_t area = {flags, 0, 0, 0};FrameTraceEnd(FRAME_TRACE_SW_DRAW_LAYERC, &amp;area);#endifreturn ret;}static void LvDrawLayerAdjust(struct _lv_draw_ctx_t* drawCtx, struct _lv_draw_layer_ctx_t* layerCtx,lv_draw_layer_flags_t flags){BlitPendingImgs();LvSubmitHwDraw(true);#if LV_USE_DFX_CMD &amp;&amp; LV_USE_DFX_TRACEFrameTraceStart(FRAME_TRACE_SW_DRAW_LAYERA);#endiflv_draw_sw_layer_adjust(drawCtx, layerCtx, flags);#if LV_USE_DFX_CMD &amp;&amp; LV_USE_DFX_TRACElv_area_t area = {flags, 0, 0, 0};FrameTraceEnd(FRAME_TRACE_SW_DRAW_LAYERA, &amp;area);#endif}static void LvDrawLayerBlend(struct _lv_draw_ctx_t* drawCtx, struct _lv_draw_layer_ctx_t* layerCtx,const lv_draw_img_dsc_t* dsc){BlitPendingImgs();LvSubmitHwDraw(true);#if LV_USE_DFX_CMD &amp;&amp; LV_USE_DFX_TRACEFrameTraceStart(FRAME_TRACE_SW_DRAW_LAYERB);#endiflv_draw_sw_layer_blend(drawCtx, layerCtx, dsc);#if LV_USE_DFX_CMD &amp;&amp; LV_USE_DFX_TRACElv_area_t area = {dsc-&gt;resId, 0, 0, 0};FrameTraceEnd(FRAME_TRACE_SW_DRAW_LAYERB, &amp;area);#endif}static void LvDrawLayerDestroy(lv_draw_ctx_t* drawCtx, lv_draw_layer_ctx_t* layerCtx){BlitPendingImgs();LvSubmitHwDraw(true);#if LV_USE_DFX_CMD &amp;&amp; LV_USE_DFX_TRACEFrameTraceStart(FRAME_TRACE_SW_DRAW_LAYERD);#endiflv_draw_sw_layer_destroy(drawCtx, layerCtx);#if LV_USE_DFX_CMD &amp;&amp; LV_USE_DFX_TRACEFrameTraceEnd(FRAME_TRACE_SW_DRAW_LAYERD, NULL);#endif}void LvDrawVguCtxInit(struct _lv_disp_drv_t* drv, lv_draw_ctx_t* drawCtx){if (g_vguFuncs == NULL) {LV_LOGE(&quot;[%s: %d] module is not inited. @lv_draw_vgu.c(895),ERROR" ID="0xc9481bfa" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="drawCtx is null. @lv_draw_vgu.c(964),ERROR" ID="0xc9481e22" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="[%s: %d] cannot support draw layer. @lv_draw_vgu.c(969),ERROR" ID="0xc9481e4a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="RenderBlur failed! @lv_draw_vgu.c(1000),ERROR" ID="0xc9481f42" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="unsupported color format: %u @lv_draw_vgu.c(1044),ERROR" ID="0xc94820a2" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="[%s: %d] cannot support draw layer. @lv_draw_vgu.c(1113),ERROR" ID="0xc94822ca" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="Not support mask @lv_draw_vgu.c(1120),ERROR" ID="0xc9482302" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="[%s: %d] cannot support draw layer. @lv_draw_vgu.c(1232),ERROR" ID="0xc9482682" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="[%s: %d] cannot support draw layer. @lv_draw_vgu.c(1305),ERROR" ID="0xc94828ca" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="[%s: %d] cannot support draw layer. @lv_draw_vgu.c(1356),ERROR" ID="0xc9482a62" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="[%s: %d] cannot support draw layer. @lv_draw_vgu.c(1378),ERROR" ID="0xc9482b12" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="VGUPathSetData failed. @lv_draw_vgu.c(1383),ERROR" ID="0xc9482b3a" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="[%s: %d] cannot support draw layer. @lv_draw_vgu.c(1396),ERROR" ID="0xc9482ba2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="RenderPath failed. @lv_draw_vgu.c(1421),ERROR" ID="0xc9482c6a" />
                        </MSG_LOG>
\ No newline at end of file
index a5b416e..673f2b3 100644 (file)
@@ -1,5 +1,5 @@
-<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="the fontName %s no register @text_ext.cpp(63),ERROR" ID="0xcae201fa" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="malloc buffer for utf16Text failed. @text_ext.cpp(98),ERROR" ID="0xcae20312" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="text_ is nullptr. @text_ext.cpp(122),ERROR" ID="0xcae203d2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="malloc for shapingLineText failed. @text_ext.cpp(245),ERROR" ID="0xcae207aa" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="the fontName %s no register, use default font @text_ext.cpp(74),ERROR" ID="0xcae20252" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="malloc buffer for utf16Text failed. @text_ext.cpp(109),ERROR" ID="0xcae2036a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="text_ is nullptr. @text_ext.cpp(133),ERROR" ID="0xcae2042a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="malloc for shapingLineText failed. @text_ext.cpp(256),ERROR" ID="0xcae20802" />
                        </MSG_LOG>
\ No newline at end of file
index 4deeda7..fa3a789 100644 (file)
@@ -6,48 +6,48 @@
                        <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]write_pos = %u @core_msg.c(290),ERROR" ID="0x98180912" />
                        <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]msg_size = %u @core_msg.c(291),ERROR" ID="0x9818091a" />
                        <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]msg_size = %u @core_msg.c(327),ERROR" ID="0x98180a3a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]msg_crc = %u @core_msg.c(333),ERROR" ID="0x98180a6a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_msg.c(376),INFO" ID="0x98180bc5" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_shrb_alloc Failed, Error Code: [0x%08X] @core_msg.c(382),ERROR" ID="0x98180bf2" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_shrb_attach Failed, Error Code: [0x%08X] @core_msg.c(388),ERROR" ID="0x98180c22" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_msg.c(396),INFO" ID="0x98180c65" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_msg.c(405),INFO" ID="0x98180cad" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_shrb_get_id Failed, Error Code: [0x%08X] @core_msg.c(413),ERROR" ID="0x98180cea" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_shrb_detach Failed, Error Code: [0x%08X] @core_msg.c(419),ERROR" ID="0x98180d1a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_shrb_free Failed, Error Code: [0x%08X] @core_msg.c(425),ERROR" ID="0x98180d4a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_msg.c(433),INFO" ID="0x98180d8d" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_msg.c(442),INFO" ID="0x98180dd5" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_shrb_get_id Failed, Error Code: [0x%08X] @core_msg.c(446),ERROR" ID="0x98180df2" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_shrb_attach Failed, Error Code: [0x%08X] @core_msg.c(452),ERROR" ID="0x98180e22" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_msg.c(458),INFO" ID="0x98180e55" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_msg.c(467),INFO" ID="0x98180e9d" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_shrb_get_id Failed, Error Code: [0x%08X] @core_msg.c(471),ERROR" ID="0x98180eba" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_shrb_detach Failed, Error Code: [0x%08X] @core_msg.c(477),ERROR" ID="0x98180eea" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_msg.c(484),INFO" ID="0x98180f25" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_msg.c(492),INFO" ID="0x98180f65" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_msg.c(495),INFO" ID="0x98180f7d" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_mod_init Failed, Error Code: [0x%08X] @core_msg.c(501),ERROR" ID="0x98180faa" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_msg.c(508),INFO" ID="0x98180fe5" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_msg.c(516),INFO" ID="0x98181025" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_msg.c(518),INFO" ID="0x98181035" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_msg.c(523),INFO" ID="0x9818105d" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_mod_deinit Failed, Error Code: [0x%08X] @core_msg.c(529),ERROR" ID="0x9818108a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_msg.c(535),INFO" ID="0x981810bd" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_msg.c(545),INFO" ID="0x9818110d" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_mod_alloc Failed, Error Code: [0x%08X] @core_msg.c(556),ERROR" ID="0x98181162" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]msg_inst-&gt;qid.u32 = 0x%08X @core_msg.c(563),INFO" ID="0x9818119d" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call msg_fifo_alloc_shrb Failed, Error Code: [0x%08X] @core_msg.c(568),ERROR" ID="0x981811c2" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]msg_inst-&gt;shrb_buf.data_buf = 0x%08X @core_msg.c(572),INFO" ID="0x981811e5" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call msg_fifo_attach_shrb Failed, Error Code: [0x%08X] @core_msg.c(576),ERROR" ID="0x98181202" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]msg_inst-&gt;shrb_buf.data_buf = 0x%08X @core_msg.c(580),INFO" ID="0x98181225" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_msg.c(585),INFO" ID="0x9818124d" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_msg.c(593),INFO" ID="0x9818128d" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call msg_fifo_free_shrb Failed, Error Code: [0x%08X] @core_msg.c(598),ERROR" ID="0x981812b2" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call msg_fifo_detach_shrb Failed, Error Code: [0x%08X] @core_msg.c(605),ERROR" ID="0x981812ea" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_mod_free Failed, Error Code: [0x%08X] @core_msg.c(615),ERROR" ID="0x9818133a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_msg.c(619),INFO" ID="0x9818135d" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call msg_fifo_init Failed, Error Code: [0x%08X] @core_msg.c(668),ERROR" ID="0x981814e2" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call msg_fifo_create Failed, Error Code: [0x%08X] @core_msg.c(679),ERROR" ID="0x9818153a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call msg_fifo_destroy Failed, Error Code: [0x%08X] @core_msg.c(700),ERROR" ID="0x981815e2" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]ret = 0x%08X @core_msg.c(789),ERROR" ID="0x981818aa" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]msg_crc = %u @core_msg.c(334),ERROR" ID="0x98180a72" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_msg.c(377),INFO" ID="0x98180bcd" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_shrb_alloc Failed, Error Code: [0x%08X] @core_msg.c(383),ERROR" ID="0x98180bfa" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_shrb_attach Failed, Error Code: [0x%08X] @core_msg.c(389),ERROR" ID="0x98180c2a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_msg.c(397),INFO" ID="0x98180c6d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_msg.c(406),INFO" ID="0x98180cb5" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_shrb_get_id Failed, Error Code: [0x%08X] @core_msg.c(414),ERROR" ID="0x98180cf2" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_shrb_detach Failed, Error Code: [0x%08X] @core_msg.c(420),ERROR" ID="0x98180d22" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_shrb_free Failed, Error Code: [0x%08X] @core_msg.c(426),ERROR" ID="0x98180d52" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_msg.c(434),INFO" ID="0x98180d95" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_msg.c(443),INFO" ID="0x98180ddd" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_shrb_get_id Failed, Error Code: [0x%08X] @core_msg.c(447),ERROR" ID="0x98180dfa" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_shrb_attach Failed, Error Code: [0x%08X] @core_msg.c(453),ERROR" ID="0x98180e2a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_msg.c(459),INFO" ID="0x98180e5d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_msg.c(468),INFO" ID="0x98180ea5" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_shrb_get_id Failed, Error Code: [0x%08X] @core_msg.c(472),ERROR" ID="0x98180ec2" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_shrb_detach Failed, Error Code: [0x%08X] @core_msg.c(478),ERROR" ID="0x98180ef2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_msg.c(485),INFO" ID="0x98180f2d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_msg.c(493),INFO" ID="0x98180f6d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_msg.c(496),INFO" ID="0x98180f85" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_mod_init Failed, Error Code: [0x%08X] @core_msg.c(502),ERROR" ID="0x98180fb2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_msg.c(509),INFO" ID="0x98180fed" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_msg.c(517),INFO" ID="0x9818102d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_msg.c(519),INFO" ID="0x9818103d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_msg.c(524),INFO" ID="0x98181065" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_mod_deinit Failed, Error Code: [0x%08X] @core_msg.c(530),ERROR" ID="0x98181092" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_msg.c(536),INFO" ID="0x981810c5" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_msg.c(546),INFO" ID="0x98181115" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_mod_alloc Failed, Error Code: [0x%08X] @core_msg.c(557),ERROR" ID="0x9818116a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]msg_inst-&gt;qid.u32 = 0x%08X @core_msg.c(564),INFO" ID="0x981811a5" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call msg_fifo_alloc_shrb Failed, Error Code: [0x%08X] @core_msg.c(569),ERROR" ID="0x981811ca" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]msg_inst-&gt;shrb_buf.data_buf = 0x%08X @core_msg.c(573),INFO" ID="0x981811ed" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call msg_fifo_attach_shrb Failed, Error Code: [0x%08X] @core_msg.c(577),ERROR" ID="0x9818120a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]msg_inst-&gt;shrb_buf.data_buf = 0x%08X @core_msg.c(581),INFO" ID="0x9818122d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_msg.c(586),INFO" ID="0x98181255" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_msg.c(594),INFO" ID="0x98181295" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call msg_fifo_free_shrb Failed, Error Code: [0x%08X] @core_msg.c(599),ERROR" ID="0x981812ba" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call msg_fifo_detach_shrb Failed, Error Code: [0x%08X] @core_msg.c(606),ERROR" ID="0x981812f2" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_mod_free Failed, Error Code: [0x%08X] @core_msg.c(616),ERROR" ID="0x98181342" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_msg.c(620),INFO" ID="0x98181365" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call msg_fifo_init Failed, Error Code: [0x%08X] @core_msg.c(669),ERROR" ID="0x981814ea" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call msg_fifo_create Failed, Error Code: [0x%08X] @core_msg.c(680),ERROR" ID="0x98181542" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call msg_fifo_destroy Failed, Error Code: [0x%08X] @core_msg.c(701),ERROR" ID="0x981815ea" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]ret = 0x%08X @core_msg.c(790),ERROR" ID="0x981818b2" />
                        </MSG_LOG>
\ No newline at end of file
index 7ec6072..c2a5f94 100644 (file)
                        <MSG STRUCTURE="diag_log_msg2" NAME="[WARNING] llcp_channel_map_req_handler, INSTANT_PASSED, instant=%d, counter=%d @llc_llcp.c(3624),WARNING" ID="0x88387143" />
                        <MSG STRUCTURE="diag_log_msg2" NAME="[INFO][LLC]llc_channel_map_instant_exec:dummy=%d,opcode=%d @llc_llcp.c(3663),INFO" ID="0x8838727d" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="[WARNING][LLC]llcp_channel_map_req_handler:llc_env_ptr is null @llc_llcp.c(3693),WARNING" ID="0x8838736b" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="smp_pair_new_patch @patch_bth.c(49),INFO" ID="0x8d54018d" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[AVDTP][GET_SEP_FAIL] Can not get sep info @patch_bth.c(153),WARNING" ID="0x8d5404cb" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[STACK][RECV_RING_STOP] @patch_bth.c(241),INFO" ID="0x8d54078d" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="[ATT_GATT] att error rsp opcode:0x%x handle:%d error:0x%x @patch_bth.c(274),ERROR" ID="0x8d540892" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[SMP]PAIRING_REQ_RECV @patch_bth.c(467),ERROR" ID="0x8d540e9a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="smp_pair_new_patch @patch_bth.c(52),INFO" ID="0x8d5401a5" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[AVDTP][GET_SEP_FAIL] Can not get sep info @patch_bth.c(156),WARNING" ID="0x8d5404e3" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[STACK][RECV_RING_STOP] @patch_bth.c(244),INFO" ID="0x8d5407a5" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="[ATT_GATT] att error rsp opcode:0x%x handle:%d error:0x%x @patch_bth.c(277),ERROR" ID="0x8d5408aa" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[SMP]PAIRING_REQ_RECV @patch_bth.c(506),ERROR" ID="0x8d540fd2" />
                        <MSG STRUCTURE="diag_log_msg1" NAME="ble add ble white list fail: %d @bt_mpc_adpt_gap.c(53),ERROR" ID="0x8dd401aa" />
                        <MSG STRUCTURE="diag_log_msg1" NAME="ble add ble white list params err! len = %d @bt_mpc_adpt_gap.c(57),ERROR" ID="0x8dd401ca" />
                        <MSG STRUCTURE="diag_log_msg1" NAME="ble remove all ble white list fail: %d @bt_mpc_adpt_gap.c(72),ERROR" ID="0x8dd40242" />
                        <MSG STRUCTURE="diag_log_msg1" NAME="GdkTimer Create TimerId:%d @gdk_cmsis.c(79),INFO" ID="0x8cb0027d" />
                        <MSG STRUCTURE="diag_log_msg1" NAME="GdkTimer Start TimerId:%d @gdk_cmsis.c(99),DBG" ID="0x8cb0031e" />
                        <MSG STRUCTURE="diag_log_msg1" NAME="GdkTimer Stop TimerId:%d @gdk_cmsis.c(111),DBG" ID="0x8cb0037e" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="gdk os malloc size 0 @gdk_cmsis.c(146),ERROR" ID="0x8cb00492" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="gdk os malloc FAIL size:%d @gdk_cmsis.c(153),ERROR" ID="0x8cb004ca" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="gdk os malloc size 0 @gdk_cmsis.c(152),ERROR" ID="0x8cb004c2" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="gdk os malloc FAIL size:%d @gdk_cmsis.c(159),ERROR" ID="0x8cb004fa" />
                        <MSG STRUCTURE="diag_log_msg4" NAME="[diff_sched_prog illegal] diff_sched_prog=%d timestamp=%d, rx_win_size=%d, last_sync=%d @ld_acl_sniff_ram.c(101),WARNING" ID="0x8a0a032b" />
                        <MSG STRUCTURE="diag_log_msg2" NAME="[ERROR]ld_acl_sniff_evt_start_cbk:cs_idx = %d, att_nb = %d @ld_acl_sniff_ram.c(151),ERROR" ID="0x8a0a04ba" />
                        <MSG STRUCTURE="diag_log_msg4" NAME="ld_acl_sniff_evt_start_cbk clock(0x%x)prog_clock(0x%x)last_sync_ts(0x%x)link_id(%d) @ld_acl_sniff_ram.c(183),INFO" ID="0x8a0a05bd" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="[WARNING][BIS]current role is master @llc_bis_hci.c(497),WARNING" ID="0x89560f8b" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="[WARNING][BIS]big trigger is false @llc_bis_hci.c(503),WARNING" ID="0x89560fbb" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="[BTOS][MEM_INTEGRITY_CHECK]Not support! @osdep.c(680),INFO" ID="0x8b981545" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[BTOS][MEM_NEW]ALLOC_SIZE=%u alloc fail! @osdep.c(721),ERROR" ID="0x8b98168a" />
-                       <MSG STRUCTURE="diag_log_msg4" NAME="[BTOS][MEM_NEW]fsm_count=%u fsm_limit=%u fsm_limit_max=%u hci_slice_rx=%u! @osdep.c(725),ERROR" ID="0x8b9816aa" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="[MEM_FREE][%d][0x%p], caller:0x%x  @osdep.c(762),INFO" ID="0x8b9817d5" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="[BTOS][MEM_FREE]ERROR_CODE=%u, addr:0x%p, caller:0x%x free fail! @osdep.c(770),WARNING" ID="0x8b981813" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[BTOS][MEM_NEW]ALLOC_SIZE=%u, alloc fail! @osdep.c(783),WARNING" ID="0x8b98187b" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="[BTOS][MEM_FREE]ERROR_CODE=%u, addr:0x%p, caller:0x%x, free fail! @osdep.c(798),WARNING" ID="0x8b9818f3" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[BTOS][MEM_NEW_S]AVAILABLE_MEMORY=%u, alloc fail because under secure threshold size! @osdep.c(829),WARNING" ID="0x8b9819eb" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[BTOS][MEM_NEW]ALLOC_SIZE=%u alloc fail! @osdep.c(724),ERROR" ID="0x8b9816a2" />
+                       <MSG STRUCTURE="diag_log_msg4" NAME="[BTOS][MEM_NEW]fsm_count=%u fsm_limit=%u fsm_limit_max=%u hci_slice_rx=%u! @osdep.c(728),ERROR" ID="0x8b9816c2" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="[MEM_FREE][%d][0x%p], caller:0x%x  @osdep.c(765),INFO" ID="0x8b9817ed" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="[BTOS][MEM_FREE]ERROR_CODE=%u, addr:0x%p, caller:0x%x free fail! @osdep.c(773),WARNING" ID="0x8b98182b" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[BTOS][MEM_NEW]ALLOC_SIZE=%u, alloc fail! @osdep.c(786),WARNING" ID="0x8b981893" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="[BTOS][MEM_FREE]ERROR_CODE=%u, addr:0x%p, caller:0x%x, free fail! @osdep.c(801),WARNING" ID="0x8b98190b" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[BTOS][MEM_NEW_S]AVAILABLE_MEMORY=%u, alloc fail because under secure threshold size! @osdep.c(832),WARNING" ID="0x8b981a03" />
                        <MSG STRUCTURE="diag_log_msg1" NAME="[FRONTEND]bt_tx_power_get param level is %d, OUT OF RANGE @bt_mdmrfabb_config.c(97),ERROR" ID="0x88f8030a" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="memory alloc failed @sdk_spp.c(176),ERROR" ID="0x8b6c0582" />
                        <MSG STRUCTURE="diag_log_msg1" NAME="[sdk][spp]read_stream failed ret=0x%x @sdk_spp.c(181),INFO" ID="0x8b6c05ad" />
index 728ac59..be49d57 100644 (file)
@@ -4,6 +4,6 @@
                        <MSG STRUCTURE="diag_log_msg1" NAME="GdkTimer Create TimerId:%d @gdk_cmsis.c(79),INFO" ID="0x8cb0027d" />
                        <MSG STRUCTURE="diag_log_msg1" NAME="GdkTimer Start TimerId:%d @gdk_cmsis.c(99),DBG" ID="0x8cb0031e" />
                        <MSG STRUCTURE="diag_log_msg1" NAME="GdkTimer Stop TimerId:%d @gdk_cmsis.c(111),DBG" ID="0x8cb0037e" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="gdk os malloc size 0 @gdk_cmsis.c(146),ERROR" ID="0x8cb00492" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="gdk os malloc FAIL size:%d @gdk_cmsis.c(153),ERROR" ID="0x8cb004ca" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="gdk os malloc size 0 @gdk_cmsis.c(152),ERROR" ID="0x8cb004c2" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="gdk os malloc FAIL size:%d @gdk_cmsis.c(159),ERROR" ID="0x8cb004fa" />
                        </MSG_LOG>
\ No newline at end of file
index 5e43d0a..641bf76 100644 (file)
@@ -1,9 +1,9 @@
 <MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="[BTOS][MEM_INTEGRITY_CHECK]Not support! @osdep.c(680),INFO" ID="0x8b981545" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[BTOS][MEM_NEW]ALLOC_SIZE=%u alloc fail! @osdep.c(721),ERROR" ID="0x8b98168a" />
-                       <MSG STRUCTURE="diag_log_msg4" NAME="[BTOS][MEM_NEW]fsm_count=%u fsm_limit=%u fsm_limit_max=%u hci_slice_rx=%u! @osdep.c(725),ERROR" ID="0x8b9816aa" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="[MEM_FREE][%d][0x%p], caller:0x%x  @osdep.c(762),INFO" ID="0x8b9817d5" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="[BTOS][MEM_FREE]ERROR_CODE=%u, addr:0x%p, caller:0x%x free fail! @osdep.c(770),WARNING" ID="0x8b981813" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[BTOS][MEM_NEW]ALLOC_SIZE=%u, alloc fail! @osdep.c(783),WARNING" ID="0x8b98187b" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="[BTOS][MEM_FREE]ERROR_CODE=%u, addr:0x%p, caller:0x%x, free fail! @osdep.c(798),WARNING" ID="0x8b9818f3" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[BTOS][MEM_NEW_S]AVAILABLE_MEMORY=%u, alloc fail because under secure threshold size! @osdep.c(829),WARNING" ID="0x8b9819eb" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[BTOS][MEM_NEW]ALLOC_SIZE=%u alloc fail! @osdep.c(724),ERROR" ID="0x8b9816a2" />
+                       <MSG STRUCTURE="diag_log_msg4" NAME="[BTOS][MEM_NEW]fsm_count=%u fsm_limit=%u fsm_limit_max=%u hci_slice_rx=%u! @osdep.c(728),ERROR" ID="0x8b9816c2" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="[MEM_FREE][%d][0x%p], caller:0x%x  @osdep.c(765),INFO" ID="0x8b9817ed" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="[BTOS][MEM_FREE]ERROR_CODE=%u, addr:0x%p, caller:0x%x free fail! @osdep.c(773),WARNING" ID="0x8b98182b" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[BTOS][MEM_NEW]ALLOC_SIZE=%u, alloc fail! @osdep.c(786),WARNING" ID="0x8b981893" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="[BTOS][MEM_FREE]ERROR_CODE=%u, addr:0x%p, caller:0x%x, free fail! @osdep.c(801),WARNING" ID="0x8b98190b" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[BTOS][MEM_NEW_S]AVAILABLE_MEMORY=%u, alloc fail because under secure threshold size! @osdep.c(832),WARNING" ID="0x8b981a03" />
                        </MSG_LOG>
\ No newline at end of file
index f880ec0..fc93e15 100644 (file)
@@ -1,6 +1,6 @@
-<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="smp_pair_new_patch @patch_bth.c(49),INFO" ID="0x8d54018d" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[AVDTP][GET_SEP_FAIL] Can not get sep info @patch_bth.c(153),WARNING" ID="0x8d5404cb" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[STACK][RECV_RING_STOP] @patch_bth.c(241),INFO" ID="0x8d54078d" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="[ATT_GATT] att error rsp opcode:0x%x handle:%d error:0x%x @patch_bth.c(274),ERROR" ID="0x8d540892" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[SMP]PAIRING_REQ_RECV @patch_bth.c(467),ERROR" ID="0x8d540e9a" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="smp_pair_new_patch @patch_bth.c(52),INFO" ID="0x8d5401a5" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[AVDTP][GET_SEP_FAIL] Can not get sep info @patch_bth.c(156),WARNING" ID="0x8d5404e3" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[STACK][RECV_RING_STOP] @patch_bth.c(244),INFO" ID="0x8d5407a5" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="[ATT_GATT] att error rsp opcode:0x%x handle:%d error:0x%x @patch_bth.c(277),ERROR" ID="0x8d5408aa" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[SMP]PAIRING_REQ_RECV @patch_bth.c(506),ERROR" ID="0x8d540fd2" />
                        </MSG_LOG>
\ No newline at end of file
index 8048ad4..01a4a5d 100644 (file)
Binary files a/code/sdk/interim_binary/brandy/libs/bt/evb_standard/freertos/ble/libbt_host_brandy_service.a and b/code/sdk/interim_binary/brandy/libs/bt/evb_standard/freertos/ble/libbt_host_brandy_service.a differ
index 24eae2d..7431d8d 100644 (file)
Binary files a/code/sdk/interim_binary/brandy/libs/bt/evb_standard/freertos/ble/libbt_host_sdk.a and b/code/sdk/interim_binary/brandy/libs/bt/evb_standard/freertos/ble/libbt_host_sdk.a differ
index 1f484a5..f776f74 100644 (file)
Binary files a/code/sdk/interim_binary/brandy/libs/bt/evb_standard/freertos/br/libbt_host_audio_manager_wrapper.a and b/code/sdk/interim_binary/brandy/libs/bt/evb_standard/freertos/br/libbt_host_audio_manager_wrapper.a differ
index 7f13b8d..b52dba1 100644 (file)
Binary files a/code/sdk/interim_binary/brandy/libs/bt/evb_standard/freertos/br/libbt_host_brandy_service.a and b/code/sdk/interim_binary/brandy/libs/bt/evb_standard/freertos/br/libbt_host_brandy_service.a differ
index 47ab7bd..ac5d475 100644 (file)
Binary files a/code/sdk/interim_binary/brandy/libs/bt/evb_standard/freertos/br/libbt_host_sdk.a and b/code/sdk/interim_binary/brandy/libs/bt/evb_standard/freertos/br/libbt_host_sdk.a differ
index d0aa94a..ccbd601 100644 (file)
Binary files a/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/ble/libbt_host_brandy_service.a and b/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/ble/libbt_host_brandy_service.a differ
index e699b73..7a1c780 100644 (file)
Binary files a/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/ble/libbt_host_sdk.a and b/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/ble/libbt_host_sdk.a differ
index dc0cecb..8b569b6 100644 (file)
Binary files a/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/br/libbt_host_audio_manager_wrapper.a and b/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/br/libbt_host_audio_manager_wrapper.a differ
index a165c9f..9a9308f 100644 (file)
Binary files a/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/br/libbt_host_brandy_service.a and b/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/br/libbt_host_brandy_service.a differ
index 3674322..5168795 100644 (file)
Binary files a/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/br/libbt_host_sdk.a and b/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/br/libbt_host_sdk.a differ
index de6c012..f08233b 100644 (file)
Binary files a/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/mini/ble/libbt_host_brandy_service.a and b/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/mini/ble/libbt_host_brandy_service.a differ
index d9daa25..4c2d713 100644 (file)
Binary files a/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/mini/ble/libbt_host_sdk.a and b/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/mini/ble/libbt_host_sdk.a differ
index 53a055e..1148190 100644 (file)
Binary files a/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/mini/br/libbt_host_audio_manager_wrapper.a and b/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/mini/br/libbt_host_audio_manager_wrapper.a differ
index 76035d9..b78256b 100644 (file)
Binary files a/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/mini/br/libbt_host_brandy_service.a and b/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/mini/br/libbt_host_brandy_service.a differ
index 46d41c5..5f08962 100644 (file)
Binary files a/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/mini/br/libbt_host_sdk.a and b/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/mini/br/libbt_host_sdk.a differ
index 77b5f48..30db111 100644 (file)
@@ -441,6 +441,7 @@ typedef void (*hal_exception_dump_callback)(uint32_t id, uint32_t reason, uint32
 void do_hard_fault_handler(exc_context_t *exc_buf_addr);
 #if defined(__LITEOS__)
 void do_fault_handler(uint32_t exc_type, exc_context_t *exc_buff_addr);
+void nmi_fault_handler(uint32_t exc_type, exc_context_t *exc_buff_addr);
 #endif
 #if defined(__FREERTOS__)
 void do_fault_handler_freertos(void);
index 8126000..5c5c54a 100644 (file)
@@ -933,9 +933,7 @@ void do_hard_fault_handler(exc_context_t *exc_buf_addr)
     /* Do not need to manually set false at the end. */\r
     g_is_repeat_exc = true;\r
 #endif\r
-#if defined(BUILD_APPLICATION_STANDARD) && !defined(BUILD_RECOVERY_IMAGE)\r
-    (void)uapi_nv_flush();\r
-#endif\r
+\r
     uint32_t exc_type = exc_buf_addr->mcause;\r
 #if (ARCH == RISCV70)\r
     exc_type &= MCAUSE_MASK;\r
@@ -953,6 +951,11 @@ void do_hard_fault_handler(exc_context_t *exc_buf_addr)
         }\r
 #endif\r
     }\r
+\r
+#if defined(BUILD_APPLICATION_STANDARD) && !defined(BUILD_RECOVERY_IMAGE)\r
+    (void)uapi_nv_flush();\r
+#endif\r
+\r
 #if (SLAVE_BY_BS25_ONLY || SLAVE_BY_WS53_ONLY) && (!defined(NO_TIMEOUT))\r
     g_bt_nmi_reboot = non_os_get_bnmi_mask_status();\r
     g_bt_nmi_mask = non_os_get_bnmi_mask_value();\r
@@ -1096,8 +1099,36 @@ void do_fault_handler_freertos(void)
 void do_fault_handler(uint32_t exc_type, exc_context_t *exc_buff_addr)\r
 {\r
     UNUSED(exc_type);\r
+    g_taskScheduled = 0;\r
     do_hard_fault_handler(exc_buff_addr);\r
 }\r
+\r
+void nmi_fault_handler(uint32_t exc_type, exc_context_t *exc_buff_addr)\r
+{\r
+    UNUSED(exc_type);\r
+    g_taskScheduled = 0;\r
+    uint16_t nmi_raw_status = non_os_get_nmi_raw_status();\r
+    uint16_t xip_cache_int_sts = readw(XIP_CACHE_CTL_INTR_STS);\r
+    uint16_t xip_int_sts = readw(XIP_CTL_INTR_STS);\r
+\r
+    PRINT("nmi fault reg is 0x%x 0x%x 0x%x"NEWLINE, nmi_raw_status, xip_cache_int_sts, xip_int_sts);\r
+\r
+    if (nmi_raw_status & NON_OS_NMI_CWDT_INT_FLAG) {\r
+        do_hard_fault_handler(exc_buff_addr);\r
+    } else {\r
+        cpu_trace_disable();\r
+\r
+        reboot_cause_t reset_cause = hal_set_reset_cause(NMI_INTERRUPT);\r
+        if (reset_cause == REBOOT_CAUSE_APPLICATION_XIP_CACHE) {\r
+            set_fault_reason(readw(XIP_CACHE_CTL_INTR_STS));\r
+        } else if (reset_cause == REBOOT_CAUSE_APPLICATION_XIP_CTRL) {\r
+            set_fault_reason(readw(XIP_CTL_INTR_STS));\r
+        }\r
+\r
+        cpu_utils_reset_chip_with_log((cores_t)MASTER_BY_ALL, reset_cause);\r
+    }\r
+}\r
+\r
 #endif\r
 \r
 void hal_register_exception_dump_callback(hal_exception_dump_callback callback)\r
index b0700e4..46c29f6 100644 (file)
@@ -233,6 +233,9 @@ void pm_core_resume(void)
     cpu_trace_enable_mcpu_repeat();
     storage_device_resume();
     display_resume();
+    if (non_os_get_nmi_raw_status() == 0x2) {
+        uapi_watchdog_kick();
+    }
     pm_misc_regs_resume();
     pm_core_restore_reset_pc();
 }
index 66af433..7b33a9e 100644 (file)
@@ -43,6 +43,7 @@
 #define XIP_CACHE_INTR_MASK                     0xa3006128
 #define XIP_CACHE_WRITE_DATA_DELAY_INTR_MASK    0x8
 #define XIP_CACHE_ENABLE_WRITE_INTR_MASK        0x1
+#define XIP_CACHE_2AHBM_INTR_MASK               0x2
 #define PM_DISPLAY_LOGIC_CRG_RESET 0x570000c0
 #define PM_DISPLAY_PWR_EN_CFG 0x57004034
 #define PM_DISPLAY_PWR_CLOSE_POWER 0x100
@@ -168,17 +169,14 @@ void display_resume(void)
         int ret = bus_api->bus_resume();
         if (ret != 0) { PRINT("bus resume ret =%d\n", ret); }
 #ifndef QSPI_DISPLAY
-        ret = drv_dpu_resume(NULL);
-        if (ret != 0) { PRINT("drv dpu resume ret =%d\n", ret); }
+        (void)drv_dpu_resume(NULL);
 #endif
 #ifdef SUPPORT_GPU_JPEG
         (void)drv_jpeg_resume(NULL);
 #endif
-        ret = drv_vau_resume(NULL);
-        if (ret != 0) { PRINT("drv vau resume ret =%d\n", ret); }
+        (void)drv_vau_resume(NULL);
 #ifdef SUPPORT_GPU_GMMU
-        ret = drv_gmmu_resume(NULL);
-        if (ret != 0) { PRINT("drv_gmmu_resume ret =%d\n", ret); }
+        (void)drv_gmmu_resume(NULL);
 #endif
         if (g_resume_touch_flag != 0) { touch_resume_for_i2c(); }
     }
@@ -186,13 +184,14 @@ void display_resume(void)
 }
 void pm_misc_regs_resume(void)
 {
-    // xip config param needs to re-config
-    non_os_nmi_config(NMI_CWDT, true);
-    non_os_nmi_config(NMI_XIP_CTRL, true);
-    non_os_nmi_config(NMI_XIP_CACHE, true);
     reg16_clrbit(XIP_CACHE_INTR_MASK, XIP_CACHE_WRITE_DATA_DELAY_INTR_MASK);
     reg16_clrbit(XIP_CACHE_INTR_MASK, XIP_CACHE_ENABLE_WRITE_INTR_MASK);
-    
+    reg16_clrbit(XIP_CACHE_INTR_MASK, XIP_CACHE_2AHBM_INTR_MASK);
+
+    // xip config param needs to re-config
+    non_os_nmi_config(NMI_CWDT, true);
+    hal_xip_config_interrupt_type(XIP_0, XIP_INTR_NMI);
+
     // set l2ram for dsp
     pmu1_dsp_l2ram_config(DSP_L2RAM_AREA_SIZE);
 
index 56d17c3..2d7d18b 100644 (file)
@@ -293,6 +293,9 @@ void pm_enter_sleep(uint32_t sleep_ms_val)
         return;
     }
     uapi_rtc_get_current_time_us(0, &rtc_times);
+    if (rtc_times < PM_OS_US_TO_MS && rtc_times > 0) {
+        return;
+    }
     rtc_times /= PM_OS_US_TO_MS;
     if (sleep_ms > rtc_times && rtc_times != 0 && sleep_ms <= g_pm_sleep_threshold) {
         sleep_ms = rtc_times;
@@ -342,6 +345,8 @@ void pm_set_mcu_dynamic_power_flag(uint8_t flag)
 
 void uapi_pm_enter_sleep(void)
 {
+    uint32_t status = pm_os_irq_lock();
     uint32_t sleep_ms = pm_os_get_sleep_ms();
     pm_enter_sleep(sleep_ms);
+    pm_os_irq_restore(status);
 }
index 61c8fd9..887e0f8 100644 (file)
@@ -55,7 +55,7 @@ extern "C" {
 #ifdef NO_UART_DEBUG
 #define jpeg_err(fmt, args...) uapi_diag_error_log(0, fmt, ##args)
 #else
-#define jpeg_err(info) printf("[ERR-JPEG]:%s[%d] %s\n", __FUNCTION__, __LINE__, info)
+#define jpeg_err(fmt, args...)  printf("[JPEG_ERROR][%s %d]"#fmt"\n", __func__, __LINE__, ##args)
 #endif
 /*-------------------------------- struct define ------------------------------------------*/
 
index f209bce..13a94e1 100644 (file)
@@ -9,6 +9,7 @@
 #include "securec.h"
 #include "soc_osal.h"
 #include "psram.h"
+#include "jpeg_struct.h"
 
 /*-------------------------------------- macro define -------------------------------------*/
 
@@ -26,16 +27,19 @@ td_s32 jpeg_mem_alloc_small(jpeg_mem_ptr mem)
     errno_t ret;
 
     if (mem->size == 0) {
+        jpeg_err("mem->size = 0\n");
         return EXT_FAILURE;
     }
 
     mem->vir_buf = (td_char *)malloc(mem->size);
     if (mem->vir_buf == TD_NULL) {
+        jpeg_err("mem alloc fail, size = %u\n", mem->size);
         return EXT_FAILURE;
     }
 
     ret = memset_s(mem->vir_buf, mem->size, 0x0, mem->size);
     if (ret != EOK) {
+        jpeg_err("memset_s fail, mem size = %u\n", mem->size);
         free(mem->vir_buf);
         return EXT_FAILURE;
     }
@@ -55,11 +59,13 @@ td_s32 jpeg_mem_alloc_large(jpeg_mem_ptr mem)
     errno_t ret;
 
     if ((mem->size < JPEG_MEM_SIZE_MIN) || (mem->size > JPEG_MEM_SIZE_MAX)) {
+        jpeg_err("mem size = %u is invalid, need in range[%u, %u]\n", mem->size, JPEG_MEM_SIZE_MIN, JPEG_MEM_SIZE_MAX);
         return EXT_FAILURE;
     }
 
     mem->phy_buf = PSRAM_RESERVE_ADDR;
     if (mem->phy_buf == 0) {
+        jpeg_err("mem->phy_buf = 0, addr = %#X\n", PSRAM_RESERVE_ADDR);
         return EXT_FAILURE;
     }
 
index 080a8fd..14858f9 100644 (file)
Binary files a/code/sdk/middleware/services/gpu/api/rm/brandy-auto-ota-cli/libgfx_rm.a and b/code/sdk/middleware/services/gpu/api/rm/brandy-auto-ota-cli/libgfx_rm.a differ
index 761d39b..f518742 100644 (file)
Binary files a/code/sdk/middleware/services/gpu/api/rm/brandy-auto-ota-ser/libgfx_rm.a and b/code/sdk/middleware/services/gpu/api/rm/brandy-auto-ota-ser/libgfx_rm.a differ
index 314013d..3882fd8 100644 (file)
Binary files a/code/sdk/middleware/services/gpu/api/rm/brandy-native-js-r/libgfx_rm.a and b/code/sdk/middleware/services/gpu/api/rm/brandy-native-js-r/libgfx_rm.a differ
index 8c61a0c..f74e033 100644 (file)
Binary files a/code/sdk/middleware/services/gpu/api/rm/brandy-native-js/libgfx_rm.a and b/code/sdk/middleware/services/gpu/api/rm/brandy-native-js/libgfx_rm.a differ
index 29dbc2b..6b57354 100644 (file)
Binary files a/code/sdk/middleware/services/gpu/api/rm/brandy-target1-r/libgfx_rm.a and b/code/sdk/middleware/services/gpu/api/rm/brandy-target1-r/libgfx_rm.a differ
index 1514f17..a35b38e 100644 (file)
Binary files a/code/sdk/middleware/services/gpu/api/rm/brandy-target1/libgfx_rm.a and b/code/sdk/middleware/services/gpu/api/rm/brandy-target1/libgfx_rm.a differ
index 3af32e5..fc2f5ba 100644 (file)
Binary files a/code/sdk/middleware/services/gpu/api/rm/brandy-target3-r/libgfx_rm.a and b/code/sdk/middleware/services/gpu/api/rm/brandy-target3-r/libgfx_rm.a differ
index 7e68602..c8cf64a 100644 (file)
Binary files a/code/sdk/middleware/services/gpu/api/rm/brandy-target3/libgfx_rm.a and b/code/sdk/middleware/services/gpu/api/rm/brandy-target3/libgfx_rm.a differ
index 25c7b75..ea0fcc7 100644 (file)
Binary files a/code/sdk/middleware/services/gpu/api/rm/brandy-target4-r/libgfx_rm.a and b/code/sdk/middleware/services/gpu/api/rm/brandy-target4-r/libgfx_rm.a differ
index 4cc1212..fad81d7 100644 (file)
Binary files a/code/sdk/middleware/services/gpu/api/rm/brandy-target4/libgfx_rm.a and b/code/sdk/middleware/services/gpu/api/rm/brandy-target4/libgfx_rm.a differ
index 159cc66..892e432 100644 (file)
Binary files a/code/sdk/middleware/services/gpu/api/rm/brandy-target5-r/libgfx_rm.a and b/code/sdk/middleware/services/gpu/api/rm/brandy-target5-r/libgfx_rm.a differ
index e6206e9..0a5933b 100644 (file)
Binary files a/code/sdk/middleware/services/gpu/api/rm/brandy-target5/libgfx_rm.a and b/code/sdk/middleware/services/gpu/api/rm/brandy-target5/libgfx_rm.a differ
index 6ff3279..650d296 100644 (file)
Binary files a/code/sdk/middleware/services/gpu/api/rm/brandy-xts/libgfx_rm.a and b/code/sdk/middleware/services/gpu/api/rm/brandy-xts/libgfx_rm.a differ
index b8f702b..b309e7d 100644 (file)
Binary files a/code/sdk/middleware/services/gpu/api/rm/testsuite-brandy-sdk/libgfx_rm.a and b/code/sdk/middleware/services/gpu/api/rm/testsuite-brandy-sdk/libgfx_rm.a differ
index 98f7dad..7022494 100644 (file)
@@ -30,11 +30,11 @@ extern "C" {
 #define GPU_SRAM_PRE_SIZE   (1 * 1024) /* 1K for vau ip tmp dcmp */
 #define GPU_SRAM_PRE_ADDR   (GPU_SRAM_END + 1 - GPU_SRAM_PRE_SIZE) /* 0x6039FC00 ~ 0x6039FFFF */
 
-#define GPU_SRAM_DRAW_SIZE  (63 * 1024) /* 63K for cmd/data */
-#define GPU_SRAM_DRAW_ADDR  (GPU_SRAM_PRE_ADDR - GPU_SRAM_DRAW_SIZE) /* 0x60390000 ~ 0x6039FC00 */
+#define GPU_SRAM_DRAW_SIZE  (127 * 1024) /* 127K for cmd/data */
+#define GPU_SRAM_DRAW_ADDR  (GPU_SRAM_PRE_ADDR - GPU_SRAM_DRAW_SIZE) /* 0x60380000 ~ 0x6039FC00 */
 
 #define GPU_SRAM_NODE_SIZE  (80 * 1024) /* 80K for node/handle */
-#define GPU_SRAM_NODE_ADDR  (GPU_SRAM_DRAW_ADDR - GPU_SRAM_NODE_SIZE) /* 0x6037C000 ~ 0x60390000 */
+#define GPU_SRAM_NODE_ADDR  (GPU_SRAM_DRAW_ADDR - GPU_SRAM_NODE_SIZE) /* 0x6036C000 ~ 0x60380000 */
 
 #define GPU_SRAM_CMD_SIZE   (GPU_SRAM_PRE_SIZE + GPU_SRAM_DRAW_SIZE + GPU_SRAM_NODE_SIZE)
 
index 9d0b4f0..15e66c1 100644 (file)
@@ -13,6 +13,7 @@
 #include "dpu_disp.h"\r
 #include "dpu_layer.h"\r
 #include "dpu_hal.h"\r
+#include "drv_dpu.h"\r
 \r
 #define SAVE_FILE_DIR "/user"\r
 \r
@@ -42,13 +43,8 @@ td_void dpu_dfx_print_info(void)
 #if defined(SUPPORT_AT_CMD) || defined(SUPPORT_TEST_COMMON) || defined(CONFIG_DIAG_GPU_PROC_SUPPORT)\r
 static td_void dfx_disp_proc_read(void)\r
 {\r
-    td_u32 chksum_y = 0;\r
-    td_u32 chksum_u = 0;\r
-    td_u32 chksum_v = 0;\r
     dpu_disp_info *disp_dev  = dpu_disp_get_info();\r
 \r
-    dpu_hal_disp_get_chksum(&chksum_y, &chksum_u, &chksum_v);\r
-\r
     dpu_print("\n-----------DISP proc-----------\n");\r
     dpu_print("work_mode           :%-6d\n", disp_dev->timing.is_cmd_mode ? 1 : 0);\r
     dpu_print("disp_open           :%-6d\n", disp_dev->is_open ? 1 : 0);\r
@@ -74,6 +70,15 @@ static td_void dfx_disp_proc_read(void)
               g_dpu_dfx_info.frm_done_cnt, g_dpu_dfx_info.te_signal_cnt);\r
 \r
     dpu_print("suspend/resume      :%-6u/%-6u\n", g_dpu_dfx_info.suspend_cnt, g_dpu_dfx_info.resume_cnt);\r
+\r
+    td_u32 chksum_y = 0;\r
+    td_u32 chksum_u = 0;\r
+    td_u32 chksum_v = 0;\r
+    if (drv_dpu_get_suspend_flag() == TD_FALSE) {\r
+        dpu_hal_disp_get_chksum(&chksum_y, &chksum_u, &chksum_v);\r
+    } else {\r
+        dpu_print("dpu is in lowpower state, chksum_out is invalid!");\r
+    }\r
     dpu_print("chksum[RGB]         :%#x/%#x/%#x\n", chksum_y, chksum_u, chksum_v);\r
 \r
     return;\r
@@ -81,8 +86,6 @@ static td_void dfx_disp_proc_read(void)
 \r
 static td_void dfx_layer_proc_read(td_u32 layer_id)\r
 {\r
-    td_u32 chksum_ar = 0;\r
-    td_u32 chksum_gb = 0;\r
     dpu_layer_dev *layer_dev = TD_NULL;\r
 \r
     if (layer_id < DRV_DPU_LAYER_ID1 || layer_id > DRV_DPU_MAX_LAYER_ID) {\r
@@ -90,8 +93,6 @@ static td_void dfx_layer_proc_read(td_u32 layer_id)
         return;\r
     }\r
 \r
-    dpu_hal_layer_get_fdr_chksum(layer_id, &chksum_ar, &chksum_gb);\r
-\r
     layer_dev = dpu_layer_get_dev(layer_id);\r
     if (layer_dev != TD_NULL) {\r
         dpu_print("-----------LAYER%u proc---------\n", layer_id);\r
@@ -105,7 +106,6 @@ static td_void dfx_layer_proc_read(td_u32 layer_id)
         dpu_print("format          :%-6u\n", layer_dev->run_info.fmt);\r
         dpu_print("cmp_mode        :%-6u\n", layer_dev->run_info.compress_mode);\r
         dpu_print("vblank          :%-6d\n", layer_dev->vblank ? 1 : 0);\r
-        dpu_print("chksum[ar/gb]   :%#x/%#x\n", chksum_ar, chksum_gb);\r
 \r
         dpu_print("disp_rect       :%-6d/%-6d/%-6u/%-6u\n",\r
             layer_dev->run_info.disp_rect.x, layer_dev->run_info.disp_rect.y,\r
@@ -115,6 +115,15 @@ static td_void dfx_layer_proc_read(td_u32 layer_id)
             layer_dev->run_info.crop_rect.width, layer_dev->run_info.crop_rect.height);\r
     }\r
 \r
+    td_u32 chksum_ar = 0;\r
+    td_u32 chksum_gb = 0;\r
+    if (drv_dpu_get_suspend_flag() == TD_FALSE) {\r
+        dpu_hal_layer_get_fdr_chksum(layer_id, &chksum_ar, &chksum_gb);\r
+    } else {\r
+        dpu_print("dpu is in lowpower state, chksum_in is invalid!");\r
+    }\r
+    dpu_print("chksum[ar/gb]   :%#x/%#x\n", chksum_ar, chksum_gb);\r
+\r
     return;\r
 }\r
 \r
@@ -162,6 +171,15 @@ td_s32 dfx_dpu_save_fb_enable(int argc, const char *argv[])
 }\r
 #endif\r
 \r
+td_void dpu_dfx_proc_read(td_void)\r
+{\r
+#if defined(SUPPORT_AT_CMD) || defined(SUPPORT_TEST_COMMON) || defined(CONFIG_DIAG_GPU_PROC_SUPPORT)\r
+    dfx_layer_proc_read(0);\r
+    dfx_layer_proc_read(1);\r
+    dfx_disp_proc_read();\r
+#endif\r
+}\r
+\r
 static td_void dpu_dfx_save_fb_data_all(const drv_dpu_surface *surface)\r
 {\r
     if (surface == TD_NULL) {\r
@@ -255,3 +273,40 @@ td_void dfx_dpu_save_fb_to_file(drv_dpu_layer_id layer_id, drv_dpu_surface *surf
         dpu_dfx_save_fb_data_part(surface);\r
     }\r
 }\r
+\r
+static td_void read_reg_with_cnt(td_u32 addr, td_u32 cnt)\r
+{\r
+    for (uint32_t i = 0; i < cnt; i++) {\r
+        volatile uint32_t value;\r
+        uapi_reg_read(addr + i * 4, value); // 4: 4byte\r
+        if (i % 4 == 0) { // 4: 4byte\r
+            if (i != 0) {\r
+                dpu_print("\n");\r
+            }\r
+            dpu_print("%X =", addr + i * 4); // 4: 4byte\r
+        }\r
+        dpu_print(" %08X", value);\r
+        if (i == cnt - 1) {\r
+            dpu_print("\n");\r
+        }\r
+    }\r
+}\r
+\r
+td_void print_mipi_and_dpu_reg(int argc, const char *argv[])\r
+{\r
+    uapi_unused(argc);\r
+    uapi_unused(argv);\r
+\r
+    printf("----------------mipi reg--------------------\n");\r
+    read_reg_with_cnt(0x56000000, 0x100);\r
+    printf("----------------dpu  reg--------------------\n");\r
+    read_reg_with_cnt(0x56020000, 0x24);\r
+    read_reg_with_cnt(0x56020300, 0x10);\r
+    read_reg_with_cnt(0x56020400, 0x20);\r
+    read_reg_with_cnt(0x56020c00, 0x10);\r
+    read_reg_with_cnt(0x56027000, 0x50);\r
+    read_reg_with_cnt(0x56027800, 0x50);\r
+    read_reg_with_cnt(0x5602d000, 0x100);\r
+    read_reg_with_cnt(0x56030e00, 0x100);\r
+    read_reg_with_cnt(0x56031000, 0x100);\r
+}\r
index e088a86..ef65ea9 100644 (file)
@@ -67,6 +67,13 @@ enum {
 #define dpu_dbg(fmt, args...)\r
 #endif\r
 \r
+typedef struct {\r
+    td_u32 phy_addr;\r
+    td_u32 width;\r
+    td_u32 height;\r
+    td_u32 stride;\r
+} dpu_dfx_layer_info;\r
+\r
 typedef struct {\r
     td_bool print_en;\r
     td_bool save_en;\r
@@ -99,6 +106,8 @@ typedef struct {
     td_u32 last_te_time_us;\r
 \r
     td_u32 one_sec_ago; /* for fps calculate */\r
+\r
+    dpu_dfx_layer_info layer_info[DRV_DPU_MAX_LAYER_ID + 1];\r
 } dpu_dfx_info;\r
 \r
 td_void dpu_dfx_print_info(void);\r
@@ -107,6 +116,8 @@ td_s32 dfx_get_proc_info(int argc, const char *argv[]);
 td_s32 dfx_dpu_print(int argc, const char *argv[]);\r
 td_s32 dfx_dpu_save_fb_enable(int argc, const char *argv[]);\r
 td_void dfx_dpu_save_fb_to_file(drv_dpu_layer_id layer_id, drv_dpu_surface *surface);\r
+td_void dpu_dfx_proc_read(td_void);\r
+td_void print_mipi_and_dpu_reg(int argc, const char *argv[]);\r
 \r
 static inline td_void dpu_dfx_get_time_us(td_u32 *time_us)\r
 {\r
index 76d7580..0fd0888 100644 (file)
@@ -42,6 +42,18 @@ static td_void drv_dpu_set_suspend_flag(td_bool flag)
     osal_spin_unlock_irqrestore(&disp_info->disp_lock, &flags);\r
 }\r
 \r
+td_bool drv_dpu_get_suspend_flag(td_void)\r
+{\r
+    unsigned long flags = 0;\r
+    dpu_disp_info *disp_info = dpu_disp_get_info();\r
+\r
+    osal_spin_lock_irqsave(&disp_info->disp_lock, &flags);\r
+    td_bool suspend_flag = g_dpu_suspend_flag;\r
+    osal_spin_unlock_irqrestore(&disp_info->disp_lock, &flags);\r
+    return suspend_flag;\r
+}\r
+\r
+\r
 td_s32 drv_dpu_suspend(td_void *private_data)\r
 {\r
     uapi_unused(private_data);\r
index 03446a4..8aaac9b 100644 (file)
@@ -151,18 +151,22 @@ td_void dpu_isr_deinit(void)
 td_void dpu_isr_wait_finish(void)\r
 {\r
     td_s32 ret;\r
+    static td_u32 dpu_timeout_cnt = 0;\r
     dpu_dfx_info *dfx_info = dpu_dfx_get_info();\r
 \r
     ret = osal_wait_timeout_interruptible(&g_dpu_isr_info.finish_event,\r
                                           isr_get_finish_done, TD_NULL, 500); /* 500 ms */\r
     if (ret <= 0) {\r
+        if (dpu_timeout_cnt < 0x3) {\r
+            dpu_dfx_proc_read();\r
+            print_mipi_and_dpu_reg(0, TD_NULL);\r
+        }\r
+        dpu_timeout_cnt++;\r
         dfx_info->refresh_total = 0;\r
         dfx_info->frm_done_total = 0;\r
         dpu_err("osal_wait_timeout!!!!");\r
         return;\r
     }\r
-\r
-    return;\r
 }\r
 \r
 td_void dpu_isr_wait_te_signal(void)\r
@@ -192,6 +196,7 @@ td_s32 dpu_wait_all_finish(td_void)
     dpu_dfx_info *dfx_info = dpu_dfx_get_info();\r
     const td_u32 wait_time = 200;\r
     td_u32 cnt = 0;\r
+    static td_u32 dpu_timeout_cnt = 0;\r
 \r
     while (cnt++ < wait_time) {\r
         osal_spin_lock_irqsave(&g_dpu_isr_info.isr_lock, &flag);\r
@@ -204,6 +209,11 @@ td_s32 dpu_wait_all_finish(td_void)
     }\r
     if (cnt >= wait_time) {\r
         dpu_err("dpu_wait_all_finish timeout!!!!");\r
+        if (dpu_timeout_cnt < 0x2) {\r
+            dpu_dfx_proc_read();\r
+            print_mipi_and_dpu_reg(0, TD_NULL);\r
+        }\r
+        dpu_timeout_cnt++;\r
         return EXT_FAILURE;\r
     }\r
     return EXT_SUCCESS;\r
index b02f228..706ccc6 100644 (file)
@@ -9,6 +9,7 @@
 #include "dpu_hal.h"\r
 #include "dpu_dfx.h"\r
 #include "pm.h"\r
+#include "mipi_tx.h"\r
 \r
 #define DRV_DPU_MAX_LAYER_WIDTH  640\r
 #define DRV_DPU_MAX_LAYER_HEIGHT 640\r
@@ -571,6 +572,7 @@ td_s32 dpu_layer_create(const drv_dpu_layer_info *layer_info)
 \r
     layer_dev->create_cnt++;\r
     layer_dev->is_create = TD_TRUE;\r
+    layer_dev->update_flag = TD_TRUE;\r
 \r
     osal_spin_unlock_irqrestore(&layer_dev->layer_lock, &flag);\r
 \r
@@ -785,6 +787,12 @@ td_s32 dpu_layer_set_info(drv_dpu_layer_id layer_id, const drv_dpu_surface *surf
     dpu_layer_update_layer_info(layer_dev, surface);\r
     osal_spin_unlock_irqrestore(&layer_dev->layer_lock, &flag);\r
 \r
+    dpu_dfx_info *dfx_info = dpu_dfx_get_info();\r
+    dfx_info->layer_info[layer_id].phy_addr = surface->phy_addr;\r
+    dfx_info->layer_info[layer_id].width = surface->width;\r
+    dfx_info->layer_info[layer_id].height = surface->height;\r
+    dfx_info->layer_info[layer_id].stride = surface->stride;\r
+\r
     return EXT_SUCCESS;\r
 }\r
 \r
@@ -893,6 +901,10 @@ td_s32 dpu_layer_refresh(void)
     dpu_disp_set_timing_and_screen_region();\r
     dpu_disp_set_chnl_reg_up();\r
     dpu_isr_clear_finish_flag();\r
+\r
+    if (uapi_mipi_tx_is_in_ulps() == true) {\r
+        dpu_err("mipi_tx_is_not_exit_ulps, can not flush\n");\r
+    }\r
     dpu_hal_disp_set_frame_ready();\r
 \r
     if (need_cur_done == TD_TRUE) {\r
index a55638f..7b2fd68 100644 (file)
@@ -16,6 +16,7 @@ extern "C" {
 \r
 td_s32 drv_dpu_suspend(td_void *private_data);\r
 td_s32 drv_dpu_resume(td_void *private_data);\r
+td_bool drv_dpu_get_suspend_flag(td_void);\r
 \r
 td_s32 uapi_dpu_module_init(void);\r
 td_void uapi_dpu_module_exit(void);\r
index 6ae9e5b..3175790 100644 (file)
@@ -16,6 +16,7 @@ extern "C" {
 \r
 td_s32 drv_vau_suspend(td_void *private_data);\r
 td_s32 drv_vau_resume(td_void *private_data);\r
+td_bool drv_vau_get_suspend_flag(td_void);\r
 \r
 td_s32 uapi_vau_module_init(td_void);\r
 td_void uapi_vau_module_exit(td_void);\r
index d2ea85a..e1dd983 100644 (file)
@@ -8,6 +8,7 @@
 #include "soc_osal.h"\r
 #include "vau_list.h"\r
 #include "vau_mem.h"\r
+#include "drv_vau.h"\r
 \r
 /*-------------------------------- macro define -------------------------------------------*/\r
 \r
@@ -81,8 +82,6 @@ static inline td_void vau_dfx_print_func_info(td_void)
 \r
 static td_void vau_dfx_print_func_time_info(td_void)\r
 {\r
-    uapi_reg_read(HAL_VAU_LIST_PFCNT, g_vau_dfx_info.func_info.time_info.list_pfcnt);\r
-\r
     vau_print("-----------time info-----------\n");\r
     vau_print("create_cost(us)      :%u\n", (td_u32)(g_vau_dfx_info.func_info.time_info.create_cost));\r
     vau_print("destroy_cost(us)     :%u\n", (td_u32)(g_vau_dfx_info.func_info.time_info.destroy_cost));\r
@@ -90,20 +89,20 @@ static td_void vau_dfx_print_func_time_info(td_void)
     vau_print("compose_cost(us)     :%u\n", (td_u32)(g_vau_dfx_info.func_info.time_info.compose_cost));\r
     vau_print("submit_cost(us)      :%u\n", (td_u32)(g_vau_dfx_info.func_info.time_info.submit_cost));\r
     vau_print("wait done cose(us)   :%u\n", (td_u32)(g_vau_dfx_info.func_info.time_info.wait_for_done_cost));\r
+    vau_print("suspend/resume       :%u/%u\n", g_vau_dfx_info.suspend_cnt, g_vau_dfx_info.resume_cnt);\r
+\r
+    if (drv_vau_get_suspend_flag() == TD_FALSE) {\r
+        uapi_reg_read(HAL_VAU_LIST_PFCNT, g_vau_dfx_info.func_info.time_info.list_pfcnt);\r
+    } else {\r
+        vau_print("vau is in lowpower state, list pfcnt is invalid!");\r
+    }\r
     vau_print("list pfcnt/time_us   :%u/%u\n", g_vau_dfx_info.func_info.time_info.list_pfcnt,\r
               g_vau_dfx_info.func_info.time_info.list_pfcnt / 176); /* 0.9V AXI 176M */\r
-    vau_print("suspend/resume       :%u/%u\n", g_vau_dfx_info.suspend_cnt, g_vau_dfx_info.resume_cnt);\r
 }\r
 \r
 static td_void vau_dfx_print_func_cnt_info(td_void)\r
 {\r
     td_u32 cnt = g_vau_dfx_info.func_info.func_cnt.submit_cnt - g_vau_dfx_info.func_info.func_cnt.submit_usr_cnt;\r
-    td_u32 hard_start_cnt;\r
-    td_u32 hard_list_finish_cnt;\r
-    td_u32 hard_int_cnt;\r
-    uapi_reg_read(HAL_VAU_START_CNT, hard_start_cnt);\r
-    uapi_reg_read(HAL_VAU_LIST_FINISH_CNT, hard_list_finish_cnt);\r
-    uapi_reg_read(HAL_VAU_INT_CNT, hard_int_cnt);\r
 \r
     vau_print("-----------call count info-----------\n");\r
     vau_print("create_cnt       :%u\n", g_vau_dfx_info.func_info.func_cnt.create_cnt);\r
@@ -128,6 +127,18 @@ static td_void vau_dfx_print_func_cnt_info(td_void)
     vau_print(" isr zero value  :%u)\n", g_vau_dfx_info.func_info.isr_cnt.isr_status_zero_value_cnt);\r
     vau_print("tasklet_func_cnt :%u\n", g_vau_dfx_info.func_info.func_cnt.tasklet_func_cnt);\r
     vau_print("execute_node_cnt :%u\n", g_vau_dfx_info.func_info.func_cnt.execute_node_cnt);\r
+\r
+    td_u32 hard_start_cnt = 0;\r
+    td_u32 hard_list_finish_cnt = 0;\r
+    td_u32 hard_int_cnt = 0;\r
+    if (drv_vau_get_suspend_flag() == TD_FALSE) {\r
+        uapi_reg_read(HAL_VAU_START_CNT, hard_start_cnt);\r
+        uapi_reg_read(HAL_VAU_LIST_FINISH_CNT, hard_list_finish_cnt);\r
+        uapi_reg_read(HAL_VAU_INT_CNT, hard_int_cnt);\r
+    } else {\r
+        vau_print("vau is in lowpower state, hard_int_cnt/hard_start_cnt/hard_list_finish_cnt is invalid!");\r
+    }\r
+\r
     // hard int count\r
     vau_print("hard int cnt     :%u ", hard_int_cnt);\r
     vau_print("(hard start cnt  :%u", hard_start_cnt);\r
@@ -241,3 +252,20 @@ vau_dfx_info *vau_dfx_get_info(td_void)
 {\r
     return &g_vau_dfx_info;\r
 }\r
+\r
+td_s32 vau_dfx_enable_api_print(int argc, const char *argv[])\r
+{\r
+    if (argc < 1) {\r
+        vau_print("should input enable switch 0/1\n");\r
+        return EXT_FAILURE;\r
+    }\r
+\r
+    g_vau_dfx_info.is_print_vau_api = (td_bool)strtoul(argv[0x0], TD_NULL, 10); /* 10: index */\r
+    if (g_vau_dfx_info.is_print_vau_api) {\r
+        vau_print("open vau_api_print\n");\r
+    } else {\r
+        vau_print("close vau_api_print\n");\r
+    }\r
+\r
+    return EXT_SUCCESS;\r
+}\r
index cf17148..63ca89e 100644 (file)
@@ -172,6 +172,7 @@ typedef struct {
     td_u32 resume_cnt;\r
     dfx_mem_info mem_info;\r
     dfx_func_info func_info;\r
+    td_bool is_print_vau_api;\r
 } vau_dfx_info;\r
 \r
 /*-------------------------------- func declares ------------------------------------------*/\r
index 2cfaf10..61c63ec 100644 (file)
@@ -286,7 +286,6 @@ td_void vau_hal_apb_sram_ctrl(td_bool lp_en)
     return;\r
 }\r
 \r
-#ifdef CONFIG_VAU_DFX_DEBUG\r
 td_void vau_hal_apb_print_reg(td_u32 base, td_u32 start, td_u32 end)\r
 {\r
     volatile td_u32 value;\r
@@ -298,16 +297,14 @@ td_void vau_hal_apb_print_reg(td_u32 base, td_u32 start, td_u32 end)
                   addr[i * 4], addr[i * 4 + 1], addr[i * 4 + 2], addr[i * 4 + 3]); /* 2,3,4:index */\r
     }\r
 \r
-    if (vau_dfx_check_mask(VAU_DBG_MASK_PRINT_PATH)) {\r
-        uapi_reg_read(HAL_VAU_DRAW_PATH_CMD_ADDR, value);\r
-        td_u8 *cmds = (td_u8 *)(uintptr_t)value;\r
-        uapi_reg_read(HAL_VAU_DRAW_PATH_DATA_ADDR, value);\r
-        td_float *datas = (td_float *)(uintptr_t)value;\r
-        uapi_reg_read(HAL_VAU_DRAW_PATH_NUM_ADDR, value);\r
-        u_vau_draw_path_num num = { .u32 = value };\r
+    uapi_reg_read(HAL_VAU_DRAW_PATH_CMD_ADDR, value);\r
+    td_u8 *cmds = (td_u8 *)(uintptr_t)value;\r
+    uapi_reg_read(HAL_VAU_DRAW_PATH_DATA_ADDR, value);\r
+    td_float *datas = (td_float *)(uintptr_t)value;\r
+    uapi_reg_read(HAL_VAU_DRAW_PATH_NUM_ADDR, value);\r
+    u_vau_draw_path_num num = { .u32 = value };\r
 \r
-        vau_dfx_print_path(cmds, datas, num.bits.cmd_num, num.bits.data_num);\r
-    }\r
+    vau_dfx_print_path(cmds, datas, num.bits.cmd_num, num.bits.data_num);\r
 \r
     return;\r
 }\r
@@ -317,6 +314,3 @@ td_void vau_hal_apb_print_all_reg(td_void)
     vau_hal_apb_print_reg(HAL_VAU_REG_BASEADDR, 0, 0x40AC);\r
     return;\r
 }\r
-\r
-#endif\r
-\r
index 99b9c5d..784391a 100644 (file)
@@ -15,6 +15,7 @@
 #include "vau_dfx.h"\r
 #include "vau_pre_process.h"\r
 #include "vau_handle.h"\r
+#include "drv_vau_struct.h"\r
 \r
 #define DRV_VAU_IOCTL_CMD_NUM 20\r
 \r
@@ -44,6 +45,17 @@ static td_void drv_vau_set_suspend_flag(td_bool flag)
     osal_spin_unlock_irqrestore(&vau_handle_list->lock, &flags);\r
 }\r
 \r
+td_bool drv_vau_get_suspend_flag(td_void)\r
+{\r
+    unsigned long flags = 0;\r
+    vau_handle_mgr *vau_handle_list = vau_handle_list_get();\r
+\r
+    osal_spin_lock_irqsave(&vau_handle_list->lock, &flags);\r
+    td_bool suspend_flag = g_vau_suspend_flag;\r
+    osal_spin_unlock_irqrestore(&vau_handle_list->lock, &flags);\r
+    return suspend_flag;\r
+}\r
+\r
 td_s32 drv_vau_suspend(td_void *private_data)\r
 {\r
     uapi_unused(private_data);\r
@@ -128,6 +140,37 @@ static osal_dev g_vau_register_data = {
     .pmops = &g_vau_ops,\r
 };\r
 \r
+static td_void vau_print_api(td_u32 ioctl_cmd, td_void *para)\r
+{\r
+    td_handle handle = *(td_handle *)para;\r
+\r
+    if (ioctl_cmd == DRV_VAU_CMD_CREATE) {\r
+        vau_err("uapi_vau_create:handle = %u", handle);\r
+    } else if (ioctl_cmd == DRV_VAU_CMD_DESTROY) {\r
+        vau_err("uapi_vau_destroy:handle = %u", handle);\r
+    } else if (ioctl_cmd == DRV_VAU_CMD_CANCEL) {\r
+        vau_err("uapi_vau_cancel:handle = %u", handle);\r
+    } else if (ioctl_cmd == DRV_VAU_CMD_WAIT_FOR_DONE) {\r
+        vau_err("uapi_vau_wait_for_done:handle = %u", handle);\r
+    } else if (ioctl_cmd == DRV_VAU_CMD_FILL) {\r
+        drv_vau_blit_cmd *blit_cmd = (drv_vau_blit_cmd *)para;\r
+        handle = blit_cmd->hanlde;\r
+        vau_err("uapi_vau_fill:handle = %u", handle);\r
+    } else if (ioctl_cmd == DRV_VAU_CMD_BLIT) {\r
+        drv_vau_blit_cmd *blit_cmd = (drv_vau_blit_cmd *)para;\r
+        handle = blit_cmd->hanlde;\r
+        vau_err("uapi_vau_render:handle = %u", handle);\r
+    } else if (ioctl_cmd == DRV_VAU_CMD_COMPOSE) {\r
+        drv_vau_blit_cmd *blit_cmd = (drv_vau_blit_cmd *)para;\r
+        handle = blit_cmd->hanlde;\r
+        vau_err("uapi_vau_compose:handle = %u", handle);\r
+    } else if (ioctl_cmd == DRV_VAU_CMD_SUBMIT) {\r
+        drv_vau_submit_cmd *submit_cmd = (drv_vau_submit_cmd *)para;\r
+        handle = submit_cmd->handle;\r
+        vau_err("uapi_vau_submit:handle = %u", handle);\r
+    } else {\r
+    }\r
+}\r
 td_s32 vau_ioctl(td_s32 module_idx, td_ulong ioctl_cmd, td_void *para)\r
 {\r
     uapi_unused(module_idx);\r
@@ -142,7 +185,13 @@ td_s32 vau_ioctl(td_s32 module_idx, td_ulong ioctl_cmd, td_void *para)
         return EXT_FAILURE;\r
     }\r
 \r
-    return (td_s32)g_vau_ioctl_cmd_list[ioctl_cmd].handler((td_u32)ioctl_cmd, para, TD_NULL);\r
+    td_s32 ret =  (td_s32)g_vau_ioctl_cmd_list[ioctl_cmd].handler((td_u32)ioctl_cmd, para, TD_NULL);\r
+    \r
+    vau_dfx_info *vau_info = vau_dfx_get_info();\r
+    if (vau_info->is_print_vau_api) {\r
+        vau_print_api((td_u32)ioctl_cmd, para);\r
+    }\r
+    return ret;\r
 }\r
 \r
 static td_s32 vau_register_device(td_void)\r
index 61021a3..61e957f 100644 (file)
@@ -9,6 +9,7 @@
 #include "vau_handle.h"
 #include "vau_hal.h"
 #include "vau_hal_apb.h"
+#include "drv_vau.h"
 
 static osal_wait g_vau_block_job_wq; /* wait queue used to block */
 static vau_sw_job_mgr *g_vau_sw_job_list;
@@ -345,11 +346,7 @@ static td_void vau_list_timeout_resume(td_void)
 
     vau_mem_check_psram_addr();
     vau_dfx_proc_read(0, TD_NULL);
-#ifdef CONFIG_VAU_DFX_DEBUG
-    if (vau_dfx_check_mask(VAU_DBG_MASK_PRINT_ERROR_REG)) {
-        vau_hal_apb_print_all_reg();
-    }
-#endif
+    vau_hal_apb_print_all_reg();
     if (!g_vau_sw_job_list->dbg.no_reset) {
         vau_hal_init();
     } else {
index 2715788..8669dfe 100644 (file)
Binary files a/code/sdk/middleware/services/gui/hal/display/brandy-auto-ota-cli/libdisplay_gfx.a and b/code/sdk/middleware/services/gui/hal/display/brandy-auto-ota-cli/libdisplay_gfx.a differ
index 0350cd3..270e21e 100644 (file)
Binary files a/code/sdk/middleware/services/gui/hal/display/brandy-auto-ota-ser/libdisplay_gfx.a and b/code/sdk/middleware/services/gui/hal/display/brandy-auto-ota-ser/libdisplay_gfx.a differ
index 59bc0ed..19047e8 100644 (file)
Binary files a/code/sdk/middleware/services/gui/hal/display/brandy-native-js/libdisplay_gfx.a and b/code/sdk/middleware/services/gui/hal/display/brandy-native-js/libdisplay_gfx.a differ
index 0837f3f..11ca32e 100644 (file)
Binary files a/code/sdk/middleware/services/gui/hal/display/brandy-target1/libdisplay_gfx.a and b/code/sdk/middleware/services/gui/hal/display/brandy-target1/libdisplay_gfx.a differ
index 720c006..a3d1483 100644 (file)
Binary files a/code/sdk/middleware/services/gui/hal/display/brandy-target3/libdisplay_gfx.a and b/code/sdk/middleware/services/gui/hal/display/brandy-target3/libdisplay_gfx.a differ
index 5c4300b..2d58be4 100644 (file)
Binary files a/code/sdk/middleware/services/gui/hal/display/brandy-target5/libdisplay_gfx.a and b/code/sdk/middleware/services/gui/hal/display/brandy-target5/libdisplay_gfx.a differ
index 61eca72..36e4f2d 100644 (file)
Binary files a/code/sdk/middleware/services/gui/hal/display/brandy-xts/libdisplay_gfx.a and b/code/sdk/middleware/services/gui/hal/display/brandy-xts/libdisplay_gfx.a differ
index 88f5cde..7695c17 100644 (file)
Binary files a/code/sdk/middleware/services/gui/lvgl/brandy-target1/liblvgl_proprietary_mini.a and b/code/sdk/middleware/services/gui/lvgl/brandy-target1/liblvgl_proprietary_mini.a differ
index b9c4159..185a1b4 100644 (file)
Binary files a/code/sdk/middleware/services/gui/lvgl/brandy-target5/liblvgl_proprietary.a and b/code/sdk/middleware/services/gui/lvgl/brandy-target5/liblvgl_proprietary.a differ
index 02e9b1b..4c5042a 100644 (file)
@@ -3,10 +3,11 @@
  */
 
 #include "lv_input_device.h"
-#include "input_manager.h"
 #if LV_USE_LOW_POWER_MANAGER
 #include "lv_low_power_manager.h"
 #endif
+#include "input_manager.h"
+#include "stdlib.h"
 
 static lv_indev_data_t g_curTouchData = {0};
 static bool g_isPendingTouchData = false;
index 6e0a9d6..1666ee2 100644 (file)
Binary files a/code/sdk/middleware/services/gui/uikit/brandy-auto-ota-cli/libuikit_ext.a and b/code/sdk/middleware/services/gui/uikit/brandy-auto-ota-cli/libuikit_ext.a differ
index b5452d0..04e7a6a 100644 (file)
Binary files a/code/sdk/middleware/services/gui/uikit/brandy-auto-ota-ser/libuikit_ext.a and b/code/sdk/middleware/services/gui/uikit/brandy-auto-ota-ser/libuikit_ext.a differ
index 6624747..a163d4e 100644 (file)
Binary files a/code/sdk/middleware/services/gui/uikit/brandy-native-js/libuikit_ext.a and b/code/sdk/middleware/services/gui/uikit/brandy-native-js/libuikit_ext.a differ
index 2f4a90c..97a2fe0 100644 (file)
Binary files a/code/sdk/middleware/services/gui/uikit/brandy-target3/libuikit_ext.a and b/code/sdk/middleware/services/gui/uikit/brandy-target3/libuikit_ext.a differ
index fbe92fb..a3bd205 100644 (file)
Binary files a/code/sdk/middleware/services/gui/uikit/brandy-xts/libuikit_ext.a and b/code/sdk/middleware/services/gui/uikit/brandy-xts/libuikit_ext.a differ
index f29ad3b..d4c9233 100644 (file)
@@ -55,13 +55,15 @@ public:
      */
     ~TextExt() override;
 
+    void SetText(const char* text) override;
+
 #if ENABLE_FONT_VECTOR_GLOBAL
     /**
      * @brief Set the text string by text id.
      *
      * @param textId Index of text array.
      */
-    void SetText(uint16_t textId);
+    void SetTextId(uint16_t textId);
 
     /**
      * @brief Reset text string by text id.
@@ -93,7 +95,6 @@ protected:
 #endif
 
 private:
-    using Text::SetText;
     uint16_t textId_ = FontGlobalManager::INVALID_TEXT_ID;
 #if ENABLE_SHAPING
     bool isNeedShaping_ = 0;
index 29a9586..3643000 100644 (file)
@@ -218,6 +218,15 @@ public:
         blurRadius_ = radius;
     }
 
+    /**
+     * @brief Set the compensation distance after a finger lifts the screen.
+     * @param value Indicates the compensation distance to set.
+     * @param direction The target direction: 0 means horizontal direction, 1 means vertical direction.
+     * @since 1.0
+     * @version 1.0
+     */
+    void SetSwipeACCLevel(uint8_t value, uint8_t direction = 0);
+
 private:
     using UIViewGroup::Remove;
     uint16_t blurRadius_ = 10;
index f39d0bf..32d1006 100644 (file)
@@ -36,6 +36,7 @@
 #define GRAPHIC_UI_LIST_EXT_H\r
 #include "graphic_config.h"\r
 #include "components/ui_list.h"\r
+#include "gfx_utils/vector.h"\r
 \r
 namespace OHOS {\r
 /**\r
@@ -83,10 +84,24 @@ public:
         scaleFactor_ = value;\r
     }\r
 \r
+    /**\r
+     * @brief Sets the spacing between items.\r
+     *\r
+     * @param value Indicates spacing between items.\r
+     */\r
+    void SetItemSpace(uint16_t value)\r
+    {\r
+        space_ = value;\r
+    }\r
+\r
     void ReMeasure() override;\r
 \r
 private:\r
+    void ModifyItemSpace(int16_t centerIndex);\r
+    void ModifyMidAdjSpace(int16_t centerIndex, int16_t& prevIndex, int16_t& nextIndex);\r
     int16_t scaleFactor_ = 400; // 400: default scale factor.\r
+    uint16_t space_ = 0;\r
+    Graphic::Vector<UIView*> items_;\r
 };\r
 } // OHOS\r
 #endif // GRAPHIC_UI_LIST_EXT_H\r
index 4a4cd61..29c4c28 100644 (file)
@@ -294,10 +294,7 @@ public:
      * @since 1.0\r
      * @version 1.0\r
      */\r
-    Vector2<float> GetScaleCenter()\r
-    {\r
-        return itemScaleCenter_;\r
-    }\r
+    Vector2<float> GetScaleCenter();\r
 \r
     void ReMeasure() override;\r
     void OnDraw(BufferInfo& gfxDstBuffer, const Rect& invalidatedArea) override;\r
@@ -306,19 +303,13 @@ public:
 private:\r
     void InitUILabelExt();\r
     void InitUIImageView();\r
-    void SetScaleCenter();\r
 \r
     UIImageView* image_;\r
     UILabelExt* label_;\r
-    Rect textOrigRect_;\r
-    Rect imgOrigRect_;\r
     uint8_t labelLineBreakMode_;\r
     bool needRefresh_;\r
     int16_t imgOffset_ = 0;\r
     int16_t textOffset_ = 20; // 20: default text offset.\r
-    Vector2<float> textScaleCenter_ = {0.0, 0.0};\r
-    Vector2<float> imgScaleCenter_ = {0.0, 0.0};\r
-    Vector2<float> itemScaleCenter_ = {0.0, 0.0};\r
     ScaleAlignMode transAlignMode_ = ScaleAlignMode::ALIGN_ITEM_CENTER;\r
     UIImageView::ImageResizeMode resizeMode_ = UIImageView::CONTAIN;\r
 };\r
index 863756e..1727e01 100644 (file)
@@ -94,6 +94,7 @@ protected:
     void ReMeasure() override;\r
 \r
 private:\r
+    void ModifyMidAdjSpace(int16_t centerIndex, int16_t& prevIndex, int16_t& nextIndex);\r
     TransformFunc transformFunc_;\r
     uint16_t space_;\r
     Graphic::Vector<UIView*> items_;\r
index c2519d1..9e1d450 100644 (file)
@@ -18,7 +18,6 @@
 #include <cstdlib>
 #include "tcxo.h"
 #include "graphic_config.h"
-#include "gfx_utils/vector.h"
 #include "components/ui_view.h"
 #include "components/root_view.h"
 #include "common/graphic_utils.h"
 #define FRAME_TRACE_SET_RECT(rect) DfxFrameTrace::GetInstance().SetDrawRect(rect)
 #define FRAME_TRACE_END_TRACE() DfxFrameTrace::GetInstance().EndTrace()
 #define FRAME_TRACE_SHOW() DfxFrameTrace::GetInstance().ShowFrameTrace()
+#define EVENT_TRACE_START() DfxFrameTrace::GetInstance().EventTraceStart()
+#define EVENT_TRACE_END() DfxFrameTrace::GetInstance().EventTraceEnd()
+#define TASK_TRACE_START() DfxFrameTrace::GetInstance().TaskTraceStart()
+#define TASK_TRACE_END() DfxFrameTrace::GetInstance().TaskTraceEnd()
 #else
 #define FRAME_TRACE_START(type)
 #define FRAME_TRACE_END(type, prect)
 #define FRAME_TRACE_SET_RECT(rect)
 #define FRAME_TRACE_END_TRACE()
 #define FRAME_TRACE_SHOW()
+#define EVENT_TRACE_START()
+#define EVENT_TRACE_END()
+#define TASK_TRACE_START()
+#define TASK_TRACE_END()
 #endif
 
 namespace OHOS {
@@ -76,16 +83,16 @@ public:
     DfxFrameTrace& operator=(DfxFrameTrace&) = delete;
     void EnableFrameTrace(int enable)
     {
-        enableTrace_ = enable;
+        traceCount_ = enable;
     }
 
     void BeginTrace()
     {
-        beginTrace_ = enableTrace_ > 0 ? true : false;
+        beginTrace_ = traceCount_ > 0 ? true : false;
         if (beginTrace_) {
             isNativeRunning_ = IsNativeRunning();
             freq_ = GetFrequence();
-            --enableTrace_;
+            --traceCount_;
         }
     }
 
@@ -103,7 +110,12 @@ public:
 
     void FrameTraceStart(FrameTraceType type);
     void FrameTraceEnd(FrameTraceType type, const Rect *rect = nullptr);
-    void ShowFrameTrace() const;
+    void ShowFrameTrace();
+
+    void EventTraceStart();
+    void EventTraceEnd();
+    void TaskTraceStart();
+    void TaskTraceEnd();
 
 private:
     DfxFrameTrace()
@@ -123,12 +135,85 @@ private:
     void RecordStart(FrameTraceType type);
     void RecordEnd(FrameTraceType type, const Rect *rect);
     static constexpr int32_t DRAW_RECORD_MAX = 128;
-    struct {
+    struct FrameTrace {
         FrameTraceType cmd;
         uint64_t preTime;
         uint64_t costTime;
         bool isNeedWait;
     } trace_[DRAW_RECORD_MAX];
+
+    struct FrameRecord {
+        FrameRecord() : totalTime(0), isNativeRunning(0), freq(0), pathCnt(0),
+            drawCount(0), trace(nullptr), rect(nullptr)
+        {
+            ++frmCnt_;
+        }
+
+        ~FrameRecord()
+        {
+            if (trace != nullptr) {
+                delete []trace;
+                trace = nullptr;
+            }
+            if (rect != nullptr) {
+                delete []rect;
+                rect = nullptr;
+            }
+            --frmCnt_;
+        }
+        uint64_t totalTime;
+        int isNativeRunning;
+        int freq;
+        int pathCnt;
+        int drawCount;
+        Rect drawRect;
+        FrameTrace *trace;
+        Rect *rect;
+    };
+
+    struct TaskRecord {
+        TaskRecord() : startTime(0), endTime(0), frameInfo(nullptr), next(nullptr)
+        {
+            ++tskCnt_;
+        }
+        ~TaskRecord()
+        {
+            if (frameInfo != nullptr) {
+                delete frameInfo;
+                frameInfo = nullptr;
+            }
+            --tskCnt_;
+        }
+        uint64_t startTime;
+        uint64_t endTime;
+        FrameRecord *frameInfo;
+        TaskRecord *next;
+    };
+
+    struct EventRecord {
+        EventRecord() : startTime(0), endTime(0), tasks(nullptr), tailTsk(nullptr), next(nullptr)
+        {
+            ++evtCnt_;
+        }
+        ~EventRecord()
+        {
+            --evtCnt_;
+        }
+        uint64_t startTime;
+        uint64_t endTime;
+        TaskRecord *tasks;
+        TaskRecord *tailTsk;
+        EventRecord *next;
+    };
+
+    void WriteFrameRecord(FrameRecord *frame) const;
+    void ShowFrameRecord(FrameRecord *frame) const;
+    void ShowEventRecord() const;
+    void ClearEvents();
+
+    static int evtCnt_;
+    static int tskCnt_;
+    static int frmCnt_;
     Rect rect_[DRAW_RECORD_MAX];
     int pathCnt_ = 0;
     int pathIndex_ = -1;
@@ -138,10 +223,14 @@ private:
     uint64_t endTime_ = 0;
     int32_t drawCount_ = 0;
     int32_t drawStack_ = 0;
-    int enableTrace_ = 0;
+    int traceCount_ = 0;
     bool beginTrace_ = false;
     int isNativeRunning_ = 0;
     int freq_ = 0;
+    EventRecord *events_ = nullptr;
+    EventRecord *tailEvt_ = nullptr;
+    bool eventRecording_ = false;
+    bool taskRecording_ = false;
 };
 } // OHOS
 #endif // GRAPHIC_LITE_DFX_FRAME_TRACE_H
index 2171f6c..99a4eb5 100644 (file)
@@ -78,6 +78,11 @@ public:
      */\r
     int IsNativeRunning() const;\r
 \r
+    /**\r
+     * @brief Return whether current task is native ui task\r
+     */\r
+    static bool IsNativeUITask();\r
+\r
     /**\r
      * @brief Return whether screen is on or not.\r
      */\r
@@ -126,14 +131,10 @@ public:
     */\r
     void GpuResetEnd(void);\r
 \r
-#ifdef ENABLE_CMSIS\r
     static void NativeMainThread(void* args);\r
     static void RtcEventThread(void* args);\r
-#else\r
-    static void* NativeMainThread(void* args);\r
-    static void* RtcEventThread(void* args);\r
-#endif\r
 \r
+    OHOS::GraphicMutex switchMutex_; // ensure that js syncHwDraw and native SetNativeUIRunning run in sync\r
 private:\r
     friend class GraphicEventHandler;\r
     static VsyncCallback jsVsyncCallback_;\r
@@ -142,6 +143,7 @@ private:
     static osal_atomic isScreenOn_;\r
     static OHOS::GraphicMutex rtcEventMutex_;\r
     static OHOS::GraphicCond rtcEventCond_;\r
+    static bool isJsTaskFinished_;  // ensure that native task run after js task is finished\r
     bool isGpuReseting = false;\r
     void DecreaseTriggerCount();\r
     void SetUpRootView();\r
index 1a1559f..eacb142 100644 (file)
@@ -15,6 +15,7 @@
 \r
 #include "graphic_event_handler.h"\r
 #include "dfx/dfx_record.h"\r
+#include "dfx/dfx_frame_trace.h"\r
 #include "common/low_power_manager.h"\r
 #include "gfx_utils/graphic_log.h"\r
 \r
@@ -34,7 +35,9 @@ void GraphicEventHandler::Run()
         GraphicEvent event = std::move(eventQueue_.front());\r
         eventQueue_.pop();\r
         queueMutex_.Unlock();\r
+        EVENT_TRACE_START();\r
         event();\r
+        EVENT_TRACE_END();\r
         DfxRecordShow();\r
     }\r
 }\r
index 79f569b..9b9d8f7 100644 (file)
@@ -38,6 +38,7 @@
 #ifdef SUPPORT_GPU_JPEG\r
 #include "drv_jpeg_intf.h"\r
 #endif\r
+#include "cmsis_os2.h"\r
 \r
 VsyncCallback GraphicService::jsVsyncCallback_;\r
 osal_atomic GraphicService::isNativeRunning_{1};\r
@@ -45,9 +46,12 @@ osal_atomic GraphicService::graphicTaskTriggeredCount_{0};
 osal_atomic GraphicService::isScreenOn_{0};\r
 OHOS::GraphicMutex GraphicService::rtcEventMutex_;\r
 OHOS::GraphicCond GraphicService::rtcEventCond_;\r
+bool GraphicService::isJsTaskFinished_ = true;\r
+#ifdef _WIN32\r
+static uint32_t nativeUITaskId_ = 0xFFFFFFFF;\r
+#endif\r
 static ThreadId g_rtcEventThreadId;\r
 static ThreadId g_mainThreadId;\r
-\r
 GraphicService::GraphicService() {}\r
 \r
 GraphicService::~GraphicService() {}\r
@@ -63,8 +67,9 @@ bool GraphicService::SyncTriggerJSGraphicTask()
         GRAPHIC_LOGI("Trigger JS Task failed. Native is running or Graphic Task is already triggered.");\r
         return false;\r
     }\r
-\r
+    isJsTaskFinished_ = false;\r
     OHOS::TaskManager::GetInstance()->TaskHandler();\r
+    isJsTaskFinished_ = true;\r
     return true;\r
 }\r
 \r
@@ -74,10 +79,10 @@ bool GraphicService::AsyncTriggerNativeGraphicTask()
         osal_atomic_inc(&graphicTaskTriggeredCount_);\r
         OHOS::GraphicEventHandler::GetInstance()->PostGraphicEvent(\r
             [] {\r
-                if (GraphicService::GetInstance()->IsScreenOn()) {\r
+                if (GraphicService::GetInstance()->IsScreenOn() && isJsTaskFinished_) {\r
                     OHOS::TaskManager::GetInstance()->TaskHandler();\r
                 } else {\r
-                    GRAPHIC_LOGW("ignore redundant task when screen is off\n");\r
+                    GRAPHIC_LOGW("ignore redundant task when screen is off or js task is not finished\n");\r
                 }\r
                 GraphicService::GetInstance()->DecreaseTriggerCount();\r
             },\r
@@ -89,6 +94,7 @@ bool GraphicService::AsyncTriggerNativeGraphicTask()
 \r
 void GraphicService::SetNativeUIRunning(bool isRunning)\r
 {\r
+    switchMutex_.Lock();\r
     if (isRunning) {\r
         osal_atomic_set(&isNativeRunning_, 1);\r
     } else {\r
@@ -96,6 +102,7 @@ void GraphicService::SetNativeUIRunning(bool isRunning)
         OHOS::GraphicEventHandler::GetInstance()->ClearGraphicEvent();\r
         osal_atomic_set(&graphicTaskTriggeredCount_, 0);\r
     }\r
+    switchMutex_.Unlock();\r
 }\r
 \r
 int GraphicService::IsNativeRunning() const\r
@@ -163,18 +170,22 @@ void GraphicService::EnableAsyncMode(bool enable)
     OHOS::LiteMGfxEngine::GetInstance()->EnableAsyncMode(enable);\r
 }\r
 \r
-#ifdef ENABLE_CMSIS\r
-void GraphicService::NativeMainThread(void* args)\r
+bool GraphicService::IsNativeUITask()\r
 {\r
-    OHOS::GraphicEventHandler::GetInstance()->Run();\r
-}\r
+#ifdef _WIN32\r
+    return nativeUITaskId_ == GetCurrentThreadId();\r
 #else\r
-void* GraphicService::NativeMainThread(void* args)\r
+    return (strcmp(osThreadGetName(osThreadGetId()), "GuiMainThread") == 0);\r
+#endif\r
+}\r
+\r
+void GraphicService::NativeMainThread(void* args)\r
 {\r
+#ifdef _WIN32\r
+    nativeUITaskId_ = GetCurrentThreadId();\r
+#endif\r
     OHOS::GraphicEventHandler::GetInstance()->Run();\r
-    return nullptr;\r
 }\r
-#endif\r
 \r
 void GraphicService::UpdateGraphicEvent()\r
 {\r
@@ -184,11 +195,7 @@ void GraphicService::UpdateGraphicEvent()
     rtcEventCond_.Signal();\r
 }\r
 \r
-#ifdef ENABLE_CMSIS\r
 void GraphicService::RtcEventThread(void* args)\r
-#else\r
-void* GraphicService::RtcEventThread(void* args)\r
-#endif\r
 {\r
     while (true) {\r
         rtcEventMutex_.Lock();\r
@@ -204,9 +211,6 @@ void* GraphicService::RtcEventThread(void* args)
             jsVsyncCallback_();\r
         }\r
     }\r
-#if !defined(ENABLE_CMSIS)\r
-    return nullptr;\r
-#endif\r
 }\r
 \r
 void GraphicService::SetUpRootView(void)\r
@@ -235,9 +239,7 @@ bool GraphicService::InitGraphicService()
     UIThreadAttr rtcAttr;\r
     rtcAttr.name = "RtcEventThread";\r
     rtcAttr.stackSize = 0x800u;\r
-#ifdef ENABLE_CMSIS\r
     rtcAttr.priority = static_cast<uint8_t>(osPriorityAboveNormal2);\r
-#endif\r
     g_rtcEventThreadId = (ThreadId)ThreadCreate((Runnable)GraphicService::RtcEventThread, nullptr, &rtcAttr);\r
     if (g_rtcEventThreadId == nullptr) {\r
         GRAPHIC_LOGE("%s: create thread fail\n", __func__);\r
@@ -247,9 +249,7 @@ bool GraphicService::InitGraphicService()
     UIThreadAttr mainAttr;\r
     mainAttr.name = "GuiMainThread";\r
     mainAttr.stackSize = 0x6000u;\r
-#ifdef ENABLE_CMSIS\r
     mainAttr.priority = static_cast<uint8_t>(osPriorityAboveNormal2);\r
-#endif\r
     g_mainThreadId = (ThreadId)ThreadCreate((Runnable)GraphicService::NativeMainThread, nullptr, &mainAttr);\r
     if (g_mainThreadId == nullptr) {\r
         GRAPHIC_LOGE("create thread fail\n");\r
index 628788d..71ee164 100644 (file)
-/*\r
- * Copyright (c) 2023 CompanyNameMagicTag.\r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- *     http://www.apache.org/licenses/LICENSE-2.0\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- */\r
-\r
-#include "components/ui_list_ext.h"\r
-#include "animator/easing_equation.h"\r
-#include "components/ui_menu_item.h"\r
-\r
-namespace OHOS {\r
-void UIListExt::ReMeasure()\r
-{\r
-    UIMenuItem* view = static_cast<UIMenuItem*>(GetChildrenHead());\r
-    if (view == nullptr) {\r
-        return;\r
-    }\r
-\r
-    int16_t x;\r
-    int16_t y;\r
-    int16_t midX = GetX() + GetWidth() / 2;\r
-    int16_t midY = GetY() + GetHeight() / 2;\r
-    do {\r
-        x = view->GetX();\r
-        y = view->GetY();\r
-        if (direction_ == VERTICAL) {\r
-            int offset = (y + view->GetHeight() / 2 - midY);\r
-            int temp = EasingEquation::SineEaseIn(0, scaleFactor_, abs(offset), scaleFactor_);\r
-            float scale = 1.0 - (static_cast<float>(temp) / scaleFactor_);\r
-            view->Scale(Vector2<float>(scale, scale), view->GetScaleCenter());\r
-        } else {\r
-            int offset = (x + view->GetWidth() / 2 - midX);\r
-            int temp = EasingEquation::SineEaseIn(0, scaleFactor_, abs(offset), scaleFactor_);\r
-            float scale = 1.0 - (static_cast<float>(temp) / scaleFactor_);\r
-            view->Scale(Vector2<float>(scale, scale), view->GetScaleCenter());\r
-        }\r
-        view = static_cast<UIMenuItem*>(view->GetNextSibling());\r
-    } while (view != nullptr);\r
-}\r
-} // namespace OHOS\r
+/*
+ * Copyright (c) 2023 CompanyNameMagicTag.
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "components/ui_list_ext.h"
+#include "animator/easing_equation.h"
+#include "components/ui_menu_item.h"
+
+namespace OHOS {
+void UIListExt::ReMeasure()
+{
+    UIMenuItem* view = static_cast<UIMenuItem*>(GetChildrenHead());
+    if (view == nullptr) {
+        return;
+    }
+
+    int16_t x;
+    int16_t y;
+    int16_t midX = GetX() + GetWidth() / 2;
+    int16_t midY = GetY() + GetHeight() / 2;
+    items_.Clear();
+    int16_t centerIndex;
+    do {
+        x = view->GetX();
+        y = view->GetY();
+        items_.PushBack(view);
+        view->Translate(Vector2<int16_t>(0, 0)); // ignore previous translate to set right transform
+        if (direction_ == VERTICAL) {
+            int offset = (y + view->GetHeight() / 2 - midY);
+            int temp = EasingEquation::SineEaseIn(0, scaleFactor_, abs(offset), scaleFactor_);
+            float scale = 1.0 - (static_cast<float>(temp) / scaleFactor_);
+            view->Scale(Vector2<float>(scale, scale), view->GetScaleCenter());
+            if ((y <= midY) && (y + view->GetHeight() > midY)) {
+                centerIndex = items_.Size() - 1;
+            }
+        } else {
+            int offset = (x + view->GetWidth() / 2 - midX);
+            int temp = EasingEquation::SineEaseIn(0, scaleFactor_, abs(offset), scaleFactor_);
+            float scale = 1.0 - (static_cast<float>(temp) / scaleFactor_);
+            view->Scale(Vector2<float>(scale, scale), view->GetScaleCenter());
+            if ((x <= midX) && (x  + view->GetWidth() > midX)) {
+                centerIndex = items_.Size() - 1;
+            }
+        }
+        view = static_cast<UIMenuItem*>(view->GetNextSibling());
+    } while (view != nullptr);
+    ModifyItemSpace(centerIndex);
+}
+
+void UIListExt::ModifyMidAdjSpace(int16_t centerIndex, int16_t& prevIndex, int16_t& nextIndex)
+{
+    Rect centerRect = items_[centerIndex]->GetRect();
+    if (direction_ == VERTICAL) {
+        int16_t centerY = centerRect.GetTop() + (centerRect.GetHeight() >> 1);
+        int16_t midY = GetHeight() / 2;
+        if (centerY == midY) {
+            return;
+        }
+        if (centerY > midY) {
+            prevIndex = centerIndex - 1;
+        } else {
+            nextIndex = centerIndex + 1;
+        }
+        if ((prevIndex >= 0) && (nextIndex < items_.Size())) {
+            Rect prevRect = items_[prevIndex]->GetRect();
+            Rect nextRect = items_[nextIndex]->GetRect();
+            int16_t prevMidY = prevRect.GetTop() + (prevRect.GetHeight() >> 1);
+            int16_t nextMidY = nextRect.GetTop() + (nextRect.GetHeight() >> 1);
+            int16_t delta = space_ - (nextRect.GetTop() - prevRect.GetBottom());
+            int16_t prevOffst = (midY - prevMidY) * delta * 1.0f / (nextMidY - prevMidY);
+            int16_t nextOffst = (nextMidY - midY) * delta * 1.0f / (nextMidY - prevMidY);
+            items_[prevIndex]->Translate(Vector2<int16_t>(0, -prevOffst));
+            items_[nextIndex]->Translate(Vector2<int16_t>(0, nextOffst));
+        }
+    } else {
+        int16_t centerX = centerRect.GetLeft() + (centerRect.GetWidth() >> 1);
+        int16_t midX = GetWidth() / 2;
+        if (centerX == midX) {
+            return;
+        }
+        if (centerX > midX) {
+            prevIndex = centerIndex - 1;
+        } else {
+            nextIndex = centerIndex + 1;
+        }
+        if ((prevIndex >= 0) && (nextIndex < items_.Size())) {
+            Rect prevRect = items_[prevIndex]->GetRect();
+            Rect nextRect = items_[nextIndex]->GetRect();
+            int16_t prevMidX = prevRect.GetLeft() + (prevRect.GetWidth() >> 1);
+            int16_t nextMidX = nextRect.GetLeft() + (nextRect.GetWidth() >> 1);
+            int16_t delta = space_ - (nextRect.GetLeft() - prevRect.GetRight());
+            int16_t prevOffst = (midX - prevMidX) * delta * 1.0f / (nextMidX - prevMidX);
+            int16_t nextOffst = (nextMidX - midX) * delta * 1.0f / (nextMidX - prevMidX);
+            items_[prevIndex]->Translate(Vector2<int16_t>(-prevOffst, 0));
+            items_[nextIndex]->Translate(Vector2<int16_t>(nextOffst, 0));
+        }
+    }
+}
+
+void UIListExt::ModifyItemSpace(int16_t centerIndex)
+{
+    int16_t prevIndex = centerIndex;
+    int16_t nextIndex = centerIndex;
+    // Step 1. only modify two neighboring items in the middle to ensure smoothly scrolling
+    ModifyMidAdjSpace(centerIndex, prevIndex, nextIndex);
+    Rect curRect;
+    Rect preRect;
+    int16_t diff = 0;
+    // Step 2. modify other items space
+    if (direction_ == VERTICAL) {
+        for (int16_t i = prevIndex - 1; i >= 0; i--) {
+            curRect = items_[i]->GetRect();
+            preRect = items_[i + 1]->GetRect();
+            diff = preRect.GetTop() - space_ - curRect.GetBottom();
+            items_[i]->Translate(Vector2<int16_t>(0, diff));
+        }
+        for (int16_t i = nextIndex + 1; i < items_.Size(); i++) {
+            curRect = items_[i]->GetRect();
+            preRect = items_[i - 1]->GetRect();
+            diff = preRect.GetBottom() + space_ - curRect.GetTop();
+            items_[i]->Translate(Vector2<int16_t>(0, diff));
+        }
+    } else {
+        for (int16_t i = prevIndex - 1; i >= 0; i--) {
+            curRect = items_[i]->GetRect();
+            preRect = items_[i + 1]->GetRect();
+            diff = preRect.GetLeft() - space_ - curRect.GetRight();
+            items_[i]->SetX(items_[i]->GetX() + diff);
+        }
+        for (int16_t i = nextIndex + 1; i < items_.Size(); i++) {
+            curRect = items_[i]->GetRect();
+            preRect = items_[i - 1]->GetRect();
+            diff = preRect.GetRight() + space_ - curRect.GetLeft();
+            items_[i]->SetX(items_[i]->GetX() + diff);
+        }
+    }
+}
+} // namespace OHOS
index 1c93fb7..b1aba5c 100644 (file)
@@ -350,6 +350,10 @@ void UILiteSurfaceView::OnBufferAvailable()
         GraphicService::GetInstance()->PostGraphicEvent(\r
             [&, ws] {\r
                 if (!ws.expired()) {\r
+                    if (!GraphicService::GetInstance()->IsScreenOn()) {\r
+                        isStopped_ = true; // Do not process video frame, when screen off and dpu suspended.\r
+                        return;\r
+                    }\r
                     LiteMGfxEngine::GetInstance()->EnableAsyncMode(false);\r
                     LiteMGfxEngine::GetInstance()->AddHardwareLayer(this);\r
                     DisplayDev::GetInstance()->SetLayerColorKey(LAYER_0, true, colorKey_.full);\r
index 9bd12fb..1659219 100644 (file)
@@ -38,34 +38,21 @@ UIMenuItem::~UIMenuItem()
     }\r
 }\r
 \r
-void UIMenuItem::SetScaleCenter()\r
+Vector2<float> UIMenuItem::GetScaleCenter()\r
 {\r
-    int16_t itemOrigX = GetContentRect().GetX();\r
-    int16_t itemOrigY = GetContentRect().GetY();\r
+    int16_t itemOrigX = GetOrigRect().GetX();\r
+    int16_t itemOrigY = GetOrigRect().GetY();\r
     if (transAlignMode_ == ScaleAlignMode::ALIGN_TEXT_LEFT) {\r
-        textScaleCenter_ = Vector2<float>{0.0, textOrigRect_.GetHeight() / 2.0f};\r
-        imgScaleCenter_ = Vector2<float>{textOrigRect_.GetLeft() - imgOrigRect_.GetLeft(),\r
-            textOrigRect_.GetTop() + textScaleCenter_.y_ - imgOrigRect_.GetTop()};\r
-        itemScaleCenter_ = Vector2<float>{textOrigRect_.GetLeft() - itemOrigX,\r
-            textOrigRect_.GetTop() + textScaleCenter_.y_ - itemOrigY};\r
+        return Vector2<float>{label_->GetX(), label_->GetHeight() / 2.0f};\r
     } else if (transAlignMode_ == ScaleAlignMode::ALIGN_IMAGE_LEFT) {\r
-        imgScaleCenter_ = Vector2<float>{0.0, imgOrigRect_.GetHeight() / 2.0f};\r
-        textScaleCenter_ = Vector2<float>{imgOrigRect_.GetLeft() - textOrigRect_.GetLeft(),\r
-            imgOrigRect_.GetTop() + imgScaleCenter_.y_ - textOrigRect_.GetTop()};\r
-        itemScaleCenter_ = Vector2<float>{imgOrigRect_.GetLeft() - itemOrigX,\r
-            imgOrigRect_.GetTop() + imgScaleCenter_.y_ - itemOrigY};\r
-    } else if (transAlignMode_ == ScaleAlignMode::ALIGN_ITEM_CENTER) {\r
-        itemScaleCenter_ = Vector2<float>{GetWidth() / 2.0f, GetHeight() / 2.0f};\r
-        textScaleCenter_ = Vector2<float>{itemOrigX + itemScaleCenter_.x_ - textOrigRect_.GetLeft(),\r
-            itemOrigY + itemScaleCenter_.y_ - textOrigRect_.GetTop()};\r
-        imgScaleCenter_ = Vector2<float>{itemOrigX + itemScaleCenter_.x_ - imgOrigRect_.GetLeft(),\r
-            itemOrigY + itemScaleCenter_.y_ - imgOrigRect_.GetTop()};\r
+        return Vector2<float>{image_->GetX(), image_->GetHeight() / 2.0f};\r
+    } else {\r
+        return Vector2<float>{GetWidth() / 2.0f, GetHeight() / 2.0f};\r
     }\r
 }\r
 \r
 void UIMenuItem::ReMeasure()\r
 {\r
-    Rect contentRect = GetContentRect();\r
     if (needRefresh_) {\r
         if (image_ != nullptr) {\r
             image_->SetPosition(imgOffset_, 0, GetHeight(), GetHeight());\r
@@ -81,29 +68,15 @@ void UIMenuItem::ReMeasure()
         }\r
     }\r
     needRefresh_ = false;\r
-    if (image_ != nullptr) {\r
-        imgOrigRect_ = contentRect;\r
-        imgOrigRect_.SetX(contentRect.GetX() + imgOffset_);\r
-        imgOrigRect_.SetWidth(GetHeight());\r
-    }\r
-\r
-    if (label_ != nullptr) {\r
-        textOrigRect_ = contentRect;\r
-        textOrigRect_.SetLeft(imgOrigRect_.GetRight() + textOffset_);\r
-    }\r
-\r
-    SetScaleCenter();\r
 \r
-    TransformMap transMap = GetTransformMap();\r
+    TransformMap transMap;\r
     if (image_ != nullptr) {\r
-        transMap.SetTransMapRect(imgOrigRect_);\r
-        transMap.Scale(transMap.GetScaleCoef(), Vector3<float>{imgScaleCenter_.x_, imgScaleCenter_.y_, 0.0});\r
+        transMap.SetMatrix(GetTransformMap().GetOrigTransformMatrix());\r
         image_->SetTransformMap(transMap);\r
     }\r
 \r
     if (label_ != nullptr) {\r
-        transMap.SetTransMapRect(textOrigRect_);\r
-        transMap.Scale(transMap.GetScaleCoef(), Vector3<float>{textScaleCenter_.x_, textScaleCenter_.y_, 0.0});\r
+        transMap.SetMatrix(GetTransformMap().GetOrigTransformMatrix());\r
         label_->SetTransformMap(transMap);\r
     }\r
 }\r
index 5e8bdd1..06b7cf6 100644 (file)
@@ -39,6 +39,10 @@ static struct {
     {FrameTraceType::HW_DRAW_ARC_RECT, "hw_arc_rect"},
 };
 
+int DfxFrameTrace::evtCnt_ = 0;
+int DfxFrameTrace::tskCnt_ = 0;
+int DfxFrameTrace::frmCnt_ = 0;
+
 uint64_t DfxFrameTrace::GetDuration(uint64_t start, uint64_t end) const
 {
     uint64_t dur = end >= start ? end - start : UINT64_MAX - start + end + 1;
@@ -117,35 +121,27 @@ void DfxFrameTrace::RecordEnd(FrameTraceType type, const Rect *rect)
     ++drawCount_;
 }
 
-void DfxFrameTrace::ShowFrameTrace() const
+void DfxFrameTrace::ShowFrameTrace()
 {
     if (!beginTrace_) {
         return;
     }
 
-    uint64_t totalTime = GetDuration(firstDrawTime_, endTime_);
-    printf("\nisNativeRunning %d, freq %d", isNativeRunning_, freq_);
-    printf("\nCmd count: %d time: %llu, {%d %d %d %d}\n", drawCount_, totalTime,
-        drawRect_.GetLeft(), drawRect_.GetTop(), drawRect_.GetRight(), drawRect_.GetBottom());
-    for (int32_t i = 0; i < drawCount_; ++i) {
-        if (trace_[i].cmd == FrameTraceType::HW_DRAW_PATH) {
-            printf("%d. %s: %llu, %llu, %d\n",
-                i, ToString(trace_[i].cmd).c_str(), trace_[i].preTime, trace_[i].costTime, pathCnt_);
-            continue;
-        }
-        if (trace_[i].cmd == FrameTraceType::HW_DRAW_SUBMIT) {
-            printf("%d. %s: %llu, %llu, %d\n",
-                i, ToString(trace_[i].cmd).c_str(), trace_[i].preTime, trace_[i].costTime, trace_[i].isNeedWait);
-            continue;
-        }
-        if (!rect_[i].IsValid()) {
-            printf("%d. %s: %llu, %llu\n", i, ToString(trace_[i].cmd).c_str(), trace_[i].preTime, trace_[i].costTime);
-            continue;
-        }
-        printf("%d. %s: %llu, %llu, {%d, %d, %d, %d}\n",
-            i, ToString(trace_[i].cmd).c_str(), trace_[i].preTime, trace_[i].costTime,
-            rect_[i].GetLeft(), rect_[i].GetTop(), rect_[i].GetRight(), rect_[i].GetBottom());
+    if (events_ == nullptr || !eventRecording_ || !taskRecording_) {
+        return;
+    }
+    EventRecord &curEvt = *tailEvt_;
+    if (curEvt.tasks == nullptr) {
+        return;
     }
+
+    FrameRecord *record = new (std::nothrow) FrameRecord;
+    if (record == nullptr) {
+        return;
+    }
+    WriteFrameRecord(record);
+    TaskRecord &curTask = *curEvt.tailTsk;
+    curTask.frameInfo = record;
 }
 
 void DfxFrameTrace::ClearState()
@@ -174,4 +170,172 @@ std::string DfxFrameTrace::ToString(FrameTraceType type) const
     }
     return "";
 }
+
+void DfxFrameTrace::WriteFrameRecord(FrameRecord *frame) const
+{
+    if (frame == nullptr) {
+        return;
+    }
+    uint64_t totalTime = GetDuration(firstDrawTime_, endTime_);
+    frame->totalTime = totalTime;
+    frame->isNativeRunning = isNativeRunning_;
+    frame->freq = freq_;
+    frame->pathCnt = pathCnt_;
+    frame->drawRect = drawRect_;
+    if (drawCount_ <= 0) {
+        return;
+    }
+    frame->drawCount = drawCount_;
+    frame->trace = new (std::nothrow) FrameTrace[drawCount_];
+    frame->rect = new (std::nothrow) Rect[drawCount_];
+    if (frame->trace == nullptr || frame->rect == nullptr) {
+        return;
+    }
+    for (int i = 0; i < drawCount_; ++i) {
+        frame->trace[i] = trace_[i];
+        frame->rect[i] = rect_[i];
+    }
+}
+
+void DfxFrameTrace::ShowFrameRecord(FrameRecord *frame) const
+{
+    if (frame == nullptr) {
+        return;
+    }
+    int drawCnt = frame->drawCount;
+    printf("  isNativeRunning %d, freq %d\n", frame->isNativeRunning, frame->freq);
+    printf("  Cmd count: %d time: %llu, {%d %d %d %d}\n", drawCnt, frame->totalTime,
+        frame->drawRect.GetLeft(), frame->drawRect.GetTop(), frame->drawRect.GetRight(), frame->drawRect.GetBottom());
+    if (frame->trace == nullptr || frame->rect == nullptr) {
+        return;
+    }
+    for (int32_t i = 0; i < drawCnt; ++i) {
+        if (frame->trace[i].cmd == FrameTraceType::HW_DRAW_PATH) {
+            printf("  %d. %s: %llu, %llu, %d\n",
+                i, ToString(frame->trace[i].cmd).c_str(),
+                frame->trace[i].preTime, frame->trace[i].costTime, frame->pathCnt);
+            continue;
+        }
+        if (frame->trace[i].cmd == FrameTraceType::HW_DRAW_SUBMIT) {
+            printf("  %d. %s: %llu, %llu, %d\n",
+                i, ToString(frame->trace[i].cmd).c_str(),
+                frame->trace[i].preTime, frame->trace[i].costTime, frame->trace[i].isNeedWait);
+            continue;
+        }
+        if (!frame->rect[i].IsValid()) {
+            printf("  %d. %s: %llu, %llu\n", i, ToString(frame->trace[i].cmd).c_str(),
+                frame->trace[i].preTime, frame->trace[i].costTime);
+            continue;
+        }
+        printf("  %d. %s: %llu, %llu, {%d, %d, %d, %d}\n",
+            i, ToString(frame->trace[i].cmd).c_str(), frame->trace[i].preTime, frame->trace[i].costTime,
+            frame->rect[i].GetLeft(), frame->rect[i].GetTop(), frame->rect[i].GetRight(), frame->rect[i].GetBottom());
+    }
+}
+
+void DfxFrameTrace::ShowEventRecord() const
+{
+    int evtIndex = 0;
+    int taskIndex = 0;
+    printf("Total: E %d, T %d, F %d\n", evtCnt_, tskCnt_, frmCnt_);
+    for (EventRecord *it = events_; it != nullptr; it = it->next) {
+        EventRecord &evt = *it;
+        printf("\nE %d: %llu\n", evtIndex, GetDuration(evt.startTime, evt.endTime));
+        taskIndex = 0;
+        for (TaskRecord *it1 = evt.tasks; it1 != nullptr; it1 = it1->next) {
+            TaskRecord &tsk = *it1;
+            printf(" T %d: %llu\n", taskIndex, GetDuration(tsk.startTime, tsk.endTime));
+            if (tsk.frameInfo != nullptr) {
+                ShowFrameRecord(tsk.frameInfo);
+            }
+            taskIndex++;
+        }
+        evtIndex++;
+    }
+}
+
+void DfxFrameTrace::ClearEvents()
+{
+    for (EventRecord *it = events_; it != nullptr;) {
+        EventRecord &evt = *it;
+        for (TaskRecord *it1 = evt.tasks; it1 != nullptr;) {
+            TaskRecord *tskTmp = it1;
+            it1 = it1->next;
+            delete tskTmp;
+        }
+        EventRecord *tmp = it;
+        it = it->next;
+        delete tmp;
+    }
+    tailEvt_ = nullptr;
+    events_ = nullptr;
+}
+
+void DfxFrameTrace::EventTraceStart()
+{
+    if (traceCount_ <= 0) {
+        return;
+    }
+    EventRecord *event = new (std::nothrow) EventRecord;
+    if (event == nullptr) {
+        return;
+    }
+    event->startTime = uapi_tcxo_get_us();
+    if (events_ != nullptr) {
+        tailEvt_->next = event;
+    } else {
+        events_ = event;
+    }
+    tailEvt_ = event;
+    eventRecording_ = true;
+}
+
+void DfxFrameTrace::EventTraceEnd()
+{
+    if (events_ == nullptr || !eventRecording_) {
+        return;
+    }
+    EventRecord &curEvt = *tailEvt_;
+    curEvt.endTime = uapi_tcxo_get_us();
+    eventRecording_ = false;
+    if (traceCount_ == 0) {
+        ShowEventRecord();
+        ClearEvents();
+    }
+}
+
+void DfxFrameTrace::TaskTraceStart()
+{
+    if (events_ == nullptr || !eventRecording_) {
+        return;
+    }
+    EventRecord &curEvt = *tailEvt_;
+    TaskRecord *task = new (std::nothrow) TaskRecord;
+    if (task == nullptr) {
+        return;
+    }
+    task->startTime = uapi_tcxo_get_us();
+    if (curEvt.tasks != nullptr) {
+        curEvt.tailTsk->next = task;
+    } else {
+        curEvt.tasks = task;
+    }
+    curEvt.tailTsk = task;
+    taskRecording_ = true;
+}
+
+void DfxFrameTrace::TaskTraceEnd()
+{
+    if (events_ == nullptr || !eventRecording_ || !taskRecording_) {
+        return;
+    }
+    EventRecord &curEvt = *tailEvt_;
+    if (curEvt.tasks == nullptr) {
+        return;
+    }
+    TaskRecord &task = *curEvt.tailTsk;
+    task.endTime = uapi_tcxo_get_us();
+    taskRecording_ = false;
+}
+
 } // OHOS
index 873dae3..6c7e623 100644 (file)
@@ -160,7 +160,7 @@ void UITestListExt::UIListScrollTestFPS()
     list_->SetThrowDrag(true);
     list_->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);
     list_->SetMaxScrollDistance(1000); // 1000: max scroll distance
-    list_->SetSwipeACCLevel(800); // 800: compensation distance
+    list_->SetSwipeACCLevel(200); // 200: compensation distance
     list_->SetDragACCLevel(5); // 5: drag acceleration
     list_->SetYScrollBarVisible(true);
     if (animator_ == nullptr) {
index 2d65099..d9c9e58 100644 (file)
@@ -160,7 +160,7 @@ void UITestListFPS::UIListScrollTestFPS()
     list_->SetThrowDrag(true);
     list_->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);
     list_->SetMaxScrollDistance(1000); // 1000: max scroll distance
-    list_->SetSwipeACCLevel(800); // 800: compensation distance
+    list_->SetSwipeACCLevel(200); // 200: compensation distance
     list_->SetDragACCLevel(5); // 5: drag acceleration
     list_->SetYScrollBarVisible(true);
     if (animator_ == nullptr) {
index 04491eb..836bba0 100644 (file)
@@ -201,13 +201,13 @@ bool UITestSlipflow::OnScroll(int16_t distance)
         int16_t x1 = rect.GetRight();\r
         int16_t xMid = static_cast<int16_t>(x + (x1 - x + 1) / DIVISOR_TWO);\r
         int16_t distance = MATH_ABS(xMid - contMidX);\r
-        newCenterIndex = i;\r
-        minOffset = distance;\r
-    }\r
-    if (newCenterIndex != lastIndex_) {\r
-        lastIndex_ = newCenterIndex;\r
-        label_->SetText(slipflow_->GetViewByIndex(lastIndex_)->GetViewId());\r
+        if (distance < minOffset) {\r
+            newCenterIndex = i;\r
+            minOffset = distance;\r
+        }\r
     }\r
+    lastIndex_ = newCenterIndex;\r
+    label_->SetText(slipflow_->GetViewByIndex(lastIndex_)->GetViewId());\r
 \r
     Rect curViewRect = slipflow_->GetViewByIndex(lastIndex_)->GetOrigRect();\r
     int16_t centerMid = curViewRect.GetLeft() + curViewRect.GetWidth() / DIVISOR_TWO;\r
index 339f3f1..3ef0766 100644 (file)
@@ -82,7 +82,7 @@ void UITestTextFPS::SetUp()
     list_->SetThrowDrag(true);
     list_->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);
     list_->SetMaxScrollDistance(1000); // 1000: max scroll distance
-    list_->SetSwipeACCLevel(800); // 800: compensation distance
+    list_->SetSwipeACCLevel(200); // 200: compensation distance
     list_->SetDragACCLevel(5); // 5: drag acceleration
     if (animator_ == nullptr) {
         animator_ = new Animator(&callback_, list_, DEFAULT_TASK_PERIOD, true);
index 1e0005a..ffa80c2 100644 (file)
@@ -128,7 +128,7 @@ void UITestScaleList::UIScaleListTest()
     list_->SetThrowDrag(true);\r
     list_->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);\r
     list_->SetMaxScrollDistance(1000); // 1000: max scroll distance\r
-    list_->SetSwipeACCLevel(800); // 800: compensation distance\r
+    list_->SetSwipeACCLevel(200); // 200: compensation distance\r
     list_->SetDragACCLevel(5); // 5: drag acceleration\r
     list_->SetYScrollBarVisible(true);\r
 }\r
index 498d6da..585ad39 100644 (file)
@@ -85,6 +85,10 @@ void Text::SetText(const char* text)
 void Text::SetFont(const char* name, uint8_t size)
 {
     if (name == nullptr) {
+        if (UIFont::GetInstance()->IsVectorFont() && (fontSize_ != size)) {
+            fontSize_ = size;
+            needRefresh_ = true;
+        }
         return;
     }
     if (UIFont::GetInstance()->IsVectorFont()) {
index 03dcbe8..ce6eacf 100644 (file)
@@ -276,6 +276,7 @@ void UILabel::SetAlign(UITextLanguageAlignment horizontalAlign, UITextLanguageAl
 {
     InitLabelText();
     labelText_->SetAlign(horizontalAlign, verticalAlign);
+    horAlign_ = horizontalAlign;
     if (labelText_->IsNeedRefresh()) {
         RefreshLabel();
     }
@@ -437,6 +438,7 @@ void UILabel::RemeasureForAnimation(int16_t textWidth, LineBreakMode mode)
         animator_.animator->Start();
     } else {
         offsetX_ = 0;
+        labelText_->SetAlign(horAlign_, labelText_->GetVerAlign());
         if (hasAnimator_) {
             animator_.animator->Stop();
         }
index 61f4f6e..c4198fb 100644 (file)
@@ -14,6 +14,9 @@
  */
 
 #include "common/task_manager.h"
+#if CAPABILITY_SW_DFX_FRAME_TRACE
+#include "dfx/dfx_frame_trace.h"
+#endif
 
 #include "gfx_utils/graphic_log.h"
 #include "hal_tick.h"
@@ -72,7 +75,13 @@ void TaskManager::TaskHandler()
 
     while (node != list_.End()) {
         Task* currentTask = node->data_;
+#if CAPABILITY_SW_DFX_FRAME_TRACE
+        TASK_TRACE_START();
+#endif
         currentTask->TaskExecute();
+#if CAPABILITY_SW_DFX_FRAME_TRACE
+        TASK_TRACE_END();
+#endif
 
         node = node->next_;
     }
index 113cc92..2d11481 100644 (file)
@@ -411,7 +411,7 @@ static void DrawEmoji(BufferInfo &gfxDstBuffer, const ImageInfo &info, const Lab
     } else { // to avoid vau error (srcRect is not euqal to dstRect) when no scale
         int16_t srcLeft = mask.GetLeft() - posX;
         int16_t srcTop = mask.GetTop() - posY;
-        src.rect = {srcLeft, srcTop, srcLeft + mask.GetWidth() - 1, srcTop + mask.GetWidth() - 1};
+        src.rect = {srcLeft, srcTop, srcLeft + mask.GetWidth() - 1, srcTop + mask.GetHeight() - 1};
     }
 
     if (!mask.IsValid()) {
index e6ed9e8..1527516 100644 (file)
@@ -181,7 +181,7 @@ bool UIFontVector::GetEmoji(uint32_t unicode, ImageInfo &unicodeInfo)
         }
     }
     if (index == -1) {
-        index = len - 1;
+        return false;
     }
     ImageInfo *info = ImageCacheManager::GetInstance().LoadOneInMultiRes(EMOJI_TABLE[index].resId, EMOJI_PATH);
     if (info == nullptr) {
index 57e7a5c..b9fb42f 100644 (file)
@@ -205,7 +205,7 @@ public:
      * @since 1.0
      * @version 1.0
      */
-    void SetDragACCLevel(uint16_t value)
+    void SetDragACCLevel(uint8_t value)
     {
         if (value != 0) {
             dragAccCoefficient_ = value;
@@ -231,7 +231,7 @@ public:
      * @since 1.0
      * @version 1.0
      */
-    void SetSwipeACCLevel(uint16_t value)
+    void SetSwipeACCLevel(uint8_t value)
     {
         swipeAccCoefficient_ = value;
     }
index 80bae84..df83008 100644 (file)
@@ -345,7 +345,7 @@ public:
     /**
      * @brief Sets the font for this label.
      *
-     * @param name Indicates the pointer to the font name.
+     * @param name Indicates the pointer to the font name, name can be nullptr in order to only config font size
      * @param size Indicates the font size to set.
      * @since 1.0
      * @version 1.0
@@ -450,6 +450,8 @@ private:
             int16_t pos;
         };
     } animator_;
+
+    UITextLanguageAlignment horAlign_ = TEXT_ALIGNMENT_LEFT;
 };
 } // namespace OHOS
 #endif // GRAPHIC_LITE_UI_LABEL_H
index 62c5ec2..4f0ff5b 100644 (file)
@@ -252,7 +252,7 @@ public:
     /**
      * @brief Sets the font for this text.
      *
-     * @param name Indicates the pointer to the font name.
+     * @param name Indicates the pointer to the font name, name can be nullptr in order to only config font size
      * @param size Indicates the font size to set.
      * @since 1.0
      * @version 1.0
index 4b08624..5df5ed0 100644 (file)
 #include "audio_manager.h"
 #include "bundlems_slite_client.h"
 #include "abilityms_slite_client.h"
-
+#include "js_ability.h"
 #define DELETE_NOT_NULL(pointer) \
-    if ((pointer) != nullptr)      \
-    {                            \
-        delete (pointer);          \
-        (pointer) = nullptr;       \
+    if ((pointer) != nullptr) {  \
+        delete (pointer);        \
+        (pointer) = nullptr;     \
     }
 
 namespace OHOS {
@@ -43,7 +42,7 @@ constexpr uint32_t MICROSECONDS_PER_SECOND = 1000 * 1000;
 constexpr uint32_t MAX_PATH_LEN = 128;
 char absPath[MAX_PATH_LEN] = {0};
 
-static Audio::AudioManager& g_amInstance = Audio::AudioManager::GetInstance();
+static Audio::AudioManager &g_amInstance = Audio::AudioManager::GetInstance();
 
 void TriggerEventListener(const AudioEventListener *listener)
 {
@@ -66,7 +65,8 @@ void AsyncExecuteCallback(void *arg)
     listener->OnTrigger();
 }
 
-AudioEventListener::AudioEventListener(JSIValue callback) : callback_(JSI::AcquireValue(callback)) {}
+AudioEventListener::AudioEventListener(JSIValue callback) : callback_(JSI::AcquireValue(callback))
+{}
 
 AudioEventListener::~AudioEventListener()
 {
@@ -87,7 +87,8 @@ void AudioEventListener::OnTrigger() const
     }
 }
 
-AudioPlayerCallback::AudioPlayerCallback(AudioPlayer *audioPlayer) : PlayerCallback(), audioPlayer_(audioPlayer) {}
+AudioPlayerCallback::AudioPlayerCallback(AudioPlayer *audioPlayer) : PlayerCallback(), audioPlayer_(audioPlayer)
+{}
 
 void AudioPlayerCallback::OnPlaybackComplete()
 {
@@ -132,23 +133,12 @@ AudioPlayer *AudioPlayer::GetInstance()
     return &audioPlayer;
 }
 
-AudioPlayer::AudioPlayer() : player_(nullptr),
-                             onPlayListener_(nullptr),
-                             onPauseListener_(nullptr),
-                             onStopListener_(nullptr),
-                             onLoadedDataListener_(nullptr),
-                             onEndedListener_(nullptr),
-                             onErrorListener_(nullptr),
-                             onTimeUpdateListener_(nullptr),
-                             src_(nullptr),
-                             srcInner_(nullptr),
-                             status_(STATUS_STOP),
-                             volume_(DEFAULT_VOLUME),
-                             autoPlay_(false),
-                             muted_(false),
-                             isRunning_(false),
-                             isSysSrc_(false),
-                             updateTimeProcess_(nullptr) {}
+AudioPlayer::AudioPlayer()
+    : player_(nullptr), onPlayListener_(nullptr), onPauseListener_(nullptr), onStopListener_(nullptr),
+      onLoadedDataListener_(nullptr), onEndedListener_(nullptr), onErrorListener_(nullptr),
+      onTimeUpdateListener_(nullptr), src_(nullptr), srcInner_(nullptr), status_(STATUS_STOP), volume_(DEFAULT_VOLUME),
+      autoPlay_(false), muted_(false), isRunning_(false), isSysSrc_(false), updateTimeProcess_(nullptr)
+{}
 
 void AudioPlayer::ForkUpdateTimeThread()
 {
@@ -160,7 +150,7 @@ void AudioPlayer::ForkUpdateTimeThread()
     lock_ = MediaMutexCreate(nullptr);
     condition_ = MediaThreadCondCreate();
 
-    MediaThreadattr attr = { "UpdateTimeHandler", 0x1000, THREAD_SCHED_INVALID, 0, false };
+    MediaThreadattr attr = {"UpdateTimeHandler", 0x1000, THREAD_SCHED_INVALID, 0, false};
     updateTimeProcess_ = MediaThreadCreate(AudioPlayer::UpdateTimeHandler, this, &attr);
     if (updateTimeProcess_ == nullptr) {
         MEDIA_ERR_LOG("fork thread failed.");
@@ -204,21 +194,21 @@ void *AudioPlayer::UpdateTimeHandler(void *arg)
 
 int AudioPlayer::GetSrcInnerPrefix(char *src, char *dest)
 {
-    int ret;
-    ElementName* topAbility = OHOS::AbilityMsClient::GetInstance().GetTopAbility();
-    if (topAbility != nullptr) {
+    int ret = -1;
+    const char *bundleName = OHOS::ACELite::JSAbility::GetPackageName();
+    if (bundleName != nullptr) {
         BundleInfo bundleInfo;
-        ret = BundleMsClient::GetInstance().GetBundleInfo(topAbility->bundleName, 0, &bundleInfo);
+        ret = BundleMsClient::GetInstance().GetBundleInfo(bundleName, 0, &bundleInfo);
         if (ret == 0) {
-            (void)sprintf_s(dest, MAX_PATH_LEN - 1, "%s/assets/entry/%s", bundleInfo.codePath, src);
-            return 0;
+            int size = sprintf_s(dest, MAX_PATH_LEN - 1, "%s/assets/entry/%s", bundleInfo.codePath, src);
+            ret = (size < 0) ? -1 : 0;
         } else {
             MEDIA_ERR_LOG("failed to get bundleInfo!");
         }
     } else {
-        MEDIA_ERR_LOG("failed to get top ability!");
+        MEDIA_ERR_LOG("failed to get jsapp's bundleName!");
     }
-    return -1;
+    return ret;
 }
 
 void AudioPlayer::StopUpdateTimeThread()
@@ -308,7 +298,7 @@ void AudioPlayer::ReleaseSrc()
         ace_free(src_);
         src_ = nullptr;
     }
-    if (srcInner_ != nullptr && isSysSrc_ == false) {
+    if (srcInner_ != nullptr) {
         ace_free(srcInner_);
         srcInner_ = nullptr;
     }
@@ -644,5 +634,5 @@ void AudioPlayer::SetOnTimeUpdateListener(AudioEventListener *onTimeUpdateListen
     }
     onTimeUpdateListener_ = onTimeUpdateListener;
 }
-} // namespace ACELite
-} // namespace OHOS
+}  // namespace ACELite
+}  // namespace OHOS
index 2fd7bc2..fa62bb8 100644 (file)
@@ -37,7 +37,7 @@ typedef struct {
     uint8_t  data[AT_CMD_BUFSIZE];\r
 } ipc_payload_atcmd_t;\r
 \r
-static unsigned long g_at_cmd_msg_queue;\r
+static unsigned long g_at_cmd_msg_queue = 0xFFFFFFFF;\r
 \r
 static at_cmd_set_t g_at_cmd_module_list[AT_CMD_MODULE_MAX_NUM];\r
 static uint8_t g_at_cmd_module_index = 0;\r
index 42ce360..9a69c8c 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/vfs/brandy-auto-ota-cli/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/brandy-auto-ota-cli/libx_vfs_private.a differ
index ca7f0c4..f242a63 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/vfs/brandy-auto-ota-ser/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/brandy-auto-ota-ser/libx_vfs_private.a differ
index 9aed488..814210a 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/vfs/brandy-native-js-r/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/brandy-native-js-r/libx_vfs_private.a differ
index 51ffe9c..30cef40 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/vfs/brandy-native-js/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/brandy-native-js/libx_vfs_private.a differ
index 252771b..4150308 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/vfs/brandy-target1-r/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/brandy-target1-r/libx_vfs_private.a differ
index 7663328..aca09f5 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/vfs/brandy-target1/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/brandy-target1/libx_vfs_private.a differ
index 44d6d02..cbe84bd 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/vfs/brandy-target3-r/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/brandy-target3-r/libx_vfs_private.a differ
index 4c54977..195b522 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/vfs/brandy-target3/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/brandy-target3/libx_vfs_private.a differ
index e444a65..6312401 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/vfs/brandy-target4-r/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/brandy-target4-r/libx_vfs_private.a differ
index d33506a..8d53d79 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/vfs/brandy-target4/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/brandy-target4/libx_vfs_private.a differ
index c2b9951..cacbfe1 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/vfs/brandy-target5-r/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/brandy-target5-r/libx_vfs_private.a differ
index e64dff6..145ef37 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/vfs/brandy-target5/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/brandy-target5/libx_vfs_private.a differ
index 3d8f5b0..70d8f47 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/vfs/brandy-xts-r/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/brandy-xts-r/libx_vfs_private.a differ
index cf94b99..5a8e9fa 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/vfs/brandy-xts/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/brandy-xts/libx_vfs_private.a differ
index be57dc3..f0d211e 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/vfs/testsuite-brandy-sdk/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/testsuite-brandy-sdk/libx_vfs_private.a differ
index 0358ef5..a2b0921 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/brandy-auto-ota-cli/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/brandy-auto-ota-cli/libfs_yaffs2.a differ
index 7fec410..29f78ce 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/brandy-auto-ota-ser/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/brandy-auto-ota-ser/libfs_yaffs2.a differ
index b27fa33..5702adb 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/brandy-native-js-r/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/brandy-native-js-r/libfs_yaffs2.a differ
index 36c25af..d8ea349 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/brandy-native-js/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/brandy-native-js/libfs_yaffs2.a differ
index a7567f1..55f51b2 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/brandy-target1-r/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/brandy-target1-r/libfs_yaffs2.a differ
index 6b10c13..0d4a77c 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/brandy-target1/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/brandy-target1/libfs_yaffs2.a differ
index 20d170b..548842c 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/brandy-target3-r/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/brandy-target3-r/libfs_yaffs2.a differ
index cb93182..2ca681e 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/brandy-target3/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/brandy-target3/libfs_yaffs2.a differ
index e2f9076..f82ffff 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/brandy-target4-r/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/brandy-target4-r/libfs_yaffs2.a differ
index d231b42..224049d 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/brandy-target4/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/brandy-target4/libfs_yaffs2.a differ
index 2fb30e0..e9e4ba9 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/brandy-target5-r/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/brandy-target5-r/libfs_yaffs2.a differ
index a4271e5..b8fb6fb 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/brandy-target5/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/brandy-target5/libfs_yaffs2.a differ
index d333334..22f84d3 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/brandy-xts-r/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/brandy-xts-r/libfs_yaffs2.a differ
index 5e8602d..ae19d6a 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/brandy-xts/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/brandy-xts/libfs_yaffs2.a differ
index 6191784..3663426 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/testsuite-brandy-sdk/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/testsuite-brandy-sdk/libfs_yaffs2.a differ
index b81901e..c77a44b 100644 (file)
@@ -79,7 +79,7 @@ static uint16_t nv_async_calculate_flash_size(uint16_t kvlaue_length, nv_key_att
     kv_attributes_t attributes = {0};
     uint16_t hash_crc_size;
 
-    if (attr->encrypted) {
+    if ((attr != NULL) && (attr->encrypted)) {
         hash_crc_size = KV_CRYPTO_HASH_SIZE;
         attributes = KV_ATTRIBUTE_ENCRYPTED;
     } else {
@@ -108,7 +108,7 @@ static errcode_t nv_async_update_attr(nv_key_map_t* cur_key, nv_key_attr_t *attr
         cur_key->encrypted = 1;
         cur_key->non_upgrade = 1;
     }
- 
+
     /* 可升级属性支持属性更改 */
     if (attr->non_upgrade) {
         cur_key->non_upgrade = 1;
index e20e12f..39724f2 100644 (file)
@@ -41,7 +41,7 @@
 #define OS_FULL_NAME_LEN 128\r
 \r
 static char g_roBuildOs[] = {"OpenHarmony-4.1.7.5"};\r
-static char g_roBuildVerShow[] = {"OpenHarmony-4.1.7.5"};\r
+static char g_roBuildVerShow[] = {"1.0.0"};\r
 static char g_roSdkApiLevel[] = {"11"};\r
 static char g_roFirstApiLevel[] = {"1"};\r
 static const char OHOS_OS_NAME[] = { "OpenHarmony" };\r
index f7dd7f4..af06f6a 100644 (file)
Binary files a/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-auto-ota-cli/libams.a and b/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-auto-ota-cli/libams.a differ
index ef65255..687c70a 100644 (file)
Binary files a/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-auto-ota-ser/libams.a and b/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-auto-ota-ser/libams.a differ
index c3d93e5..acde21e 100644 (file)
Binary files a/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-native-js/libams.a and b/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-native-js/libams.a differ
index 4b6acdc..05db491 100644 (file)
Binary files a/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-xts/libams.a and b/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-xts/libams.a differ
index a73ba5a..d82fd73 100644 (file)
@@ -66,7 +66,6 @@ set(PRIVATE_HEADER
     ${ROOT_DIR}/open_source/openharmony/third_party/jerryscript/jerry-ext/include/jerryscript-ext
     ${ROOT_DIR}/open_source/openharmony/third_party/jerryscript/jerry-port/default/include
     ${ROOT_DIR}/open_source/openharmony/third_party/jerryscript/jerry-libm/include
-    ${ROOT_DIR}/open_source/openharmony/foundation/ace/ace_engine_lite/modules/keyinput
 )
 
 if("JS_ENABLE" IN_LIST DEFINES)
@@ -115,7 +114,6 @@ set(SOURCES
     ${CMAKE_CURRENT_SOURCE_DIR}/stylemgr/app_style_sheet.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/targets/platform_adapter.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/wrapper/js.cpp
-    ${CMAKE_CURRENT_SOURCE_DIR}/modules/keyinput/keyinput.cpp
 )
 else()
 set(SOURCES
@@ -224,6 +222,7 @@ set(PRIVATE_HEADER
     ${ROOT_DIR}/open_source/openharmony/base/global/i18n_lite/interfaces/kits/i18n/include
     ${ROOT_DIR}/open_source/openharmony/base/global/resmgr_lite/frameworks/resmgr_lite/include
     ${ROOT_DIR}/open_source/openharmony/base/global/resmgr_lite/interfaces/innerkits/include
+    ${ROOT_DIR}/open_source/openharmony/foundation/ace/ace_engine_lite/modules/keyinput
 )
 
 if("JS_ENABLE" IN_LIST DEFINES)
@@ -289,6 +288,7 @@ set(SOURCES
     ${CMAKE_CURRENT_SOURCE_DIR}/modules/presets/version_module.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/modules/router_module.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/modules/sample_module.cpp
+    ${CMAKE_CURRENT_SOURCE_DIR}/modules/keyinput/keyinput.cpp
 )
 
 endif()
index 5c5020f..156b370 100644 (file)
Binary files a/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-auto-ota-cli/libace.a and b/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-auto-ota-cli/libace.a differ
index 5c8e486..59c8f2f 100644 (file)
Binary files a/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-auto-ota-ser/libace.a and b/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-auto-ota-ser/libace.a differ
index 81544df..04b5b74 100644 (file)
Binary files a/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-native-js/libace.a and b/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-native-js/libace.a differ
index a5b879f..f1f1a1a 100644 (file)
Binary files a/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-xts/libace.a and b/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-xts/libace.a differ
index 2505065..25e6daa 100644 (file)
@@ -170,6 +170,7 @@ JSValue BaiduMapComponent::SetMapBackgroundColor(const jerry_value_t func, const
 #ifdef SUPPORT_BAIDU\r
     char *json_color = MallocStringOf(args[0]);\r
     MapComponentApi::getInstance().set_map_background_color(json_color);\r
+    ACE_FREE(json_color);\r
 #endif\r
     return UNDEFINED;\r
 }\r
@@ -226,6 +227,7 @@ JSValue BaiduMapComponent::NewLatLng(const jerry_value_t func, const jerry_value
 #ifdef SUPPORT_BAIDU\r
     char *json_lat_lng = MallocStringOf(args[0]);\r
     MapComponentApi::getInstance().new_lat_lng(json_lat_lng);\r
+    ACE_FREE(json_lat_lng);\r
 #endif\r
     return UNDEFINED;\r
 }\r
@@ -238,6 +240,7 @@ JSValue BaiduMapComponent::NewLatLngZoom(const jerry_value_t func, const jerry_v
     char *json_lat_lng = MallocStringOf(args[0]);\r
     int zoom = IntegerOf(args[1]);\r
     MapComponentApi::getInstance().new_lat_lng_zoom(json_lat_lng,zoom);\r
+    ACE_FREE(json_lat_lng);\r
 #endif\r
     return UNDEFINED;\r
 }\r
@@ -259,6 +262,7 @@ JSValue BaiduMapComponent::DrawMarker(const jerry_value_t func, const jerry_valu
 #ifdef SUPPORT_BAIDU\r
     char *json_marker = MallocStringOf(args[0]);\r
     MapComponentApi::getInstance().draw_marker(json_marker);\r
+    ACE_FREE(json_marker);\r
 #endif\r
     return UNDEFINED;\r
 }\r
@@ -270,6 +274,7 @@ JSValue BaiduMapComponent::DrawNaviMarker(const jerry_value_t func, const jerry_
 #ifdef SUPPORT_BAIDU\r
     char *json_navi_marker = MallocStringOf(args[0]);\r
     MapComponentApi::getInstance().draw_navi_marker(json_navi_marker);\r
+    ACE_FREE(json_navi_marker);\r
 #endif\r
     return UNDEFINED;\r
 }\r
@@ -281,6 +286,7 @@ JSValue BaiduMapComponent::DrawPolygon(const jerry_value_t func, const jerry_val
 #ifdef SUPPORT_BAIDU\r
     char *json_polygon = MallocStringOf(args[0]);\r
     MapComponentApi::getInstance().draw_polygon(json_polygon);\r
+    ACE_FREE(json_polygon);\r
 #endif\r
     return UNDEFINED;\r
 }\r
@@ -292,6 +298,7 @@ JSValue BaiduMapComponent::DrawPath(const jerry_value_t func, const jerry_value_
 #ifdef SUPPORT_BAIDU\r
     char *json_path = MallocStringOf(args[0]);\r
     MapComponentApi::getInstance().draw_path(json_path);\r
+    ACE_FREE(json_path);\r
 #endif\r
     return UNDEFINED;\r
 }\r
@@ -303,6 +310,7 @@ JSValue BaiduMapComponent::DrawCircle(const jerry_value_t func, const jerry_valu
 #ifdef SUPPORT_BAIDU\r
     char *json_circle = MallocStringOf(args[0]);\r
     MapComponentApi::getInstance().draw_circle(json_circle);\r
+    ACE_FREE(json_circle);\r
 #endif\r
     return UNDEFINED;\r
 }\r
@@ -314,6 +322,7 @@ JSValue BaiduMapComponent::DrawText(const jerry_value_t func, const jerry_value_
 #ifdef SUPPORT_BAIDU\r
     char *json_text = MallocStringOf(args[0]);\r
     MapComponentApi::getInstance().draw_text(json_text);\r
+    ACE_FREE(json_text);\r
 #endif\r
     return UNDEFINED;\r
 }\r
index 4f4180a..c166a79 100644 (file)
@@ -31,110 +31,110 @@ typedef struct : public OHOS::HeapBase {
 } BaiduMapAsyncMsgParams;
 
 typedef struct : public OHOS::HeapBase {
-   double lon;
-   double lat;
+    double lon;
+    double lat;
 } BaiduMapJSCoordinate;
 
 constexpr char LON[] = "lon";
 constexpr char LAT[] = "lat";
-//BT_CONNECT
+// BT_CONNECT
 constexpr char CONNECT[] = "connectcallback";
 constexpr char DISCONNECT[] = "disconnectcallback";
 
 namespace OHOS {
 namespace ACELite {
 
-static int32_t DmsLiteCpoyStr(char **destStr, const char *srcStr);
+static int32_t DmsLiteCopyStr(char **destStr, const char *srcStr);
 
 static void ExecuteSendMsgToJS(void *data);
 
 static bool CheckIsJsValueFunction(OHOS::ACELite::JSIValue jsValue);
 
-//poi_nearby_search
+// poi_nearby_search
 OHOS::ACELite::JSIValue poi_successCallback = nullptr;
 OHOS::ACELite::JSIValue poi_failCallback = nullptr;
 OHOS::ACELite::JSIValue poi_callbackContext = nullptr;
-//route_riding_search
+// route_riding_search
 OHOS::ACELite::JSIValue route_riding_successCallback = nullptr;
 OHOS::ACELite::JSIValue route_riding_failCallback = nullptr;
 OHOS::ACELite::JSIValue route_riding_callbackContext = nullptr;
-//route_walking_search
+// route_walking_search
 OHOS::ACELite::JSIValue route_walking_successCallback = nullptr;
 OHOS::ACELite::JSIValue route_walking_failCallback = nullptr;
 OHOS::ACELite::JSIValue route_walking_callbackContext = nullptr;
-//route_transit_search
+// route_transit_search
 OHOS::ACELite::JSIValue route_transit_successCallback = nullptr;
 OHOS::ACELite::JSIValue route_transit_failCallback = nullptr;
 OHOS::ACELite::JSIValue route_transit_callbackContext = nullptr;
-//auth_license
+// auth_license
 OHOS::ACELite::JSIValue auth_successCallback = nullptr;
 OHOS::ACELite::JSIValue auth_failCallback = nullptr;
 OHOS::ACELite::JSIValue auth_callbackContext = nullptr;
-//naviInit
+// naviInit
 OHOS::ACELite::JSIValue nav_successCallback = nullptr;
 OHOS::ACELite::JSIValue nav_failCallback = nullptr;
 OHOS::ACELite::JSIValue nav_callbackContext = nullptr;
-//getGeolocation
+// getGeolocation
 OHOS::ACELite::JSIValue geo_location_Callback = nullptr;
 OHOS::ACELite::JSIValue geo_location_callbackContext = nullptr;
-//onRoutePlanStart
+// onRoutePlanStart
 OHOS::ACELite::JSIValue route_plan_start_Callback = nullptr;
 OHOS::ACELite::JSIValue route_plan_start_callbackContext = nullptr;
-//onRoutePlanSuccess
+// onRoutePlanSuccess
 OHOS::ACELite::JSIValue route_plan_success_Callback = nullptr;
 OHOS::ACELite::JSIValue route_plan_success_callbackContext = nullptr;
-//onRoutePlanFail
+// onRoutePlanFail
 OHOS::ACELite::JSIValue route_plan_fail_Callback = nullptr;
 OHOS::ACELite::JSIValue route_plan_fail_callbackContext = nullptr;
-//onNaviStart
+// onNaviStart
 OHOS::ACELite::JSIValue navi_start_Callback = nullptr;
 OHOS::ACELite::JSIValue navi_start_callbackContext = nullptr;
-//onNaviDestroy
+// onNaviDestroy
 OHOS::ACELite::JSIValue navi_destroy_Callback = nullptr;
 OHOS::ACELite::JSIValue navi_destroy_callbackContext = nullptr;
-//onRoadGuideTextUpdate
+// onRoadGuideTextUpdate
 OHOS::ACELite::JSIValue road_guide_text_update_Callback = nullptr;
 OHOS::ACELite::JSIValue road_guide_text_update_callbackContext = nullptr;
-//onRouteGuideIconUpdate
+// onRouteGuideIconUpdate
 OHOS::ACELite::JSIValue road_guide_icon_update_Callback = nullptr;
 OHOS::ACELite::JSIValue road_guide_icon_update_callbackContext = nullptr;
-//onRemainTimeUpdate
+// onRemainTimeUpdate
 OHOS::ACELite::JSIValue remain_time_Callback = nullptr;
 OHOS::ACELite::JSIValue remain_time_callbackContext = nullptr;
-//onRemainDistanceUpdate
+// onRemainDistanceUpdate
 OHOS::ACELite::JSIValue remain_distance_Callback = nullptr;
 OHOS::ACELite::JSIValue remain_distance_callbackContext = nullptr;
-//onRemainRouteUpdate
+// onRemainRouteUpdate
 OHOS::ACELite::JSIValue remain_route_Callback = nullptr;
 OHOS::ACELite::JSIValue remain_route_callbackContext = nullptr;
-//onGpsStatusChange
+// onGpsStatusChange
 OHOS::ACELite::JSIValue gps_status_Callback = nullptr;
 OHOS::ACELite::JSIValue gps_status_callbackContext = nullptr;
-//onRouteFarAway
+// onRouteFarAway
 OHOS::ACELite::JSIValue route_far_Callback = nullptr;
 OHOS::ACELite::JSIValue route_far_callbackContext = nullptr;
-//onRoutePlanYawing
+// onRoutePlanYawing
 OHOS::ACELite::JSIValue route_plan_yawing_Callback = nullptr;
 OHOS::ACELite::JSIValue route_plan_yawing_callbackContext = nullptr;
-//onReRouteComplete
+// onReRouteComplete
 OHOS::ACELite::JSIValue reroute_Callback = nullptr;
 OHOS::ACELite::JSIValue reroute_callbackContext = nullptr;
-//onArriveDest
+// onArriveDest
 OHOS::ACELite::JSIValue arrivedest_Callback = nullptr;
 OHOS::ACELite::JSIValue arrivedest_callbackContext = nullptr;
-//poi_sug_search
+// poi_sug_search
 OHOS::ACELite::JSIValue poi_sug_successCallback = nullptr;
 OHOS::ACELite::JSIValue poi_sug_failCallback = nullptr;
 OHOS::ACELite::JSIValue poi_sug_callbackContext = nullptr;
-//geocode_search
+// geocode_search
 OHOS::ACELite::JSIValue geocode_search_successCallback = nullptr;
 OHOS::ACELite::JSIValue geocode_search_failCallback = nullptr;
 OHOS::ACELite::JSIValue geocode_search_callbackContext = nullptr;
-//regeocode_search
+// regeocode_search
 OHOS::ACELite::JSIValue regeocode_search_successCallback = nullptr;
 OHOS::ACELite::JSIValue regeocode_search_failCallback = nullptr;
 OHOS::ACELite::JSIValue regeocode_search_callbackContext = nullptr;
-//BT_connect
+// BT_connect
 OHOS::ACELite::JSIValue bt_connect_successCallback = nullptr;
 OHOS::ACELite::JSIValue bt_connect_failCallback = nullptr;
 OHOS::ACELite::JSIValue bt_connect_callbackContext = nullptr;
@@ -152,8 +152,7 @@ static bool CheckIsJsValueDefined(OHOS::ACELite::JSIValue jsValue)
     return true;
 }
 
-
-static int32_t DmsLiteCpoyStr(char **destStr, const char *srcStr)
+static int32_t DmsLiteCopyStr(char **destStr, const char *srcStr)
 {
     if (destStr == nullptr || srcStr == nullptr) {
         return -1;
@@ -180,8 +179,6 @@ static int32_t DmsLiteCpoyStr(char **destStr, const char *srcStr)
     return 0;
 }
 
-
-
 static void ExecuteSendMsgToJS(void *data)
 {
     BaiduMapAsyncMsgParams *params = static_cast<BaiduMapAsyncMsgParams *>(data);
@@ -216,7 +213,7 @@ static void ExecuteSendMsgToJS(void *data)
             context = route_transit_callbackContext;
             break;
         case MSGCENTER_TYPE_ID_VECTOR_NAVI_REC_POI_SUG_SEARCH:
-           success = poi_sug_successCallback;
+            success = poi_sug_successCallback;
             fail = poi_sug_failCallback;
             context = poi_sug_callbackContext;
             break;
@@ -315,46 +312,36 @@ static void ExecuteSendMsgToJS(void *data)
         default:
             HILOG_ERROR(HILOG_MODULE_ACE, "Invalid command type");
             break;
-
     }
 
     char *msgBody = params->msgBody;
     delete params;
     params = nullptr;
-
     OHOS::ACELite::JSIValue dataInfo = OHOS::ACELite::JSI::CreateObject();
     OHOS::ACELite::JSI::SetBooleanProperty(dataInfo, "isFileType", false);
     OHOS::ACELite::JSI::SetBooleanProperty(dataInfo, "isRegister", false);
     OHOS::ACELite::JSI::SetStringProperty(dataInfo, "message", msgBody);
-    if (flag) {
-       if ((!CheckIsJsValueFunction(success)) || (!CheckIsJsValueDefined(context))) {
+    HILOG_INFO(HILOG_MODULE_ACE, "ExecuteSendMsgToJS type = %d flag = %d", type, flag);
+    if (!flag) {
+        if ((!CheckIsJsValueFunction(fail)) || (!CheckIsJsValueDefined(context))) {
             HILOG_ERROR(HILOG_MODULE_ACE, "Error in ExecuteSendMsgToJS. Invalid params detected!");
-            if (msgBody != nullptr) {
-                AdapterFree(msgBody);
-                msgBody = nullptr;
-            }
+            AdapterFree(msgBody);
             return;
         }
-        OHOS::ACELite::JSIValue successArgv[OHOS::ACELite::ARGC_ONE] = { dataInfo };
-        OHOS::ACELite::JSI::CallFunction(success, context, successArgv, OHOS::ACELite::ARGC_ONE);
+        OHOS::ACELite::JSIValue failArgv[OHOS::ACELite::ARGC_ONE] = {dataInfo};
+        OHOS::ACELite::JSI::CallFunction(fail, context, failArgv, OHOS::ACELite::ARGC_ONE);
         OHOS::ACELite::JSI::ReleaseValue(dataInfo);
     } else {
-        if ((!CheckIsJsValueDefined(context)) || (!CheckIsJsValueFunction(fail))) {
+        if ((!CheckIsJsValueDefined(context)) || (!CheckIsJsValueFunction(success))) {
             HILOG_ERROR(HILOG_MODULE_ACE, "Error in ExecuteSendMsgToJS. Invalid params detected!");
-            if (msgBody != nullptr) {
-                AdapterFree(msgBody);
-                msgBody = nullptr;
-            }
+            AdapterFree(msgBody);
             return;
         }
-        OHOS::ACELite::JSIValue failArgv[OHOS::ACELite::ARGC_ONE] = { dataInfo };
-        OHOS::ACELite::JSI::CallFunction(fail, context, failArgv, OHOS::ACELite::ARGC_ONE);
+        OHOS::ACELite::JSIValue successArgv[OHOS::ACELite::ARGC_ONE] = {dataInfo};
+        OHOS::ACELite::JSI::CallFunction(success, context, successArgv, OHOS::ACELite::ARGC_ONE);
         OHOS::ACELite::JSI::ReleaseValue(dataInfo);
     }
-    if (msgBody != nullptr) {
-        AdapterFree(msgBody);
-        msgBody = nullptr;
-    }
+    AdapterFree(msgBody);
 
     return;
 }
@@ -379,7 +366,7 @@ static void ReleaseJsValue(OHOS::ACELite::JSIValue &jsValue)
 
 static void ReleaseMsgJsValue(uint8_t type)
 {
-    HILOG_INFO(HILOG_MODULE_ACE,"ReleasePoiMsgJsValue");
+    HILOG_INFO(HILOG_MODULE_ACE, "ReleaseMsgJsValue");
     switch (type) {
         case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI:
             ReleaseJsValue(poi_callbackContext);
@@ -401,7 +388,7 @@ static void ReleaseMsgJsValue(uint8_t type)
             ReleaseJsValue(route_plan_start_Callback);
             break;
         case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI_SUG_SEARCH:
-           ReleaseJsValue(poi_sug_callbackContext);
+            ReleaseJsValue(poi_sug_callbackContext);
             ReleaseJsValue(poi_sug_successCallback);
             ReleaseJsValue(poi_sug_failCallback);
             break;
@@ -502,141 +489,142 @@ static void ReleaseMsgJsValue(uint8_t type)
     return;
 }
 
-bool setCallbackFunction(OHOS::ACELite::JSIValue callback,uint8_t type,bool isSuccess)
+bool setCallbackFunction(OHOS::ACELite::JSIValue callback, uint8_t type, bool isSuccess)
 {
     if (!OHOS::ACELite::JSI::ValueIsUndefined(callback)) {
-         if (!OHOS::ACELite::JSI::ValueIsFunction(callback)) {
-             HILOG_ERROR(HILOG_MODULE_ACE, "Success callback value is not a function");
-             ReleaseJsValue(callback);
-             return false;
-         } else {
-             switch (type) {
-                 case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI:
-                     if (isSuccess) {
-                         poi_successCallback = callback;
-                     } else {
-                         poi_failCallback = callback;
-                     }
-                     break;
-                 case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_AUTH_LICENSE:
-                     if (isSuccess) {
-                         auth_successCallback = callback;
-                     } else {
-                         auth_failCallback = callback;
-                     }
-                     break;
-                 case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_INIT:
-                     if (isSuccess) {
-                         nav_successCallback = callback;
-                     } else {
-                         nav_failCallback = callback;
-                     }
-                     break;
-                 case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI_SUG_SEARCH:
-                     if (isSuccess) {
-                         poi_sug_successCallback = callback;
-                     } else {
-                         poi_sug_failCallback = callback;
-                     }
-                     break;
-                 case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GEO_LOCATION:
-                     geo_location_Callback = callback;
-                     break;
-                 case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_START:
-                     route_plan_start_Callback = callback;
-                     break;
-                 case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_SUCC:
-                     route_plan_success_Callback = callback;
-                     break;
-                 case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_FAIL:
-                     route_plan_fail_Callback = callback;
-                     break;
-                 case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_START:
-                     navi_start_Callback = callback;
-                     break;
-                 case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_DESTROY:
-                     navi_destroy_Callback = callback;
-                     break;
-                 case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROAD_GUIDE_TEXT_UPDATE:
-                     road_guide_text_update_Callback = callback;
-                     break;
-                 case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROAD_GUIDE_ICON_UPDATE:
-                     road_guide_icon_update_Callback = callback;
-                     break;
-                 case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REMAIN_TIME_UPDATE:
-                     remain_time_Callback = callback;
-                     break;
-                 case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REMAIN_DISTANCE_UPDATE:
-                     remain_distance_Callback = callback;
-                     break;
-                 case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REMAIN_ROUTE_UPDATE:
-                     remain_route_Callback = callback;
-                     break;
-                 case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GPS_STATUS_CHANGE:
-                     gps_status_Callback = callback;
-                     break;
-                 case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_FARAWAY:
-                     route_far_Callback = callback;
-                     break;
-                 case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_YAWING:
-                     route_plan_yawing_Callback = callback;
-                     break;
-                 case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_RE_ROUTE_COMPLETE:
-                     reroute_Callback = callback;
-                     break;
-                 case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ARRIVE_DSTINATION:
-                     arrivedest_Callback = callback;
-                     break;
-                 case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GEOCODE_SEARCH:
-                     if (isSuccess) {
-                         geocode_search_successCallback = callback;
-                     } else {
-                         geocode_search_failCallback = callback;
-                     }
-                     break;
-                 case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REGEOCODE_SEARCH:
-                     if (isSuccess) {
-                         regeocode_search_successCallback = callback;
-                     } else {
-                         regeocode_search_failCallback = callback;
-                     }
-                     break;
-                 case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_RIDING_SEARCH:
-                     if (isSuccess) {
-                         route_riding_successCallback = callback;
-                     } else {
-                         route_riding_failCallback = callback;
-                     }
-                     break;
-                 case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_WALKING_SEARCH:
-                     if (isSuccess) {
-                         route_walking_successCallback = callback;
-                     } else {
-                         route_walking_failCallback = callback;
-                     }
-                     break;
-                 case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_TRANSIT_SEARCH:
-                     if (isSuccess) {
-                         route_transit_successCallback = callback;
-                     } else {
-                         route_transit_failCallback = callback;
-                     }
-                     break;
-                 case MSGCENTER_TYPE_ID_VECTOR_NAVI_BT_CONNECTED:
-                     if (isSuccess) {
-                         bt_connect_successCallback = callback;
-                     } else {
-                         bt_connect_failCallback = callback;
-                     }
-                     break;
-                 default:
-                     HILOG_ERROR(HILOG_MODULE_ACE, "setCallbackFunction Invalid command type");
-                     return false;
+        if (!OHOS::ACELite::JSI::ValueIsFunction(callback)) {
+            HILOG_INFO(HILOG_MODULE_ACE, "callback is not a function will release function");
+            ReleaseJsValue(callback);
+            callback = nullptr;
+            return false;
+        } else {
+            switch (type) {
+                case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI:
+                    if (isSuccess) {
+                        poi_successCallback = callback;
+                    } else {
+                        poi_failCallback = callback;
+                    }
+                    break;
+                case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_AUTH_LICENSE:
+                    if (isSuccess) {
+                        auth_successCallback = callback;
+                    } else {
+                        auth_failCallback = callback;
+                    }
+                    break;
+                case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_INIT:
+                    if (isSuccess) {
+                        nav_successCallback = callback;
+                    } else {
+                        nav_failCallback = callback;
+                    }
+                    break;
+                case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI_SUG_SEARCH:
+                    if (isSuccess) {
+                        poi_sug_successCallback = callback;
+                    } else {
+                        poi_sug_failCallback = callback;
+                    }
+                    break;
+                case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GEO_LOCATION:
+                    geo_location_Callback = callback;
+                    break;
+                case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_START:
+                    route_plan_start_Callback = callback;
+                    break;
+                case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_SUCC:
+                    route_plan_success_Callback = callback;
+                    break;
+                case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_FAIL:
+                    route_plan_fail_Callback = callback;
+                    break;
+                case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_START:
+                    navi_start_Callback = callback;
+                    break;
+                case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_DESTROY:
+                    navi_destroy_Callback = callback;
+                    break;
+                case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROAD_GUIDE_TEXT_UPDATE:
+                    road_guide_text_update_Callback = callback;
+                    break;
+                case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROAD_GUIDE_ICON_UPDATE:
+                    road_guide_icon_update_Callback = callback;
+                    break;
+                case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REMAIN_TIME_UPDATE:
+                    remain_time_Callback = callback;
+                    break;
+                case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REMAIN_DISTANCE_UPDATE:
+                    remain_distance_Callback = callback;
+                    break;
+                case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REMAIN_ROUTE_UPDATE:
+                    remain_route_Callback = callback;
+                    break;
+                case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GPS_STATUS_CHANGE:
+                    gps_status_Callback = callback;
+                    break;
+                case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_FARAWAY:
+                    route_far_Callback = callback;
+                    break;
+                case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_YAWING:
+                    route_plan_yawing_Callback = callback;
+                    break;
+                case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_RE_ROUTE_COMPLETE:
+                    reroute_Callback = callback;
+                    break;
+                case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ARRIVE_DSTINATION:
+                    arrivedest_Callback = callback;
+                    break;
+                case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GEOCODE_SEARCH:
+                    if (isSuccess) {
+                        geocode_search_successCallback = callback;
+                    } else {
+                        geocode_search_failCallback = callback;
+                    }
+                    break;
+                case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REGEOCODE_SEARCH:
+                    if (isSuccess) {
+                        regeocode_search_successCallback = callback;
+                    } else {
+                        regeocode_search_failCallback = callback;
+                    }
+                    break;
+                case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_RIDING_SEARCH:
+                    if (isSuccess) {
+                        route_riding_successCallback = callback;
+                    } else {
+                        route_riding_failCallback = callback;
+                    }
+                    break;
+                case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_WALKING_SEARCH:
+                    if (isSuccess) {
+                        route_walking_successCallback = callback;
+                    } else {
+                        route_walking_failCallback = callback;
+                    }
+                    break;
+                case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_TRANSIT_SEARCH:
+                    if (isSuccess) {
+                        route_transit_successCallback = callback;
+                    } else {
+                        route_transit_failCallback = callback;
+                    }
+                    break;
+                case MSGCENTER_TYPE_ID_VECTOR_NAVI_BT_CONNECTED:
+                    if (isSuccess) {
+                        bt_connect_successCallback = callback;
+                    } else {
+                        bt_connect_failCallback = callback;
+                    }
+                    break;
+                default:
+                    HILOG_ERROR(HILOG_MODULE_ACE, "setCallbackFunction Invalid command type");
+                    return false;
             }
-         }
+        }
     } else {
-         HILOG_ERROR(HILOG_MODULE_ACE, "Success callback value is undefined");
-         return false;
+        HILOG_ERROR(HILOG_MODULE_ACE, "callback value is undefined");
+        return false;
     }
 
     return true;
@@ -648,18 +636,19 @@ bool setCallbackFunction(OHOS::ACELite::JSIValue callback,uint8_t type,bool isSu
 
 JSIValue BaiduMapComponentModule::poi_nearby_search(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
 {
-    HILOG_INFO(HILOG_MODULE_ACE,"poi_nearby_search");
+    HILOG_INFO(HILOG_MODULE_ACE, "poi_nearby_search");
     char *data = JSI::JsonStringify(args[0]);
-    HILOG_INFO(HILOG_MODULE_ACE,"poi_nearby_search : %s \n",data);
-    //success Callback & failed Callback
+    HILOG_INFO(HILOG_MODULE_ACE, "poi_nearby_search : %s \n", data);
+    // success Callback & failed Callback
     ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI);
     poi_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
     OHOS::ACELite::JSIValue successCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_SUCCESS);
     OHOS::ACELite::JSIValue failCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_FAIL);
-    bool hasSuccessCallback = setCallbackFunction(successCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI,true);
-    bool hasFailCallback = setCallbackFunction(failCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI,false);
+    bool hasSuccessCallback = setCallbackFunction(successCallback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI, true);
+    bool hasFailCallback = setCallbackFunction(failCallback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI, false);
     if (hasSuccessCallback || hasFailCallback) {
-        msg_center_vector_navi_req_poi(MSGCENTER_CMD_VECTOR_NAVI,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI,data,strlen(data));
+        msg_center_vector_navi_req_poi(
+            MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI, data, strlen(data));
     }
     ace_free(data);
     return JSI::CreateBoolean(true);
@@ -667,18 +656,21 @@ JSIValue BaiduMapComponentModule::poi_nearby_search(const JSIValue thisVal, cons
 
 JSIValue BaiduMapComponentModule::route_riding_search(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
 {
-    HILOG_INFO(HILOG_MODULE_ACE,"route_riding_search");
+    HILOG_INFO(HILOG_MODULE_ACE, "route_riding_search");
     char *data = JSI::JsonStringify(args[0]);
-    HILOG_INFO(HILOG_MODULE_ACE,"route_riding_search : %s \n",data);
-    //success Callback & failed Callback
+    HILOG_INFO(HILOG_MODULE_ACE, "route_riding_search : %s \n", data);
+    // success Callback & failed Callback
     ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_RIDING_SEARCH);
     route_riding_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
     OHOS::ACELite::JSIValue successCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_SUCCESS);
     OHOS::ACELite::JSIValue failCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_FAIL);
-    bool hasSuccessCallback = setCallbackFunction(successCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_RIDING_SEARCH,true);
-    bool hasFailCallback = setCallbackFunction(failCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_RIDING_SEARCH,false);
+    bool hasSuccessCallback =
+        setCallbackFunction(successCallback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_RIDING_SEARCH, true);
+    bool hasFailCallback =
+        setCallbackFunction(failCallback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_RIDING_SEARCH, false);
     if (hasSuccessCallback || hasFailCallback) {
-        msg_center_vector_navi_req_route_riding_search(MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_RIDING_SEARCH,data,strlen(data));
+        msg_center_vector_navi_req_route_riding_search(
+            MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_RIDING_SEARCH, data, strlen(data));
     }
     ace_free(data);
     return JSI::CreateBoolean(true);
@@ -686,18 +678,21 @@ JSIValue BaiduMapComponentModule::route_riding_search(const JSIValue thisVal, co
 
 JSIValue BaiduMapComponentModule::route_walking_search(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
 {
-    HILOG_INFO(HILOG_MODULE_ACE,"route_walking_search");
+    HILOG_INFO(HILOG_MODULE_ACE, "route_walking_search");
     char *data = JSI::JsonStringify(args[0]);
-    HILOG_INFO(HILOG_MODULE_ACE,"route_walking_search : %s \n",data);
-    //success Callback & failed Callback
+    HILOG_INFO(HILOG_MODULE_ACE, "route_walking_search : %s \n", data);
+    // success Callback & failed Callback
     ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_WALKING_SEARCH);
     route_walking_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
     OHOS::ACELite::JSIValue successCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_SUCCESS);
     OHOS::ACELite::JSIValue failCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_FAIL);
-    bool hasSuccessCallback = setCallbackFunction(successCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_WALKING_SEARCH,true);
-    bool hasFailCallback = setCallbackFunction(failCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_WALKING_SEARCH,false);
+    bool hasSuccessCallback =
+        setCallbackFunction(successCallback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_WALKING_SEARCH, true);
+    bool hasFailCallback =
+        setCallbackFunction(failCallback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_WALKING_SEARCH, false);
     if (hasSuccessCallback || hasFailCallback) {
-        msg_center_vector_navi_req_route_walking_search(MSGCENTER_CMD_VECTOR_NAVI,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_WALKING_SEARCH,data,strlen(data));
+        msg_center_vector_navi_req_route_walking_search(
+            MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_WALKING_SEARCH, data, strlen(data));
     }
     ace_free(data);
     return JSI::CreateBoolean(true);
@@ -705,18 +700,21 @@ JSIValue BaiduMapComponentModule::route_walking_search(const JSIValue thisVal, c
 
 JSIValue BaiduMapComponentModule::route_transit_search(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
 {
-    HILOG_INFO(HILOG_MODULE_ACE,"route_transit_search");
+    HILOG_INFO(HILOG_MODULE_ACE, "route_transit_search");
     char *data = JSI::JsonStringify(args[0]);
-    HILOG_INFO(HILOG_MODULE_ACE,"route_transit_search : %s \n",data);
-    //success Callback & failed Callback
+    HILOG_INFO(HILOG_MODULE_ACE, "route_transit_search : %s \n", data);
+    // success Callback & failed Callback
     ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_TRANSIT_SEARCH);
     route_transit_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
     OHOS::ACELite::JSIValue successCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_SUCCESS);
     OHOS::ACELite::JSIValue failCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_FAIL);
-    bool hasSuccessCallback = setCallbackFunction(successCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_TRANSIT_SEARCH,true);
-    bool hasFailCallback = setCallbackFunction(failCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_TRANSIT_SEARCH,false);
+    bool hasSuccessCallback =
+        setCallbackFunction(successCallback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_TRANSIT_SEARCH, true);
+    bool hasFailCallback =
+        setCallbackFunction(failCallback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_TRANSIT_SEARCH, false);
     if (hasSuccessCallback || hasFailCallback) {
-        msg_center_vector_navi_req_route_transit_search(MSGCENTER_CMD_VECTOR_NAVI,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_TRANSIT_SEARCH,data,strlen(data));
+        msg_center_vector_navi_req_route_transit_search(
+            MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_TRANSIT_SEARCH, data, strlen(data));
     }
     ace_free(data);
     return JSI::CreateBoolean(true);
@@ -724,18 +722,20 @@ JSIValue BaiduMapComponentModule::route_transit_search(const JSIValue thisVal, c
 
 JSIValue BaiduMapComponentModule::auth_license(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
 {
-    HILOG_INFO(HILOG_MODULE_ACE,"auth_license");
+    HILOG_INFO(HILOG_MODULE_ACE, "auth_license");
     char *data = JSI::JsonStringify(args[0]);
-    HILOG_INFO(HILOG_MODULE_ACE,"auth_license : %s \n",data);
-    //success Callback & failed Callback
+    HILOG_INFO(HILOG_MODULE_ACE, "auth_license : %s \n", data);
+    // success Callback & failed Callback
     ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_AUTH_LICENSE);
     auth_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
     OHOS::ACELite::JSIValue successCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_SUCCESS);
     OHOS::ACELite::JSIValue failCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_FAIL);
-    bool hasSuccessCallback = setCallbackFunction(successCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_AUTH_LICENSE,true);
-    bool hasFailCallback = setCallbackFunction(failCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_AUTH_LICENSE,false);
+    bool hasSuccessCallback =
+        setCallbackFunction(successCallback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_AUTH_LICENSE, true);
+    bool hasFailCallback = setCallbackFunction(failCallback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_AUTH_LICENSE, false);
     if (hasSuccessCallback || hasFailCallback) {
-        msg_center_vector_navi_req_auth_license(MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_AUTH_LICENSE,data,strlen(data));
+        msg_center_vector_navi_req_auth_license(
+            MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_AUTH_LICENSE, data, strlen(data));
     }
     ace_free(data);
     return JSI::CreateBoolean(true);
@@ -743,15 +743,16 @@ JSIValue BaiduMapComponentModule::auth_license(const JSIValue thisVal, const JSI
 
 JSIValue BaiduMapComponentModule::getGeolocation(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
 {
-    HILOG_INFO(HILOG_MODULE_ACE,"getGeolocation");
+    HILOG_INFO(HILOG_MODULE_ACE, "getGeolocation");
     char *data = JSI::JsonStringify(args[0]);
-    HILOG_INFO(HILOG_MODULE_ACE,"getGeolocation : %s \n",data);
+    HILOG_INFO(HILOG_MODULE_ACE, "getGeolocation : %s \n", data);
     ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GEO_LOCATION);
     geo_location_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
     OHOS::ACELite::JSIValue Callback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_CALLBACK);
-    bool hasCallback = setCallbackFunction(Callback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GEO_LOCATION,true);
+    bool hasCallback = setCallbackFunction(Callback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GEO_LOCATION, true);
     if (hasCallback) {
-        msg_center_vector_navi_req_geo_location(MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GEO_LOCATION,data,strlen(data));
+        msg_center_vector_navi_req_geo_location(
+            MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GEO_LOCATION, data, strlen(data));
     }
     ace_free(data);
     return JSI::CreateBoolean(true);
@@ -759,18 +760,19 @@ JSIValue BaiduMapComponentModule::getGeolocation(const JSIValue thisVal, const J
 
 JSIValue BaiduMapComponentModule::naviInit(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
 {
-    HILOG_INFO(HILOG_MODULE_ACE,"naviInit");
+    HILOG_INFO(HILOG_MODULE_ACE, "naviInit");
     char *data = JSI::JsonStringify(args[0]);
-    HILOG_INFO(HILOG_MODULE_ACE,"naviInit : %s \n",data);
-    //success Callback & failed Callback
+    HILOG_INFO(HILOG_MODULE_ACE, "naviInit : %s \n", data);
+    // success Callback & failed Callback
     ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_INIT);
     nav_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
     OHOS::ACELite::JSIValue successCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_SUCCESS);
     OHOS::ACELite::JSIValue failCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_FAIL);
-    bool hasSuccessCallback = setCallbackFunction(successCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_INIT,true);
-    bool hasFailCallback = setCallbackFunction(failCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_INIT,false);
+    bool hasSuccessCallback = setCallbackFunction(successCallback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_INIT, true);
+    bool hasFailCallback = setCallbackFunction(failCallback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_INIT, false);
     if (hasSuccessCallback || hasFailCallback) {
-        msg_center_vector_navi_req_navi_init(MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_INIT,data,strlen(data));
+        msg_center_vector_navi_req_navi_init(
+            MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_INIT, data, strlen(data));
     }
     ace_free(data);
     return JSI::CreateBoolean(true);
@@ -778,169 +780,172 @@ JSIValue BaiduMapComponentModule::naviInit(const JSIValue thisVal, const JSIValu
 
 JSIValue BaiduMapComponentModule::onRoutePlanStart(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
 {
-    HILOG_INFO(HILOG_MODULE_ACE,"onRoutePlanStart");
+    HILOG_INFO(HILOG_MODULE_ACE, "onRoutePlanStart");
     OHOS::ACELite::JSIValue Callback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_CALLBACK);
     ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_START);
     route_plan_start_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
-    setCallbackFunction(Callback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_START,true);
+    setCallbackFunction(Callback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_START, true);
     return JSI::CreateBoolean(true);
 }
 
 JSIValue BaiduMapComponentModule::onRoutePlanSuccess(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
 {
-    HILOG_INFO(HILOG_MODULE_ACE,"onRoutePlanSuccess");
+    HILOG_INFO(HILOG_MODULE_ACE, "onRoutePlanSuccess");
     OHOS::ACELite::JSIValue Callback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_CALLBACK);
     ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_SUCC);
     route_plan_success_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
-    setCallbackFunction(Callback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_SUCC,true);
+    setCallbackFunction(Callback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_SUCC, true);
     return JSI::CreateBoolean(true);
 }
 
 JSIValue BaiduMapComponentModule::onRoutePlanFail(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
 {
-    HILOG_INFO(HILOG_MODULE_ACE,"onRoutePlanFail");
+    HILOG_INFO(HILOG_MODULE_ACE, "onRoutePlanFail");
     OHOS::ACELite::JSIValue Callback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_CALLBACK);
     ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_FAIL);
     route_plan_fail_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
-    setCallbackFunction(Callback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_FAIL,true);
+    setCallbackFunction(Callback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_FAIL, true);
     return JSI::CreateBoolean(true);
 }
 
 JSIValue BaiduMapComponentModule::onNaviStart(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
 {
-    HILOG_INFO(HILOG_MODULE_ACE,"onNaviStart");
+    HILOG_INFO(HILOG_MODULE_ACE, "onNaviStart");
     OHOS::ACELite::JSIValue Callback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_CALLBACK);
     ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_START);
     navi_start_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
-    setCallbackFunction(Callback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_START,true);
+    setCallbackFunction(Callback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_START, true);
     return JSI::CreateBoolean(true);
 }
 
 JSIValue BaiduMapComponentModule::onNaviDestroy(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
 {
-    HILOG_INFO(HILOG_MODULE_ACE,"onNaviDestroy");
+    HILOG_INFO(HILOG_MODULE_ACE, "onNaviDestroy");
     OHOS::ACELite::JSIValue Callback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_CALLBACK);
     ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_DESTROY);
     navi_destroy_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
-    setCallbackFunction(Callback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_DESTROY,true);
+    setCallbackFunction(Callback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_DESTROY, true);
     return JSI::CreateBoolean(true);
 }
 
 JSIValue BaiduMapComponentModule::onRoadGuideTextUpdate(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
 {
-    HILOG_INFO(HILOG_MODULE_ACE,"onRoadGuideTextUpdate");
+    HILOG_INFO(HILOG_MODULE_ACE, "onRoadGuideTextUpdate");
     OHOS::ACELite::JSIValue Callback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_CALLBACK);
     ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROAD_GUIDE_TEXT_UPDATE);
     road_guide_text_update_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
-    setCallbackFunction(Callback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROAD_GUIDE_TEXT_UPDATE,true);
+    setCallbackFunction(Callback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROAD_GUIDE_TEXT_UPDATE, true);
     return JSI::CreateBoolean(true);
 }
 
 JSIValue BaiduMapComponentModule::onRouteGuideIconUpdate(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
 {
-    HILOG_INFO(HILOG_MODULE_ACE,"onRouteGuideIconUpdate");
+    HILOG_INFO(HILOG_MODULE_ACE, "onRouteGuideIconUpdate");
     OHOS::ACELite::JSIValue Callback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_CALLBACK);
     ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROAD_GUIDE_ICON_UPDATE);
     road_guide_icon_update_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
-    setCallbackFunction(Callback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROAD_GUIDE_ICON_UPDATE,true);
+    setCallbackFunction(Callback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROAD_GUIDE_ICON_UPDATE, true);
     return JSI::CreateBoolean(true);
 }
 
 JSIValue BaiduMapComponentModule::onRemainTimeUpdate(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
 {
-    HILOG_INFO(HILOG_MODULE_ACE,"onRemainTimeUpdate");
+    HILOG_INFO(HILOG_MODULE_ACE, "onRemainTimeUpdate");
     OHOS::ACELite::JSIValue Callback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_CALLBACK);
     ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REMAIN_TIME_UPDATE);
     remain_time_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
-    setCallbackFunction(Callback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REMAIN_TIME_UPDATE,true);
+    setCallbackFunction(Callback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REMAIN_TIME_UPDATE, true);
     return JSI::CreateBoolean(true);
 }
 
 JSIValue BaiduMapComponentModule::onRemainDistanceUpdate(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
 {
-    HILOG_INFO(HILOG_MODULE_ACE,"onRemainDistanceUpdate");
+    HILOG_INFO(HILOG_MODULE_ACE, "onRemainDistanceUpdate");
     OHOS::ACELite::JSIValue Callback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_CALLBACK);
     ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REMAIN_DISTANCE_UPDATE);
     remain_distance_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
-    setCallbackFunction(Callback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REMAIN_DISTANCE_UPDATE,true);
+    setCallbackFunction(Callback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REMAIN_DISTANCE_UPDATE, true);
     return JSI::CreateBoolean(true);
 }
 
 JSIValue BaiduMapComponentModule::onRemainRouteUpdate(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
 {
-    HILOG_INFO(HILOG_MODULE_ACE,"onRemainRouteUpdate");
+    HILOG_INFO(HILOG_MODULE_ACE, "onRemainRouteUpdate");
     OHOS::ACELite::JSIValue Callback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_CALLBACK);
     ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REMAIN_ROUTE_UPDATE);
     remain_route_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
-    setCallbackFunction(Callback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REMAIN_ROUTE_UPDATE,true);
+    setCallbackFunction(Callback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REMAIN_ROUTE_UPDATE, true);
     return JSI::CreateBoolean(true);
 }
 
 JSIValue BaiduMapComponentModule::onGpsStatusChange(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
 {
-    HILOG_INFO(HILOG_MODULE_ACE,"onGpsStatusChange");
+    HILOG_INFO(HILOG_MODULE_ACE, "onGpsStatusChange");
     OHOS::ACELite::JSIValue Callback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_CALLBACK);
     ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GPS_STATUS_CHANGE);
     gps_status_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
-    setCallbackFunction(Callback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GPS_STATUS_CHANGE,true);
+    setCallbackFunction(Callback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GPS_STATUS_CHANGE, true);
     return JSI::CreateBoolean(true);
 }
 
 JSIValue BaiduMapComponentModule::onRouteFarAway(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
 {
-    HILOG_INFO(HILOG_MODULE_ACE,"onRouteFarAway");
+    HILOG_INFO(HILOG_MODULE_ACE, "onRouteFarAway");
     OHOS::ACELite::JSIValue Callback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_CALLBACK);
     ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_FARAWAY);
     route_far_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
-    setCallbackFunction(Callback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_FARAWAY,true);
+    setCallbackFunction(Callback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_FARAWAY, true);
     return JSI::CreateBoolean(true);
 }
 
 JSIValue BaiduMapComponentModule::onRoutePlanYawing(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
 {
-    HILOG_INFO(HILOG_MODULE_ACE,"onRoutePlanYawing");
+    HILOG_INFO(HILOG_MODULE_ACE, "onRoutePlanYawing");
     OHOS::ACELite::JSIValue Callback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_CALLBACK);
     ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_YAWING);
     route_plan_yawing_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
-    setCallbackFunction(Callback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_YAWING,true);
-    //msg_center_vector_navi_req_route_plan_yawing(MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_YAWING,Callback,1);
+    setCallbackFunction(Callback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_YAWING, true);
+    // msg_center_vector_navi_req_route_plan_yawing(MSGCENTER_CMD_VECTOR_NAVI,
+    // MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_YAWING,Callback,1);
     return JSI::CreateBoolean(true);
 }
 
 JSIValue BaiduMapComponentModule::onReRouteComplete(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
 {
-    HILOG_INFO(HILOG_MODULE_ACE,"onReRouteComplete");
+    HILOG_INFO(HILOG_MODULE_ACE, "onReRouteComplete");
     OHOS::ACELite::JSIValue Callback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_CALLBACK);
     ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_RE_ROUTE_COMPLETE);
     reroute_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
-    setCallbackFunction(Callback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_RE_ROUTE_COMPLETE,true);
+    setCallbackFunction(Callback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_RE_ROUTE_COMPLETE, true);
     return JSI::CreateBoolean(true);
 }
 
 JSIValue BaiduMapComponentModule::onArriveDest(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
 {
-    HILOG_INFO(HILOG_MODULE_ACE,"onArriveDest");
+    HILOG_INFO(HILOG_MODULE_ACE, "onArriveDest");
     OHOS::ACELite::JSIValue Callback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_CALLBACK);
     ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ARRIVE_DSTINATION);
     arrivedest_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
-    setCallbackFunction(Callback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ARRIVE_DSTINATION,true);
+    setCallbackFunction(Callback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ARRIVE_DSTINATION, true);
     return JSI::CreateBoolean(true);
 }
 
 JSIValue BaiduMapComponentModule::poi_sug_search(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
 {
-    HILOG_INFO(HILOG_MODULE_ACE,"poi_sug_search");
+    HILOG_INFO(HILOG_MODULE_ACE, "poi_sug_search");
     char *data = JSI::JsonStringify(args[0]);
-    HILOG_INFO(HILOG_MODULE_ACE,"poi_sug_search : %s \n",data);
+    HILOG_INFO(HILOG_MODULE_ACE, "poi_sug_search : %s \n", data);
 
     ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI_SUG_SEARCH);
     poi_sug_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
     OHOS::ACELite::JSIValue successCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_SUCCESS);
     OHOS::ACELite::JSIValue failCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_FAIL);
-    bool hasSuccessCallback = setCallbackFunction(successCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI_SUG_SEARCH,true);
-    bool hasFailCallback = setCallbackFunction(failCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI_SUG_SEARCH,false);
+    bool hasSuccessCallback =
+        setCallbackFunction(successCallback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI_SUG_SEARCH, true);
+    bool hasFailCallback = setCallbackFunction(failCallback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI_SUG_SEARCH, false);
     if (hasSuccessCallback || hasFailCallback) {
-        msg_center_vertor_navi_req_poi_sug_search(MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI_SUG_SEARCH,data,strlen(data));
+        msg_center_vertor_navi_req_poi_sug_search(
+            MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI_SUG_SEARCH, data, strlen(data));
     }
     ace_free(data);
     return JSI::CreateBoolean(true);
@@ -951,16 +956,16 @@ JSIValue BaiduMapComponentModule::poi_sug_search(const JSIValue thisVal, const J
  */
 JSIValue BaiduMapComponentModule::Location_WGS84ToGCJ02(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
 {
-    HILOG_INFO(HILOG_MODULE_ACE,"WGS84ToGCJ02");
+    HILOG_INFO(HILOG_MODULE_ACE, "WGS84ToGCJ02");
     double lon = OHOS::ACELite::JSI::GetNumberProperty(args[0], LON);
     double lat = OHOS::ACELite::JSI::GetNumberProperty(args[0], LAT);
-    HILOG_INFO(HILOG_MODULE_ACE,"WGS84ToGCJ02 befor lon: %lf \s",lon);
-    HILOG_INFO(HILOG_MODULE_ACE,"WGS84ToGCJ02 befor lat: %lf \s",lat);
+    HILOG_INFO(HILOG_MODULE_ACE, "WGS84ToGCJ02 befor lon: %lf \s", lon);
+    HILOG_INFO(HILOG_MODULE_ACE, "WGS84ToGCJ02 befor lat: %lf \s", lat);
     JSCoordinate params = {0};
     WGS84ToGCJ02(lon, lat, params);
 
-    HILOG_INFO(HILOG_MODULE_ACE,"WGS84ToGCJ02 after lon: %lf \s",params.lon);
-    HILOG_INFO(HILOG_MODULE_ACE,"WGS84ToGCJ02 after lat: %lf \s",params.lat);
+    HILOG_INFO(HILOG_MODULE_ACE, "WGS84ToGCJ02 after lon: %lf \s", params.lon);
+    HILOG_INFO(HILOG_MODULE_ACE, "WGS84ToGCJ02 after lat: %lf \s", params.lat);
     JSIValue result = JSI::CreateObject();
     JSI::SetNumberProperty(result, "lon", params.lon);
     JSI::SetNumberProperty(result, "lat", params.lat);
@@ -969,16 +974,16 @@ JSIValue BaiduMapComponentModule::Location_WGS84ToGCJ02(const JSIValue thisVal,
 
 JSIValue BaiduMapComponentModule::Location_GCJ02ToBD09(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
 {
-    HILOG_INFO(HILOG_MODULE_ACE,"GCJ02ToBD09");
+    HILOG_INFO(HILOG_MODULE_ACE, "GCJ02ToBD09");
     double lon = OHOS::ACELite::JSI::GetNumberProperty(args[0], LON);
     double lat = OHOS::ACELite::JSI::GetNumberProperty(args[0], LAT);
-    HILOG_INFO(HILOG_MODULE_ACE,"GCJ02ToBD09 befor lon: %lf \s",lon);
-    HILOG_INFO(HILOG_MODULE_ACE,"GCJ02ToBD09 befor lat: %lf \s",lat);
+    HILOG_INFO(HILOG_MODULE_ACE, "GCJ02ToBD09 befor lon: %lf \s", lon);
+    HILOG_INFO(HILOG_MODULE_ACE, "GCJ02ToBD09 befor lat: %lf \s", lat);
     JSCoordinate params = {0};
     GCJ02ToBD09(lon, lat, params);
 
-    HILOG_INFO(HILOG_MODULE_ACE,"GCJ02ToBD09 after lon: %lf \s",params.lon);
-    HILOG_INFO(HILOG_MODULE_ACE,"GCJ02ToBD09 after lat: %lf \s",params.lat);
+    HILOG_INFO(HILOG_MODULE_ACE, "GCJ02ToBD09 after lon: %lf \s", params.lon);
+    HILOG_INFO(HILOG_MODULE_ACE, "GCJ02ToBD09 after lat: %lf \s", params.lat);
     JSIValue result = JSI::CreateObject();
     JSI::SetNumberProperty(result, "lon", params.lon);
     JSI::SetNumberProperty(result, "lat", params.lat);
@@ -987,16 +992,16 @@ JSIValue BaiduMapComponentModule::Location_GCJ02ToBD09(const JSIValue thisVal, c
 
 JSIValue BaiduMapComponentModule::Location_WGS84ToBD09(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
 {
-    HILOG_INFO(HILOG_MODULE_ACE,"WGS84ToBD09");
+    HILOG_INFO(HILOG_MODULE_ACE, "WGS84ToBD09");
     double lon = OHOS::ACELite::JSI::GetNumberProperty(args[0], LON);
     double lat = OHOS::ACELite::JSI::GetNumberProperty(args[0], LAT);
-    HILOG_INFO(HILOG_MODULE_ACE,"WGS84ToBD09 befor lon: %lf \s",lon);
-    HILOG_INFO(HILOG_MODULE_ACE,"WGS84ToBD09 befor lat: %lf \s",lat);
+    HILOG_INFO(HILOG_MODULE_ACE, "WGS84ToBD09 befor lon: %lf \s", lon);
+    HILOG_INFO(HILOG_MODULE_ACE, "WGS84ToBD09 befor lat: %lf \s", lat);
     JSCoordinate params = {0};
     WGS84ToBD09(lon, lat, params);
 
-    HILOG_INFO(HILOG_MODULE_ACE,"WGS84ToBD09 after lon: %lf \s",params.lon);
-    HILOG_INFO(HILOG_MODULE_ACE,"WGS84ToBD09 after lat: %lf \s",params.lat);
+    HILOG_INFO(HILOG_MODULE_ACE, "WGS84ToBD09 after lon: %lf \s", params.lon);
+    HILOG_INFO(HILOG_MODULE_ACE, "WGS84ToBD09 after lat: %lf \s", params.lat);
     JSIValue result = JSI::CreateObject();
     JSI::SetNumberProperty(result, "lon", params.lon);
     JSI::SetNumberProperty(result, "lat", params.lat);
@@ -1005,16 +1010,16 @@ JSIValue BaiduMapComponentModule::Location_WGS84ToBD09(const JSIValue thisVal, c
 
 JSIValue BaiduMapComponentModule::Location_BD09ToGCJ02(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
 {
-    HILOG_INFO(HILOG_MODULE_ACE,"BD09ToGCJ02");
+    HILOG_INFO(HILOG_MODULE_ACE, "BD09ToGCJ02");
     double lon = OHOS::ACELite::JSI::GetNumberProperty(args[0], LON);
     double lat = OHOS::ACELite::JSI::GetNumberProperty(args[0], LAT);
-    HILOG_INFO(HILOG_MODULE_ACE,"BD09ToGCJ02 befor lon: %lf \s",lon);
-    HILOG_INFO(HILOG_MODULE_ACE,"BD09ToGCJ02 befor lat: %lf \s",lat);
+    HILOG_INFO(HILOG_MODULE_ACE, "BD09ToGCJ02 befor lon: %lf \s", lon);
+    HILOG_INFO(HILOG_MODULE_ACE, "BD09ToGCJ02 befor lat: %lf \s", lat);
     JSCoordinate params = {0};
     BD09ToGCJ02(lon, lat, params);
 
-    HILOG_INFO(HILOG_MODULE_ACE,"BD09ToGCJ02 after lon: %lf \s",params.lon);
-    HILOG_INFO(HILOG_MODULE_ACE,"BD09ToGCJ02 after lat: %lf \s",params.lat);
+    HILOG_INFO(HILOG_MODULE_ACE, "BD09ToGCJ02 after lon: %lf \s", params.lon);
+    HILOG_INFO(HILOG_MODULE_ACE, "BD09ToGCJ02 after lat: %lf \s", params.lat);
     JSIValue result = JSI::CreateObject();
     JSI::SetNumberProperty(result, "lon", params.lon);
     JSI::SetNumberProperty(result, "lat", params.lat);
@@ -1026,40 +1031,43 @@ JSIValue BaiduMapComponentModule::Location_BD09ToGCJ02(const JSIValue thisVal, c
  */
 JSIValue BaiduMapComponentModule::Geocode_search(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
 {
-    HILOG_INFO(HILOG_MODULE_ACE,"Geocode_search");
+    HILOG_INFO(HILOG_MODULE_ACE, "Geocode_search");
     char *data = JSI::JsonStringify(args[0]);
-    HILOG_INFO(HILOG_MODULE_ACE,"Geocode_search : %s \n",data);
-    //success Callback & failed Callback
+    HILOG_INFO(HILOG_MODULE_ACE, "Geocode_search : %s \n", data);
+    // success Callback & failed Callback
     ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GEOCODE_SEARCH);
     geocode_search_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
     OHOS::ACELite::JSIValue successCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_SUCCESS);
     OHOS::ACELite::JSIValue failCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_FAIL);
-    bool hasSuccessCallback = setCallbackFunction(successCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GEOCODE_SEARCH,true);
-    bool hasFailCallback = setCallbackFunction(failCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GEOCODE_SEARCH,false);
+    bool hasSuccessCallback =
+        setCallbackFunction(successCallback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GEOCODE_SEARCH, true);
+    bool hasFailCallback = setCallbackFunction(failCallback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GEOCODE_SEARCH, false);
     if (hasSuccessCallback || hasFailCallback) {
-        msg_center_vector_navi_req_geocode_search(MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GEOCODE_SEARCH,data,strlen(data));
+        msg_center_vector_navi_req_geocode_search(
+            MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GEOCODE_SEARCH, data, strlen(data));
     }
-       ace_free(data);
+    ace_free(data);
     return JSI::CreateBoolean(true);
-
 }
 
 JSIValue BaiduMapComponentModule::Regeocode_search(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
 {
-    HILOG_INFO(HILOG_MODULE_ACE,"Regeocode_search");
+    HILOG_INFO(HILOG_MODULE_ACE, "Regeocode_search");
     char *data = JSI::JsonStringify(args[0]);
-    HILOG_INFO(HILOG_MODULE_ACE,"Regeocode_search : %s \n",data);
-    //success Callback & failed Callback
+    HILOG_INFO(HILOG_MODULE_ACE, "Regeocode_search : %s \n", data);
+    // success Callback & failed Callback
     ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REGEOCODE_SEARCH);
     regeocode_search_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
     OHOS::ACELite::JSIValue successCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_SUCCESS);
     OHOS::ACELite::JSIValue failCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_FAIL);
-    bool hasSuccessCallback = setCallbackFunction(successCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REGEOCODE_SEARCH,true);
-    bool hasFailCallback = setCallbackFunction(failCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REGEOCODE_SEARCH,false);
+    bool hasSuccessCallback =
+        setCallbackFunction(successCallback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REGEOCODE_SEARCH, true);
+    bool hasFailCallback = setCallbackFunction(failCallback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REGEOCODE_SEARCH, false);
     if (hasSuccessCallback || hasFailCallback) {
-        msg_center_vector_navi_req_regeocode_search(MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REGEOCODE_SEARCH,data,strlen(data));
+        msg_center_vector_navi_req_regeocode_search(
+            MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REGEOCODE_SEARCH, data, strlen(data));
     }
-       ace_free(data);
+    ace_free(data);
     return JSI::CreateBoolean(true);
 }
 
@@ -1068,11 +1076,12 @@ JSIValue BaiduMapComponentModule::Regeocode_search(const JSIValue thisVal, const
  */
 JSIValue BaiduMapComponentModule::Destroy_page(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
 {
-    HILOG_INFO(HILOG_MODULE_ACE,"Destroy_page");
+    HILOG_INFO(HILOG_MODULE_ACE, "Destroy_page");
     char *data = JSI::JsonStringify(args[0]);
-    HILOG_INFO(HILOG_MODULE_ACE,"Destroy_page : %s \n",data);
-    msg_center_vector_navi_req_destroy_page(MSGCENTER_CMD_VECTOR_NAVI,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_DESTROY_PAGE,data,strlen(data));
-       ace_free(data);
+    HILOG_INFO(HILOG_MODULE_ACE, "Destroy_page : %s \n", data);
+    msg_center_vector_navi_req_destroy_page(
+        MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_DESTROY_PAGE, data, strlen(data));
+    ace_free(data);
     return JSI::CreateBoolean(true);
 }
 
@@ -1081,17 +1090,17 @@ JSIValue BaiduMapComponentModule::Destroy_page(const JSIValue thisVal, const JSI
  */
 JSIValue BaiduMapComponentModule::onBTConnect(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
 {
-    HILOG_INFO(HILOG_MODULE_ACE,"onBTConnect");
+    HILOG_INFO(HILOG_MODULE_ACE, "onBTConnect");
     char *data = JSI::JsonStringify(args[0]);
-    HILOG_INFO(HILOG_MODULE_ACE,"onBTConnect : %s \n",data);
-    //success Callback & failed Callback
+    HILOG_INFO(HILOG_MODULE_ACE, "onBTConnect : %s \n", data);
+    // success Callback & failed Callback
     ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_BT_CONNECTED);
     bt_connect_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
     OHOS::ACELite::JSIValue connectCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CONNECT);
     OHOS::ACELite::JSIValue disconnectCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], DISCONNECT);
-    setCallbackFunction(connectCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_BT_CONNECTED,true);
-    setCallbackFunction(disconnectCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_BT_CONNECTED,false);
-       ace_free(data);
+    setCallbackFunction(connectCallback, MSGCENTER_TYPE_ID_VECTOR_NAVI_BT_CONNECTED, true);
+    setCallbackFunction(disconnectCallback, MSGCENTER_TYPE_ID_VECTOR_NAVI_BT_CONNECTED, false);
+    ace_free(data);
     return JSI::CreateBoolean(true);
 }
 
@@ -1100,12 +1109,13 @@ JSIValue BaiduMapComponentModule::onBTConnect(const JSIValue thisVal, const JSIV
  */
 JSIValue BaiduMapComponentModule::NaviDestroy(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
 {
-  HILOG_INFO(HILOG_MODULE_ACE,"exitNavigation");
-  char *data = JSI::JsonStringify(args[0]);
-  HILOG_INFO(HILOG_MODULE_ACE,"exitNavigation : %s \n",data);
-  msg_center_vector_navi_req_destroy_from_watch(MSGCENTER_CMD_VECTOR_NAVI,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_DESTROY_FROM_WATCH,data,strlen(data));
-  ace_free(data);
-  return JSI::CreateBoolean(true);
+    HILOG_INFO(HILOG_MODULE_ACE, "exitNavigation");
+    char *data = JSI::JsonStringify(args[0]);
+    HILOG_INFO(HILOG_MODULE_ACE, "exitNavigation : %s \n", data);
+    msg_center_vector_navi_req_destroy_from_watch(
+        MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_DESTROY_FROM_WATCH, data, strlen(data));
+    ace_free(data);
+    return JSI::CreateBoolean(true);
 }
 
 /**
@@ -1113,104 +1123,248 @@ JSIValue BaiduMapComponentModule::NaviDestroy(const JSIValue thisVal, const JSIV
  */
 JSIValue BaiduMapComponentModule::StopAnswer(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
 {
-  HILOG_INFO(HILOG_MODULE_ACE,"StopAnswer");
-  char *data = JSI::JsonStringify(args[0]);
-  HILOG_INFO(HILOG_MODULE_ACE,"StopAnswer : %s \n",data);
-  msg_center_xiaodu_send_stop_answer(MSGCENTER_CMD_XIAODU,MSGCENTER_TYPE_ID_XIAODU_SEND_JS_EXIT,data,strlen(data));
-  ace_free(data);
-  return JSI::CreateBoolean(true);
+    HILOG_INFO(HILOG_MODULE_ACE, "StopAnswer");
+    char *data = JSI::JsonStringify(args[0]);
+    HILOG_INFO(HILOG_MODULE_ACE, "StopAnswer : %s \n", data);
+    msg_center_xiaodu_send_stop_answer(MSGCENTER_CMD_XIAODU, MSGCENTER_TYPE_ID_XIAODU_SEND_JS_EXIT, data, strlen(data));
+    ace_free(data);
+    return JSI::CreateBoolean(true);
+}
+
+JSIValue BaiduMapComponentModule::MapInit(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
+{
+    HILOG_INFO(HILOG_MODULE_ACE, "MapInit");
+    // poi_nearby_search
+    poi_successCallback = nullptr;
+    poi_failCallback = nullptr;
+    poi_callbackContext = nullptr;
+    // route_riding_search
+    route_riding_successCallback = nullptr;
+    route_riding_failCallback = nullptr;
+    route_riding_callbackContext = nullptr;
+    // route_walking_search
+    route_walking_successCallback = nullptr;
+    route_walking_failCallback = nullptr;
+    route_walking_callbackContext = nullptr;
+    // route_transit_search
+    route_transit_successCallback = nullptr;
+    route_transit_failCallback = nullptr;
+    route_transit_callbackContext = nullptr;
+    // auth_license
+    auth_successCallback = nullptr;
+    auth_failCallback = nullptr;
+    auth_callbackContext = nullptr;
+    // naviInit
+    nav_successCallback = nullptr;
+    nav_failCallback = nullptr;
+    nav_callbackContext = nullptr;
+    // getGeolocation
+    geo_location_Callback = nullptr;
+    geo_location_callbackContext = nullptr;
+    // onRoutePlanStart
+    route_plan_start_Callback = nullptr;
+    route_plan_start_callbackContext = nullptr;
+    // onRoutePlanSuccess
+    route_plan_success_Callback = nullptr;
+    route_plan_success_callbackContext = nullptr;
+    // onRoutePlanFail
+    route_plan_fail_Callback = nullptr;
+    route_plan_fail_callbackContext = nullptr;
+    // onNaviStart
+    navi_start_Callback = nullptr;
+    navi_start_callbackContext = nullptr;
+    // onNaviDestroy
+    navi_destroy_Callback = nullptr;
+    navi_destroy_callbackContext = nullptr;
+    // onRoadGuideTextUpdate
+    road_guide_text_update_Callback = nullptr;
+    road_guide_text_update_callbackContext = nullptr;
+    // onRouteGuideIconUpdate
+    road_guide_icon_update_Callback = nullptr;
+    road_guide_icon_update_callbackContext = nullptr;
+    // onRemainTimeUpdate
+    remain_time_Callback = nullptr;
+    remain_time_callbackContext = nullptr;
+    // onRemainDistanceUpdate
+    remain_distance_Callback = nullptr;
+    remain_distance_callbackContext = nullptr;
+    // onRemainRouteUpdate
+    remain_route_Callback = nullptr;
+    remain_route_callbackContext = nullptr;
+    // onGpsStatusChange
+    gps_status_Callback = nullptr;
+    gps_status_callbackContext = nullptr;
+    // onRouteFarAway
+    route_far_Callback = nullptr;
+    route_far_callbackContext = nullptr;
+    // onRoutePlanYawing
+    route_plan_yawing_Callback = nullptr;
+    route_plan_yawing_callbackContext = nullptr;
+    // onReRouteComplete
+    reroute_Callback = nullptr;
+    reroute_callbackContext = nullptr;
+    // onArriveDest
+    arrivedest_Callback = nullptr;
+    arrivedest_callbackContext = nullptr;
+    // poi_sug_search
+    poi_sug_successCallback = nullptr;
+    poi_sug_failCallback = nullptr;
+    poi_sug_callbackContext = nullptr;
+    // geocode_search
+    geocode_search_successCallback = nullptr;
+    geocode_search_failCallback = nullptr;
+    geocode_search_callbackContext = nullptr;
+    // regeocode_search
+    regeocode_search_successCallback = nullptr;
+    regeocode_search_failCallback = nullptr;
+    regeocode_search_callbackContext = nullptr;
+    // BT_connect
+    bt_connect_successCallback = nullptr;
+    bt_connect_failCallback = nullptr;
+    bt_connect_callbackContext = nullptr;
+    return JSI::CreateBoolean(true);
 }
 
 void BaiduMapComponentModule::OnDestroy()
 {
     HILOG_INFO(HILOG_MODULE_ACE, "BaiduMapComponent OnDestroy\n");
 
-    //poi_nearby_search
+    // poi_nearby_search
     ReleaseJsValue(poi_successCallback);
     ReleaseJsValue(poi_failCallback);
     ReleaseJsValue(poi_callbackContext);
-    //route_riding_search
+    poi_successCallback = nullptr;
+    poi_failCallback = nullptr;
+    poi_callbackContext = nullptr;
+    // route_riding_search
     ReleaseJsValue(route_riding_successCallback);
     ReleaseJsValue(route_riding_failCallback);
     ReleaseJsValue(route_riding_callbackContext);
-    //route_walking_search
+    route_riding_successCallback = nullptr;
+    route_riding_failCallback = nullptr;
+    route_riding_callbackContext = nullptr;
+    // route_walking_search
     ReleaseJsValue(route_walking_successCallback);
     ReleaseJsValue(route_walking_failCallback);
     ReleaseJsValue(route_walking_callbackContext);
-    //route_transit_search
+    route_walking_successCallback = nullptr;
+    route_walking_failCallback = nullptr;
+    route_walking_callbackContext = nullptr;
+    // route_transit_search
     ReleaseJsValue(route_transit_successCallback);
     ReleaseJsValue(route_transit_failCallback);
     ReleaseJsValue(route_transit_callbackContext);
-    //auth_license
+    route_transit_successCallback = nullptr;
+    route_transit_failCallback = nullptr;
+    route_transit_callbackContext = nullptr;
+    // auth_license
     ReleaseJsValue(auth_successCallback);
     ReleaseJsValue(auth_failCallback);
     ReleaseJsValue(auth_callbackContext);
-    //onRoutePlanStart
+    auth_successCallback = nullptr;
+    auth_failCallback = nullptr;
+    auth_callbackContext = nullptr;
+    // onRoutePlanStart
     ReleaseJsValue(route_plan_start_Callback);
     ReleaseJsValue(route_plan_start_callbackContext);
-    //onRoutePlanSuccess
+    route_plan_start_Callback = nullptr;
+    route_plan_start_callbackContext = nullptr;
+    // onRoutePlanSuccess
     ReleaseJsValue(route_plan_success_Callback);
     ReleaseJsValue(route_plan_success_callbackContext);
-    //onRoutePlanFail
+    route_plan_success_Callback = nullptr;
+    route_plan_success_callbackContext = nullptr;
+    // onRoutePlanFail
     ReleaseJsValue(route_plan_fail_Callback);
     ReleaseJsValue(route_plan_fail_callbackContext);
-    //onNaviStart
+    route_plan_fail_Callback = nullptr;
+    route_plan_fail_callbackContext = nullptr;
+    // onNaviStart
     ReleaseJsValue(navi_start_Callback);
     ReleaseJsValue(navi_start_callbackContext);
-    //onNaviDestroy
+    navi_start_Callback = nullptr;
+    navi_start_callbackContext = nullptr;
+    // onNaviDestroy
     ReleaseJsValue(navi_destroy_Callback);
     ReleaseJsValue(navi_destroy_callbackContext);
-    //onRoadGuideTextUpdate
+    navi_destroy_Callback = nullptr;
+    navi_destroy_callbackContext = nullptr;
+    // onRoadGuideTextUpdate
     ReleaseJsValue(road_guide_text_update_Callback);
     ReleaseJsValue(road_guide_text_update_callbackContext);
-    //onRouteGuideIconUpdate
+    road_guide_text_update_Callback = nullptr;
+    road_guide_text_update_callbackContext = nullptr;
+    // onRouteGuideIconUpdate
     ReleaseJsValue(road_guide_icon_update_Callback);
     ReleaseJsValue(road_guide_icon_update_callbackContext);
-    //onRemainTimeUpdate
+    road_guide_icon_update_Callback = nullptr;
+    road_guide_icon_update_callbackContext = nullptr;
+    // onRemainTimeUpdate
     ReleaseJsValue(remain_time_Callback);
     ReleaseJsValue(remain_time_callbackContext);
-    //onRemainDistanceUpdate
+    remain_time_Callback = nullptr;
+    remain_time_callbackContext = nullptr;
+    // onRemainDistanceUpdate
     ReleaseJsValue(remain_distance_Callback);
     ReleaseJsValue(remain_distance_callbackContext);
-    //onRemainRouteUpdate
+    remain_distance_Callback = nullptr;
+    remain_distance_callbackContext = nullptr;
+    // onRemainRouteUpdate
     ReleaseJsValue(remain_route_Callback);
     ReleaseJsValue(remain_route_callbackContext);
-    //onGpsStatusChange
+    remain_route_Callback = nullptr;
+    remain_route_callbackContext = nullptr;
+    // onGpsStatusChange
     ReleaseJsValue(gps_status_Callback);
     ReleaseJsValue(gps_status_callbackContext);
-    //onRouteFarAway
+    gps_status_Callback = nullptr;
+    gps_status_callbackContext = nullptr;
+    // onRouteFarAway
     ReleaseJsValue(route_far_Callback);
     ReleaseJsValue(route_far_callbackContext);
-    //onRoutePlanYawing
+    route_far_Callback = nullptr;
+    route_far_callbackContext = nullptr;
+    // onRoutePlanYawing
     ReleaseJsValue(route_plan_yawing_Callback);
     ReleaseJsValue(route_plan_yawing_callbackContext);
-    //onReRouteComplete
+    route_plan_yawing_Callback = nullptr;
+    route_plan_yawing_callbackContext = nullptr;
+    // onReRouteComplete
     ReleaseJsValue(reroute_Callback);
     ReleaseJsValue(reroute_callbackContext);
-    //onArriveDest
+    reroute_Callback = nullptr;
+    reroute_callbackContext = nullptr;
+    // onArriveDest
     ReleaseJsValue(arrivedest_Callback);
     ReleaseJsValue(arrivedest_callbackContext);
-    //poi_sug_search
+    arrivedest_Callback = nullptr;
+    arrivedest_callbackContext = nullptr;
+    // poi_sug_search
     ReleaseJsValue(poi_sug_successCallback);
     ReleaseJsValue(poi_sug_failCallback);
     ReleaseJsValue(poi_sug_callbackContext);
-    //geocode_search
+    poi_sug_successCallback = nullptr;
+    poi_sug_failCallback = nullptr;
+    poi_sug_callbackContext = nullptr;
+    // geocode_search
     ReleaseJsValue(geocode_search_successCallback);
     ReleaseJsValue(geocode_search_failCallback);
     ReleaseJsValue(geocode_search_callbackContext);
-    //regeocode_search
+    geocode_search_successCallback = nullptr;
+    geocode_search_failCallback = nullptr;
+    geocode_search_callbackContext = nullptr;
+    // regeocode_search
     ReleaseJsValue(regeocode_search_successCallback);
     ReleaseJsValue(regeocode_search_failCallback);
     ReleaseJsValue(regeocode_search_callbackContext);
-    //BT_connect
-    ReleaseJsValue(bt_connect_successCallback);
-    ReleaseJsValue(bt_connect_failCallback);
-    ReleaseJsValue(bt_connect_callbackContext);
+    regeocode_search_successCallback = nullptr;
+    regeocode_search_failCallback = nullptr;
+    regeocode_search_callbackContext = nullptr;
 }
 
 void InitBaiduMapComponentModule(JSIValue exports)
 {
-    HILOG_INFO(HILOG_MODULE_ACE,"InitBaiduMapComponentModule");
+    HILOG_INFO(HILOG_MODULE_ACE, "InitBaiduMapComponentModule");
     /**
      * MsgCenter interface
      */
@@ -1270,35 +1424,41 @@ void InitBaiduMapComponentModule(JSIValue exports)
      */
     JSI::SetModuleAPI(exports, "stopAnswer", BaiduMapComponentModule::StopAnswer);
        /**
+     * mapInit
+     */
+    JSI::SetModuleAPI(exports, "mapInit", BaiduMapComponentModule::MapInit);
+       /**
      * destroy
      */
     JSI::SetOnDestroy(exports, BaiduMapComponentModule::OnDestroy);
 }
 
-} // namespace ACELite
-} // namespace OHOS
+}  // namespace ACELite
+}  // namespace OHOS
 
-int32_t BaidumapSendMsgToJS(const char *msgBody,uint8_t type)
+int32_t BaidumapSendMsgToJS(const char *msgBody, uint8_t type)
 {
     BaiduMapAsyncMsgParams *params = new BaiduMapAsyncMsgParams();
     if (params == nullptr) {
-        HILOG_ERROR(HILOG_MODULE_ACE,"Failed to allocate memory for params");
+        HILOG_ERROR(HILOG_MODULE_ACE, "Failed to allocate memory for params");
         return -1;
     }
     params->type = type;
     params->flag = true;
-    int32_t copyRet = OHOS::ACELite::DmsLiteCpoyStr(&params->msgBody, msgBody);
+    int32_t copyRet = OHOS::ACELite::DmsLiteCopyStr(&params->msgBody, msgBody);
 
     if (copyRet != 0) {
-        HILOG_ERROR(HILOG_MODULE_ACE,"Failed to copy msgBody");
+        HILOG_ERROR(HILOG_MODULE_ACE, "Failed to copy msgBody");
         delete params;
         params = nullptr;
         return copyRet;
     }
 
-    bool ret = OHOS::ACELite::JsAsyncWork::DispatchAsyncWork(OHOS::ACELite::ExecuteSendMsgToJS,static_cast<void *>(params));
+    bool ret =
+        OHOS::ACELite::JsAsyncWork::DispatchAsyncWork(OHOS::ACELite::ExecuteSendMsgToJS, static_cast<void *>(params));
     if (!ret) {
         HILOG_ERROR(HILOG_MODULE_ACE, "Failed to dispatch async work");
+        AdapterFree(params->msgBody);
         delete params;
         params = nullptr;
         return -1;
@@ -1307,27 +1467,29 @@ int32_t BaidumapSendMsgToJS(const char *msgBody,uint8_t type)
     return 0;
 }
 
-int32_t BaidumapFailSendMsgToJS(const char *msgBody,uint8_t type)
+int32_t BaidumapFailSendMsgToJS(const char *msgBody, uint8_t type)
 {
     BaiduMapAsyncMsgParams *params = new BaiduMapAsyncMsgParams();
     if (params == nullptr) {
-        HILOG_ERROR(HILOG_MODULE_ACE,"Failed to allocate memory for params");
+        HILOG_ERROR(HILOG_MODULE_ACE, "Failed to allocate memory for params");
         return -1;
     }
     params->type = type;
     params->flag = false;
-    int32_t copyRet = OHOS::ACELite::DmsLiteCpoyStr(&params->msgBody, msgBody);
+    int32_t copyRet = OHOS::ACELite::DmsLiteCopyStr(&params->msgBody, msgBody);
 
     if (copyRet != 0) {
-        HILOG_ERROR(HILOG_MODULE_ACE,"Failed to copy msgBody");
+        HILOG_ERROR(HILOG_MODULE_ACE, "Failed to copy msgBody");
         delete params;
         params = nullptr;
         return copyRet;
     }
 
-    bool ret = OHOS::ACELite::JsAsyncWork::DispatchAsyncWork(OHOS::ACELite::ExecuteSendMsgToJS, static_cast<void *>(params));
+    bool ret =
+        OHOS::ACELite::JsAsyncWork::DispatchAsyncWork(OHOS::ACELite::ExecuteSendMsgToJS, static_cast<void *>(params));
     if (!ret) {
         HILOG_ERROR(HILOG_MODULE_ACE, "Failed to dispatch async work");
+        AdapterFree(params->msgBody);
         delete params;
         params = nullptr;
         return -1;
@@ -1337,21 +1499,13 @@ int32_t BaidumapFailSendMsgToJS(const char *msgBody,uint8_t type)
 }
 
 __attribute__((weak)) void WGS84ToGCJ02(double lon, double lat, JSCoordinate &output)
-{
-
-}
+{}
 
 __attribute__((weak)) void GCJ02ToBD09(double lon, double lat, JSCoordinate &output)
-{
-
-}
+{}
 
 __attribute__((weak)) void WGS84ToBD09(double lon, double lat, JSCoordinate &output)
-{
-
-}
+{}
 
 __attribute__((weak)) void BD09ToGCJ02(double bd_lon, double bd_lat, JSCoordinate &output)
-{
-
-}
+{}
index f3d0e45..8e498b5 100644 (file)
@@ -1,9 +1,9 @@
 /*
-* Copyright (c) CompanyNameMagicTag. 2021-2021. All rights reserved.
-* Description: audio capture wrapper
-* Author: Media Software Group
-* Create: 2021-09-13
-*/
+ * Copyright (c) CompanyNameMagicTag. 2024-2025. All rights reserved.
+ * Description: baidumap sdk wrapper
+ * Author: SoftwarePlatform Group
+ * Create: 2024-03-02
+ */
 
 #ifndef BAIDUMAPCOMPONENT_MODULE_H
 #define BAIDUMAPCOMPONENT_MODULE_H
@@ -112,6 +112,11 @@ public:
      */
     static JSIValue StopAnswer(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize);
        
+       /**
+     * mapInit
+     */
+    static JSIValue MapInit(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize);
+       
        /**
      * destroy
      */
@@ -119,9 +124,9 @@ public:
 };
 
 void InitBaiduMapComponentModule(JSIValue exports);
-}
-}
-int32_t BaidumapSendMsgToJS(const char *msgBody,uint8_t type);
-int32_t BaidumapFailSendMsgToJS(const char *msgBody,uint8_t type);
+}  // namespace ACELite
+}  // namespace OHOS
+int32_t BaidumapSendMsgToJS(const char *msgBody, uint8_t type);
+int32_t BaidumapFailSendMsgToJS(const char *msgBody, uint8_t type);
 #endif
 
diff --git a/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/modules/keyinput/keyinput.cpp b/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/modules/keyinput/keyinput.cpp
new file mode 100644 (file)
index 0000000..6019eed
--- /dev/null
@@ -0,0 +1,292 @@
+/*
+ * Copyright (c) 2020 Huawei Device Co., Ltd.
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "keyinput.h"
+#include "js_async_work.h"
+#include "adapter.h"
+#include "js_ability_impl.h"
+#include "ace_log.h"
+
+typedef struct : public OHOS::HeapBase {
+    char *msgBody;
+    uint16_t status;
+} KeyMsgParams;
+
+typedef struct : public OHOS::HeapBase {
+    int16_t rotate;
+} RotateMsgParams;
+
+namespace OHOS {
+namespace ACELite {
+
+OHOS::ACELite::JSIValue key_successCallback = nullptr;
+OHOS::ACELite::JSIValue key_callbackContext = nullptr;
+OHOS::ACELite::JSIValue rotate_successCallback = nullptr;
+OHOS::ACELite::JSIValue rotate_callbackContext = nullptr;
+
+static bool CheckIsJsValueDefined(OHOS::ACELite::JSIValue jsValue)
+{
+    if (jsValue == nullptr) {
+        return false;
+    }
+
+    if (OHOS::ACELite::JSI::ValueIsUndefined(jsValue)) {
+        return false;
+    }
+
+    return true;
+}
+
+static void ReleaseJsValue(OHOS::ACELite::JSIValue &jsValue)
+{
+    if (CheckIsJsValueDefined(jsValue)) {
+        OHOS::ACELite::JSI::ReleaseValue(jsValue);
+        jsValue = OHOS::ACELite::JSI::CreateUndefined();
+    }
+    return;
+}
+
+static int32_t ACECopyStr(char **destStr, const char *srcStr)
+{
+    if (destStr == nullptr || srcStr == nullptr) {
+        return -1;
+    }
+
+    uint32_t length = strlen(srcStr) + 1;
+    *destStr = static_cast<char *>(AdapterMalloc(length));
+    if (*destStr == nullptr) {
+        HILOG_ERROR(HILOG_MODULE_ACE, "Failed to allocate memory for destination string");
+        return -1;
+    }
+
+    if (memset_s(*destStr, length, 0, length) != EOK) {
+        HILOG_ERROR(HILOG_MODULE_ACE, "Failed to set memory for destination string");
+        AdapterFree(*destStr);
+        return -1;
+    }
+    if (memcpy_s(*destStr, length, srcStr, length) != EOK) {
+        HILOG_ERROR(HILOG_MODULE_ACE, "Failed to copy source string to destination string");
+        AdapterFree(*destStr);
+        return -1;
+    }
+
+    return 0;
+}
+
+static void ExecuteSendKeyMsgToJS(void *data)
+{
+    KeyMsgParams *params = static_cast<KeyMsgParams *>(data);
+    if (params == nullptr) {
+        return;
+    }
+
+    char *msgBody = params->msgBody;
+    uint16_t status = params->status;
+    OHOS::ACELite::JSIValue callback = key_successCallback;
+    OHOS::ACELite::JSIValue context = key_callbackContext;
+
+    OHOS::ACELite::JSIValue dataInfo = OHOS::ACELite::JSI::CreateObject();
+    OHOS::ACELite::JSI::SetStringProperty(dataInfo, "button", msgBody);
+    OHOS::ACELite::JSI::SetNumberProperty(dataInfo, "status", status);
+    OHOS::ACELite::JSIValue callbackArgv[OHOS::ACELite::ARGC_ONE] = {dataInfo};
+    OHOS::ACELite::JSI::CallFunction(callback, context, callbackArgv, OHOS::ACELite::ARGC_ONE);
+    OHOS::ACELite::JSI::ReleaseValue(dataInfo);
+
+    AdapterFree(msgBody);
+    delete params;
+    params = nullptr;
+    return;
+}
+
+static void ExecuteSendRotateMsgToJS(void *data)
+{
+    RotateMsgParams *params = static_cast<RotateMsgParams *>(data);
+    if (params == nullptr) {
+        return;
+    }
+
+    int16_t rotate = params->rotate;
+    delete params;
+    params = nullptr;
+    OHOS::ACELite::JSIValue callback = rotate_successCallback;
+    OHOS::ACELite::JSIValue context = rotate_callbackContext;
+    OHOS::ACELite::JSIValue dataInfo = OHOS::ACELite::JSI::CreateObject();
+    OHOS::ACELite::JSI::SetNumberProperty(dataInfo, "rotate", rotate);
+    OHOS::ACELite::JSIValue callbackArgv[OHOS::ACELite::ARGC_ONE] = {dataInfo};
+    OHOS::ACELite::JSI::CallFunction(callback, context, callbackArgv, OHOS::ACELite::ARGC_ONE);
+    OHOS::ACELite::JSI::ReleaseValue(dataInfo);
+    return;
+}
+
+JSIValue KeyInputModule::setKeyListener(const JSIValue thisVal, const JSIValue *args, uint8_t argsNum)
+{
+    ReleaseJsValue(key_callbackContext);
+    ReleaseJsValue(key_successCallback);
+    if (argsNum > 0) {
+        key_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
+        key_successCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_CALLBACK);
+        KeyListener::GetInstance()->SetRegister(true);
+    } else {
+        key_callbackContext = nullptr;
+        key_successCallback = nullptr;
+    }
+    return JSI::CreateBoolean(true);
+}
+
+JSIValue KeyInputModule::setRotateListener(const JSIValue thisVal, const JSIValue *args, uint8_t argsNum)
+{
+    ReleaseJsValue(rotate_successCallback);
+    ReleaseJsValue(rotate_callbackContext);
+    if (argsNum > 0) {
+        rotate_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
+        rotate_successCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_CALLBACK);
+        RotateListener::GetInstance()->SetRegister(true);
+    } else {
+        key_callbackContext = nullptr;
+        key_successCallback = nullptr;
+    }
+    return JSI::CreateBoolean(true);
+}
+
+void KeyInputModule::OnDestroy()
+{
+    OHOS::ACELite::KeyListener::GetInstance()->SetRegister(false);
+    OHOS::ACELite::RotateListener::GetInstance()->SetRegister(false);
+}
+
+void InitKeyInputModule(JSIValue exports)
+{
+    JSI::SetModuleAPI(exports, "setKeyListener", KeyInputModule::setKeyListener);
+    JSI::SetModuleAPI(exports, "setRotateListener", KeyInputModule::setRotateListener);
+    JSI::SetOnDestroy(exports, KeyInputModule::OnDestroy);
+}
+
+}  // namespace ACELite
+}  // namespace OHOS
+
+void OHOS::ACELite::KeyListener::OnKeyEvent(const KeyEvent &event)
+{
+    if (OHOS::ACELite::KeyListener::hasRegister()) {
+        char *type;
+        switch (event.GetKeyId()) {
+            case static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER):
+                type = "POWER";
+                break;
+            default:
+                type = "UNKNOWN";
+                break;
+        }
+        int32_t ret = KeySendMsgToJS(type, event.GetState());
+        if (ret != 0) {
+            HILOG_ERROR(HILOG_MODULE_ACE, "KeyListener: OnKeyEvent send event error");
+        }
+    } else {
+        switch (event.GetState()) {
+            case InputDevice::STATE_PRESS:
+                isPress_ = true;
+                break;
+            case InputDevice::STATE_LONG_PRESS:
+                isLongPress_ = true;
+                OnKeyLongPress(event);
+                break;
+            case InputDevice::STATE_RELEASE:
+                onRelease(event);
+                break;
+            default:
+                break;
+        }
+    }
+}
+
+void OHOS::ACELite::KeyListener::onRelease(const KeyEvent &event)
+{
+    if (isPress_ && !isLongPress_) {
+        if (event.GetKeyId() == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER)) {
+            JsAppContext::GetInstance()->TerminateAbility();
+        }
+    }
+    isPress_ = false;
+}
+
+void OHOS::ACELite::KeyListener::OnKeyLongPress(const KeyEvent &event)
+{
+    if (isLongPress_) {
+        if (event.GetKeyId() == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER)) {
+            NativeAbility::GetInstance().ChangeSlice(VIEW_REBOOT);
+        }
+    }
+    // we don't handle isLongPress & isRelease, so reset isLongPress_ to false here.
+    isLongPress_ = false;
+}
+
+void OHOS::ACELite::RotateListener::OnRotateEvent(const RotateEvent &event)
+{
+    if (OHOS::ACELite::RotateListener::hasRegister()) {
+        int ret = RotateSendMsgToJS(event.GetRotate());
+        if (ret != 0) {
+            HILOG_ERROR(HILOG_MODULE_ACE, "RotateListener: OnRotateEvent send event error");
+        }
+    }
+}
+
+int32_t KeySendMsgToJS(const char *msgBody, uint16_t status)
+{
+    KeyMsgParams *params = new KeyMsgParams();
+    if (params == nullptr) {
+        HILOG_ERROR(HILOG_MODULE_ACE, "Failed to allocate memory for params");
+        return -1;
+    }
+    params->status = status;
+    int32_t copyRet = OHOS::ACELite::ACECopyStr(&params->msgBody, msgBody);
+
+    if (copyRet != 0) {
+        HILOG_ERROR(HILOG_MODULE_ACE, "Failed to copy msgBody");
+        AdapterFree(params->msgBody);
+        delete params;
+        params = nullptr;
+        return copyRet;
+    }
+
+    bool ret = OHOS::ACELite::JsAsyncWork::DispatchAsyncWork(
+        OHOS::ACELite::ExecuteSendKeyMsgToJS, static_cast<void *>(params));
+    if (!ret) {
+        HILOG_ERROR(HILOG_MODULE_ACE, "Failed to dispatch async work");
+        AdapterFree(params->msgBody);
+        delete params;
+        params = nullptr;
+        return -1;
+    }
+
+    return 0;
+}
+
+int32_t RotateSendMsgToJS(int16_t rotate)
+{
+    RotateMsgParams *params = new RotateMsgParams();
+    if (params == nullptr) {
+        HILOG_ERROR(HILOG_MODULE_ACE, "Failed to allocate memory for params");
+        return -1;
+    }
+    params->rotate = rotate;
+    bool ret = OHOS::ACELite::JsAsyncWork::DispatchAsyncWork(
+        OHOS::ACELite::ExecuteSendRotateMsgToJS, static_cast<void *>(params));
+    if (!ret) {
+        HILOG_ERROR(HILOG_MODULE_ACE, "Failed to dispatch async work");
+        delete params;
+        params = nullptr;
+        return -1;
+    }
+    return 0;
+}
index 5267625..76d595a 100644 (file)
@@ -1,16 +1,8 @@
 /*
- * Copyright (c) 2020 Huawei Device Co., Ltd.
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Copyright (c) CompanyNameMagicTag. 2024-2025. All rights reserved.
+ * Description: keyinput wrapper
+ * Author: SoftwarePlatform Group
+ * Create: 2024-09-29
  */
 
 #ifndef OHOS_ACELITE_KEYINPUT_MODULE_H
@@ -26,7 +18,6 @@ namespace OHOS {
 namespace ACELite {
 class KeyInputModule : public MemoryHeap {
 public:
-   
     KeyInputModule() = default;
     ~KeyInputModule() = default;
     static JSIValue setKeyListener(const JSIValue thisVal, const JSIValue *args, uint8_t argsNum);
@@ -38,7 +29,7 @@ void InitKeyInputModule(JSIValue exports);
 
 class KeyListener {
 public:
-    static KeyListener* GetInstance()
+    static KeyListener *GetInstance()
     {
         static KeyListener instance;
         return &instance;
@@ -46,16 +37,17 @@ public:
 
     void OnKeyEvent(const KeyEvent &event);
 
-    bool hasRegister() 
+    bool hasRegister()
     {
         return isRegister_;
     }
-    void SetRegister(bool isRegister) 
+    void SetRegister(bool isRegister)
     {
         isRegister_ = isRegister;
     }
+
 private:
-    KeyListener():isRegister_(false),isPress_(false),isLongPress_(false){};
+    KeyListener() : isRegister_(false), isPress_(false), isLongPress_(false){};
     ~KeyListener() = default;
     void onRelease(const KeyEvent &event);
     void OnKeyLongPress(const KeyEvent &event);
@@ -66,7 +58,7 @@ private:
 
 class RotateListener {
 public:
-    static RotateListener* GetInstance()
+    static RotateListener *GetInstance()
     {
         static RotateListener instance;
         return &instance;
@@ -74,22 +66,23 @@ public:
 
     void OnRotateEvent(const RotateEvent &event);
 
-    bool hasRegister() 
+    bool hasRegister()
     {
         return isRegister_;
     }
-    void SetRegister(bool isRegister) 
+    void SetRegister(bool isRegister)
     {
         isRegister_ = isRegister;
     }
+
 private:
-    RotateListener():isRegister_(false){};
+    RotateListener() : isRegister_(false){};
     ~RotateListener() = default;
     bool isRegister_;
 };
 
-} // namespace ACELite
-} // namespace OHOS
-int32_t KeySendMsgToJS(const char *msgBody,uint16_t type);
+}  // namespace ACELite
+}  // namespace OHOS
+int32_t KeySendMsgToJS(const char *msgBody, uint16_t type);
 int32_t RotateSendMsgToJS(int16_t rotate);
 #endif
index f7e8733..176cf91 100644 (file)
@@ -1,9 +1,9 @@
 /*\r
-* Copyright (c) CompanyNameMagicTag. 2021-2021. All rights reserved.\r
-* Description: audio capture wrapper\r
-* Author: Media Software Group\r
-* Create: 2021-09-13\r
-*/\r
+ * Copyright (c) CompanyNameMagicTag. 2024-2025. All rights reserved.\r
+ * Description: network wrapper\r
+ * Author: SoftwarePlatform Group\r
+ * Create: 2024-08-10\r
+ */\r
 \r
 #ifndef NET_CONNECT_MODULE_H\r
 #define NET_CONNECT_MODULE_H\r
@@ -19,7 +19,7 @@
 #ifdef __cplusplus\r
 extern "C" {\r
 #endif\r
-void net_connect_status_change(uint8_t netConnectStatus,uint8_t type);\r
+void net_connect_status_change(uint8_t netConnectStatus, uint8_t type);\r
 #ifdef __cplusplus\r
 };\r
 #endif\r
@@ -28,7 +28,7 @@ namespace OHOS {
 namespace ACELite {\r
 #define MAX_STATUS_LENGTH 128\r
 // 网络类型枚举\r
-typedef enum {\r
+typedef enum { \r
     NETWORK_TYPE_WIFI = 0,\r
     NETWORK_TYPE_BLUETOOTH,\r
     NETWORK_TYPE_UNKNOWN\r
@@ -47,7 +47,7 @@ struct NetParam {
     uint8_t net_type = -1;\r
 };\r
 \r
-struct  NetCallBack {\r
+struct NetCallBack {\r
     JSIValue net_connect_callback = nullptr;\r
     JSIValue net_connect_thisVal = nullptr;\r
     NetParam netParam;\r
@@ -73,9 +73,7 @@ void InitNetWorkModule(JSIValue exports)
     JSI::SetModuleAPI(exports, "getConnectState", NetWorkModule::GetConnectState);\r
 }\r
 \r
-\r
-}\r
-}\r
-\r
+}  // namespace ACELite\r
+}  // namespace OHOS\r
 \r
 #endif\r
index 57749f7..d31affb 100644 (file)
Binary files a/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-auto-ota-cli/libbms.a and b/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-auto-ota-cli/libbms.a differ
index 18572f9..f39f40f 100644 (file)
Binary files a/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-auto-ota-ser/libbms.a and b/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-auto-ota-ser/libbms.a differ
index f17ae82..fefcdf2 100644 (file)
Binary files a/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-native-js/libbms.a and b/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-native-js/libbms.a differ
index 3d102fa..ea35faa 100644 (file)
Binary files a/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-xts/libbms.a and b/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-xts/libbms.a differ
index ad90fa3..d2cfe7a 100644 (file)
@@ -43,6 +43,8 @@ public:
 \r
     uint8_t QueryAbilityInfo(const Want *want, AbilityInfo *abilityInfo) const;\r
 \r
+    bool ScanPackages (InstallerCallback installerCallback) const;\r
+\r
     uint8_t GetBundleInfo(const char *bundleName, int32_t flags, BundleInfo *bundleInfo) const;\r
 \r
     uint8_t GetBundleInfos(int32_t flags, BundleInfo **bundleInfos, int32_t *len) const;\r
index 54db94d..76e8db8 100644 (file)
@@ -94,6 +94,20 @@ bool Install(const char *hapPath, const InstallParam *installParam, InstallerCal
  */
 bool Uninstall(const char *bundleName, const InstallParam *installParam, InstallerCallback installerCallback);
 
+/**
+ * @brief Scans all installed packages in the system and triggers the provided callback with the result.
+ *
+ * This function initiates a scan of all installed packages, and the result is returned through the specified
+ * {@link InstallerCallback}. The callback will receive the result status of the package scanning operation.
+ *
+ * @param installerCallback Indicates the callback to be invoked for notifying the package scan result.
+ * @return Returns <b>true</b> if the scan operation is successfully initiated; returns <b>false</b> otherwise.
+ *
+ * @since 1.0
+ * @version 1.0
+ */
+bool ScanPackages(InstallerCallback installerCallback);
+
 /**
  * @brief Queries the {@link AbilityInfo} of an ability based on the information carried in the {@link Want}
  *        structure.
index f30418e..7afeaf5 100644 (file)
@@ -41,6 +41,7 @@ public:
     ~GtBundleInstaller() = default;
 
     uint8_t Install(const char *path, InstallerCallback installerCallback);
+    uint8_t Install(const char *path, const InstallParam *installParam, InstallerCallback installerCallback);
     uint8_t Uninstall(const char *bundleName);
 private:
     uint8_t PreCheckBundle(const char *path, int32_t &fp, SignatureInfo &signatureInfo, uint32_t &fileSize,
index e296fe2..251087f 100644 (file)
Binary files a/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-auto-ota-cli/libjerryscript.a and b/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-auto-ota-cli/libjerryscript.a differ
index 267114c..19c5beb 100644 (file)
Binary files a/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-auto-ota-ser/libjerryscript.a and b/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-auto-ota-ser/libjerryscript.a differ
index 3622bd8..6c78627 100644 (file)
Binary files a/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-native-js/libjerryscript.a and b/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-native-js/libjerryscript.a differ
index 5e88915..22d2243 100644 (file)
Binary files a/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-xts/libjerryscript.a and b/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-xts/libjerryscript.a differ
index fdc53be..e16c476 100644 (file)
Binary files a/code/sdk/tools/pkg/bin/brandy/bt.bin and b/code/sdk/tools/pkg/bin/brandy/bt.bin differ
index 8ac7eaa..c9f67c2 100644 (file)
Binary files a/code/sdk/tools/pkg/bin/brandy/dsp/max/dsp_main.bin and b/code/sdk/tools/pkg/bin/brandy/dsp/max/dsp_main.bin differ
index 6b9f037..e2a59ab 100644 (file)
Binary files a/code/sdk/tools/pkg/bin/brandy/dsp/mini/dsp_main.bin and b/code/sdk/tools/pkg/bin/brandy/dsp/mini/dsp_main.bin differ
index 29e6059..f86e85d 100644 (file)
Binary files a/code/sdk/tools/pkg/bin/brandy/dsp/normal/dsp_main.bin and b/code/sdk/tools/pkg/bin/brandy/dsp/normal/dsp_main.bin differ
diff --git a/patch_615_1009_to_1029.txt b/patch_615_1009_to_1029.txt
new file mode 100644 (file)
index 0000000..21f0fbe
--- /dev/null
@@ -0,0 +1,48 @@
+【补丁名称】patch_615_1009_to_1029\r
+【基础版本】b615 + 0906 + 1009\r
+【修复问题】\r
+BT合入内容\r
+    1、增强dfx信息\r
+PLT合入内容\r
+    1、完善pmp配置,已解决nmi xip异常\r
+    2、psram稳定性增强\r
+    3、解决低概率rtc异常导致的系统狗超时\r
+AUDIO&MEDIA合入内容\r
+    1、优化消息模块,解决DSP概率无法下电的问题\r
+GUI合入内容\r
+    1、可缩放滑动列表布局方案优化\r
+    2、一级界面UICrossView快速滑动响应优化\r
+    3、瀑布流、蜂窝转场动画优化\r
+    4、多语言频繁切换后文本滑动卡顿优化\r
+    5、统计图形耗时DFX方案优化,支持打印Task、Event耗时\r
+    6、解决JS应用退出到Native概率花屏问题\r
+    7、解决视频起播过程中快速灭屏导致的后续播放异常问题    \r
+    8、解决Canvas、roller、蜂窝等控件在特殊或者异常场景下挂死、绘制异常等问题\r
+    9、解决LVGL圆角矩形矢量数据在异步模式下提前释放的问题\r
+OHOS合入内容\r
+    1、支持关签名模式下jsapp覆盖安装\r
+    2、修改audio src接口重复调用失败问题\r
+    3、修改原生GetTopAbility释放\r
+    4、增加跑马灯文本旋转JS Sample\r
+    5、修改百度地图json外部释放\r
+    6、修改XTS GetDisplayVersion默认值1.0.0\r
+    7、支持KeyInput按键/编码器事件监听\r
+GPU合入内容:\r
+    1、DFX优化\r
+    2、解决DPU视频层停止送显后进出低功耗后黑屏问题\r
+\r
+NATIVE-JS sample合入内容\r
+ \r
+【修改影响】NA\r
+\r
+【使用方法】\r
+    1、合入0906补丁\r
+    2、合入1009补丁\r
+    3、合入1029补丁(此补丁包含1014单点合入内容)\r
+\r
+【自测情况】\r
+    自验证范围:\r
+       全功能冒烟\r
+    自验证target:\r
+       Native-js、target3 rc版本\r
+【是否合入版本】根据测试结果确定\r