patch_602_1009_to_1029
authorSnickerSun <snickersun@163.com>
Wed, 11 Dec 2024 02:46:51 +0000 (10:46 +0800)
committerSnickerSun <snickersun@163.com>
Wed, 11 Dec 2024 02:46:51 +0000 (10:46 +0800)
185 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/nativeapp/nativeui/main/src/MainModel.cpp
code/sdk/application/wearable/nativeapp/nativeui/main/src/MainPresenterSample.cpp
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/graphic_msg_manager.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/drivers/boards/brandy_evb/product/product_evb4_standard.h
code/sdk/drivers/boards/brandy_evb/product/product_evb_standard.h
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/core/common/sys_ctrl/sys_cmd.c
code/sdk/drivers/drivers/driver/audio/source/drv/aoe/drv_proc_ao.c
code/sdk/drivers/drivers/driver/audio/source/drv/arch/drv_sap_msg.c
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_aop.c.xml
code/sdk/interim_binary/brandy/audio/build_hso_cfg/hso_database/xml/base/dsp_core/core_effect.c.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/audio/build_hso_cfg/hso_database/xml/base/dsp_core/core_sys.c.xml
code/sdk/interim_binary/brandy/audio/build_hso_cfg/hso_database/xml/base/dsp_core/sys_cmd.c.xml
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/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/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/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/dpu/layer/dpu_layer.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_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/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/services/media/hal/audio/plugins/brandy/bluetooth/bluetooth_sub_port.c
code/sdk/middleware/services/media/hal/audio/plugins/brandy/modem/modem_sub_port.c
code/sdk/middleware/services/media/hal/audio/plugins/brandy/primary/primary_sub_port_out.c
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/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/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/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/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_602_1009_to_1029.txt [new file with mode: 0644]

index 8f9d306..2a69722 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 0455b99..7983d1b 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
@@ -36,6 +35,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
@@ -71,6 +71,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
@@ -152,8 +153,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 947c39b..33f161f 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 9c34473..8e82f0c 100644 (file)
@@ -230,7 +230,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 c527654..9b3bb03 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
@@ -320,6 +322,19 @@ static void thread_main(const void *unused)
     nandflash_init();\r
     g_store_init_select = STORE_CLASS_NAND;\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 b26dcc9..08f7e30 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 11d8f4c..1706bb3 100644 (file)
@@ -52,7 +52,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 0b597aa..f6dc1f9 100644 (file)
@@ -120,8 +120,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 0f2cd97..6ac05da 100644 (file)
@@ -84,10 +84,10 @@ void NativeAbility::OnActive(const Want &want)
 
 void NativeAbility::StopSlice()
 {
-    GraphicService::GetInstance()->SetNativeUIRunning(false);
-    NotificationManager::GetInstance()->SetNativeUIRunning(false);
     Ability::StopSlice();
     nativeAbilityState_ = STATE_INACTIVE;
+    GraphicService::GetInstance()->SetNativeUIRunning(false);
+    NotificationManager::GetInstance()->SetNativeUIRunning(false);
 #ifdef JS_ENABLE
     SliteAbility::OnBackground();
 #endif
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 5b422b8..7cf1ae0 100644 (file)
@@ -256,9 +256,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 700ff08..3fdf6c9 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 514f93b..8b5ee22 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 c802221..af824c7 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 bac5488..e0a00bf 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 d723971..6078e7d 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 4bf73ca..8558f6c 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 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 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 26783f8..2f97ef2 100644 (file)
 #define TMA525B_I2C_BUS                     I2C_BUS_1
 #define TMA525B_INT_GPIO                    S_AGPIO_R5
 #define TMA525B_RESET_GPIO                  S_AGPIO_R4
+
+// TRACK MODE
+#define SND_TRACK_MODE_BT_MUSIC             0 // 参考 soc_uapi_sound.h 中 UAPI_SND_TRACK_STEREO 枚举
+#define SND_TRACK_MODE_BT_SCO               1 // 参考 soc_uapi_sound.h 中 UAPI_SND_TRACK_DOUBLE_MONO 枚举
+#define SND_TRACK_MODE_LOCAL_CAT1           1 // 参考 soc_uapi_sound.h 中 UAPI_SND_TRACK_DOUBLE_MONO 枚举
+#define SND_TRACK_MODE_BT_CAT1              0 // 参考 soc_uapi_sound.h 中 UAPI_SND_TRACK_STEREO 枚举
+#define SND_TRACK_MODE_LOCAL_MUSIC          1 // 参考 soc_uapi_sound.h 中 UAPI_SND_TRACK_DOUBLE_MONO 枚举
 /**
  * @}
  */
index 1610048..9e89b66 100644 (file)
 #define TMA525B_I2C_BUS                     I2C_BUS_1
 #define TMA525B_INT_GPIO                    S_AGPIO_R5
 #define TMA525B_RESET_GPIO                  S_AGPIO_R4
+
+// TRACK MODE
+#define SND_TRACK_MODE_BT_MUSIC             0 // 参考 soc_uapi_sound.h 中 UAPI_SND_TRACK_STEREO 枚举
+#define SND_TRACK_MODE_BT_SCO               1 // 参考 soc_uapi_sound.h 中 UAPI_SND_TRACK_DOUBLE_MONO 枚举
+#define SND_TRACK_MODE_LOCAL_CAT1           1 // 参考 soc_uapi_sound.h 中 UAPI_SND_TRACK_DOUBLE_MONO 枚举
+#define SND_TRACK_MODE_BT_CAT1              0 // 参考 soc_uapi_sound.h 中 UAPI_SND_TRACK_STEREO 枚举
+#define SND_TRACK_MODE_LOCAL_MUSIC          1 // 参考 soc_uapi_sound.h 中 UAPI_SND_TRACK_DOUBLE_MONO 枚举
 /**
  * @}
  */
index 4429a63..d709c7e 100644 (file)
-/*
- * Copyright (c) @CompanyNameMagicTag 2021-2022. All rights reserved.
- * Description:  chip pmp init config file.
- */
-#include "pmp_config.h"
-#include "stdbool.h"
-#include "drv_pmp.h"
-#include "memory_config.h"
-#include "product.h"
-#define L2MEM_DSP_ADDR_START    0x60100000
-#define L2MEM_DSP_ADDR_LEN      0x100000
-
-#define L2MEM_GPU_ADDR_START    0x60240000
-#define L2MEM_GPU_ADDR_LEN      0x20000
-
-#if PSRAM_DENSITY_MB == 16
-#define PSRAM_ADDR_START        0x6C000000
-#define PSRAM_ADDR_LEN          0x800000
-#define PSRAM_SECOND_ADDR_START 0x6C800000
-#define PSRAM_SECOND_ADDR_LEN   0x800000
-#else  /* PSRAM_DENSITY_MB == 32 */
-#define PSRAM_ADDR_START        0x6C000000
-#define PSRAM_ADDR_LEN          0x1000000
-#define PSRAM_SECOND_ADDR_START 0x6D000000
-#define PSRAM_SECOND_ADDR_LEN   0x1000000
-#endif
-
-#define NOR_FLASH_ADDR_START    FLASH_START
-#define NOR_FLASH_ADDR_LEN      FLASH_LENGTH
-
-#define BOOTROM_PMP_LENGTH      0x10000
-#define ITCM_PMP_LENGTH         0x10000
-#define ITCM_PMP_SECOND_LENGTH  0x20000
-#define DTCM_PMP_LENGTH         0x80000
-
-typedef enum {
-    BOOTROM_IDX       = 0,
-    ITCM_IDX          = 1,
-    ITCM_SECOND_IDX   = 2,
-    DTCM_IDX          = 3,
-    L2RAM_DSP_IDX     = 4,
-    L2RAM_GPU_IDX     = 5,
-#ifdef CONFIG_PSRAM_SUPPORT
-    PSRAM_IDX,
-    PSRAM_SECOND_IDX,
-#endif
-    NOR_FLASH_IDX,
-    MAX_REGION_NUM
-} region_index_t;
-
-pmp_conf_t g_region_attr[MAX_REGION_NUM];
-
-static void pmp_init_config(void)
-{
-    /* bootrom 不可读不可写不可执行 */
-    g_region_attr[BOOTROM_IDX].idx = BOOTROM_IDX;
-    g_region_attr[BOOTROM_IDX].addr = ROM_START;
-    g_region_attr[BOOTROM_IDX].size = BOOTROM_PMP_LENGTH;
-    g_region_attr[BOOTROM_IDX].conf.pmp_attr = PMP_ATTR_NO_BUFFERABLE_AND_NO_CACHEABLE;
-    g_region_attr[BOOTROM_IDX].conf.rwx_permission = (rwx_permission_t)PMPCFG_READ_ONLY_NEXECUTE;
-    g_region_attr[BOOTROM_IDX].conf.addr_match = PMPCFG_ADDR_MATCH_NAPOT;
-    g_region_attr[BOOTROM_IDX].conf.lock = true;
-
-    /* ITCM 第一段 可读可执行不可写 */
-    g_region_attr[ITCM_IDX].idx = ITCM_IDX;
-    g_region_attr[ITCM_IDX].addr = APP_ITCM_ORIGIN;
-    g_region_attr[ITCM_IDX].size = ITCM_PMP_LENGTH;
-    g_region_attr[ITCM_IDX].conf.pmp_attr = PMP_ATTR_NO_BUFFERABLE_AND_NO_CACHEABLE;
-    g_region_attr[ITCM_IDX].conf.rwx_permission = (rwx_permission_t)PMPCFG_READ_ONLY_EXECUTE;
-    g_region_attr[ITCM_IDX].conf.addr_match = PMPCFG_ADDR_MATCH_NAPOT;
-    g_region_attr[ITCM_IDX].conf.lock = true;
-
-    /* ITCM 第二段 可读可执行不可写 */
-    g_region_attr[ITCM_SECOND_IDX].idx = ITCM_SECOND_IDX;
-    g_region_attr[ITCM_SECOND_IDX].addr = (APP_ITCM_ORIGIN + ITCM_PMP_LENGTH);
-    g_region_attr[ITCM_SECOND_IDX].size = ITCM_PMP_SECOND_LENGTH;
-    g_region_attr[ITCM_SECOND_IDX].conf.pmp_attr = PMP_ATTR_NO_BUFFERABLE_AND_NO_CACHEABLE;
-    g_region_attr[ITCM_SECOND_IDX].conf.rwx_permission = (rwx_permission_t)PMPCFG_READ_ONLY_EXECUTE;
-    g_region_attr[ITCM_SECOND_IDX].conf.addr_match = PMPCFG_ADDR_MATCH_NAPOT;
-    g_region_attr[ITCM_SECOND_IDX].conf.lock = true;
-
-    /* DTCM 可读可写不可执行 */
-    g_region_attr[DTCM_IDX].idx = DTCM_IDX;
-    g_region_attr[DTCM_IDX].addr = APP_DTCM_ORIGIN;
-    g_region_attr[DTCM_IDX].size = DTCM_PMP_LENGTH;
-    g_region_attr[DTCM_IDX].conf.pmp_attr = PMP_ATTR_NO_BUFFERABLE_AND_NO_CACHEABLE;
-    g_region_attr[DTCM_IDX].conf.rwx_permission = (rwx_permission_t)PMPCFG_RW_NEXECUTE;
-    g_region_attr[DTCM_IDX].conf.addr_match = PMPCFG_ADDR_MATCH_NAPOT;
-    g_region_attr[DTCM_IDX].conf.lock = true;
-
-    /* DSP L2MEM 可读可执行可写 打开cache属性 */
-    g_region_attr[L2RAM_DSP_IDX].idx = L2RAM_DSP_IDX;
-    g_region_attr[L2RAM_DSP_IDX].addr = L2MEM_DSP_ADDR_START;
-    g_region_attr[L2RAM_DSP_IDX].size = L2MEM_DSP_ADDR_LEN;
-#ifdef MEMORY_MINI
-    g_region_attr[L2RAM_DSP_IDX].conf.pmp_attr = PMP_ATTR_NO_BUFFERABLE_AND_NO_CACHEABLE;
-#else
-    g_region_attr[L2RAM_DSP_IDX].conf.pmp_attr = PMP_ATTR_WRITEBACK_RWALLOCATE;
-#endif
-    g_region_attr[L2RAM_DSP_IDX].conf.rwx_permission = (rwx_permission_t)PMPCFG_RW_EXECUTE;
-    g_region_attr[L2RAM_DSP_IDX].conf.addr_match = PMPCFG_ADDR_MATCH_NAPOT;
-    g_region_attr[L2RAM_DSP_IDX].conf.lock = true;
-
-    /* GPU L2MEM 可读可执行可写 打开cache属性 */
-    g_region_attr[L2RAM_GPU_IDX].idx = L2RAM_GPU_IDX;
-    g_region_attr[L2RAM_GPU_IDX].addr = L2MEM_GPU_ADDR_START;
-    g_region_attr[L2RAM_GPU_IDX].size = L2MEM_GPU_ADDR_LEN;
-#ifdef MEMORY_MINI
-    g_region_attr[L2RAM_GPU_IDX].conf.pmp_attr = PMP_ATTR_NO_BUFFERABLE_AND_NO_CACHEABLE;
-#else
-    g_region_attr[L2RAM_GPU_IDX].conf.pmp_attr = PMP_ATTR_WRITEBACK_RWALLOCATE;
-#endif
-    g_region_attr[L2RAM_GPU_IDX].conf.rwx_permission = (rwx_permission_t)PMPCFG_RW_EXECUTE;
-    g_region_attr[L2RAM_GPU_IDX].conf.addr_match = PMPCFG_ADDR_MATCH_NAPOT;
-    g_region_attr[L2RAM_GPU_IDX].conf.lock = true;
-
-#ifdef CONFIG_PSRAM_SUPPORT
-    /* PSRAM 第一段 可读可写不可执行 打开cache属性 */
-    g_region_attr[PSRAM_IDX].idx = PSRAM_IDX;
-    g_region_attr[PSRAM_IDX].addr = PSRAM_ADDR_START;
-    g_region_attr[PSRAM_IDX].size = PSRAM_ADDR_LEN;
-    g_region_attr[PSRAM_IDX].conf.pmp_attr = PMP_ATTR_WRITEBACK_NO_ALLOCATE;
-    g_region_attr[PSRAM_IDX].conf.rwx_permission = (rwx_permission_t)PMPCFG_RW_NEXECUTE;
-    g_region_attr[PSRAM_IDX].conf.addr_match = PMPCFG_ADDR_MATCH_NAPOT;
-    g_region_attr[PSRAM_IDX].conf.lock = true;
-
-    /* PSRAM 第二段 可读可写不可执行 关闭cache属性 */
-    g_region_attr[PSRAM_SECOND_IDX].idx = PSRAM_SECOND_IDX;
-    g_region_attr[PSRAM_SECOND_IDX].addr = PSRAM_SECOND_ADDR_START;
-    g_region_attr[PSRAM_SECOND_IDX].size = PSRAM_SECOND_ADDR_LEN;
-    g_region_attr[PSRAM_SECOND_IDX].conf.pmp_attr = PMP_ATTR_NO_BUFFERABLE_AND_NO_CACHEABLE;
-    g_region_attr[PSRAM_SECOND_IDX].conf.rwx_permission = (rwx_permission_t)PMPCFG_RW_NEXECUTE;
-    g_region_attr[PSRAM_SECOND_IDX].conf.addr_match = PMPCFG_ADDR_MATCH_NAPOT;
-    g_region_attr[PSRAM_SECOND_IDX].conf.lock = true;
-#endif
-
-    /* Flash 可读不可写可执行 打开cache属性 */
-    g_region_attr[NOR_FLASH_IDX].idx = NOR_FLASH_IDX;
-    g_region_attr[NOR_FLASH_IDX].addr = NOR_FLASH_ADDR_START;
-    g_region_attr[NOR_FLASH_IDX].size = NOR_FLASH_ADDR_LEN;
-    g_region_attr[NOR_FLASH_IDX].conf.pmp_attr = PMP_ATTR_WRITEBACK_RWALLOCATE;
-    g_region_attr[NOR_FLASH_IDX].conf.rwx_permission = (rwx_permission_t)PMPCFG_READ_ONLY_EXECUTE;
-    g_region_attr[NOR_FLASH_IDX].conf.addr_match = PMPCFG_ADDR_MATCH_NAPOT;
-    g_region_attr[NOR_FLASH_IDX].conf.lock = true;
-}
-
-void pmp_init(void)
-{
-    pmp_init_config();
-    uapi_pmp_config(g_region_attr, MAX_REGION_NUM);
-}
+/*\r
+ * Copyright (c) @CompanyNameMagicTag 2021-2022. All rights reserved.\r
+ * Description:  chip pmp init config file.\r
+ */\r
+#include "pmp_config.h"\r
+#include "stdbool.h"\r
+#include "drv_pmp.h"\r
+#include "memory_config.h"\r
+\r
+#define L2MEM_DSP_ADDR_START    0x60100000\r
+#define L2MEM_DSP_ADDR_LEN      0x100000\r
+\r
+#define L2MEM_GPU_ADDR_START    0x60240000\r
+#define L2MEM_GPU_ADDR_LEN      0x20000\r
+\r
+#if PSRAM_DENSITY_MB == 16\r
+#define PSRAM_ADDR_START        0x6C000000\r
+#define PSRAM_ADDR_LEN          0x800000\r
+#define PSRAM_SECOND_ADDR_START 0x6C800000\r
+#define PSRAM_SECOND_ADDR_LEN   0x800000\r
+#else  /* PSRAM_DENSITY_MB == 32 */\r
+#define PSRAM_ADDR_START        0x6C000000\r
+#define PSRAM_ADDR_LEN          0x1000000\r
+#define PSRAM_SECOND_ADDR_START 0x6D000000\r
+#define PSRAM_SECOND_ADDR_LEN   0x1000000\r
+#endif\r
+\r
+#define NOR_FLASH_ADDR_START    FLASH_START\r
+#define NOR_FLASH_ADDR_LEN      FLASH_LENGTH\r
+\r
+#define BOOTROM_PMP_LENGTH      0x10000\r
+#define ITCM_PMP_LENGTH         0x10000\r
+#define ITCM_PMP_SECOND_LENGTH  0x20000\r
+#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_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
+#ifdef CONFIG_PSRAM_SUPPORT\r
+    PSRAM_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
+pmp_conf_t g_region_attr[MAX_REGION_NUM];\r
+\r
+static void pmp_init_config(void)\r
+{\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 = 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
+    g_region_attr[BOOTROM_IDX].conf.lock = true;\r
+\r
+    /* ITCM 第一段 可读可执行不可写 */\r
+    g_region_attr[ITCM_IDX].idx = ITCM_IDX;\r
+    g_region_attr[ITCM_IDX].addr = APP_ITCM_ORIGIN;\r
+    g_region_attr[ITCM_IDX].size = ITCM_PMP_LENGTH;\r
+    g_region_attr[ITCM_IDX].conf.pmp_attr = PMP_ATTR_NO_BUFFERABLE_AND_NO_CACHEABLE;\r
+    g_region_attr[ITCM_IDX].conf.rwx_permission = (rwx_permission_t)PMPCFG_READ_ONLY_EXECUTE;\r
+    g_region_attr[ITCM_IDX].conf.addr_match = PMPCFG_ADDR_MATCH_NAPOT;\r
+    g_region_attr[ITCM_IDX].conf.lock = true;\r
+\r
+    /* ITCM 第二段 可读可执行不可写 */\r
+    g_region_attr[ITCM_SECOND_IDX].idx = ITCM_SECOND_IDX;\r
+    g_region_attr[ITCM_SECOND_IDX].addr = (APP_ITCM_ORIGIN + ITCM_PMP_LENGTH);\r
+    g_region_attr[ITCM_SECOND_IDX].size = ITCM_PMP_SECOND_LENGTH;\r
+    g_region_attr[ITCM_SECOND_IDX].conf.pmp_attr = PMP_ATTR_NO_BUFFERABLE_AND_NO_CACHEABLE;\r
+    g_region_attr[ITCM_SECOND_IDX].conf.rwx_permission = (rwx_permission_t)PMPCFG_READ_ONLY_EXECUTE;\r
+    g_region_attr[ITCM_SECOND_IDX].conf.addr_match = PMPCFG_ADDR_MATCH_NAPOT;\r
+    g_region_attr[ITCM_SECOND_IDX].conf.lock = true;\r
+\r
+    /* DTCM 可读可写不可执行 */\r
+    g_region_attr[DTCM_IDX].idx = DTCM_IDX;\r
+    g_region_attr[DTCM_IDX].addr = APP_DTCM_ORIGIN;\r
+    g_region_attr[DTCM_IDX].size = DTCM_PMP_LENGTH;\r
+    g_region_attr[DTCM_IDX].conf.pmp_attr = PMP_ATTR_NO_BUFFERABLE_AND_NO_CACHEABLE;\r
+    g_region_attr[DTCM_IDX].conf.rwx_permission = (rwx_permission_t)PMPCFG_RW_NEXECUTE;\r
+    g_region_attr[DTCM_IDX].conf.addr_match = PMPCFG_ADDR_MATCH_NAPOT;\r
+    g_region_attr[DTCM_IDX].conf.lock = true;\r
+\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
+#ifdef CONFIG_PSRAM_SUPPORT\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_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
+\r
+    /* PSRAM 第二段 可读可写不可执行 关闭cache属性 */\r
+    g_region_attr[PSRAM_SECOND_IDX].idx = PSRAM_SECOND_IDX;\r
+    g_region_attr[PSRAM_SECOND_IDX].addr = PSRAM_SECOND_ADDR_START;\r
+    g_region_attr[PSRAM_SECOND_IDX].size = PSRAM_SECOND_ADDR_LEN;\r
+    g_region_attr[PSRAM_SECOND_IDX].conf.pmp_attr = PMP_ATTR_NO_BUFFERABLE_AND_NO_CACHEABLE;\r
+    g_region_attr[PSRAM_SECOND_IDX].conf.rwx_permission = (rwx_permission_t)PMPCFG_RW_NEXECUTE;\r
+    g_region_attr[PSRAM_SECOND_IDX].conf.addr_match = PMPCFG_ADDR_MATCH_NAPOT;\r
+    g_region_attr[PSRAM_SECOND_IDX].conf.lock = true;\r
+#endif\r
+\r
+    /* Flash 可读不可写可执行 打开cache属性 */\r
+    g_region_attr[NOR_FLASH_IDX].idx = NOR_FLASH_IDX;\r
+    g_region_attr[NOR_FLASH_IDX].addr = NOR_FLASH_ADDR_START;\r
+    g_region_attr[NOR_FLASH_IDX].size = NOR_FLASH_ADDR_LEN;\r
+    g_region_attr[NOR_FLASH_IDX].conf.pmp_attr = PMP_ATTR_WRITEBACK_RWALLOCATE;\r
+    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
+{\r
+    pmp_init_config();\r
+    uapi_pmp_config(g_region_attr, MAX_REGION_NUM);\r
+}\r
index 9de2ac1..b34ba3f 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);
+        ring_buf_flush(msg_inst->shrb_buf.data_buf);
         return ERR_SYS_BUF_UNDERFLOW;
     }
 
index 97e9349..6fd77fc 100644 (file)
@@ -198,11 +198,7 @@ td_void sys_audio_tws_config_reg_init(td_void)
     }
 
     val.bits.product_form = AUDIO_PRODUCT_FORM_NON_TWS;
-#if (SAP_CHIP_TYPE == socmn1)
     val.bits.mono_mode = TD_FALSE;
-#else
-    val.bits.mono_mode = TD_TRUE;
-#endif
     val.bits.tws_mode = AUDIO_TWS_MODE_LISTEN;
     val.bits.tws_role = AUDIO_TWS_ROLE_FREEMAN;
 
index f3c2e38..d6b9fd3 100644 (file)
@@ -123,11 +123,11 @@ static td_char *drv_ao_proc_get_ao_track_mode(ao_track_mode mode)
         case AO_TRACK_STEREO:
             return "stereo";
         case AO_TRACK_DOUBLE_MONO:
-            return "double_mono";
+            return "dual_mono";
         case AO_TRACK_DOUBLE_LEFT:
-            return "double_left";
+            return "dual_left";
         case AO_TRACK_DOUBLE_RIGHT:
-            return "double_right";
+            return "dual_right";
         case AO_TRACK_EXCHANGE:
             return "exchange";
         case AO_TRACK_ONLY_RIGHT:
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 5eec00b..c03c252 100644 (file)
@@ -127,7 +127,7 @@ 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
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 ce35d0d..f736ac1 100644 (file)
@@ -206,6 +206,7 @@ typedef struct {
 /*------psram addr value-------*/\r
 // ap\r
 #define PSRAM_AP_X16_MR0_READ_LATENCY_166MHZ  0x0D\r
+#define PSRAM_AP_X16_MR0_RL_CODE_MASK         0x1C\r
 #define PSRAM_AP_X16_MR4_WRITE_LATENCY_166MHZ 0xD8 // 0.5x self refresh\r
 #define PSRAM_AP_X16_MR6_ENTER_HALF_SLEEP     0xF0\r
 #define PSRAM_AP_X16_MR8_EN_X16_2K_WRAP       0x47\r
@@ -229,7 +230,9 @@ typedef struct {
 #define PSRAM_REG_RW_TRANSFER_DATA_LEN 1\r
 #define PSRAM_MEMORY_ADDR_REGION       0x0C000000\r
 #define PSRAM_REDUNDANT_DATA           0xFFFFFFFF\r
-#define PSRAM_CE_PULL_UP_WAIT_MIN_TIME 80ULL\r
+#define PSRAM_CE_PULL_UP_WAIT_MIN_TIME 150ULL\r
+#define PSRAM_MAX_WAKE_TIME            3\r
+\r
 #define PSRAM_OPI_DELAY_US_10          10\r
 #define PSRAM_EID_SECOND_PARAM_OFFSET  70\r
 #define PSRAM_EID_LENGTH               8\r
@@ -707,6 +710,20 @@ errcode_t uapi_psram_read_reg(uint32_t addr, uint32_t *value)
     return ERRCODE_SUCC;\r
 }\r
 \r
+static opi_ret_e check_psram_awake(void)\r
+{\r
+    uint8_t wake_times = 0;\r
+    while (g_psram_sleeped && wake_times < PSRAM_MAX_WAKE_TIME) {\r
+        PRINT("psram is slept, can not enter xip. try to exit sleep.\r\n");\r
+        uapi_psram_exit_sleep();\r
+        wake_times++;\r
+    }\r
+    if (g_psram_sleeped) {\r
+        return OPI_RET_SLEEP;\r
+    }\r
+    return OPI_RET_OK;\r
+}\r
+\r
 errcode_t uapi_psram_enter_xip(void)\r
 {\r
     opi_config_t opi_config = {g_psram_device_parm[g_psram_device].frame_format, OPI_INST_16BIT, OPI_ADDR_32BIT,\r
@@ -720,6 +737,11 @@ errcode_t uapi_psram_enter_xip(void)
     if (uapi_psram_xip_enabled()) {\r
         return ERRCODE_PSRAM_RET_XIP_EN;\r
     }\r
+\r
+    if (check_psram_awake() != OPI_RET_OK) {\r
+        return OPI_RET_SLEEP;\r
+    }\r
+\r
     if (g_psram_device == PSRAM_DEVICE_AP_X16) {\r
         opi_config.frame_format = OPI_FRAME_FORMAT_SIXT;\r
     }\r
@@ -738,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
@@ -1068,7 +1097,16 @@ static errcode_t psram_exit_sleep_device_ap_x16(void)
 \r
     hal_opi_disable(OPI_BUS);\r
     uapi_tcxo_delay_us(PSRAM_CE_PULL_UP_WAIT_MIN_TIME);\r
-    return ERRCODE_SUCC;\r
+    uint32_t reg_value = 0;\r
+    g_psram_sleeped = false;\r
+    uapi_psram_read_reg(PSRAM_REG_AP_X16_MR0, &reg_value);\r
+    g_psram_sleeped = true;\r
+    // Read variable latency configuration codes MR0[4:2] --- 011\r
+    if (((reg_value >> PSRAM_AP_X16_REG_WRITE_DATA_SHIFT) & PSRAM_AP_X16_MR0_RL_CODE_MASK) ==\r
+        (PSRAM_AP_X16_MR0_READ_LATENCY_166MHZ & PSRAM_AP_X16_MR0_RL_CODE_MASK)) {\r
+        return OPI_RET_OK;\r
+    }\r
+    return OPI_RET_ERROR;\r
 }\r
 \r
 static errcode_t psram_exit_sleep_device_winbon_x8(void)\r
index f9ffcfc..9e7e9fb 100644 (file)
@@ -151,11 +151,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 88b5026..b21c0f9 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(615),INFO" ID="0xe01e133d" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="AbilityService::SchedulerLifecycleDone state: STATE_BACKGROUND @ability_service.cpp(620),INFO" ID="0xe01e1365" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="AbilityService::SchedulerLifecycleDone state: STATE_UNINITIALIZED @ability_service.cpp(625),INFO" ID="0xe01e138d" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="AbilityService::SendGraphicTEEventToJsAbility topRecord is not js!! @ability_service.cpp(666),ERROR" ID="0xe01e14d2" />
+                       <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_LOG>
\ No newline at end of file
index c04a4e3..dfe582c 100644 (file)
@@ -1,14 +1,14 @@
 <MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="initAppSysCmd aa! @appsys_ams_cmd.cpp(52),INFO" ID="0xe02201a5" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="topAbility is null @appsys_ams_cmd.cpp(81),ERROR" ID="0xe022028a" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="bundleName is not top active @appsys_ams_cmd.cpp(86),ERROR" ID="0xe02202b2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="aa dump argc 2 only support topAbility, ERR!!! @appsys_ams_cmd.cpp(98),ERROR" ID="0xe0220312" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="aa dump topAbility is native Launcher, ERR!!! @appsys_ams_cmd.cpp(104),ERROR" ID="0xe0220342" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="cmd_aa dump topAbilityInfo bundleName = %s @appsys_ams_cmd.cpp(125),DBG" ID="0xe02203ee" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="cmd_aa dump topAbilityInfo dataPath = %s @appsys_ams_cmd.cpp(126),DBG" ID="0xe02203f6" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="cmd_aa dump topAbilityInfo srcPath = %s @appsys_ams_cmd.cpp(127),DBG" ID="0xe02203fe" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="cmd_aa start @appsys_ams_cmd.cpp(139),INFO" ID="0xe022045d" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="argc is not 2, ERR!!! @appsys_ams_cmd.cpp(141),ERROR" ID="0xe022046a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="cmd_aa command = %s @appsys_ams_cmd.cpp(147),INFO" ID="0xe022049d" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="cmd_aa no correct cmd!!! @appsys_ams_cmd.cpp(155),ERROR" ID="0xe02204da" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="cmd_aa end @appsys_ams_cmd.cpp(158),INFO" ID="0xe02204f5" />
+                       <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_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..36ff0e5 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(574),ERROR" ID="0xe04411f2" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[BMS] reload bundle info fail!, isSystemApp is %d @gt_bundle_manager_service.cpp(689),ERROR" ID="0xe044158a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] get installRecord fail when restart! @gt_bundle_manager_service.cpp(745),ERROR" ID="0xe044174a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] TransformJsToBcWhenRestart jsEngineVer_ is nullptr! @gt_bundle_manager_service.cpp(752),ERROR" ID="0xe0441782" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] create string object fail when restart! @gt_bundle_manager_service.cpp(760),ERROR" ID="0xe04417c2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] add js engine version record fail when restart! @gt_bundle_manager_service.cpp(775),ERROR" ID="0xe044183a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] refresh js engine version fail when restart! @gt_bundle_manager_service.cpp(783),ERROR" ID="0xe044187a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[BMS] transform js to bc, result is %d @gt_bundle_manager_service.cpp(810),INFO" ID="0xe0441955" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[BMS] delete byte code, result is %d @gt_bundle_manager_service.cpp(813),INFO" ID="0xe044196d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] add transform result record fail when restart! @gt_bundle_manager_service.cpp(826),ERROR" ID="0xe04419d2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] refresh transform result record fail when restart! @gt_bundle_manager_service.cpp(832),ERROR" ID="0xe0441a02" />
                        </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 1bdf5bd..90138aa 100644 (file)
@@ -1,33 +1,35 @@
-<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="unsupported BlendMode: %u. @lite_m_gfx_engine.cpp(73),ERROR" ID="0xcb0e024a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="unsupported color format: %d @lite_m_gfx_engine.cpp(117),ERROR" ID="0xcb0e03aa" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="Convert2VGUCap failed! Invalid Capstyle! @lite_m_gfx_engine.cpp(130),ERROR" ID="0xcb0e0412" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="Convert2VGUBuffer failed. @lite_m_gfx_engine.cpp(161),ERROR" ID="0xcb0e050a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="Fill operation failed. @lite_m_gfx_engine.cpp(192),ERROR" ID="0xcb0e0602" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="font weight %u was not support @lite_m_gfx_engine.cpp(314),ERROR" ID="0xcb0e09d2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="VGUPathAppendData failed. @lite_m_gfx_engine.cpp(355),ERROR" ID="0xcb0e0b1a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="VGUPathSetData failed. @lite_m_gfx_engine.cpp(366),ERROR" ID="0xcb0e0b72" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="Convert2VGUBuffer failed. @lite_m_gfx_engine.cpp(393),ERROR" ID="0xcb0e0c4a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="RenderPath failed. @lite_m_gfx_engine.cpp(404),ERROR" ID="0xcb0e0ca2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="Convert2VGUBuffer failed. @lite_m_gfx_engine.cpp(425),ERROR" ID="0xcb0e0d4a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="RenderPath failed. @lite_m_gfx_engine.cpp(436),ERROR" ID="0xcb0e0da2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="Convert2VGUBuffer failed. @lite_m_gfx_engine.cpp(452),ERROR" ID="0xcb0e0e22" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="RenderPath failed. @lite_m_gfx_engine.cpp(478),ERROR" ID="0xcb0e0ef2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="Convert2VGUBuffer failed. @lite_m_gfx_engine.cpp(493),ERROR" ID="0xcb0e0f6a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="RenderPath failed. @lite_m_gfx_engine.cpp(505),ERROR" ID="0xcb0e0fca" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="Convert2VGUBuffer failed. @lite_m_gfx_engine.cpp(615),ERROR" ID="0xcb0e133a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="Convert2VGUBuffer failed. @lite_m_gfx_engine.cpp(642),ERROR" ID="0xcb0e1412" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="RenderBlur failed! @lite_m_gfx_engine.cpp(658),ERROR" ID="0xcb0e1492" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="RenderBlit failed! @lite_m_gfx_engine.cpp(711),ERROR" ID="0xcb0e163a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="DrawTransform failed. Software can only process uncompressed data. @lite_m_gfx_engine.cpp(746),ERROR" ID="0xcb0e1752" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="vguFuncs_ is null! @lite_m_gfx_engine.cpp(801),ERROR" ID="0xcb0e190a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="InitVgu or RenderClearRect is null! @lite_m_gfx_engine.cpp(805),ERROR" ID="0xcb0e192a" />
-                       <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="VGUPathInit, VGUPathAppendData, VGUPathClear or RenderPath is nullptr! @lite_m_gfx_engine.cpp(818),ERROR" ID="0xcb0e1992" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="InitVgu failed! @lite_m_gfx_engine.cpp(823),ERROR" ID="0xcb0e19ba" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="vguFuncs_ is null! @lite_m_gfx_engine.cpp(834),INFO" ID="0xcb0e1a15" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="DeinitVgu failed! @lite_m_gfx_engine.cpp(839),ERROR" ID="0xcb0e1a3a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="AllocBuffer failed. @lite_m_gfx_engine.cpp(858),ERROR" ID="0xcb0e1ad2" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="unsupported PixelFormat: %d @lite_m_gfx_engine.cpp(885),ERROR" ID="0xcb0e1baa" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="bufferInfo_ is not inited. @lite_m_gfx_engine.cpp(989),ERROR" ID="0xcb0e1eea" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="set value: %d @lite_m_gfx_engine.cpp(1042),DBG" ID="0xcb0e2096" />
+<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(315),ERROR" ID="0xcb0e09da" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="VGUPathAppendData failed. @lite_m_gfx_engine.cpp(356),ERROR" ID="0xcb0e0b22" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="VGUPathSetData failed. @lite_m_gfx_engine.cpp(367),ERROR" ID="0xcb0e0b7a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="Convert2VGUBuffer failed. @lite_m_gfx_engine.cpp(394),ERROR" ID="0xcb0e0c52" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="RenderPath failed. Sync previous task. @lite_m_gfx_engine.cpp(406),ERROR" ID="0xcb0e0cb2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="Convert2VGUBuffer failed. @lite_m_gfx_engine.cpp(427),ERROR" ID="0xcb0e0d5a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="RenderPath failed. Sync previous task. @lite_m_gfx_engine.cpp(439),ERROR" ID="0xcb0e0dba" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="Convert2VGUBuffer failed. @lite_m_gfx_engine.cpp(455),ERROR" ID="0xcb0e0e3a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="RenderPath failed. Sync previous task. @lite_m_gfx_engine.cpp(482),ERROR" ID="0xcb0e0f12" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="Convert2VGUBuffer failed. @lite_m_gfx_engine.cpp(497),ERROR" ID="0xcb0e0f8a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="RenderPath failed. Sync previous task. @lite_m_gfx_engine.cpp(510),ERROR" ID="0xcb0e0ff2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="Convert2VGUBuffer failed. @lite_m_gfx_engine.cpp(620),ERROR" ID="0xcb0e1362" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="Convert2VGUBuffer failed. @lite_m_gfx_engine.cpp(647),ERROR" ID="0xcb0e143a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="RenderBlur failed! @lite_m_gfx_engine.cpp(663),ERROR" ID="0xcb0e14ba" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="ignore js syncHwDraw when native ui task is already running! @lite_m_gfx_engine.cpp(678),WARNING" ID="0xcb0e1533" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="ignore native syncHwDraw when js ui task is already running! @lite_m_gfx_engine.cpp(684),WARNING" ID="0xcb0e1563" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="RenderBlit failed! @lite_m_gfx_engine.cpp(729),ERROR" ID="0xcb0e16ca" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="DrawTransform failed. Software can only process uncompressed data. @lite_m_gfx_engine.cpp(764),ERROR" ID="0xcb0e17e2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="vguFuncs_ is null! @lite_m_gfx_engine.cpp(819),ERROR" ID="0xcb0e199a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="InitVgu or RenderClearRect is null! @lite_m_gfx_engine.cpp(823),ERROR" ID="0xcb0e19ba" />
+                       <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="VGUPathInit, VGUPathAppendData, VGUPathClear or RenderPath is nullptr! @lite_m_gfx_engine.cpp(836),ERROR" ID="0xcb0e1a22" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="InitVgu failed! @lite_m_gfx_engine.cpp(841),ERROR" ID="0xcb0e1a4a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="vguFuncs_ is null! @lite_m_gfx_engine.cpp(852),INFO" ID="0xcb0e1aa5" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="DeinitVgu failed! @lite_m_gfx_engine.cpp(857),ERROR" ID="0xcb0e1aca" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="AllocBuffer failed. @lite_m_gfx_engine.cpp(876),ERROR" ID="0xcb0e1b62" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="unsupported PixelFormat: %d @lite_m_gfx_engine.cpp(903),ERROR" ID="0xcb0e1c3a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="bufferInfo_ is not inited. @lite_m_gfx_engine.cpp(1007),ERROR" ID="0xcb0e1f7a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="set value: %d @lite_m_gfx_engine.cpp(1060),DBG" ID="0xcb0e2126" />
                        </MSG_LOG>
\ No newline at end of file
index c3cd9d1..450d378 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(1390),ERROR" ID="0xc9482b72" />
-                       <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(1393),ERROR" ID="0xc9482b8a" />
+                       <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 6c03056..7aaeb5a 100644 (file)
                        <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_aop.c(276),INFO" ID="0x984208a5" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_aop.c(282),INFO" ID="0x984208d5" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_aop.c(286),INFO" ID="0x984208f5" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call aef_destroy Failed, Error Code: [0x%08X] @core_aop.c(321),ERROR" ID="0x98420a0a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call aef_create Failed, Error Code: [0x%08X] @core_aop.c(356),ERROR" ID="0x98420b22" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_aop.c(423),INFO" ID="0x98420d3d" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]port_attr-&gt;out_port = 0x%08X @core_aop.c(430),ERROR" ID="0x98420d72" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_mod_alloc Failed, Error Code: [0x%08X] @core_aop.c(436),ERROR" ID="0x98420da2" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call aop_port_open Failed, Error Code: [0x%08X] @core_aop.c(448),ERROR" ID="0x98420e02" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call aop_open_codec Failed, Error Code: [0x%08X] @core_aop.c(463),ERROR" ID="0x98420e7a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_aop.c(472),INFO" ID="0x98420ec5" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_aop.c(480),INFO" ID="0x98420f05" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_aop_destroy_aef Failed, Error Code: [0x%08X] @core_aop.c(485),ERROR" ID="0x98420f2a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call aop_close_codec Failed, Error Code: [0x%08X] @core_aop.c(491),ERROR" ID="0x98420f5a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_aop.c(507),INFO" ID="0x98420fdd" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_aop.c(515),INFO" ID="0x9842101d" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_aop.c(519),INFO" ID="0x9842103d" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call aop_port_set_enable Failed, Error Code: [0x%08X] @core_aop.c(528),ERROR" ID="0x98421082" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_aop.c(539),INFO" ID="0x984210dd" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_aop.c(547),INFO" ID="0x9842111d" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_aop.c(552),INFO" ID="0x98421145" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call aop_port_set_enable Failed, Error Code: [0x%08X] @core_aop.c(561),ERROR" ID="0x9842118a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_aop.c(572),INFO" ID="0x984211e5" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_aop.c(578),INFO" ID="0x98421215" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_aop.c(584),INFO" ID="0x98421245" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_aop.c(592),INFO" ID="0x98421285" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call aop_port_set_enable Failed, Error Code: [0x%08X] @core_aop.c(600),ERROR" ID="0x984212c2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_aop.c(610),INFO" ID="0x98421315" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_aop.c(616),INFO" ID="0x98421345" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_aop.c(622),INFO" ID="0x98421375" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_aop.c(628),INFO" ID="0x984213a5" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_aop.c(633),INFO" ID="0x984213cd" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_aop.c(639),INFO" ID="0x984213fd" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_aop.c(647),INFO" ID="0x9842143d" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_aop.c(657),INFO" ID="0x9842148d" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call util_check_preci_volume Failed, Error Code: [0x%08X] @core_aop.c(664),ERROR" ID="0x984214c2" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]gain-&gt;integer = %d @core_aop.c(665),ERROR" ID="0x984214ca" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]gain-&gt;decimal = %d @core_aop.c(666),ERROR" ID="0x984214d2" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]gain-&gt;integer = %d @core_aop.c(681),INFO" ID="0x9842154d" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]gain-&gt;decimal = %d @core_aop.c(682),INFO" ID="0x98421555" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_aop.c(683),INFO" ID="0x9842155d" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_aop.c(689),INFO" ID="0x9842158d" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_aop.c(695),INFO" ID="0x984215bd" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_aop.c(701),INFO" ID="0x984215ed" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_aop.c(704),INFO" ID="0x98421605" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_aop.c(710),INFO" ID="0x98421635" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_aop.c(715),INFO" ID="0x9842165d" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call memcpy_s Failed, Error Code: [0x%08X] @core_aop.c(739),ERROR" ID="0x9842171a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call memcpy_s Failed, Error Code: [0x%08X] @core_aop.c(749),ERROR" ID="0x9842176a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call memcpy_s Failed, Error Code: [0x%08X] @core_aop.c(777),ERROR" ID="0x9842184a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call ring_buf_write Failed, Error Code: [0x%08X] @core_aop.c(855),ERROR" ID="0x98421aba" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_aop.c(919),INFO" ID="0x98421cbd" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call connector_list_get_buffer_info Failed, Error Code: [0x%08X] @core_aop.c(928),ERROR" ID="0x98421d02" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call hal_ao_get_port_status Failed, Error Code: [0x%08X] @core_aop.c(940),ERROR" ID="0x98421d62" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_aop.c(961),INFO" ID="0x98421e0d" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_aop.c(990),INFO" ID="0x98421ef5" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_aop.c(1004),INFO" ID="0x98421f65" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_aop.c(1012),INFO" ID="0x98421fa5" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_aop.c(1026),INFO" ID="0x98422015" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_aop.c(1032),INFO" ID="0x98422045" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_aop.c(1037),INFO" ID="0x9842206d" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_aop.c(1043),INFO" ID="0x9842209d" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_aop.c(1048),INFO" ID="0x984220c5" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_aop.c(1055),INFO" ID="0x984220fd" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_aop_create_aef Failed, Error Code: [0x%08X] @core_aop.c(1072),ERROR" ID="0x98422182" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_aop.c(1076),INFO" ID="0x984221a5" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call aef_destroy Failed, Error Code: [0x%08X] @core_aop.c(322),ERROR" ID="0x98420a12" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call aef_create Failed, Error Code: [0x%08X] @core_aop.c(357),ERROR" ID="0x98420b2a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_aop.c(424),INFO" ID="0x98420d45" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]port_attr-&gt;out_port = 0x%08X @core_aop.c(431),ERROR" ID="0x98420d7a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_mod_alloc Failed, Error Code: [0x%08X] @core_aop.c(437),ERROR" ID="0x98420daa" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call aop_port_open Failed, Error Code: [0x%08X] @core_aop.c(449),ERROR" ID="0x98420e0a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call aop_open_codec Failed, Error Code: [0x%08X] @core_aop.c(464),ERROR" ID="0x98420e82" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_aop.c(473),INFO" ID="0x98420ecd" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_aop.c(481),INFO" ID="0x98420f0d" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_aop_destroy_aef Failed, Error Code: [0x%08X] @core_aop.c(486),ERROR" ID="0x98420f32" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call aop_close_codec Failed, Error Code: [0x%08X] @core_aop.c(492),ERROR" ID="0x98420f62" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_aop.c(508),INFO" ID="0x98420fe5" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_aop.c(516),INFO" ID="0x98421025" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_aop.c(520),INFO" ID="0x98421045" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call aop_port_set_enable Failed, Error Code: [0x%08X] @core_aop.c(529),ERROR" ID="0x9842108a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_aop.c(540),INFO" ID="0x984210e5" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_aop.c(548),INFO" ID="0x98421125" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_aop.c(553),INFO" ID="0x9842114d" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call aop_port_set_enable Failed, Error Code: [0x%08X] @core_aop.c(562),ERROR" ID="0x98421192" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_aop.c(573),INFO" ID="0x984211ed" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_aop.c(579),INFO" ID="0x9842121d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_aop.c(585),INFO" ID="0x9842124d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_aop.c(593),INFO" ID="0x9842128d" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call aop_port_set_enable Failed, Error Code: [0x%08X] @core_aop.c(601),ERROR" ID="0x984212ca" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_aop.c(611),INFO" ID="0x9842131d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_aop.c(617),INFO" ID="0x9842134d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_aop.c(623),INFO" ID="0x9842137d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_aop.c(629),INFO" ID="0x984213ad" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_aop.c(634),INFO" ID="0x984213d5" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_aop.c(640),INFO" ID="0x98421405" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_aop.c(648),INFO" ID="0x98421445" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_aop.c(658),INFO" ID="0x98421495" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call util_check_preci_volume Failed, Error Code: [0x%08X] @core_aop.c(665),ERROR" ID="0x984214ca" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]gain-&gt;integer = %d @core_aop.c(666),ERROR" ID="0x984214d2" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]gain-&gt;decimal = %d @core_aop.c(667),ERROR" ID="0x984214da" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]gain-&gt;integer = %d @core_aop.c(682),INFO" ID="0x98421555" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]gain-&gt;decimal = %d @core_aop.c(683),INFO" ID="0x9842155d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_aop.c(684),INFO" ID="0x98421565" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_aop.c(690),INFO" ID="0x98421595" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_aop.c(696),INFO" ID="0x984215c5" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_aop.c(702),INFO" ID="0x984215f5" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_aop.c(705),INFO" ID="0x9842160d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_aop.c(711),INFO" ID="0x9842163d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_aop.c(716),INFO" ID="0x98421665" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call memcpy_s Failed, Error Code: [0x%08X] @core_aop.c(748),ERROR" ID="0x98421762" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call memcpy_s Failed, Error Code: [0x%08X] @core_aop.c(758),ERROR" ID="0x984217b2" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call memcpy_s Failed, Error Code: [0x%08X] @core_aop.c(786),ERROR" ID="0x98421892" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call ring_buf_write Failed, Error Code: [0x%08X] @core_aop.c(871),ERROR" ID="0x98421b3a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_aop.c(935),INFO" ID="0x98421d3d" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call connector_list_get_buffer_info Failed, Error Code: [0x%08X] @core_aop.c(944),ERROR" ID="0x98421d82" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call hal_ao_get_port_status Failed, Error Code: [0x%08X] @core_aop.c(956),ERROR" ID="0x98421de2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_aop.c(977),INFO" ID="0x98421e8d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_aop.c(1006),INFO" ID="0x98421f75" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_aop.c(1020),INFO" ID="0x98421fe5" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_aop.c(1028),INFO" ID="0x98422025" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_aop.c(1042),INFO" ID="0x98422095" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_aop.c(1048),INFO" ID="0x984220c5" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_aop.c(1053),INFO" ID="0x984220ed" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_aop.c(1059),INFO" ID="0x9842211d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_aop.c(1064),INFO" ID="0x98422145" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_aop.c(1071),INFO" ID="0x9842217d" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_aop_create_aef Failed, Error Code: [0x%08X] @core_aop.c(1088),ERROR" ID="0x98422202" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_aop.c(1092),INFO" ID="0x98422225" />
                        </MSG_LOG>
\ No newline at end of file
index f92c674..d7cd2eb 100644 (file)
@@ -43,7 +43,7 @@
                        <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]in_frame-&gt;bit_depth = %u @core_effect.c(553),ERROR" ID="0x9844114a" />
                        <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]in_frame-&gt;channels = %u @core_effect.c(558),ERROR" ID="0x98441172" />
                        <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call aef_get_iv_frame Failed, Error Code: [0x%08X] @core_effect.c(567),ERROR" ID="0x984411ba" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_pcm_unify Failed, Error Code: [0x%08X] @core_effect.c(577),ERROR" ID="0x9844120a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call proc_frame Failed, Error Code: [0x%08X] @core_effect.c(583),ERROR" ID="0x9844123a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_pcm_unify Failed, Error Code: [0x%08X] @core_effect.c(593),ERROR" ID="0x9844128a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_pcm_unify Failed, Error Code: [0x%08X] @core_effect.c(575),ERROR" ID="0x984411fa" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call proc_frame Failed, Error Code: [0x%08X] @core_effect.c(581),ERROR" ID="0x9844122a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_pcm_unify Failed, Error Code: [0x%08X] @core_effect.c(591),ERROR" ID="0x9844127a" />
                        </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 c4d854f..ce75145 100644 (file)
                        <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sys.c(247),INFO" ID="0x983407bd" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sys.c(254),INFO" ID="0x983407f5" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sys.c(257),INFO" ID="0x9834080d" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sys.c(355),INFO" ID="0x98340b1d" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call set_dsp_freq Failed, Error Code: [0x%08X] @core_sys.c(358),ERROR" ID="0x98340b32" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sys.c(364),INFO" ID="0x98340b65" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sys.c(373),INFO" ID="0x98340bad" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call overlay_get_section_attr Failed, Error Code: [0x%08X] @core_sys.c(377),ERROR" ID="0x98340bca" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sys.c(383),INFO" ID="0x98340bfd" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sys.c(390),INFO" ID="0x98340c35" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]log_level = %u @core_sys.c(395),ERROR" ID="0x98340c5a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sys.c(396),INFO" ID="0x98340c65" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sys.c(404),INFO" ID="0x98340ca5" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sys.c(360),INFO" ID="0x98340b45" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call set_dsp_freq Failed, Error Code: [0x%08X] @core_sys.c(363),ERROR" ID="0x98340b5a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sys.c(369),INFO" ID="0x98340b8d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sys.c(378),INFO" ID="0x98340bd5" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call overlay_get_section_attr Failed, Error Code: [0x%08X] @core_sys.c(382),ERROR" ID="0x98340bf2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sys.c(388),INFO" ID="0x98340c25" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sys.c(395),INFO" ID="0x98340c5d" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]log_level = %u @core_sys.c(400),ERROR" ID="0x98340c82" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sys.c(401),INFO" ID="0x98340c8d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sys.c(409),INFO" ID="0x98340ccd" />
                        </MSG_LOG>
\ No newline at end of file
index f1c70c5..7448aee 100644 (file)
@@ -1,6 +1,6 @@
 <MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="[hifi]wait_cnt = %u @sys_cmd.c(155),INFO" ID="0x982204dd" />
                        <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]wait_time_us = %u @sys_cmd.c(164),ERROR" ID="0x98220522" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]product_form = %u @sys_cmd.c(259),ERROR" ID="0x9822081a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]tws_mode = %u @sys_cmd.c(320),ERROR" ID="0x98220a02" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]tws_role = %u @sys_cmd.c(351),ERROR" ID="0x98220afa" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]product_form = %u @sys_cmd.c(255),ERROR" ID="0x982207fa" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]tws_mode = %u @sys_cmd.c(316),ERROR" ID="0x982209e2" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]tws_role = %u @sys_cmd.c(347),ERROR" ID="0x98220ada" />
                        </MSG_LOG>
\ No newline at end of file
index e010b28..e1f0424 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 aa0fdfb..998125c 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 becd140..1c2cbe0 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 a23ae46..398a948 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 77b32fa..0e9fc5d 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 07f39ef..5956ff4 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 636ff18..4fe7d66 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 c4e279d..b485c24 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 993e67a..f00910a 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 335c9aa..7aecc75 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 85a7c63..0f9621b 100644 (file)
@@ -192,12 +192,6 @@ void pm_core_resume_min(void)
     ArchDCacheInvAll();
     dsb();
 
-    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);
-
     pin_of_poweroff_resume();
     pin_port_recovery_function();
     uart_h0_resume_tmp();
@@ -272,6 +266,9 @@ void pm_core_resume(void)
     clocks_bridging_low_powerp_config(true);
     system_mcu_clocks_config();
     hal_pmu_set_cmu_xo_trim(HAL_PMU_XO_CORE_DS_1_025X);
+    if (non_os_get_nmi_raw_status() == 0x2) {
+        uapi_watchdog_kick();
+    }
     pm_misc_regs_resume();
     pm_core_restore_reset_pc();
 }
index e0af7a8..e384e8e 100644 (file)
 #define PLL_CLK_VALUE             884736000
 #define PM_SDIOM_CLK_REG          0x55000628
 #define PM_EMMC_DIV_REG           0x52000120
+#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
 
 static uint32_t g_uart_h0_regs_tmp[UART_SUSPEND_REGS_NUM];
 static uint32_t g_uart_h1_regs_tmp[UART_SUSPEND_REGS_NUM];
@@ -382,6 +386,14 @@ void display_resume_tmp(void)
 
 void pm_misc_regs_resume(void)
 {
+    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);
+
 #ifdef CFG_DRIVERS_NANDFLASH
     reg16_clrbit(PM_SD_HOST_CCLK_DIV_REG, 0); // close sd host clock enable.
     reg16_clrbit(PM_EMMC_CCLK_DIV_REG, 0); // close sd mmc clock enable.
index 4d58f18..3e2deaa 100644 (file)
@@ -293,13 +293,18 @@ 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;
     }
     if (sleep_ms <= PM_SLEEP_THRESHOLD_WFI_ONLY_MS || pm_get_sleep_veto()) {
         status = pm_os_irq_lock();
+        pm_sleep_info_record(SLP_INFO_TIME_BASE);
         pm_enter_wfi();
+        pm_sleep_info_record(SLP_INFO_LIGHTSLEEP);
         pm_os_irq_restore(status);
         return;
     }
@@ -340,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 7f6b27e..092677d 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 38a1bdd..8786cac 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 8101de3..b6b63fe 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 18778c1..8b2b0df 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 4d105b6..ed958f3 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 8519b17..c280d0c 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 abca2eb..f105334 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 5c37168..845e3f0 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 0654163..7d7a1ba 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 79dba85..5580c0d 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 d079181..438f33f 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 f249d23..b35a02b 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 b8fac2d..354b203 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 6f327fd..2831b00 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 b02f228..1b98547 100644 (file)
@@ -571,6 +571,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
index fe56ad6..d2e5513 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 2870cd7..66a2781 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 464b21c..a9dbb45 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 d07e166..6726e66 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 c32afcc..bdaac2a 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 39ebbd2..7eacc04 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 517fcce..7fd8f9f 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 a88b988..1f4a495 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 37f9bb1..728bf6f 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 089e991..61df03b 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 69e38e7..acbd6f0 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 aa7a1f3..b352576 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 30de184..f7e6a16 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 45899db..728ec08 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 2287b8f..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.
index e555630..75a1ee8 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 9fc8377..08fa7d1 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 0c019c6..c6481f6 100644 (file)
@@ -82,6 +82,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
@@ -130,14 +135,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
@@ -146,6 +147,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 3a0c7f9..4371450 100644 (file)
@@ -42,6 +42,10 @@ 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
@@ -60,8 +64,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
@@ -71,10 +76,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
@@ -86,6 +91,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
@@ -93,6 +99,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
@@ -145,29 +152,29 @@ 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
     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
@@ -183,9 +190,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
@@ -214,9 +218,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
@@ -226,9 +228,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..87a9237 100644 (file)
@@ -29,21 +29,121 @@ void UIListExt::ReMeasure()
     int16_t y;\r
     int16_t midX = GetX() + GetWidth() / 2;\r
     int16_t midY = GetY() + GetHeight() / 2;\r
+    items_.Clear();\r
+    int16_t centerIndex;\r
     do {\r
         x = view->GetX();\r
         y = view->GetY();\r
+        items_.PushBack(view);\r
+        view->Translate(Vector2<int16_t>(0, 0)); // ignore previous translate to set right transform\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
+            if ((y <= midY) && (y + view->GetHeight() > midY)) {\r
+                centerIndex = items_.Size() - 1;\r
+            }\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
+            if ((x <= midX) && (x  + view->GetWidth() > midX)) {\r
+                centerIndex = items_.Size() - 1;\r
+            }\r
         }\r
         view = static_cast<UIMenuItem*>(view->GetNextSibling());\r
     } while (view != nullptr);\r
+    ModifyItemSpace(centerIndex);\r
+}\r
+\r
+void UIListExt::ModifyMidAdjSpace(int16_t centerIndex, int16_t& prevIndex, int16_t& nextIndex)\r
+{\r
+    Rect centerRect = items_[centerIndex]->GetRect();\r
+    if (direction_ == VERTICAL) {\r
+        int16_t centerY = centerRect.GetTop() + (centerRect.GetHeight() >> 1);\r
+        int16_t midY = GetHeight() / 2;\r
+        if (centerY == midY) {\r
+            return;\r
+        }\r
+        if (centerY > midY) {\r
+            prevIndex = centerIndex - 1;\r
+        } else {\r
+            nextIndex = centerIndex + 1;\r
+        }\r
+        if ((prevIndex >= 0) && (nextIndex < items_.Size())) {\r
+            Rect prevRect = items_[prevIndex]->GetRect();\r
+            Rect nextRect = items_[nextIndex]->GetRect();\r
+            int16_t prevMidY = prevRect.GetTop() + (prevRect.GetHeight() >> 1);\r
+            int16_t nextMidY = nextRect.GetTop() + (nextRect.GetHeight() >> 1);\r
+            int16_t delta = space_ - (nextRect.GetTop() - prevRect.GetBottom());\r
+            int16_t prevOffst = (midY - prevMidY) * delta * 1.0f / (nextMidY - prevMidY);\r
+            int16_t nextOffst = (nextMidY - midY) * delta * 1.0f / (nextMidY - prevMidY);\r
+            items_[prevIndex]->Translate(Vector2<int16_t>(0, -prevOffst));\r
+            items_[nextIndex]->Translate(Vector2<int16_t>(0, nextOffst));\r
+        }\r
+    } else {\r
+        int16_t centerX = centerRect.GetLeft() + (centerRect.GetWidth() >> 1);\r
+        int16_t midX = GetWidth() / 2;\r
+        if (centerX == midX) {\r
+            return;\r
+        }\r
+        if (centerX > midX) {\r
+            prevIndex = centerIndex - 1;\r
+        } else {\r
+            nextIndex = centerIndex + 1;\r
+        }\r
+        if ((prevIndex >= 0) && (nextIndex < items_.Size())) {\r
+            Rect prevRect = items_[prevIndex]->GetRect();\r
+            Rect nextRect = items_[nextIndex]->GetRect();\r
+            int16_t prevMidX = prevRect.GetLeft() + (prevRect.GetWidth() >> 1);\r
+            int16_t nextMidX = nextRect.GetLeft() + (nextRect.GetWidth() >> 1);\r
+            int16_t delta = space_ - (nextRect.GetLeft() - prevRect.GetRight());\r
+            int16_t prevOffst = (midX - prevMidX) * delta * 1.0f / (nextMidX - prevMidX);\r
+            int16_t nextOffst = (nextMidX - midX) * delta * 1.0f / (nextMidX - prevMidX);\r
+            items_[prevIndex]->Translate(Vector2<int16_t>(-prevOffst, 0));\r
+            items_[nextIndex]->Translate(Vector2<int16_t>(nextOffst, 0));\r
+        }\r
+    }\r
+}\r
+\r
+void UIListExt::ModifyItemSpace(int16_t centerIndex)\r
+{\r
+    int16_t prevIndex = centerIndex;\r
+    int16_t nextIndex = centerIndex;\r
+    // Step 1. only modify two neighboring items in the middle to ensure smoothly scrolling\r
+    ModifyMidAdjSpace(centerIndex, prevIndex, nextIndex);\r
+    Rect curRect;\r
+    Rect preRect;\r
+    int16_t diff = 0;\r
+    // Step 2. modify other items space\r
+    if (direction_ == VERTICAL) {\r
+        for (int16_t i = prevIndex - 1; i >= 0; i--) {\r
+            curRect = items_[i]->GetRect();\r
+            preRect = items_[i + 1]->GetRect();\r
+            diff = preRect.GetTop() - space_ - curRect.GetBottom();\r
+            items_[i]->Translate(Vector2<int16_t>(0, diff));\r
+        }\r
+        for (int16_t i = nextIndex + 1; i < items_.Size(); i++) {\r
+            curRect = items_[i]->GetRect();\r
+            preRect = items_[i - 1]->GetRect();\r
+            diff = preRect.GetBottom() + space_ - curRect.GetTop();\r
+            items_[i]->Translate(Vector2<int16_t>(0, diff));\r
+        }\r
+    } else {\r
+        for (int16_t i = prevIndex - 1; i >= 0; i--) {\r
+            curRect = items_[i]->GetRect();\r
+            preRect = items_[i + 1]->GetRect();\r
+            diff = preRect.GetLeft() - space_ - curRect.GetRight();\r
+            items_[i]->SetX(items_[i]->GetX() + diff);\r
+        }\r
+        for (int16_t i = nextIndex + 1; i < items_.Size(); i++) {\r
+            curRect = items_[i]->GetRect();\r
+            preRect = items_[i - 1]->GetRect();\r
+            diff = preRect.GetRight() + space_ - curRect.GetLeft();\r
+            items_[i]->SetX(items_[i]->GetX() + diff);\r
+        }\r
+    }\r
 }\r
 } // namespace OHOS\r
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 3c5594d..06b7cf6 100644 (file)
@@ -36,8 +36,13 @@ static struct {
     {FrameTraceType::HW_DRAW_SUBMIT, "hw_submit"},
     {FrameTraceType::HW_DRAW_FLUSH, "hw_flush"},
     {FrameTraceType::HW_DRAW_WAIT, "hw_wait"},
+    {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;
@@ -116,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()
@@ -173,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 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 8b94c25..6fabc24 100644 (file)
@@ -84,6 +84,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 b2f1514..b39b552 100644 (file)
@@ -275,6 +275,7 @@ void UILabel::SetAlign(UITextLanguageAlignment horizontalAlign, UITextLanguageAl
 {
     InitLabelText();
     labelText_->SetAlign(horizontalAlign, verticalAlign);
+    horAlign_ = horizontalAlign;
     if (labelText_->IsNeedRefresh()) {
         RefreshLabel();
     }
@@ -429,6 +430,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 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 af4e3c7..fed4c84 100644 (file)
@@ -340,7 +340,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
@@ -444,6 +444,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 0f6a2b5..209f7b0 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)      \
-    {                            \
+    if (pointer != nullptr) {    \
         delete pointer;          \
         pointer = nullptr;       \
     }
@@ -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()
 {
@@ -108,7 +109,8 @@ void AudioPlayerCallback::OnInfo(int type, int extra)
     TriggerEventListener(audioPlayer_->GetOnLoadedDataListener());
 }
 
-void AudioPlayerCallback::OnVideoSizeChanged(int width, int height) {}
+void AudioPlayerCallback::OnVideoSizeChanged(int width, int height)
+{}
 
 void AudioPlayerCallback::OnRewindToComplete()
 {
@@ -124,23 +126,13 @@ 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_(const_cast<char *>(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_(const_cast<char *>(STATUS_STOP)),
+      volume_(DEFAULT_VOLUME), autoPlay_(false), muted_(false), isRunning_(false), isSysSrc_(false),
+      updateTimeProcess_(nullptr)
+{}
 
 void AudioPlayer::ForkUpdateTimeThread()
 {
@@ -152,7 +144,7 @@ void AudioPlayer::ForkUpdateTimeThread()
     lock_ = MediaMutexCreate(NULL);
     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_ == NULL) {
         MEDIA_ERR_LOG("fork thread failed.");
@@ -196,21 +188,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()
@@ -300,7 +292,7 @@ void AudioPlayer::ReleaseSrc()
         ace_free(src_);
         src_ = nullptr;
     }
-    if (srcInner_ != nullptr && isSysSrc_ == false) {
+    if (srcInner_ != nullptr) {
         ace_free(srcInner_);
         srcInner_ = nullptr;
     }
@@ -636,5 +628,5 @@ void AudioPlayer::SetOnTimeUpdateListener(AudioEventListener *onTimeUpdateListen
     }
     onTimeUpdateListener_ = onTimeUpdateListener;
 }
-} // namespace ACELite
-} // namespace OHOS
+}  // namespace ACELite
+}  // namespace OHOS
index a55f1e7..997f4ba 100644 (file)
 #ifdef BT_HAL_SUPPORT
 #include "bt_audio_hal_interface.h"
 #endif
-
+#if defined(BRANDY_PRODUCT_EVB)
+#include "product_evb_standard.h"
+#elif defined(BRANDY_PRODUCT_EVB4)
+#include "product_evb4_standard.h"
+#endif
 #include "plugin_common.h"
 #include "media_hal_common.h"
 #include "latm_simple_muxer.h"
@@ -520,6 +524,12 @@ static int32_t CastSndOpen(td_handle *sndHandle, uapi_audio_sample_rate sampleRa
             MediaHalMutexUnLock(g_subPortLock);
             return ret;
         }
+        ret = uapi_snd_set_track_mode(*sndHandle, sndAttr.port_attr[0].out_port, SND_TRACK_MODE_BT_MUSIC);
+        if (ret != MEDIA_HAL_OK) {
+            MEDIA_HAL_LOGE(MODULE_NAME, "set track mode failed, ret = %d", ret);
+            MediaHalMutexUnLock(g_subPortLock);
+            return ret;
+        }
     }
     g_subPortSndRefCnt++;
     MediaHalMutexUnLock(g_subPortLock);
@@ -2885,11 +2895,14 @@ int32_t AudioBluetoothSubPortDestroyTrack(AudioHandle portHandle, AudioHandle tr
     SubPortContext *portCtx = (SubPortContext *)portHandle;
     SubPortTrackContext *portTrackCtx = (SubPortTrackContext *)trackHandle;
 
+    MediaHalMutexLock(portCtx->a2dpTrackMutex);
     bool isValid = BluetoothPortIsValidTrack(portCtx, portTrackCtx);
-    CHK_FAILED_RETURN(isValid, true, MEDIA_HAL_INVALID_PARAM, "track is invalid");
-
+    if (!isValid) {
+        MEDIA_HAL_LOGE(MODULE_NAME, "track is invalid");
+        MediaHalMutexUnLock(portCtx->a2dpTrackMutex);
+        return MEDIA_HAL_INVALID_PARAM;
+    }
     int32_t trackCount = -1;
-    MediaHalMutexLock(portCtx->a2dpTrackMutex);
     int32_t ret = SubPortFreeTrack(portTrackCtx->trackId, &trackCount);
     CHK_FAILED_NO_RETURN(ret, MEDIA_HAL_OK, "SubPortFreeTrack failed");
 
index 96ce37a..35a14a6 100644 (file)
@@ -519,9 +519,13 @@ static int32_t AODevOpen(SubPortTrackContext *portTrackCtx)
     } else {
         if (portTrackCtx->workScene == MODEM_HEADSET_DOWNLINK) {
             MEDIA_HAL_DOFUNC_TIME(ret = uapi_snd_set_aef_profile(portTrackCtx->downlinkSoundHandle, profile));
+            ret = uapi_snd_set_track_mode(portTrackCtx->downlinkSoundHandle,
+                sndAttr.port_attr[0].out_port, SND_TRACK_MODE_BT_CAT1);
         } else {
             profile = UAPI_SND_AEF_PROFILE_VOIP;
             MEDIA_HAL_DOFUNC_TIME(ret = uapi_snd_set_aef_profile(portTrackCtx->downlinkSoundHandle, profile));
+            ret = uapi_snd_set_track_mode(portTrackCtx->downlinkSoundHandle,
+                sndAttr.port_attr[0].out_port, SND_TRACK_MODE_LOCAL_CAT1);
         }
     }
     CHK_FAILED_NO_RETURN(ret, MEDIA_HAL_OK, "set profile failed");
index 285401b..3a2e6b3 100644 (file)
@@ -334,10 +334,24 @@ static uapi_snd_aef_profile ConvertAudioCategoryToAudioEffectProfile(const enum
 }
 #endif
 
+static int32_t SetAefProfile(SubPortOutContext *portOutCtx, const enum AudioCategory audioCategory)
+{
+    uapi_snd_aef_profile profile = ConvertAudioCategoryToAudioEffectProfile(audioCategory);
+    if (profile == UAPI_SND_AEF_PROFILE_MAX) {
+        MEDIA_HAL_LOGE(MODULE_NAME, "invalid audio category %d", audioCategory);
+        return MEDIA_HAL_INVALID_PARAM;
+    }
+    int32_t ret = uapi_snd_set_aef_profile(portOutCtx->sndHandle, profile);
+    if (ret != MEDIA_HAL_OK) {
+        MEDIA_HAL_LOGE(MODULE_NAME, "uapi_snd_set_aef_profile(%d) failed: 0x%x", profile, ret);
+    }
+    return MEDIA_HAL_OK;
+}
+
 static int32_t AODevOpen(SubPortOutContext *portOutCtx, const enum AudioCategory audioCategory)
 {
 #ifdef AUDIO_SDK_SUPPORT
-       MediaHalInitStaticMutexLock(&g_subPortTrackOutLock);
+    MediaHalInitStaticMutexLock(&g_subPortTrackOutLock);
     MediaHalMutexLock(g_subPortTrackOutLock);
     if (g_subPortTrackOutSndRefCount == 0) {
         int32_t ret = MEDIA_HAL_OK;
@@ -357,17 +371,21 @@ static int32_t AODevOpen(SubPortOutContext *portOutCtx, const enum AudioCategory
             MediaHalMutexUnLock(g_subPortTrackOutLock);
             return ret;
         }
-
-        uapi_snd_aef_profile profile = ConvertAudioCategoryToAudioEffectProfile(audioCategory);
-        if (profile == UAPI_SND_AEF_PROFILE_MAX) {
-            MEDIA_HAL_LOGE(MODULE_NAME, "invalid audio category %d", audioCategory);
+        if (audioCategory == AUDIO_IN_COMMUNICATION) {
+            ret = uapi_snd_set_track_mode(portOutCtx->sndHandle, sndAttr.port_attr[0].out_port, SND_TRACK_MODE_BT_SCO);
+        } else if (audioCategory == AUDIO_IN_MEDIA) {
+            ret = uapi_snd_set_track_mode(portOutCtx->sndHandle,
+                sndAttr.port_attr[0].out_port, SND_TRACK_MODE_LOCAL_MUSIC);
+        }
+        if (ret != MEDIA_HAL_OK) {
+            MEDIA_HAL_LOGE(MODULE_NAME, "set track mode failed, ret = %d", ret);
             MediaHalMutexUnLock(g_subPortTrackOutLock);
             return MEDIA_HAL_INVALID_PARAM;
         }
-
-        MEDIA_HAL_DOFUNC_TIME(ret = uapi_snd_set_aef_profile(portOutCtx->sndHandle, profile));
+        ret = SetAefProfile(portOutCtx, audioCategory);
         if (ret != MEDIA_HAL_OK) {
-            MEDIA_HAL_LOGE(MODULE_NAME, "uapi_snd_set_aef_profile(%d) failed: 0x%x", profile, ret);
+            MediaHalMutexUnLock(g_subPortTrackOutLock);
+            return MEDIA_HAL_INVALID_PARAM;
         }
     }
     g_subPortTrackOutSndRefCount++;
@@ -376,8 +394,6 @@ static int32_t AODevOpen(SubPortOutContext *portOutCtx, const enum AudioCategory
     MEDIA_HAL_UNUSED(portOutCtx);
     MEDIA_HAL_UNUSED(audioCategory);
 #endif
-
-    MEDIA_HAL_LOGD(MODULE_NAME, "success");
     return MEDIA_HAL_OK;
 }
 
@@ -554,7 +570,7 @@ int32_t AudioPrimarySubPortOutGetLatency(AudioHandle trackHandle, uint32_t *late
     return MEDIA_HAL_OK;
 }
 #ifdef AUDIO_SDK_SUPPORT
-static int32_t AdpEventCB(td_handle adpHandle, uapi_adp_event_type event, const td_void *param, td_void *context)
+static int32_t AdpEventCB(td_handle adpHandle, uapi_adp_event_type event, td_void *param, td_void *context)
 {
     MEDIA_HAL_UNUSED(adpHandle);
     MEDIA_HAL_UNUSED(param);
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 fab1f8b..db39f89 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 4119048..267892c 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 423debc..9146a5d 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 e94333a..2098718 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 872b5e6..c16ef2d 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 7ac9d59..8887b39 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 cf99d93..28509d7 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 aa577d5..62cc55e 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 2602c3c..1b52c1c 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 5574999..52a6442 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 b5e9494..d72897d 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 7f2fb94..ccd1158 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 207600e..676565c 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 7379611..ba6e1a2 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 bc04e2b..f822bc1 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 4a272df..48a9e72 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 b7524ed..ab44f1b 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 b71cd15..a2818ee 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 5d415bd..673fa28 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 8364650..cdcd1de 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 1215af7..b63f085 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 0501401..1f73c2d 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 c34a141..310edb4 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 97a5e66..724d09f 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 0205ed2..e721b85 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 7c32b88..382fb4f 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 ad5e09d..01de1d8 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 4a0c3da..b287371 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 a798bda..f813e1e 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 d3ab2f3..d20893e 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 2835988..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 {
@@ -98,6 +98,7 @@ static errcode_t nv_async_update_attr(nv_key_map_t* cur_key, nv_key_attr_t *attr
     if (attr == NULL) {
         return ERRCODE_SUCC;
     }
+
     /* 保持hash表中数据和传入的属性保持一致 */
     if (attr->permanent) {
         cur_key->permanent = 1;
index 8199982..92afaee 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 9bc8af1..170ebf3 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 911e68a..c2cf773 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 ff8e68d..9047202 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 d356252..1285d75 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 43b0a6b..b3f4d3f 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 5cd4368..d75a787 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 abc3557..7360ab4 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 c1aae2c..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;
@@ -313,48 +310,38 @@ static void ExecuteSendMsgToJS(void *data)
             context = bt_connect_callbackContext;
             break;
         default:
-               HILOG_ERROR(HILOG_MODULE_ACE, "Invalid command type");
-               break;
-
+            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
 
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 5aa11e8..31498c2 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 985e5b5..d117e4c 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 2c35a7e..3ad0d25 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 6397f56..fc9b21e 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 541cc48..3dce671 100644 (file)
@@ -41,6 +41,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 4a119b2..20d9f7d 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 f236f6e..6d294ca 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 4c6839d..009009c 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 ac4a96e..016f9c8 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 49a4437..da582c2 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 76fdbe4..6c129fe 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 cdb58d6..b8cf2ca 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_602_1009_to_1029.txt b/patch_602_1009_to_1029.txt
new file mode 100644 (file)
index 0000000..02865c3
--- /dev/null
@@ -0,0 +1,48 @@
+【补丁名称】patch_602_1009_to_1029\r
+【基础版本】b602 + 0521 + 0626 + 7020 + 0812 + 0911 + 1009\r
+【修复问题】\r
+PLT合入内容\r
+    1、完善pmp配置,已解决nmi xip异常\r
+    2、psram稳定性增强\r
+    3、解决低概率rtc异常导致的系统狗超时\r
+AUDIO&MEDIA合入内容\r
+    1、配合DSP的修改:同步track mode相关改动,解决CAT1仅单声道有数据时音量变小的问题\r
+    2、同步track mode相关改动,解决CAT1仅单声道有数据时音量变小的问题\r
+    3、优化消息模块,解决DSP概率无法下电的问题\r
+GUI合入内容\r
+    1、可缩放滑动列表布局方案优化\r
+    2、一级界面UICrossView快速滑动响应优化\r
+    3、瀑布流、蜂窝转场动画优化\r
+    4、多语言频繁切换后文本滑动卡顿优化\r
+    5、统计图形耗时DFX方案优化,支持打印Task、Event耗时\r
+    6、解决视频起播过程中快速灭屏导致的后续播放异常问题    \r
+    7、解决Canvas等控件在特殊场景下挂死、绘制异常等问题\r
+    8、解决JS应用退出到Native概率花屏问题\r
+    9、解决LVGL圆角矩形矢量数据在异步模式下提前释放的问题\r
+OHOS合入内容\r
+    1、支持关签名模式下jsapp覆盖安装\r
+    2、修改audio src接口重复调用失败问题\r
+    3、修改原生GetTopAbility释放\r
+    4、增加跑马灯文本旋转JS Sample\r
+    5、修改百度地图json外部释放\r
+GPU合入内容:\r
+    1、解决DPU视频层停止送显后进出低功耗后黑屏问题\r
+NATIVE-JS sample合入内容\r
+ \r
+【修改影响】NA\r
+\r
+【使用方法】\r
+    1、合入0521补丁\r
+    2、合入0626补丁\r
+    3、合入0720补丁\r
+    4、合入0812补丁\r
+    5、合入0911补丁\r
+    6、合入1009补丁\r
+    6、合入1029补丁(此补丁包含1014单点合入内容)\r
+\r
+【自测情况】\r
+    自验证范围:\r
+       全功能冒烟\r
+    自验证target:\r
+       Native-js、target3 rc版本\r
+【是否合入版本】根据测试结果确定\r