From edc51862028778c2dabad99bfb8b0778e9e11da2 Mon Sep 17 00:00:00 2001 From: SnickerSun Date: Wed, 27 Nov 2024 16:14:25 +0800 Subject: [PATCH] patch_615_1009_to_1029 --- .../brandy/brandy_recovery/input_app.c | 2 +- .../brandy/brandy_standard/chip_init.c | 5 +- .../brandy/brandy_standard/input_app.c | 2 +- .../brandy/brandy_standard/kernel_init.c | 2 +- .../brandy/brandy_standard/thread_pri_init.c | 15 + .../brandy/brandy_testsuite/input_app.c | 2 +- .../wearable/alipay/service/alipay_feature.c | 2 +- .../wearable/nativeabilityfwk/src/Ability.cpp | 2 + .../nativeabilityfwk/src/NativeAbility.cpp | 4 +- .../src/transition/HexagonsTransition.cpp | 10 +- .../nativeui/applist/include/ApplistView.h | 1 + .../nativeui/applist/src/ApplistPresenter.cpp | 2 + .../nativeui/applist/src/ApplistView.cpp | 10 + .../nativeapp/nativeui/main/src/MainModel.cpp | 2 +- .../nativeui/main/src/MainPresenterSample.cpp | 10 +- .../wearable/ohos_deps/ohos_types.h | 2 +- .../brandy-auto-ota-cli/libmsg_center.a | Bin 82266 -> 82438 bytes .../brandy-auto-ota-ser/libmsg_center.a | Bin 82266 -> 82438 bytes .../brandy-native-js/libmsg_center.a | Bin 82266 -> 82438 bytes .../msg_center/brandy-xts/libmsg_center.a | Bin 82266 -> 82438 bytes .../msg_center/src/msg_center_customer.cpp | 8 +- .../src/vendor_app/baidu/baidu_app.cpp | 67 +- .../power_manager/src/power_display_service.c | 2 +- .../wstp/at_service/app/app_msg_manager.c | 2 +- .../wstp/at_service/audio/audio_msg_manager.c | 2 +- .../at_service/bt/bt_manager_msg_manager.c | 2 +- .../wstp/at_service/graphic/CMakeLists.txt | 2 + .../at_service/graphic/graphic_msg_manager.c | 2 +- .../at_service/graphic/sample/gpu_sample.c | 102 +- .../wstp/at_service/media/media_msg_manager.c | 2 +- .../at_service/ohosfwk/ohosfwk_at_process.cpp | 12 +- .../config/target_config/brandy/config.py | 1 - .../drivers/chips/brandy/config/pmp_config.c | 110 ++- .../source/core/common/share_mem/core_msg.c | 1 + .../audio/source/drv/arch/drv_sap_msg.c | 2 +- .../drivers/driver/mipi/shared/mipi_tx.c | 20 + .../drivers/driver/mipi/shared/mipi_tx.h | 1 + .../driver/mmc/host/sdhci/brandy/mmc_sdhci.c | 3 +- code/sdk/drivers/drivers/driver/pmp/pmp.c | 3 + .../drivers/drivers/driver/psram/psram_drv.c | 7 + .../drivers/drivers/driver/rtc_unified/rtc.c | 8 +- code/sdk/drivers/drivers/hal/xip/hal_xip.c | 6 +- .../drivers/hal/xip/hal_xip_v150_regs_op.h | 2 +- .../base/closed_comp/ability_service.cpp.xml | 8 +- .../base/closed_comp/appsys_ams_cmd.cpp.xml | 20 +- .../closed_comp/bundlems_slite_client.cpp.xml | 4 +- .../xml/base/closed_comp/display_vau.c.xml | 32 +- .../closed_comp/gt_bundle_installer.cpp.xml | 54 +- .../gt_bundle_manager_service.cpp.xml | 40 +- .../base/closed_comp/gt_bundle_parser.cpp.xml | 2 +- .../closed_comp/lite_m_gfx_engine.cpp.xml | 66 +- .../xml/base/closed_comp/lv_draw_vgu.c.xml | 32 +- .../xml/base/closed_comp/text_ext.cpp.xml | 8 +- .../xml/base/dsp_core/core_msg.c.xml | 88 +- .../build_hso_cfg/hdb/hdbcfg/mss_prim_db.xml | 28 +- .../xml/base/bt_core/gdk_cmsis.c.xml | 4 +- .../hso_database/xml/base/bt_core/osdep.c.xml | 14 +- .../xml/base/bt_core/patch_bth.c.xml | 10 +- .../freertos/ble/libbt_host_brandy_service.a | Bin 2140446 -> 2140446 bytes .../freertos/ble/libbt_host_sdk.a | Bin 3303558 -> 3303558 bytes .../br/libbt_host_audio_manager_wrapper.a | Bin 45036 -> 45036 bytes .../freertos/br/libbt_host_brandy_service.a | Bin 781414 -> 781414 bytes .../evb_standard/freertos/br/libbt_host_sdk.a | Bin 718486 -> 718486 bytes .../liteos/ble/libbt_host_brandy_service.a | Bin 2141450 -> 2141450 bytes .../evb_standard/liteos/ble/libbt_host_sdk.a | Bin 3309618 -> 3309618 bytes .../br/libbt_host_audio_manager_wrapper.a | Bin 219548 -> 219548 bytes .../liteos/br/libbt_host_brandy_service.a | Bin 4681958 -> 4681958 bytes .../evb_standard/liteos/br/libbt_host_sdk.a | Bin 3309994 -> 3309994 bytes .../mini/ble/libbt_host_brandy_service.a | Bin 2141450 -> 2141450 bytes .../liteos/mini/ble/libbt_host_sdk.a | Bin 3309618 -> 3309618 bytes .../br/libbt_host_audio_manager_wrapper.a | Bin 45036 -> 45036 bytes .../mini/br/libbt_host_brandy_service.a | Bin 781414 -> 781414 bytes .../liteos/mini/br/libbt_host_sdk.a | Bin 718598 -> 718598 bytes .../chips/brandy/exception/exception.h | 1 + .../chips/brandy/exception/exception_riscv.c | 37 +- .../chips/brandy/pm/pm_adapt/pm_core.c | 3 + .../chips/brandy/pm/pm_adapt/pm_lp_stub.c | 21 +- .../chips/brandy/pm/service/pm_sleep.c | 5 + .../services/gpu/api/jpeg/inc/jpeg_struct.h | 2 +- .../services/gpu/api/jpeg/src/jpeg_mem.c | 6 + .../api/rm/brandy-auto-ota-cli/libgfx_rm.a | Bin 85352 -> 85352 bytes .../api/rm/brandy-auto-ota-ser/libgfx_rm.a | Bin 85352 -> 85352 bytes .../gpu/api/rm/brandy-native-js-r/libgfx_rm.a | Bin 85352 -> 85352 bytes .../gpu/api/rm/brandy-native-js/libgfx_rm.a | Bin 85352 -> 85352 bytes .../gpu/api/rm/brandy-target1-r/libgfx_rm.a | Bin 85352 -> 85352 bytes .../gpu/api/rm/brandy-target1/libgfx_rm.a | Bin 85352 -> 85352 bytes .../gpu/api/rm/brandy-target3-r/libgfx_rm.a | Bin 85352 -> 85352 bytes .../gpu/api/rm/brandy-target3/libgfx_rm.a | Bin 85352 -> 85352 bytes .../gpu/api/rm/brandy-target4-r/libgfx_rm.a | Bin 85352 -> 85352 bytes .../gpu/api/rm/brandy-target4/libgfx_rm.a | Bin 85352 -> 85352 bytes .../gpu/api/rm/brandy-target5-r/libgfx_rm.a | Bin 85352 -> 85352 bytes .../gpu/api/rm/brandy-target5/libgfx_rm.a | Bin 85352 -> 85352 bytes .../gpu/api/rm/brandy-xts/libgfx_rm.a | Bin 85352 -> 85352 bytes .../api/rm/testsuite-brandy-sdk/libgfx_rm.a | Bin 85352 -> 85352 bytes .../services/gpu/drv/comm/gpu_mem_config.h | 6 +- .../services/gpu/drv/dpu/dfx/dpu_dfx.c | 75 +- .../services/gpu/drv/dpu/dfx/dpu_dfx.h | 11 + .../services/gpu/drv/dpu/intf/drv_dpu_intf.c | 12 + .../services/gpu/drv/dpu/isr/dpu_isr.c | 14 +- .../services/gpu/drv/dpu/layer/dpu_layer.c | 12 + .../services/gpu/drv/include/drv_dpu.h | 1 + .../services/gpu/drv/include/drv_vau.h | 1 + .../services/gpu/drv/vau/dfx/vau_dfx.c | 46 +- .../services/gpu/drv/vau/dfx/vau_dfx.h | 1 + .../services/gpu/drv/vau/hal/vau_hal_apb.c | 20 +- .../services/gpu/drv/vau/intf/drv_vau_intf.c | 51 +- .../services/gpu/drv/vau/list/vau_list.c | 7 +- .../common/include/graphic_hardware_config.h | 1 + .../brandy-auto-ota-cli/libdisplay_gfx.a | Bin 54528 -> 54364 bytes .../brandy-auto-ota-ser/libdisplay_gfx.a | Bin 54528 -> 54364 bytes .../display/brandy-native-js/libdisplay_gfx.a | Bin 54528 -> 54364 bytes .../display/brandy-target1/libdisplay_gfx.a | Bin 54528 -> 54364 bytes .../display/brandy-target3/libdisplay_gfx.a | Bin 54528 -> 54364 bytes .../display/brandy-target5/libdisplay_gfx.a | Bin 54528 -> 54364 bytes .../hal/display/brandy-xts/libdisplay_gfx.a | Bin 54528 -> 54364 bytes .../brandy-target1/liblvgl_proprietary_mini.a | Bin 272444 -> 272476 bytes .../lvgl/brandy-target5/liblvgl_proprietary.a | Bin 278012 -> 278044 bytes .../proprietary/src/dfx/lv_key_injector.c | 1 + .../proprietary/src/porting/lv_input_device.c | 3 +- .../uikit/brandy-auto-ota-cli/libuikit_ext.a | Bin 914492 -> 919626 bytes .../uikit/brandy-auto-ota-ser/libuikit_ext.a | Bin 914492 -> 919626 bytes .../gui/uikit/brandy-native-js/libuikit_ext.a | Bin 914492 -> 919626 bytes .../gui/uikit/brandy-target3/libuikit_ext.a | Bin 914492 -> 919626 bytes .../gui/uikit/brandy-xts/libuikit_ext.a | Bin 914492 -> 919626 bytes .../proprietary/include/common/text_ext.h | 5 +- .../include/components/ui_cross_view.h | 9 + .../include/components/ui_list_ext.h | 15 + .../include/components/ui_menu_item.h | 11 +- .../include/components/ui_transform_list.h | 1 + .../proprietary/include/dfx/dfx_frame_trace.h | 103 +- .../include/service/graphic_service.h | 12 +- .../src/service/src/graphic_event_handler.cpp | 3 + .../src/service/src/graphic_service.cpp | 44 +- .../ui/frameworks/components/ui_list_ext.cpp | 198 +++- .../components/ui_lite_surface_view.cpp | 4 + .../ui/frameworks/components/ui_menu_item.cpp | 47 +- .../src/ui/frameworks/dfx/dfx_frame_trace.cpp | 210 +++- .../ui_test_list_ext/ui_test_list_ext.cpp | 2 +- .../ui_test_list_fps/ui_test_list_fps.cpp | 2 +- .../ui_test_slipflow/ui_test_slipflow.cpp | 12 +- .../ui_test_text_fps/ui_test_text_fps.cpp | 2 +- .../ui_test_scale_list.cpp | 2 +- .../gui/uikit/ui/frameworks/common/text.cpp | 4 + .../ui/frameworks/components/ui_label.cpp | 2 + .../uikit/ui/frameworks/core/task_manager.cpp | 9 + .../uikit/ui/frameworks/draw/draw_utils.cpp | 2 +- .../ui/frameworks/font/ui_font_vector.cpp | 2 +- .../kits/components/ui_abstract_scroll.h | 4 +- .../ui/interfaces/kits/components/ui_label.h | 4 +- .../kits/components/ui_label_button.h | 2 +- .../js/builtin/src/audio_player.cpp | 64 +- .../utils/at/wstp_at/src/at_cmd_task.c | 2 +- .../brandy-auto-ota-cli/libx_vfs_private.a | Bin 41532 -> 41532 bytes .../brandy-auto-ota-ser/libx_vfs_private.a | Bin 41532 -> 41532 bytes .../vfs/brandy-native-js-r/libx_vfs_private.a | Bin 40428 -> 40428 bytes .../vfs/brandy-native-js/libx_vfs_private.a | Bin 41532 -> 41532 bytes .../vfs/brandy-target1-r/libx_vfs_private.a | Bin 40428 -> 40428 bytes .../fs/vfs/brandy-target1/libx_vfs_private.a | Bin 41532 -> 41532 bytes .../vfs/brandy-target3-r/libx_vfs_private.a | Bin 40428 -> 40428 bytes .../fs/vfs/brandy-target3/libx_vfs_private.a | Bin 41532 -> 41532 bytes .../vfs/brandy-target4-r/libx_vfs_private.a | Bin 40428 -> 40428 bytes .../fs/vfs/brandy-target4/libx_vfs_private.a | Bin 41532 -> 41532 bytes .../vfs/brandy-target5-r/libx_vfs_private.a | Bin 40428 -> 40428 bytes .../fs/vfs/brandy-target5/libx_vfs_private.a | Bin 41532 -> 41532 bytes .../fs/vfs/brandy-xts-r/libx_vfs_private.a | Bin 40428 -> 40428 bytes .../fs/vfs/brandy-xts/libx_vfs_private.a | Bin 41532 -> 41532 bytes .../testsuite-brandy-sdk/libx_vfs_private.a | Bin 41532 -> 41532 bytes .../yaffs2/brandy-auto-ota-cli/libfs_yaffs2.a | Bin 235260 -> 235300 bytes .../yaffs2/brandy-auto-ota-ser/libfs_yaffs2.a | Bin 235260 -> 235300 bytes .../yaffs2/brandy-native-js-r/libfs_yaffs2.a | Bin 235260 -> 235300 bytes .../fs/yaffs2/brandy-native-js/libfs_yaffs2.a | Bin 235260 -> 235300 bytes .../fs/yaffs2/brandy-target1-r/libfs_yaffs2.a | Bin 234872 -> 234912 bytes .../fs/yaffs2/brandy-target1/libfs_yaffs2.a | Bin 234872 -> 234912 bytes .../fs/yaffs2/brandy-target3-r/libfs_yaffs2.a | Bin 235260 -> 235300 bytes .../fs/yaffs2/brandy-target3/libfs_yaffs2.a | Bin 235260 -> 235300 bytes .../fs/yaffs2/brandy-target4-r/libfs_yaffs2.a | Bin 235260 -> 235300 bytes .../fs/yaffs2/brandy-target4/libfs_yaffs2.a | Bin 235260 -> 235300 bytes .../fs/yaffs2/brandy-target5-r/libfs_yaffs2.a | Bin 235260 -> 235300 bytes .../fs/yaffs2/brandy-target5/libfs_yaffs2.a | Bin 235260 -> 235300 bytes .../fs/yaffs2/brandy-xts-r/libfs_yaffs2.a | Bin 235260 -> 235300 bytes .../utils/fs/yaffs2/brandy-xts/libfs_yaffs2.a | Bin 235260 -> 235300 bytes .../testsuite-brandy-sdk/libfs_yaffs2.a | Bin 235264 -> 235304 bytes .../utils/nv/nv_storage_lib/nv_async_store.c | 4 +- .../syspara_lite/src/parameter_common.c | 2 +- .../aafwk_lite/brandy-auto-ota-cli/libams.a | Bin 136284 -> 136716 bytes .../aafwk_lite/brandy-auto-ota-ser/libams.a | Bin 136284 -> 136716 bytes .../aafwk_lite/brandy-native-js/libams.a | Bin 136284 -> 136716 bytes .../aafwk/aafwk_lite/brandy-xts/libams.a | Bin 136284 -> 136716 bytes .../ace/ace_engine_lite/CMakeLists.txt | 4 +- .../brandy-auto-ota-cli/libace.a | Bin 552920 -> 537956 bytes .../brandy-auto-ota-ser/libace.a | Bin 552920 -> 537956 bytes .../ace_engine_lite/brandy-native-js/libace.a | Bin 552920 -> 537956 bytes .../ace/ace_engine_lite/brandy-xts/libace.a | Bin 552920 -> 537956 bytes .../components/baidu_map_component.cpp | 9 + .../modules/baidumapcomponent/baidumap.cpp | 902 ++++++++++-------- .../modules/baidumapcomponent/baidumap.h | 23 +- .../modules/keyinput/keyinput.cpp | 292 ++++++ .../modules/keyinput/keyinput.h | 41 +- .../ace_engine_lite/modules/network_module.h | 22 +- .../brandy-auto-ota-cli/libbms.a | Bin 267936 -> 271446 bytes .../brandy-auto-ota-ser/libbms.a | Bin 267936 -> 271446 bytes .../appexecfwk_lite/brandy-native-js/libbms.a | Bin 267936 -> 271446 bytes .../appexecfwk_lite/brandy-xts/libbms.a | Bin 267936 -> 271446 bytes .../include/bundlems_slite_client.h | 2 + .../kits/bundle_lite/element_name.h | 1 + .../kits/bundle_lite/slite/bundle_manager.h | 14 + .../include/gt_bundle_installer.h | 1 + .../brandy-auto-ota-cli/libjerryscript.a | Bin 1309376 -> 1309376 bytes .../brandy-auto-ota-ser/libjerryscript.a | Bin 1309376 -> 1309376 bytes .../brandy-native-js/libjerryscript.a | Bin 1309376 -> 1309376 bytes .../jerryscript/brandy-xts/libjerryscript.a | Bin 1309376 -> 1309376 bytes code/sdk/tools/pkg/bin/brandy/bt.bin | Bin 424768 -> 424968 bytes .../tools/pkg/bin/brandy/dsp/max/dsp_main.bin | Bin 351280 -> 351280 bytes .../pkg/bin/brandy/dsp/mini/dsp_main.bin | Bin 337768 -> 337768 bytes .../pkg/bin/brandy/dsp/normal/dsp_main.bin | Bin 345928 -> 345928 bytes patch_615_1009_to_1029.txt | 48 + 216 files changed, 2324 insertions(+), 1005 deletions(-) create mode 100644 code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/modules/keyinput/keyinput.cpp create mode 100644 patch_615_1009_to_1029.txt diff --git a/code/sdk/application/brandy/brandy_recovery/input_app.c b/code/sdk/application/brandy/brandy_recovery/input_app.c index c842d9e29..087329dd9 100644 --- a/code/sdk/application/brandy/brandy_recovery/input_app.c +++ b/code/sdk/application/brandy/brandy_recovery/input_app.c @@ -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 diff --git a/code/sdk/application/brandy/brandy_standard/chip_init.c b/code/sdk/application/brandy/brandy_standard/chip_init.c index 15dd37469..57e422746 100644 --- a/code/sdk/application/brandy/brandy_standard/chip_init.c +++ b/code/sdk/application/brandy/brandy_standard/chip_init.c @@ -12,7 +12,6 @@ #include "rtc.h" #include "gpio.h" #include "ipc.h" -#include "cpu_trace.h" #include "uart_porting.h" #include "log_memory_region.h" #include "clocks_core_common.h" @@ -35,6 +34,7 @@ #define XIP_CACHE_INTR_MASK 0xa3006128 #define XIP_CACHE_WRITE_DATA_DELAY_INTR_MASK 0x8 #define XIP_CACHE_ENABLE_WRITE_INTR_MASK 0x1 +#define XIP_CACHE_2AHBM_INTR_MASK 0x2 #if ENABLE_LOW_POWER == YES extern uint32_t __sys_pm_start__; @@ -70,6 +70,7 @@ static void chip_xip_init(void) // Mask interrupts caused by CACHE2AHBM module state machine timeout 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); } static void chip_enable_ulp_ram(void) @@ -151,8 +152,6 @@ void chip_init(void) uapi_dma_init(); uapi_dma_open(); - cpu_trace_enable_mcpu_repeat(); - ipc_init(); log_memory_region_init(); diff --git a/code/sdk/application/brandy/brandy_standard/input_app.c b/code/sdk/application/brandy/brandy_standard/input_app.c index 0af1268bd..bcc6ec85f 100644 --- a/code/sdk/application/brandy/brandy_standard/input_app.c +++ b/code/sdk/application/brandy/brandy_standard/input_app.c @@ -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 diff --git a/code/sdk/application/brandy/brandy_standard/kernel_init.c b/code/sdk/application/brandy/brandy_standard/kernel_init.c index 58f17ccae..32d4861f1 100644 --- a/code/sdk/application/brandy/brandy_standard/kernel_init.c +++ b/code/sdk/application/brandy/brandy_standard/kernel_init.c @@ -235,7 +235,7 @@ void kernel_init(void) /* os kernel adapt config */ ArchSetExcHook((EXC_PROC_FUNC)do_fault_handler); - ArchSetNMIHook((NMI_PROC_FUNC)do_hard_fault_handler); + ArchSetNMIHook((NMI_PROC_FUNC)nmi_fault_handler); OsSetMainTask(); OsCurrTaskSet((LosTaskCB*)OsGetMainTask()); g_os_init_select = OS_CLASS_LITEOS; diff --git a/code/sdk/application/brandy/brandy_standard/thread_pri_init.c b/code/sdk/application/brandy/brandy_standard/thread_pri_init.c index 09efc52b5..34da5674b 100644 --- a/code/sdk/application/brandy/brandy_standard/thread_pri_init.c +++ b/code/sdk/application/brandy/brandy_standard/thread_pri_init.c @@ -9,6 +9,8 @@ #include "common_def.h" #include "pm.h" #include "watchdog.h" +#include "cpu_trace.h" +#include "non_os_reboot.h" /* after reboot system emmc need write exc info to the file system from sector */ #if defined(SAVE_EXC_INFO) && defined(CFG_DRIVERS_MMC) #include "exception.h" @@ -330,6 +332,19 @@ static void thread_main(const void *unused) #ifdef CFG_DRIVERS_NANDFLASH nandflash_init_handle(); #endif + + reboot_cause_t cause = get_cpu_utils_reset_cause(); + if ((cause != REBOOT_CAUSE_APPLICATION_STD_CHIP_WDT_FRST) && + (cause != REBOOT_CAUSE_APPLICATION_XIP_CTRL) && + (cause != REBOOT_CAUSE_APPLICATION_XIP_CACHE)) { + cpu_trace_enable_mcpu_repeat(); + } else { + PRINT("nmi reboot cause: 0x%x, reason: 0x%x"NEWLINE, cause, get_fault_reason()); + // save cputrace memory if chip watchdog reset + hal_cpu_trace_clock_enable(); + panic(PANIC_ASSERT, cause); + } + uapi_pm_control(PM_DISPLAY_POWER_UP_AND_RUN); (void)osDelay(TICK_TEN_MS); diff --git a/code/sdk/application/brandy/brandy_testsuite/input_app.c b/code/sdk/application/brandy/brandy_testsuite/input_app.c index d8d95785d..2cbdc52ba 100644 --- a/code/sdk/application/brandy/brandy_testsuite/input_app.c +++ b/code/sdk/application/brandy/brandy_testsuite/input_app.c @@ -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 diff --git a/code/sdk/application/wearable/alipay/service/alipay_feature.c b/code/sdk/application/wearable/alipay/service/alipay_feature.c index cd5d9f049..f05c1d10d 100644 --- a/code/sdk/application/wearable/alipay/service/alipay_feature.c +++ b/code/sdk/application/wearable/alipay/service/alipay_feature.c @@ -54,7 +54,7 @@ typedef struct { static osSemaphoreId_t g_alipay_sem_id; semaphoreex_t g_alipay_sem = { { "AlipaySem", 0, NULL, 0 }, 1, 1 }; static bool g_alipay_init_flag = false; -static unsigned long g_alipay_queue_id = 0; +static unsigned long g_alipay_queue_id = 0xFFFFFFFF; static uint32_t *g_alipay_task_handle = NULL; static uint32_t g_alipay_alow_read_write = 0; diff --git a/code/sdk/application/wearable/nativeabilityfwk/src/Ability.cpp b/code/sdk/application/wearable/nativeabilityfwk/src/Ability.cpp index 4cbe171c0..1cf68aef9 100644 --- a/code/sdk/application/wearable/nativeabilityfwk/src/Ability.cpp +++ b/code/sdk/application/wearable/nativeabilityfwk/src/Ability.cpp @@ -118,8 +118,10 @@ void Ability::PostChangeSlice(const uint16_t targetSliceId, TransitionType type, if (type != TransitionType::TRANSITION_INVALID) { osal_atomic_dec(&transitionCount_); } + FreeElement(elementName); return; } + FreeElement(elementName); #endif bool useTransition = sliceTransition_.SetTransitionType(type); diff --git a/code/sdk/application/wearable/nativeabilityfwk/src/NativeAbility.cpp b/code/sdk/application/wearable/nativeabilityfwk/src/NativeAbility.cpp index fccb32483..83463294e 100644 --- a/code/sdk/application/wearable/nativeabilityfwk/src/NativeAbility.cpp +++ b/code/sdk/application/wearable/nativeabilityfwk/src/NativeAbility.cpp @@ -104,11 +104,11 @@ void NativeAbility::OnActive(const Want &want) void NativeAbility::StopAbility() { - GraphicService::GetInstance()->SetNativeUIRunning(false); - NotificationManager::GetInstance()->SetNativeUIRunning(false); PauseSlice(); StopSlice(); nativeAbilityState_ = STATE_INACTIVE; + GraphicService::GetInstance()->SetNativeUIRunning(false); + NotificationManager::GetInstance()->SetNativeUIRunning(false); #ifdef JS_ENABLE SliteAbility::OnBackground(); #endif diff --git a/code/sdk/application/wearable/nativeabilityfwk/src/transition/HexagonsTransition.cpp b/code/sdk/application/wearable/nativeabilityfwk/src/transition/HexagonsTransition.cpp index 57c30703e..45ebd7616 100644 --- a/code/sdk/application/wearable/nativeabilityfwk/src/transition/HexagonsTransition.cpp +++ b/code/sdk/application/wearable/nativeabilityfwk/src/transition/HexagonsTransition.cpp @@ -42,14 +42,16 @@ void HexagonsTransition::OnTransitionStart(UIViewGroup* current, UIImageView* ta current_->GetCurrentPosition(focusIndex_); opaStart_ = focusView_->GetOpaScale(); scaleStart_ = current_->GetGlobalScale(); - Rect rect = focusView_->GetRect(); - float xScale = target_->GetWidth() * 1.0f / rect.GetWidth(); - float yScale = target_->GetHeight() * 1.0f / rect.GetHeight(); + float xScale = target_->GetWidth() * 1.0f / focusView_->GetWidth(); + float yScale = target_->GetHeight() * 1.0f / focusView_->GetHeight(); scaleEnd_ = FloatLessEqual(xScale, yScale) ? xScale : yScale; + Rect rect = focusView_->GetRect(); targetXStart_ = rect.GetX(); targetYStart_ = rect.GetY(); - targetScaleStart_ = 1.0f / scaleEnd_; + float targetXScale = rect.GetWidth() * 1.0f / target_->GetWidth(); + float targetYScale = rect.GetHeight() * 1.0f / target_->GetHeight(); + targetScaleStart_ = FloatMoreEqual(targetXScale, targetYScale) ? targetXScale : targetYScale; uint32_t offsetTime = static_cast((scaleStart_ - HEXAGONS_SCALE_INIT) / (scaleEnd_ - HEXAGONS_SCALE_INIT) * duration_); diff --git a/code/sdk/application/wearable/nativeapp/nativeui/applist/include/ApplistView.h b/code/sdk/application/wearable/nativeapp/nativeui/applist/include/ApplistView.h index cdbc2d1e7..aedb6381d 100644 --- a/code/sdk/application/wearable/nativeapp/nativeui/applist/include/ApplistView.h +++ b/code/sdk/application/wearable/nativeapp/nativeui/applist/include/ApplistView.h @@ -117,6 +117,7 @@ public: void ClearAppItemToList(); void RefreshAppList(void); void StartFootBallAnimator(); + void ResumeWaterFallDraggable(); private: /* for list style */ diff --git a/code/sdk/application/wearable/nativeapp/nativeui/applist/src/ApplistPresenter.cpp b/code/sdk/application/wearable/nativeapp/nativeui/applist/src/ApplistPresenter.cpp index 5033bd7f3..f73e438fa 100644 --- a/code/sdk/application/wearable/nativeapp/nativeui/applist/src/ApplistPresenter.cpp +++ b/code/sdk/application/wearable/nativeapp/nativeui/applist/src/ApplistPresenter.cpp @@ -43,6 +43,8 @@ namespace OHOS { Presenter::OnResume(); if (GetCurrentStyle() == AppListStyle::FOOTBALL_STYLE) { view_->StartFootBallAnimator(); + } else if (GetCurrentStyle() == AppListStyle::WATERFALL_STYLE) { + view_->ResumeWaterFallDraggable(); } } diff --git a/code/sdk/application/wearable/nativeapp/nativeui/applist/src/ApplistView.cpp b/code/sdk/application/wearable/nativeapp/nativeui/applist/src/ApplistView.cpp index 0163330f6..2bfd89579 100644 --- a/code/sdk/application/wearable/nativeapp/nativeui/applist/src/ApplistView.cpp +++ b/code/sdk/application/wearable/nativeapp/nativeui/applist/src/ApplistView.cpp @@ -136,6 +136,8 @@ void ApplistView::WaterfallStyleOnStart() waterfallList_->RequestFocus(); waterfallList_->SetRotateFactor(10); // 10, empirical coefficient waterfallList_->SetOnRotateListener(presenter_); + waterfallList_->SetTouchable(false); + waterfallList_->SetDraggable(false); // ensure that it can't be dragged during animation to avoid error display AddViewToRootContainer(waterfallList_); } @@ -171,6 +173,14 @@ void ApplistView::ListStyleOnStart() AddViewToRootContainer(contentList_); } +void ApplistView::ResumeWaterFallDraggable() +{ + if (waterfallList_ != nullptr) { + waterfallList_->SetTouchable(true); + waterfallList_->SetDraggable(true); // resume touchable after transition animation + } +} + void ApplistView::StartFootBallAnimator() { WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ApplistView::StartFootBallAnimator"); diff --git a/code/sdk/application/wearable/nativeapp/nativeui/main/src/MainModel.cpp b/code/sdk/application/wearable/nativeapp/nativeui/main/src/MainModel.cpp index 7cd3c937d..737e038b4 100644 --- a/code/sdk/application/wearable/nativeapp/nativeui/main/src/MainModel.cpp +++ b/code/sdk/application/wearable/nativeapp/nativeui/main/src/MainModel.cpp @@ -63,7 +63,7 @@ namespace OHOS { memset_s(cardSettings, CARD_SETTING_COUNT_MAX, 0, CARD_SETTING_COUNT_MAX); len = UtilsGetValue("card_setting", temp, CARD_SETTING_VALUE_LEN); - if (len >= 0) { + if (len >= 0 && strlen(temp) > 0) { /* 读取用户card配置 */ char *setBuffer = nullptr; char *setValue = strtok_s(temp, ",", &setBuffer); diff --git a/code/sdk/application/wearable/nativeapp/nativeui/main/src/MainPresenterSample.cpp b/code/sdk/application/wearable/nativeapp/nativeui/main/src/MainPresenterSample.cpp index fad63095e..f6b7bbf72 100644 --- a/code/sdk/application/wearable/nativeapp/nativeui/main/src/MainPresenterSample.cpp +++ b/code/sdk/application/wearable/nativeapp/nativeui/main/src/MainPresenterSample.cpp @@ -260,9 +260,15 @@ void MainPresenterSample::Notify(void) DialSetting &setting = GetDialSetting(); if (setting.dialFlag) { DialModelTime::GetInstance()->UpdateTime(); - dynamic_cast(view_->GetViewById(WATCH_FACE))->UpdateViewsByPeriodicUpdateData(); + DialViewGroup* group = dynamic_cast(view_->GetViewById(WATCH_FACE)); + if (group != nullptr) { + group->UpdateViewsByPeriodicUpdateData(); + } } else { - dynamic_cast(view_->GetViewById(WATCH_FACE))->UpdateTime(); + MainClockView* clock = dynamic_cast(view_->GetViewById(WATCH_FACE)); + if (clock != nullptr) { + clock->UpdateTime(); + } } } } diff --git a/code/sdk/application/wearable/ohos_deps/ohos_types.h b/code/sdk/application/wearable/ohos_deps/ohos_types.h index 8c4074f41..8b913e361 100644 --- a/code/sdk/application/wearable/ohos_deps/ohos_types.h +++ b/code/sdk/application/wearable/ohos_deps/ohos_types.h @@ -10,7 +10,7 @@ #if !defined(_WIN32) #include "los_typedef.h" #else -#include +#include #endif #ifdef __cplusplus diff --git a/code/sdk/application/wearable/service/msg_center/brandy-auto-ota-cli/libmsg_center.a b/code/sdk/application/wearable/service/msg_center/brandy-auto-ota-cli/libmsg_center.a index 9959912207d22930ebc8ce8b213f17969d26b362..69b5ffbb86bd06ee2f503d8c6a133066e031f380 100644 GIT binary patch delta 11129 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 IUOM-G06CDpf&c&j delta 11743 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

xN1jF>@ae!R z@6*;gSgap%WMx*_G##t19bbZo)S<;|1rfcB7XPt=bOv4j={$Aikfb@A+%=Is?VC&l z+qo_jy?n@n2)6o-!2X{_OL*=F`Yph|Oa&2a{kH-8X0?4G*6<54e9XO8jh$)Idcv{F zt%}dUAL*qTEW0CKhd&Uhqr^-F)e)4Cii2!Gi_cb2ebW)2%|}!nKiU!`%m=rvBNU6#078>Wci8jb7F^OI(*!SiPsl>ox9-uK)D`_P+?Qz2d%5 z`Lc`O{f?Z!E-Tpy z_ZcFKVy!ZIe6?uxOo=rb%j(9>g31W}8?|2i6E|qAeAa5LeAWd%@f$Ukt4Q3WadW-z zl_sA6v4twwW^x4B7OG&Yj{qlRBSLb}5)U|Z+yx{f3wz45dB7t7YJT& zz7+mFNa7Z4kj3)N(zpvJm+E)%cxHXKqrrn_p-+576wNDRpU32;L`mAKL*7QPWZ?#~%d~!PycWR$}bn%~StY(p~ z6Cr}FzuJ%T(gP7}^)gQUF45{G^?GQZq!_%@qQ-ZhXrB5FLl5e;*G^JH-uHq*y`CCN zjF<1Jnv?tN$@iBKHD-avN?+*c%@?d{t_)9aWVr&bvvyLGMKqQx@G>=)HS>Ip^96U+ zSXRsHrg0y^@};T~ueXz2FGrtB8uNSK*9MjK`HqttEboqX&{QyDV@_;QD?VmdsPX$6 zpW>yJYyQ)5GvrhHk}S`Yc6aPqT~G3-C32} zG5fPyY0*<*v(cZremuiOpLVrr(TkjD zDW72OeI~ktt4)jE;6%UV&cffCXnC@v#!QRe;Y7=);gla&-=nYlMOT{^{TtZizR0Rc zVFuCLO>~Bg+O+6*oVlgOQ+_=BUY)sAdrF%Y{iQRv?1Ypb zZ!*!cCsNw9XvxcFF8d|r$EQrR9PcS@TC{8i8~rZwNcnNecAdE#>M3nn^av;Vvlh`w z6D=PFT8p0QM4xs2_yrR!ucEC*FLI*4cKtYSM^;j*;44>~miY!m+iH3BJN%j)zmwnL zcc+sLJ|A=p(&nd3I&wC(b}{nXiA_fix7Pd~bEc8=tu?D7^=thMl$ zVYBJTvDlj58;+k;Qfq$iz-FrqM{9Mfj%OT4IbT~F@N35}+uQmBFDKL?#I>*VmM*_c zb*FQqJiRR9b>MyX$BKpyBRY*JDU4!sBPAt9gPPif@CWiXe+%y(!-*aP6Yo+q$wR#5 zP;(O8pj6u;d~499eFqO124w!4rY## z{5te|`7HD|UV>kNj6T8rcIA4%;jz178573qHyN3GG_Ty18+xO|mH|=TyDQ@Tm7m%b z3!PE?8}P5V%kEgH%{gMP+8yya^NiiGqB+h86EKQhjpqT})#%In5Is;u{~gg6^0$ay zh3IXFlKE?#=oMHs6>VyuiK~ARE6Tzaqg~Uvyz-%3{I`YVo-E$`P{eEE zryhzG-R=xK-^u6eb6VzeFL!x3R`jsrEie6c9k0Wu5I6h1JOkc`o!PH;yuD5>y`SZM z@czv4Ug&tQPxC&`-@?0Bb#Ndqa=hE0+j8tLxcZS;Q7OD_wJdSGFHQ6A%-i8T8Q%7e zE_1wpn&zFuAHn--$GhI~KAh$~hKKKs72OE$L-3L+m%U+EFr3jc?e8+p0(G^_ml7*YP=gA@1C7? z-g0V-Jj*Zai+OQAyDygUC1Px8uH%0DbG?gs?EaWHpRe5?OOE(aaBb@mY3F|wBX$4} zo3msY-t6+Cg^%LuN3$w_kl8Yg)kt>)qO3@Y zBJ0xpek;+L&!uU4eWu z3qMzf&rS=U?1an5emnakCcG3nk?gMAI4J7>%BZyx|GBIy<4wr_Bh+F2Uoe#g>SKd? zXYA;T-#}s70p*`~`)j%FYI@`U4Mq9TYlUqaCK8?Eb&s8I|Bq|s!TpcbT2@i6{>N+I I6Q%S12M@WvQUCw| delta 11740 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�b*7(*ewM+r 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 F{ST5qzJ~w+ delta 11743 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 I9xt8yKaL*0g#Z8m delta 11743 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 E100N#fdBvi diff --git a/code/sdk/application/wearable/service/msg_center/src/msg_center_customer.cpp b/code/sdk/application/wearable/service/msg_center/src/msg_center_customer.cpp index 4dca29565..147a22581 100644 --- a/code/sdk/application/wearable/service/msg_center/src/msg_center_customer.cpp +++ b/code/sdk/application/wearable/service/msg_center/src/msg_center_customer.cpp @@ -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) { diff --git a/code/sdk/application/wearable/service/msg_center/src/vendor_app/baidu/baidu_app.cpp b/code/sdk/application/wearable/service/msg_center/src/vendor_app/baidu/baidu_app.cpp index 570ae7214..33edb7ecd 100644 --- a/code/sdk/application/wearable/service/msg_center/src/vendor_app/baidu/baidu_app.cpp +++ b/code/sdk/application/wearable/service/msg_center/src/vendor_app/baidu/baidu_app.cpp @@ -21,6 +21,7 @@ #include "baidumap.h" #include "soc_osal.h" #include "watchdog.h" +#include "js_ability.h" #ifdef __cplusplus extern "C" { @@ -88,7 +89,7 @@ errcode_t msg_center_navigation_recv(uint8_t cmd_id, uint8_t type, void *usr_dat (void)memcpy_s(data, payload_len, tlv_payload, payload_len); data[payload_len] = '\0'; - WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "recv navigate info--> %s\r\n", tlv_payload); + WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "recv navigate info--> %s\r\n", data); DmsLiteSendMsgToJS(data); free(data); data = nullptr; @@ -243,7 +244,7 @@ errcode_t msg_center_xiaodu_recv_xiaodu_info(uint8_t cmd_id, uint8_t type, void (void)memcpy_s(data, payload_len, tlv_payload, payload_len); data[payload_len] = '\0'; - WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "recv xiaodu info--> %s\r\n", tlv_payload); + WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "recv xiaodu info--> %s\r\n", data); DmsLiteSendMsgToJS(data); free(data); data = nullptr; @@ -272,7 +273,7 @@ errcode_t msg_center_xiaodu_recv_wenxin_info(uint8_t cmd_id, uint8_t type, void (void)memcpy_s(data, payload_len, tlv_payload, payload_len); data[payload_len] = '\0'; - WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "recv wenxin info--> %s\r\n", tlv_payload); + WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "recv wenxin info--> %s\r\n", data); DmsLiteSendMsgToJS(data); free(data); data = nullptr; @@ -464,7 +465,7 @@ static void msg_center_transfer_longbuf(char *data, uint8_t type) fp = fopen(data, "rb"); if (fp == nullptr) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "%s: open %s fail.\r\n", vector_navi_get_str(type), data); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "open %s fail.\r\n", data); return; } @@ -472,21 +473,23 @@ static void msg_center_transfer_longbuf(char *data, uint8_t type) long file_len = ftell(fp); char *file_content = (char *)malloc(sizeof(char) * (file_len + 1)); if (file_content == nullptr) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "%s: malloc fail, file_len = %d.\r\n", vector_navi_get_str(type), file_len); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, " malloc fail, file_len = %d.\r\n", file_len); + fclose(fp); return; } fseek(fp, 0L, SEEK_SET); if (fread(file_content, file_len, 1, fp) != 1) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "%s: fread fail, file_len = %d.\r\n", vector_navi_get_str(type), file_len); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "fread fail, file_len = %d.\r\n", file_len); free(file_content); file_content = nullptr; + fclose(fp); return; } fclose(fp); file_content[file_len] = '\0'; - WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "%s: file_len = %d.\r\n", vector_navi_get_str(type), file_len); + WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "file_len = %d.\r\n", file_len); /* send to JSI */ BaidumapSendMsgToJS(file_content, type); @@ -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); uint16_t payload_len = usr_len - tl_len; uint8_t *tlv_payload = (uint8_t *)msg_center_get_tlv_payload(usr_data); - uint8_t ack = 1; + uint8_t ack = 1; /* recv流程的协议ack做保活判断,1 -- JS onLine, 0 -- JS offLine */ errcode_t ret = ERRCODE_SUCC; uint8_t res; /* ack */ + const char *bundleName = OHOS::ACELite::JSAbility::GetPackageName(); + if (bundleName != nullptr && strcmp(bundleName, "com.baidu.BaiduMap") == 0) { + ack = 1; + } else { + ack = 0; + } + ret = msg_center_send_data(cmd_id, type, &ack, sizeof(ack)); if (ret != ERRCODE_SUCC) { return ERRCODE_FAIL; } + if (ack == 0) { + WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "JS offline\r\n"); + return ERRCODE_SUCC; + } + /* svg json */ char *svg_json = (char *)malloc(payload_len + 1); if (svg_json == nullptr) { @@ -587,7 +602,7 @@ errcode_t msg_center_vector_navi_req_svg(uint8_t cmd_id, uint8_t type, void *usr return ERRCODE_FAIL; } - WEARABLE_LOGD(WEARABLE_LOG_MODULE_MSG_CENTER, "usr_data = %s\r\n", usr_data); + WEARABLE_LOGD(WEARABLE_LOG_MODULE_MSG_CENTER, "req svg succ\r\n"); return ERRCODE_SUCC; } @@ -628,7 +643,7 @@ errcode_t msg_center_vector_navi_recv_dst_list(uint8_t cmd_id, uint8_t type, voi (void)memcpy_s(data, payload_len, tlv_payload, payload_len); data[payload_len] = '\0'; - WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "recv vector navi info--> %s\r\n", tlv_payload); + WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "recv vector navi info--> %s\r\n", data); /* send to baiduSDK */ free(data); data = nullptr; @@ -663,7 +678,7 @@ errcode_t msg_center_vector_navi_recv_navi_info(uint8_t cmd_id, uint8_t type, vo (void)memcpy_s(data, payload_len, tlv_payload, payload_len); data[payload_len] = '\0'; - WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "recv vector navi info--> %s\r\n", tlv_payload); + WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "recv vector navi info--> %s\r\n", data); /* send data to js */ free(data); data = nullptr; @@ -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; /* ack */ + const char *bundleName = OHOS::ACELite::JSAbility::GetPackageName(); + if (bundleName != nullptr && strcmp(bundleName, "com.baidu.BaiduMap") == 0) { + ack = 1; + } else { + ack = 0; + } + ret = msg_center_send_data(cmd_id, type, &ack, sizeof(ack)); if (ret != ERRCODE_SUCC) { return ERRCODE_FAIL; } + if (ack == 0) { + WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "JS offline\r\n"); + return ERRCODE_SUCC; + } + char *data = (char *)malloc(payload_len + 1); if (data == nullptr) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "recv poi: malloc failed.\r\n"); @@ -721,7 +748,7 @@ errcode_t msg_center_vector_navi_recv_poi(uint8_t cmd_id, uint8_t type, void *us (void)memcpy_s(data, payload_len, tlv_payload, payload_len); data[payload_len] = '\0'; - WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "recv poi info -- > %s, usr_len = %d\r\n", tlv_payload, usr_len); + WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "recv poi info -- > %s, usr_len = %d\r\n", data, usr_len); msg_center_transfer_longbuf(data, type); free(data); @@ -764,8 +791,6 @@ static errcode_t msg_center_vector_navi_req_common_proc(uint8_t cmd_id, uint8_t return ERRCODE_FAIL; } - WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "%s, usr_data = %s, usr_len = %d\r\n", vector_navi_get_str(type), - usr_data == NULL ? NULL : usr_data, usr_len); return ERRCODE_SUCC; } @@ -820,11 +845,23 @@ static errcode_t msg_center_vector_navi_rec_common_proc(uint8_t cmd_id, uint8_t uint8_t ack = 1; /* ack */ + const char *bundleName = OHOS::ACELite::JSAbility::GetPackageName(); + if (bundleName != nullptr && strcmp(bundleName, "com.baidu.BaiduMap") == 0) { + ack = 1; + } else { + ack = 0; + } + ret = msg_center_send_data(cmd_id, type, &ack, sizeof(ack)); if (ret != ERRCODE_SUCC) { return ERRCODE_FAIL; } + if (ack == 0) { + WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "JS offline\r\n"); + return ERRCODE_SUCC; + } + #if defined(SUPPORT_POWER_MANAGER) const power_display_svr_api_t *display_api = power_display_svr_get_api(); if (display_api->get_screen_state() != SCREEN_ON) { @@ -843,7 +880,7 @@ static errcode_t msg_center_vector_navi_rec_common_proc(uint8_t cmd_id, uint8_t (void)memcpy_s(data, payload_len, tlv_payload, payload_len); data[payload_len] = '\0'; - WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "%s -- > %s\r\n", vector_navi_get_str(type), tlv_payload); + WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "%s -- > %s\r\n", vector_navi_get_str(type), data); if (is_vector_navi_longbuf(type) && payload_len != 1) { if (payload_len == 2) { // 2,长距离的协议优化,限制为 ROUTE_TRANS_MAX_SIZE, app先读文件过滤,减少无效带宽损耗 diff --git a/code/sdk/application/wearable/service/power_manager/src/power_display_service.c b/code/sdk/application/wearable/service/power_manager/src/power_display_service.c index bb5228362..5deec976b 100644 --- a/code/sdk/application/wearable/service/power_manager/src/power_display_service.c +++ b/code/sdk/application/wearable/service/power_manager/src/power_display_service.c @@ -56,7 +56,7 @@ void power_display_gui_cmd_handle_ext(void *data); void power_display_timer_cmd_handle_ext(void *data); #endif -static unsigned long g_power_display_queue_id = 0; +static unsigned long g_power_display_queue_id = 0xFFFFFFFF; static uint32_t g_power_recv_msg_num = 0; bool g_discard_all_events = false; static uint32_t g_power_tp_press_num = false; diff --git a/code/sdk/application/wstp/at_service/app/app_msg_manager.c b/code/sdk/application/wstp/at_service/app/app_msg_manager.c index 9a846d7cc..0ae7a6988 100644 --- a/code/sdk/application/wstp/at_service/app/app_msg_manager.c +++ b/code/sdk/application/wstp/at_service/app/app_msg_manager.c @@ -15,7 +15,7 @@ #define APP_AT_MSG_COUNT 16 -static unsigned long g_app_at_queue; +static unsigned long g_app_at_queue = 0xFFFFFFFF; void app_at_task_queue_init(void) { diff --git a/code/sdk/application/wstp/at_service/audio/audio_msg_manager.c b/code/sdk/application/wstp/at_service/audio/audio_msg_manager.c index 41abbbbab..0a4db1450 100644 --- a/code/sdk/application/wstp/at_service/audio/audio_msg_manager.c +++ b/code/sdk/application/wstp/at_service/audio/audio_msg_manager.c @@ -16,7 +16,7 @@ #define AUDIO_AT_MSG_COUNT 16 -static unsigned long g_audio_at_queue; +static unsigned long g_audio_at_queue = 0xFFFFFFFF; void audio_at_task_queue_init(void) { diff --git a/code/sdk/application/wstp/at_service/bt/bt_manager_msg_manager.c b/code/sdk/application/wstp/at_service/bt/bt_manager_msg_manager.c index 8183319f1..e93bdaa70 100644 --- a/code/sdk/application/wstp/at_service/bt/bt_manager_msg_manager.c +++ b/code/sdk/application/wstp/at_service/bt/bt_manager_msg_manager.c @@ -16,7 +16,7 @@ #define BT_CMD_MSG_COUNT 16 -static unsigned long g_bt_manager_msg_queue; +static unsigned long g_bt_manager_msg_queue = 0xFFFFFFFF; void bt_manager_at_task_queue_init(void) { diff --git a/code/sdk/application/wstp/at_service/graphic/CMakeLists.txt b/code/sdk/application/wstp/at_service/graphic/CMakeLists.txt index 0193d21ac..0e620ba11 100644 --- a/code/sdk/application/wstp/at_service/graphic/CMakeLists.txt +++ b/code/sdk/application/wstp/at_service/graphic/CMakeLists.txt @@ -27,6 +27,8 @@ set(PRIVATE_HEADER ${ROOT_DIR}/middleware/services/gui/lvgl/sample ${ROOT_DIR}/middleware/services/gui/lvgl/proprietary ${ROOT_DIR}/middleware/services/gui/lvgl/proprietary/include/dfx + ${ROOT_DIR}/middleware/services/gpu/drv/include + ${ROOT_DIR}/middleware/services/gpu/drv/dpu/dfx ) set(PRIVATE_DEFINES diff --git a/code/sdk/application/wstp/at_service/graphic/graphic_msg_manager.c b/code/sdk/application/wstp/at_service/graphic/graphic_msg_manager.c index 37181447d..fd47b7e0d 100644 --- a/code/sdk/application/wstp/at_service/graphic/graphic_msg_manager.c +++ b/code/sdk/application/wstp/at_service/graphic/graphic_msg_manager.c @@ -16,7 +16,7 @@ #define GRAPHIC_MSG_COUNT 16 -static unsigned long g_graphic_at_queue; +static unsigned long g_graphic_at_queue = 0xFFFFFFFF; void graphic_at_task_queue_init(void) { diff --git a/code/sdk/application/wstp/at_service/graphic/sample/gpu_sample.c b/code/sdk/application/wstp/at_service/graphic/sample/gpu_sample.c index 4f1a92d11..c17e91146 100644 --- a/code/sdk/application/wstp/at_service/graphic/sample/gpu_sample.c +++ b/code/sdk/application/wstp/at_service/graphic/sample/gpu_sample.c @@ -16,6 +16,7 @@ #include "soc_vau_api.h" #include "soc_dpu_api.h" #include "soc_mipi_tx.h" +#include "dpu_dfx.h" #ifdef SUPPORT_GPU_TEST #include "test_gpu_comm.h" @@ -29,12 +30,9 @@ #define TEST_DPU_LAYER_WHITE 0xffffffff #define TEST_DPU_LAYER_YELLOW 0xffffff00 -extern td_s32 dfx_get_proc_info(int argc, const char *argv[]); -extern td_s32 dfx_dpu_print(int argc, const char *argv[]); extern td_s32 vau_dfx_proc_read(int argc, const char *argv[]); extern td_s32 jpeg_dfx_proc_read(int argc, const char *argv[]); extern td_s32 gmmu_dfx_print_proc_info(int argc, const char *argv[]); -extern td_s32 dfx_dpu_save_fb_enable(int argc, const char *argv[]); static td_void wstp_draw_box(ext_rect *rect, td_u32 stride, td_char *mem_start, td_u32 color, td_u32 bpp) { @@ -190,12 +188,11 @@ static td_void wstp_gpu_dpu_cbar(int argc, const char *argv[]) static td_void wstp_dpu_screen_cap_g0(td_void) { td_u32 addr, stride, height; - uapi_reg_read(0x56030e54, addr); - uapi_reg_read(0x56030e60, stride); - uapi_reg_read(0x56030e44, height); + dpu_dfx_info *dfx_info = dpu_dfx_get_info(); - height = (height >> 16) + 1; // 16:index - stride = stride & 0xFFFF; + addr = dfx_info->layer_info[0].phy_addr; + height = dfx_info->layer_info[0].height; + stride = dfx_info->layer_info[0].stride; int fd = open("/user/dpu_screen_cap_g0.bin", O_RDWR | O_CREAT, 0666); if (fd < 0) { @@ -209,31 +206,90 @@ static td_void wstp_dpu_screen_cap_g0(td_void) printf("save /user/dpu_screen_cap_g0.bin stride[%u] height[%u] success!\n", stride, height); } -static td_void wstp_dpu_screen_cap_g1(td_void) +static td_void wstp_dpu_screen_cap_g1_yuv_sp420(td_u32 y_addr, td_u32 y_h, td_u32 y_s) { - td_u32 y_addr, stride, w_h, height; - uapi_reg_read(0x56031054, y_addr); - uapi_reg_read(0x56031060, stride); - uapi_reg_read(0x56031044, w_h); - - height = (w_h >> 16) + 1; // 16:index - stride = stride & 0xFFFF; - td_u32 y_size = stride * height; - td_u32 uv_size = stride * uapi_byte_align(height, 16) / 2; // 16:index, 2:index + td_u32 y_size = y_s * y_h; + td_u32 uv_size = y_s * uapi_byte_align(y_h, 16) / 2; // 16:index, 2:index td_u32 total_size = y_size + uv_size; - int fd = open("/user/dpu_screen_cap_g1.yuv", O_RDWR | O_CREAT, 0666); + int fd = open("/user/dpu_g1_sp420.yuv", O_RDWR | O_CREAT, 0666); if (fd < 0) { - printf("open file failure!\n"); + printf("open file dpu_g1_sp420 failure!\n"); return; } write(fd, (td_void *)(uintptr_t)y_addr, total_size); close(fd); + printf("save /user/dpu_g1_sp420.yuv stride[%u] height[%u] success!\n", y_s, y_h); +} + +static td_void wstp_dpu_screen_cap_g1_yuv_p420(td_u32 y_addr, td_u32 y_w, td_u32 y_h, td_u32 y_s) +{ + td_u32 uv_addr = y_addr + y_s * y_h; + td_u32 uv_w, uv_h, uv_s; + uv_w = y_w / 2; // 2:index + uv_h = uapi_byte_align(y_h, 16) / 2; // 16: index 2:index + uv_s = y_s; + + int fd = open("/user/dpu_g1_planar420.yuv", O_RDWR | O_CREAT, 0666); + if (fd < 0) { + printf("open file dpu_g1_planar420 failure!\n"); + return; + } + + // save_y_data + td_char *addr = (td_char *)(uintptr_t)y_addr; + for (td_u32 i = 0; i < y_h; i++) { + write(fd, addr, y_w); + addr += y_s; + } + + // save_u_data + const td_u32 uv_max_len = 640; + char *uv_data = malloc(uv_w); + if (uv_data == NULL) { + printf("malloc fail for screen_cap g1 size = %u", uv_w); + return; + } + + addr = (char *)(uintptr_t)uv_addr; + for (td_u32 i = 0; i < uv_h; i++) { + for (td_u32 j = 0; j < uv_w; j++) { + uv_data[j] = addr[2 * j + 1]; /* 2 is index */ + } + write(fd, uv_data, uv_w); + addr += uv_s; + } + + // save_v_data + addr = (char *)(uintptr_t)uv_addr; + for (td_u32 i = 0; i < uv_h; i++) { + for (td_u32 j = 0; j < uv_w; j++) { + uv_data[j] = addr[2 * j + 0]; /* 2 is index */ + } + write(fd, uv_data, uv_w); + addr += uv_s; + } - printf("save /user/dpu_screen_cap_g1.yuv stride[%u] height[%u] success!\n", stride, height); + close(fd); + free(uv_data); + printf("save /user/dpu_g1_planar420.yuv y_w/h/s:[%u/%u/%u] uv_w/h/s:[%u/%u/%u]success!\n", + y_w, y_h, y_s, uv_w, uv_h, uv_s); } +static td_void wstp_dpu_screen_cap_g1(td_void) +{ + td_u32 y_addr, y_w, y_h, y_s; + dpu_dfx_info *dfx_info = dpu_dfx_get_info(); + + y_addr = dfx_info->layer_info[1].phy_addr; + y_w = dfx_info->layer_info[1].width; + y_h = dfx_info->layer_info[1].height; + y_s = dfx_info->layer_info[1].stride; + + wstp_dpu_screen_cap_g1_yuv_sp420(y_addr, y_h, y_s); + wstp_dpu_screen_cap_g1_yuv_p420(y_addr, y_w, y_h, y_s); +} static td_void wstp_gpu_screen_cap(int argc, const char *argv[]) { @@ -292,10 +348,14 @@ td_void wstp_gpu_sample_process(int argc, char *argv[]) dfx_show_layer_proc(argc - 1, argv + 1); } else if (strcmp((char *)argv[0], "dpu_print") == 0) { dfx_dpu_print(argc - 1, argv + 1); + } else if (strcmp((char *)argv[0], "dpu_print_reg") == 0) { + print_mipi_and_dpu_reg(argc - 1, argv + 1); } else if (strcmp((char *)argv[0], "dpu_save_fb") == 0) { dfx_dpu_save_fb_enable(argc - 1, argv + 1); } else if (strcmp((char *)argv[0], "vau_proc") == 0) { vau_dfx_proc_read(argc - 1, argv + 1); + } else if (strcmp((char *)argv[0], "vau_api_print") == 0) { + vau_dfx_enable_api_print(argc - 1, argv + 1); } else if (strcmp((char *)argv[0], "jpeg_proc") == 0) { #ifdef SUPPORT_GPU_JPEG jpeg_dfx_proc_read(argc - 1, argv + 1); diff --git a/code/sdk/application/wstp/at_service/media/media_msg_manager.c b/code/sdk/application/wstp/at_service/media/media_msg_manager.c index aedd9412a..aba814c26 100644 --- a/code/sdk/application/wstp/at_service/media/media_msg_manager.c +++ b/code/sdk/application/wstp/at_service/media/media_msg_manager.c @@ -16,7 +16,7 @@ #define MEDIA_AT_MSG_COUNT 16 -static unsigned long g_media_at_queue; +static unsigned long g_media_at_queue = 0xFFFFFFFF; void media_at_task_queue_init(void) { diff --git a/code/sdk/application/wstp/at_service/ohosfwk/ohosfwk_at_process.cpp b/code/sdk/application/wstp/at_service/ohosfwk/ohosfwk_at_process.cpp index 59498929f..217a764d7 100644 --- a/code/sdk/application/wstp/at_service/ohosfwk/ohosfwk_at_process.cpp +++ b/code/sdk/application/wstp/at_service/ohosfwk/ohosfwk_at_process.cpp @@ -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; } diff --git a/code/sdk/build/config/target_config/brandy/config.py b/code/sdk/build/config/target_config/brandy/config.py index c184fd3ea..4c1d02928 100644 --- a/code/sdk/build/config/target_config/brandy/config.py +++ b/code/sdk/build/config/target_config/brandy/config.py @@ -302,7 +302,6 @@ target_group = { 'pack_brandy_native_js': ['brandy-ssb', 'brandy-native-js-r', 'brandy-native-js'], 'pack_brandy_native_js_user': ['brandy-ssb', 'brandy-native-js-r', 'brandy-native-js-user'], 'pack_brandy_xts': ['brandy-ssb', 'brandy-xts-r', 'brandy-xts'], - 'brandy_all': ['brandy-ssb', 'brandy-target1', 'brandy-target3', 'brandy-target4', 'brandy-target5', 'brandy-native-js', 'brandy-native-js-user', 'brandy-xts', 'brandy-target1-r', 'brandy-target3-r', 'brandy-target4-r', 'brandy-target5-r', 'brandy-native-js-r', 'brandy-xts-r', diff --git a/code/sdk/drivers/chips/brandy/config/pmp_config.c b/code/sdk/drivers/chips/brandy/config/pmp_config.c index 7097a8840..d94ab5886 100644 --- a/code/sdk/drivers/chips/brandy/config/pmp_config.c +++ b/code/sdk/drivers/chips/brandy/config/pmp_config.c @@ -38,18 +38,23 @@ #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, + BOOTROM_IDX = 0, + ITCM_IDX = 1, + ITCM_SECOND_IDX = 2, + DTCM_IDX = 3, + L2RAM_IDX = 4, + SHARE_MEM_IDX = 5, + BT_RAM_APP_MAPPING_IDX = 6, + REG_ADDR_0_IDX = 7, /* reg 0x5x */ + REG_ADDR_1_IDX = 8, /* reg 0xa3 */ + CPU_ADDR_IDX = 9, /* reg 0xa3 */ #if defined(CONFIG_PSRAM_SUPPORT) || defined(TEST_SUITE) PSRAM_IDX, PSRAM_GPU_IDX, PSRAM_SECOND_IDX, #endif NOR_FLASH_IDX, + BACKGROUND_IDX = 15, MAX_REGION_NUM } region_index_t; @@ -57,10 +62,10 @@ pmp_conf_t g_region_attr[MAX_REGION_NUM]; static void pmp_init_config(void) { - /* bootrom 不可读不可写不可执行 */ + /* 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].size = 0x100; 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; @@ -93,38 +98,66 @@ static void pmp_init_config(void) 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; + /* L2MEM 可读可执行可写 no cache属性 */ + g_region_attr[L2RAM_IDX].idx = L2RAM_IDX; + g_region_attr[L2RAM_IDX].addr = 0x60000000; + g_region_attr[L2RAM_IDX].size = 0x2000000; + g_region_attr[L2RAM_IDX].conf.pmp_attr = PMP_ATTR_NO_BUFFERABLE_AND_NO_CACHEABLE; + g_region_attr[L2RAM_IDX].conf.rwx_permission = (rwx_permission_t)PMPCFG_RW_EXECUTE; + g_region_attr[L2RAM_IDX].conf.addr_match = PMPCFG_ADDR_MATCH_NAPOT; + g_region_attr[L2RAM_IDX].conf.lock = true; + + /* SHARE_MEM_IDX 可读可写不可执行 不打开cache属性 */ + g_region_attr[SHARE_MEM_IDX].idx = SHARE_MEM_IDX; + g_region_attr[SHARE_MEM_IDX].addr = 0x87000000; + g_region_attr[SHARE_MEM_IDX].size = 0x20000; + g_region_attr[SHARE_MEM_IDX].conf.pmp_attr = PMP_ATTR_NO_BUFFERABLE_AND_NO_CACHEABLE; + g_region_attr[SHARE_MEM_IDX].conf.rwx_permission = (rwx_permission_t)PMPCFG_RW_EXECUTE; + g_region_attr[SHARE_MEM_IDX].conf.addr_match = PMPCFG_ADDR_MATCH_NAPOT; + g_region_attr[SHARE_MEM_IDX].conf.lock = true; + + /* BT_RAM_APP_MAPPING_IDX 可读可写不可执行 不打开cache属性 */ + g_region_attr[BT_RAM_APP_MAPPING_IDX].idx = BT_RAM_APP_MAPPING_IDX; + g_region_attr[BT_RAM_APP_MAPPING_IDX].addr = 0xA6000000; + g_region_attr[BT_RAM_APP_MAPPING_IDX].size = 0x200000; + g_region_attr[BT_RAM_APP_MAPPING_IDX].conf.pmp_attr = PMP_ATTR_DEVICE_NO_BUFFERABLE; + g_region_attr[BT_RAM_APP_MAPPING_IDX].conf.rwx_permission = (rwx_permission_t)PMPCFG_RW_NEXECUTE; + g_region_attr[BT_RAM_APP_MAPPING_IDX].conf.addr_match = PMPCFG_ADDR_MATCH_NAPOT; + g_region_attr[BT_RAM_APP_MAPPING_IDX].conf.lock = true; + + /* REG_ADDR_0_IDX 可读可写不可执行 不打开cache属性 */ + g_region_attr[REG_ADDR_0_IDX].idx = REG_ADDR_0_IDX; + g_region_attr[REG_ADDR_0_IDX].addr = 0x50000000; + g_region_attr[REG_ADDR_0_IDX].size = 0x10000000; + g_region_attr[REG_ADDR_0_IDX].conf.pmp_attr = PMP_ATTR_DEVICE_NO_BUFFERABLE; + g_region_attr[REG_ADDR_0_IDX].conf.rwx_permission = (rwx_permission_t)PMPCFG_RW_NEXECUTE; + g_region_attr[REG_ADDR_0_IDX].conf.addr_match = PMPCFG_ADDR_MATCH_NAPOT; + g_region_attr[REG_ADDR_0_IDX].conf.lock = true; + + /* REG_ADDR_1_IDX 可读可写不可执行 不打开cache属性 */ + g_region_attr[REG_ADDR_1_IDX].idx = REG_ADDR_1_IDX; + g_region_attr[REG_ADDR_1_IDX].addr = 0xA3000000; + g_region_attr[REG_ADDR_1_IDX].size = 0x10000; + g_region_attr[REG_ADDR_1_IDX].conf.pmp_attr = PMP_ATTR_DEVICE_NO_BUFFERABLE; + g_region_attr[REG_ADDR_1_IDX].conf.rwx_permission = (rwx_permission_t)PMPCFG_RW_NEXECUTE; + g_region_attr[REG_ADDR_1_IDX].conf.addr_match = PMPCFG_ADDR_MATCH_NAPOT; + g_region_attr[REG_ADDR_1_IDX].conf.lock = true; + + /* CPU_ADDR_IDX 可读可写不可执行 不打开cache属性 */ + g_region_attr[CPU_ADDR_IDX].idx = CPU_ADDR_IDX; + g_region_attr[CPU_ADDR_IDX].addr = 0xB0000000; + g_region_attr[CPU_ADDR_IDX].size = 0x10000000; + g_region_attr[CPU_ADDR_IDX].conf.pmp_attr = PMP_ATTR_DEVICE_NO_BUFFERABLE; + g_region_attr[CPU_ADDR_IDX].conf.rwx_permission = (rwx_permission_t)PMPCFG_RW_NEXECUTE; + g_region_attr[CPU_ADDR_IDX].conf.addr_match = PMPCFG_ADDR_MATCH_NAPOT; + g_region_attr[CPU_ADDR_IDX].conf.lock = true; #if defined(CONFIG_PSRAM_SUPPORT) || defined(TEST_SUITE) /* 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.pmp_attr = PMP_ATTR_WRITEBACK_RWALLOCATE; 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; @@ -147,6 +180,15 @@ static void pmp_init_config(void) g_region_attr[NOR_FLASH_IDX].conf.rwx_permission = (rwx_permission_t)PMPCFG_READ_ONLY_EXECUTE; g_region_attr[NOR_FLASH_IDX].conf.addr_match = PMPCFG_ADDR_MATCH_NAPOT; g_region_attr[NOR_FLASH_IDX].conf.lock = true; + + /* BACKGROUND_IDX 不可读不可写不可执行 */ + g_region_attr[BACKGROUND_IDX].idx = BACKGROUND_IDX; + g_region_attr[BACKGROUND_IDX].addr = 0x0; + g_region_attr[BACKGROUND_IDX].size = 0xFFFFFFFF; /* 4GB */ + g_region_attr[BACKGROUND_IDX].conf.pmp_attr = PMP_ATTR_DEVICE_NO_BUFFERABLE; + g_region_attr[BACKGROUND_IDX].conf.rwx_permission = (rwx_permission_t)PMPCFG_NO_ACCESS; + g_region_attr[BACKGROUND_IDX].conf.addr_match = PMPCFG_ADDR_MATCH_NAPOT; + g_region_attr[BACKGROUND_IDX].conf.lock = true; } void pmp_init(void) diff --git a/code/sdk/drivers/drivers/driver/audio/source/core/common/share_mem/core_msg.c b/code/sdk/drivers/drivers/driver/audio/source/core/common/share_mem/core_msg.c index 61f8d7b82..a7bd030ea 100644 --- a/code/sdk/drivers/drivers/driver/audio/source/core/common/share_mem/core_msg.c +++ b/code/sdk/drivers/drivers/driver/audio/source/core/common/share_mem/core_msg.c @@ -325,6 +325,7 @@ static td_s32 msg_fifo_acquire_pkt(const core_msg_inst *msg_inst, core_msg_head msg_size = msg_pkt_align_up(msg_size); if (buf_size < msg_size) { sap_err_log_u32(msg_size); + (td_void)ring_buf_flush(msg_inst->shrb_buf.data_buf); return ERR_SYS_BUF_UNDERFLOW; } diff --git a/code/sdk/drivers/drivers/driver/audio/source/drv/arch/drv_sap_msg.c b/code/sdk/drivers/drivers/driver/audio/source/drv/arch/drv_sap_msg.c index ea3a32725..02dae9cae 100644 --- a/code/sdk/drivers/drivers/driver/audio/source/drv/arch/drv_sap_msg.c +++ b/code/sdk/drivers/drivers/driver/audio/source/drv/arch/drv_sap_msg.c @@ -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 diff --git a/code/sdk/drivers/drivers/driver/mipi/shared/mipi_tx.c b/code/sdk/drivers/drivers/driver/mipi/shared/mipi_tx.c index ba37abe75..44a17da06 100644 --- a/code/sdk/drivers/drivers/driver/mipi/shared/mipi_tx.c +++ b/code/sdk/drivers/drivers/driver/mipi/shared/mipi_tx.c @@ -877,6 +877,26 @@ uint32_t uapi_mipi_tx_clear_exit_ulps(void) return EXT_ERR_SUCCESS; } +bool uapi_mipi_tx_is_in_ulps(void) +{ + mipi_tx_lane_state_t clk_lane = {}; + mipi_tx_lane_state_t data_lane0 = {}; + mipi_tx_hal_get_lane_state(MIPI_TX_LANE_DATA0, &data_lane0); + mipi_tx_hal_get_lane_state(MIPI_TX_LANE_CLK, &clk_lane); + mipi_tx_lane_status clk_stat = mipi_tx_get_lane_state(&clk_lane); + mipi_tx_lane_status data0_stat = mipi_tx_get_lane_state(&data_lane0); + + bool is_in_ulps_status = false; + + char *lane_mode[] = {"non_idle", "idle", "sdlp", "ulps"}; + if ((clk_stat == MIPI_TX_LANE_STATE_ULPS) || (data0_stat == MIPI_TX_LANE_STATE_ULPS)) { + printf("clk_stat: %s data0_stat: %s\n", lane_mode[clk_stat], lane_mode[data0_stat]); + is_in_ulps_status = true; + } + + return is_in_ulps_status; +} + #ifdef __cplusplus #if __cplusplus } diff --git a/code/sdk/drivers/drivers/driver/mipi/shared/mipi_tx.h b/code/sdk/drivers/drivers/driver/mipi/shared/mipi_tx.h index 3d71d3424..f8af2ca86 100644 --- a/code/sdk/drivers/drivers/driver/mipi/shared/mipi_tx.h +++ b/code/sdk/drivers/drivers/driver/mipi/shared/mipi_tx.h @@ -65,5 +65,6 @@ void mipi_tx_drv_set_partial_refresh(combo_dev_cfg_t *dev_cfg); uint32_t mipi_tx_partial_refresh(sync_info_t *dev_sync); uint32_t mipi_tx_proc_show(uint32_t s); +bool uapi_mipi_tx_is_in_ulps(void); #endif diff --git a/code/sdk/drivers/drivers/driver/mmc/host/sdhci/brandy/mmc_sdhci.c b/code/sdk/drivers/drivers/driver/mmc/host/sdhci/brandy/mmc_sdhci.c index 06ccffa67..1c0f7d712 100644 --- a/code/sdk/drivers/drivers/driver/mmc/host/sdhci/brandy/mmc_sdhci.c +++ b/code/sdk/drivers/drivers/driver/mmc/host/sdhci/brandy/mmc_sdhci.c @@ -128,9 +128,10 @@ void emmc_save_info(void) g_mmc_cur_info.emmc_cclk_reg = readw(EMMC_CCLK_DIV_REG); g_mmc_cur_info.emmc_div_reg = readw(EMMC_DIV_REG); g_mmc_cur_info.sd_bus_reg = readw(SDIO_BUS_CGDIV_REG); - g_mmc_cur_info.mbiu_ctrl = readw(SDHCI_AXI_MBIIU_CTRL); + g_mmc_cur_info.mbiu_ctrl = readw(MBIIU_CTRL); g_mmc_cur_info.host_ctrl1 = readb(HOST_CTRL1); g_mmc_cur_info.host_ctrl2 = readw(HOST_CTRL2); + #if EMMC_BOARD_DEBUG_ON PRINT("emmc save sdiom_reg=%x, emmc_cclk_reg=%x, emmc_div_reg=%x, timing=%d, phase=%d, bus_width=%d\r\n", g_mmc_cur_info.sdiom_clk_reg, g_mmc_cur_info.emmc_cclk_reg, g_mmc_cur_info.emmc_div_reg, diff --git a/code/sdk/drivers/drivers/driver/pmp/pmp.c b/code/sdk/drivers/drivers/driver/pmp/pmp.c index 7543ac097..d782aed1e 100644 --- a/code/sdk/drivers/drivers/driver/pmp/pmp.c +++ b/code/sdk/drivers/drivers/driver/pmp/pmp.c @@ -17,6 +17,9 @@ static uint32_t get_pmp_napot_size(uint32_t value) { + if (value == 0xFFFFFFFF) { + return 0x7FFFFFFF; + } return ((value >> 1) - 1); } diff --git a/code/sdk/drivers/drivers/driver/psram/psram_drv.c b/code/sdk/drivers/drivers/driver/psram/psram_drv.c index 0c60fc050..02b72983c 100644 --- a/code/sdk/drivers/drivers/driver/psram/psram_drv.c +++ b/code/sdk/drivers/drivers/driver/psram/psram_drv.c @@ -760,6 +760,13 @@ errcode_t uapi_psram_enter_xip(void) isb(); reg16_write(CFG_CACHE2HABM_OVER_TIME_H_REG, XIP_CACHE_OVER_TIME); + reg16_write(CFG_XIP_OPI_READ_OVER_TIME_L_REG, 0xFFFF); + reg16_write(CFG_XIP_OPI_READ_OVER_TIME_H_REG, 0xFFFF); + reg16_write(CFG_XIP_WRITE_OVER_TIME_L_REG, 0xFFFF); + reg16_write(CFG_XIP_WRITE_OVER_TIME_H_REG, 0xFFFF); + + reg16_setbit(XIP_WRITE_READ_ERROR_RESP_MASK_REG, 0x1); + for (uint32_t i = 0 ; i < g_psram_device_parm[g_psram_device].xip_param_num; i++) { psram_device_e psramdevice = g_psram_device; reg32_write((uintptr_t)((g_psram_device_parm[psramdevice].xip_param)[i].addr), diff --git a/code/sdk/drivers/drivers/driver/rtc_unified/rtc.c b/code/sdk/drivers/drivers/driver/rtc_unified/rtc.c index 191a6bd4a..851f58908 100644 --- a/code/sdk/drivers/drivers/driver/rtc_unified/rtc.c +++ b/code/sdk/drivers/drivers/driver/rtc_unified/rtc.c @@ -145,11 +145,13 @@ STATIC bool rtc_update_rtcs_rtc(rtc_index_t index, uint64_t update_amount_cycle) uint32_t irq_sts = osal_irq_lock(); uint8_t soft_rtc_num = g_rtcs_manager[index].soft_rtc_num; for (uint32_t i = 0; i < soft_rtc_num; i++) { + if (g_rtcs_manager[index].rtcs[i].is_run == false) { + continue; + } + if (g_rtcs_manager[index].rtcs[i].cycle <= update_amount_cycle) { g_rtcs_manager[index].rtcs[i].cycle = 0; - if (g_rtcs_manager[index].rtcs[i].is_run == true) { - has_new_rtc = true; - } + has_new_rtc = true; } else { g_rtcs_manager[index].rtcs[i].cycle -= update_amount_cycle; } diff --git a/code/sdk/drivers/drivers/hal/xip/hal_xip.c b/code/sdk/drivers/drivers/hal/xip/hal_xip.c index 8b5444367..6ed412bee 100644 --- a/code/sdk/drivers/drivers/hal/xip/hal_xip.c +++ b/code/sdk/drivers/drivers/hal/xip/hal_xip.c @@ -74,7 +74,7 @@ void hal_xip_enable(xip_id_t xip_index, uint8_t xip_mode_code, bool enable_addr_ } else { hal_xip_reg_cfg_flash_sel_set_flash_sel(xip_index, 0); } - hal_xip_reg_xip_read_error_resp_mask_set_all(xip_index, 0); + hal_xip_reg_xip_read_error_resp_mask_set_all(xip_index, 0xF); /* chip_libra */ #if defined(CONFIG_XIP_ENABLE_READ_OVERTIME) hal_xip_reg_cfg_xip_read_over_time_l_set_data(xip_index, 0xFFFF); @@ -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) { uint32_t irqs = osal_irq_lock(); + osal_dsb(); + osal_isb(); hal_xip_reg_xip_read_qspi_enable_set_read_qspi_enable(xip_index, 0); while (hal_xip_reg_xip_read_qspi_enable_get_read_qspi_enable(xip_index) != 0) { } if ((hal_xip_reg_xip_read_qspi_enable_get_read_qspi_enable(0) || hal_xip_reg_xip_read_qspi_enable_get_read_qspi_enable(1)) == 0) { hal_xip_reg_xip_cache_en_set_cache_en(0); } + osal_dsb(); + osal_isb(); osal_irq_restore(irqs); } diff --git a/code/sdk/drivers/drivers/hal/xip/hal_xip_v150_regs_op.h b/code/sdk/drivers/drivers/hal/xip/hal_xip_v150_regs_op.h index e636f28c9..e6a4e6c2e 100644 --- a/code/sdk/drivers/drivers/hal/xip/hal_xip_v150_regs_op.h +++ b/code/sdk/drivers/drivers/hal/xip/hal_xip_v150_regs_op.h @@ -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; } /** diff --git a/code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/ability_service.cpp.xml b/code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/ability_service.cpp.xml index b21c0f913..558d5e248 100644 --- a/code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/ability_service.cpp.xml +++ b/code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/ability_service.cpp.xml @@ -28,8 +28,8 @@ - - - - + + + + \ No newline at end of file diff --git a/code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/appsys_ams_cmd.cpp.xml b/code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/appsys_ams_cmd.cpp.xml index 2260a92b4..ba0cc1104 100644 --- a/code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/appsys_ams_cmd.cpp.xml +++ b/code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/appsys_ams_cmd.cpp.xml @@ -1,14 +1,14 @@ - - - - - - - - - - + + + + + + + + + + \ No newline at end of file diff --git a/code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/bundlems_slite_client.cpp.xml b/code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/bundlems_slite_client.cpp.xml index 06794b0c6..8e8c701dd 100644 --- a/code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/bundlems_slite_client.cpp.xml +++ b/code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/bundlems_slite_client.cpp.xml @@ -1,3 +1,3 @@ - - + + \ No newline at end of file diff --git a/code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/display_vau.c.xml b/code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/display_vau.c.xml index 3a1531925..cead6b9c0 100644 --- a/code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/display_vau.c.xml +++ b/code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/display_vau.c.xml @@ -31,20 +31,20 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/gt_bundle_installer.cpp.xml b/code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/gt_bundle_installer.cpp.xml index 6c735f040..85db15016 100644 --- a/code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/gt_bundle_installer.cpp.xml +++ b/code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/gt_bundle_installer.cpp.xml @@ -3,31 +3,31 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/gt_bundle_manager_service.cpp.xml b/code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/gt_bundle_manager_service.cpp.xml index bdf50b7f8..7cb7033a3 100644 --- a/code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/gt_bundle_manager_service.cpp.xml +++ b/code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/gt_bundle_manager_service.cpp.xml @@ -9,24 +9,24 @@ - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/gt_bundle_parser.cpp.xml b/code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/gt_bundle_parser.cpp.xml index a5c808a32..a591e4055 100644 --- a/code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/gt_bundle_parser.cpp.xml +++ b/code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/gt_bundle_parser.cpp.xml @@ -2,5 +2,5 @@ - + \ No newline at end of file diff --git a/code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/lite_m_gfx_engine.cpp.xml b/code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/lite_m_gfx_engine.cpp.xml index a7ee87dff..143cdc177 100644 --- a/code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/lite_m_gfx_engine.cpp.xml +++ b/code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/lite_m_gfx_engine.cpp.xml @@ -1,33 +1,35 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/lv_draw_vgu.c.xml b/code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/lv_draw_vgu.c.xml index eb6b0a044..40874769a 100644 --- a/code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/lv_draw_vgu.c.xml +++ b/code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/lv_draw_vgu.c.xml @@ -1,20 +1,20 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/text_ext.cpp.xml b/code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/text_ext.cpp.xml index a5b416e57..673f2b37d 100644 --- a/code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/text_ext.cpp.xml +++ b/code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/text_ext.cpp.xml @@ -1,5 +1,5 @@ - - - - + + + + \ No newline at end of file diff --git a/code/sdk/interim_binary/brandy/audio/build_hso_cfg/hso_database/xml/base/dsp_core/core_msg.c.xml b/code/sdk/interim_binary/brandy/audio/build_hso_cfg/hso_database/xml/base/dsp_core/core_msg.c.xml index 4deeda727..fa3a789bc 100644 --- a/code/sdk/interim_binary/brandy/audio/build_hso_cfg/hso_database/xml/base/dsp_core/core_msg.c.xml +++ b/code/sdk/interim_binary/brandy/audio/build_hso_cfg/hso_database/xml/base/dsp_core/core_msg.c.xml @@ -6,48 +6,48 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/code/sdk/interim_binary/brandy/bt/build_hso_cfg/hdb/hdbcfg/mss_prim_db.xml b/code/sdk/interim_binary/brandy/bt/build_hso_cfg/hdb/hdbcfg/mss_prim_db.xml index 7ec607218..c2a5f943c 100644 --- a/code/sdk/interim_binary/brandy/bt/build_hso_cfg/hdb/hdbcfg/mss_prim_db.xml +++ b/code/sdk/interim_binary/brandy/bt/build_hso_cfg/hdb/hdbcfg/mss_prim_db.xml @@ -1975,11 +1975,11 @@ - - - - - + + + + + @@ -2660,8 +2660,8 @@ - - + + @@ -2715,13 +2715,13 @@ - - - - - - - + + + + + + + diff --git a/code/sdk/interim_binary/brandy/bt/build_hso_cfg/hso_database/xml/base/bt_core/gdk_cmsis.c.xml b/code/sdk/interim_binary/brandy/bt/build_hso_cfg/hso_database/xml/base/bt_core/gdk_cmsis.c.xml index 728ac59a9..be49d5722 100644 --- a/code/sdk/interim_binary/brandy/bt/build_hso_cfg/hso_database/xml/base/bt_core/gdk_cmsis.c.xml +++ b/code/sdk/interim_binary/brandy/bt/build_hso_cfg/hso_database/xml/base/bt_core/gdk_cmsis.c.xml @@ -4,6 +4,6 @@ - - + + \ No newline at end of file diff --git a/code/sdk/interim_binary/brandy/bt/build_hso_cfg/hso_database/xml/base/bt_core/osdep.c.xml b/code/sdk/interim_binary/brandy/bt/build_hso_cfg/hso_database/xml/base/bt_core/osdep.c.xml index 5e43d0a97..641bf76fa 100644 --- a/code/sdk/interim_binary/brandy/bt/build_hso_cfg/hso_database/xml/base/bt_core/osdep.c.xml +++ b/code/sdk/interim_binary/brandy/bt/build_hso_cfg/hso_database/xml/base/bt_core/osdep.c.xml @@ -1,9 +1,9 @@ - - - - - - - + + + + + + + \ No newline at end of file diff --git a/code/sdk/interim_binary/brandy/bt/build_hso_cfg/hso_database/xml/base/bt_core/patch_bth.c.xml b/code/sdk/interim_binary/brandy/bt/build_hso_cfg/hso_database/xml/base/bt_core/patch_bth.c.xml index f880ec070..fc93e1590 100644 --- a/code/sdk/interim_binary/brandy/bt/build_hso_cfg/hso_database/xml/base/bt_core/patch_bth.c.xml +++ b/code/sdk/interim_binary/brandy/bt/build_hso_cfg/hso_database/xml/base/bt_core/patch_bth.c.xml @@ -1,6 +1,6 @@ - - - - - + + + + + \ No newline at end of file diff --git a/code/sdk/interim_binary/brandy/libs/bt/evb_standard/freertos/ble/libbt_host_brandy_service.a b/code/sdk/interim_binary/brandy/libs/bt/evb_standard/freertos/ble/libbt_host_brandy_service.a index 8048ad46c9f94ee83c2f366c97b79547425edf01..01a4a5d5e18c64fd917cd0e991127f8c5cd3eb75 100644 GIT binary patch delta 333 zcmbPtsflqO5KoX|H#RUdFgG>dsQ6q0#%|`9+|Dn_nED( z{a=eH5QAuOAePwvuSN1u2wcf@po_%Y@86UJVksb&24Wc?mfe2;rkrjW%o2#b+5z&i YJuso|{&(c>_Q7}{S8VsrR=8{n0Bj9%&;S4c delta 334 zcmbPtsflqO5KoX|H?lA>H83;TsQ6q0#%|`9+|Dn_nEDj5pVz3A_~M} zKn!9_Z2#9Hc_;+cy!QJyC4pE9h^2v828d<1-@hrRTZXD`yLN!QY!A%z?f!S<@AkoX Oz(A4M?wzf0*%kl}>8HL5PfnF`Z9_xS7|8AM7RIl-$T!E1*583vMTW{9bc{ZB^2qyeHFH0&m(BbEn2gFan_$Fznq zuO7y{`M1XrlTHfI@FhR6#1Ig)@QSJMU|bU9`H%tTL&l>`3qOq2%FB`cupF^(mGQ6n=SJ<5r_q!4*1T#5^Xh>Q zCmDuJX^G`EQ%X2d_H34bXY=5D9bz(B5vp<=SMM+cWB}e#{1^D^O8s?ZkLt?To-q$v zgRI>sCsqO4jYHR~*%1tuI|JRQ$mcQq302~Tt8I>{F#ST0opOs05Ycg6`R*>b_7|TC BaM=I= delta 1177 zcmYk5T}TvB6vvsyb+ygbb=T(3uDfGyo2?(MAFG)ynNY++;YSI9h`!j9rBL=F(UUtG zl3PoSANYk&QX#U`sYvu?3yD(eC6TZag-S?+G9%dTjNP+7oQMDKo_o%j|G5*GpWy;D zg4TqB5^qsnvA1v{<8lKN1@}^PLU_Dk#EnEbF~7g z)4CUrwIPQ5CK&Rk+#Zg#{TML|Q1LaTbCIP2wRiqCQ%ZMOBJym=0<)piqg4z8^|RH+ zl%iH|AKlkJDm)q`3rCP^uJ@Oavws+Z?*$?kVoJLR#uws@pCMQ>T6ICD)XyTo4_lKe z5or^7)~(=Kx8tpFs1$} T1dg4`7atfR diff --git a/code/sdk/interim_binary/brandy/libs/bt/evb_standard/freertos/br/libbt_host_audio_manager_wrapper.a b/code/sdk/interim_binary/brandy/libs/bt/evb_standard/freertos/br/libbt_host_audio_manager_wrapper.a index 1f484a51220a6825745ffee03966f222d6b0595f..f776f74cbdb0d8761c9f4a704b381fffe267b693 100644 GIT binary patch delta 35 kcmaEJpXtqgrU_CU#s-E47KRq48xJ=1vePQH%~Tblt&Q~+iVoj#Q_sC0jUye zz7?_kRs>^TJzTgQD7?Mk2Gb93xX|_j73P@#FfPz|6=w16ua#N8O2WiUrXPsr7T^Bg zmgTK6LTo_-yZCnQB9_Q@n3(Bwg}q$j+nax~G{Lx*Apc2hf3lwA#y^;t1;}KH?RVC3Hq3#E0o4HmaC?<0!#WznjXp~1065DJP(8U20G6$&= zYrYk+{Z<5HUp-v79VooL;0DtVZ@AF*0u|<%|8VYfAXj|*Yh{+Nk_fQ_(cI$O|J$;> zHD-sn$#DAo1a^t-+(j&r?J#8)(-rn|iEnTI$&$MtAqKQiV!OajRtrVA*!F;1tP@0$ zO_JR9f%OkJTtt2^m&A7IKdhCjQH3@yXM4H>W{leFchnqglR&tli$2-R>f!fu=f!)_X%{=!yHP{FVS8DHM-o}K`U zyguHu=*|S2n1ok+o}W=*B+VQ14DgVa6VPUyIq%7*z#=oj*Oonf0bo|8gsa=ROK?Y> zgx%Q3b@9}4(Cb6o=(c7w6z5uDR~##wY?@^fwpx zfnl{?0N=2_WNgal<=R@2u8@J==|l^3Np!_&`XJ(H)4F2Vdx~d|Af~0UQpRu3qN8jh zl5pf4>ir)bX7F-9sxsg{O`v#PbI!bi2D(6S_M`1K`Y{QNXx(8x+X={->)#mvK&>;f zGr61m#Cpoq+QcULV|!PzZzcX!_bT>I6be1S$RoXp2%p*k;rtoFO$V*3&Xz6?2~(q> zkY*nV;&4A8Y>g=9gHK}2jEG<9E?7b2rJp?(JLq6_l^nk^FAlEl5oB#lkP!T+5f6 z=mSEX=6&VQBR@ufp8O~#4jY!>+{F}kQ$^S;52_L7W4M7ilT5K2neHt@^#yazPg|r0 zqfQBK7Mc4QR9SApVMlM5&5YN=JU9kNX(;HS+h)D0KDI4ftV!1BI+#5FsGD#KfX zgDb8~u#Sna?sfmHtJDXcn0tUjw;WG)LgtD)pK6F4S#$RWkXdis$M$0b!)9q?huJo+ zR^@}GhIP@HYXb+J%3$yUzSRw2R5Wp;;$A}E#E9uaL+IVnic{hN(@QK6S! zK)tG;B+w-CYBL6zGriYJmT^z4++)WGYj;3TB*FYi!Zg(eO7Qj)IpwTHB1A8fp8wGa z2G;sWl|k*Z1c_6bB3pgBK?d431d6O0D-Hg;4${?*zWkvC%|Dt@i6}dlTh9(Y;q>$Y11Lbk2IQX2z8v zer6n<%wiw&!f+oV&?gl0;?Y#hjS64sD(FVWKLMUU5n9Ch^y`blARUp>9AngXJ_ru) EKOOvDqW}N^ diff --git a/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/ble/libbt_host_brandy_service.a b/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/ble/libbt_host_brandy_service.a index d0aa94a2bef0817d3b1f803cbe1e37f78e85d3e5..ccbd601a89a6867efc60a239b276cfca76d52bc7 100644 GIT binary patch delta 355 zcmeCW)x_8Z#1o`Aj13G8%uP)VHYz=nfO1SMn*}7d3rI2^c@GzvEFdYi{Syb%BT2Xp zkWl+4B_<$d24WTD$hKxRp7zi>v#rVB0xbc%SpcDOJQi)_~p7Y#Ll z8wqyhymry{dF^6AEDppH+vl}Qa)rW`v;$29Vksb&24Wc?mfgPLj$BU}+yaQDF~RaF ZJt$)0+wb3(=k14!fgG}(J73|yEdW?fep~0)1thl%NHQLI4;Ps%ASt%}69>~HNfe>> zPfAQc%nZaVK+FonY(UJu{gV>Mt}M9H=^O4yinpKcDB(}!{%cu09h>35% Te_x)rA1(%R$ae00h5xnydrp3U diff --git a/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/ble/libbt_host_sdk.a b/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/ble/libbt_host_sdk.a index e699b732af83af49737a02dc18bc20f9501372cf..7a1c7808705181336df5ebd56cdb1dc8a1d46260 100644 GIT binary patch delta 1258 zcmZXUUr1A76u`MHbEa!kr}z42yE?O4W^T$TAzKzAnKgY70|yDxV@}Zmslb=`BpjKQ zH>dyEFZ-g&8VC z`Nk@j+jYR>sSG(f+fh;GN(51zYL7TMI^uVW>e$tJ3!;%xqo`gSs~JE7)bG+kRF&`U zG!feT!kQHsG<6HTx=dPF`1(%hop9jL@_+b!rz9)&>$cr$XFp{L9OHI%@oO8?As= zdFTtOno}-mux^J2YkGs2#6_Z(rBlfOwaireo4?Vfh$P#wgNm7o1+pEPH6H%1l|TZm znGk5rsvbuU(|@ua#86H2JFt|!8bNl;QXrC^2`ltWtSp-LNMQMu<1gThW|7FC zIhTqEgJ!8nH%i(Z5yJIS-#XfB^M{V3c{w)_LH}~z=i{g<)17t+`sIAr5NBGg5S_}e zZbEj&Qt-r5_^c5DEH)Nq_)$%ab>m^7`yOX3c4NKGc#ShQ>Yfj_aW7{qUsbOC{ApxB zeKUfnD$FFdVP9?8#8#T+lyk_mUV>p(ZZ;&Nl?C~f0P`>8xbWY@$xXH=Udb&SB?_B; zBmdB?KU;=qu!uy1#Z(*+4VJ9&-Xx|R`&d%<9PGvt7n<`dxo6bfdAFH^lJ45yxiK!J4eq}H{;u=`MPXKz)Hy@+Q LHuGm%rT4-=t3-HU delta 1258 zcmZXUO-vI(6vwkxqzJVI3cGx?3q{n52y_<%iCEDPBBH>7U_ui~h({>|G$Crj#SAet zA}T8qKj7p+p|H{C#Q;$binSQQgEhfuNW73}G)Cc2XJ5bpW>1A&UV6YIPq{kUs3R$}1stzVwuRgVI_xXs)zK?+Hj3oo5i_q|7_I83L;}3; zVg+-RZ)Hh5wEDO;J7dt;#r4Ex(vF2MZ@I2n8X_y5)@=gx3~l)srA)sO_=ijm4`VpL z01sc7mTprdE9AI)r?*~vMp@6sttvOxH9e5OB^CTFX_aG?OA!2>c0WR0S+BQ$DSb7>*iBmwkGjY0&^?}Usfl7q zS+wjC!1go4mqQu3xqt?&nb>$3unKuhN}>r53$;S;I*pe!{h|FxR>pOPpl>56LHB#dnAcz=pOoo5cZxC@@V!z3)Rhzx64`LBHd7|+Y^6y|I7^wN)e=lIVv}hz zTA3G5axnK?jB@`iocJg9_)D>wq1eM_UW?!3+MhH-IFN_JfqZN(2nPz*SZ!h|M?MtP zyrbE4d60KvCwM0cr{d1XdSIES3zuqHEa?c-dLfwBcU9LgtT#`)clVh$j3L}5uxN2N zZXSB@I^D}dEJ`0bY0BNp)FHjZqlJdO*ot7GVP82LNV1lN@-4;K_Cvm}FlQc3nP3AZFUG%g3DW4FDPQ3l;zX delta 45 tcmbQUnRm`+-U(9dMiwTf24=<^6}FlQc3nP3AZFUG%g3DW4FDT+3nBmj diff --git a/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/br/libbt_host_brandy_service.a b/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/br/libbt_host_brandy_service.a index a165c9f8af350c470405b7174ebc418c844fe24a..9a9308f2ffa83170dfa833af2102390c6312ba30 100644 GIT binary patch delta 689 zcmaF%a4yp`Af6z_VQgS%U~Xz^u~8|=0LC$&cEd%yd9uOw$p(yT-@`?x3#jsoZI4r6 zdL#)GvjB^=$5}A}F*6Xe05K~NvjH*t_Bbn!OJ!(k{Wfy6`)%X|VlE)&24Wr{=H2eM zk#AQqTx~nhE+7^FVnHAl+Ag3fEb<*DZ9ZK=M_OXLi;Rd(7hDYF==S-`M1WXy`}}2M zfpGs=OmDcUD&Ee2T?~jpv;+`KZs)%)#Tg3IZqW`j5{PAhSQd!ofLMOJf{sED+yhWs z&n!|%>49l82L*umc7J_E-hQ|k$R*pW_bCe6!GxeLSp7$_ef1wDAXeVK`j5)lJ8=1S zpbLRm4T#l&SYvy`P0a>oxHQBA@^>}c^ZaCxxb7c1(vFILpszF1Lz z+wI@mrrw83L99P~&aVCNIeQ>>*naq&qvlbV iJUFSfb5C&sV(0DLQ(WFU!=>78xU}7H-FCz6*$e<1;O5c* delta 689 zcmZ9|JxFR{7zc1VeOaf{$~61(oNiW@<;lM7!>rRCy%e-M)#MnovEaX8QaectDN-|X{=kcGoGooi}rT$vbE z;@zvt$B%3JD5aWrLJEbHvOhUqjTmft6Zs_}WBFcVezySSPyv-t1=Zwt>+ZJxTkDJK zm@i%fwID(r)RQmX@Nbi^Wtas9XoMy**qV)RJdQ|?_Eu6mjI(>ZRy;I2JvTxNot~Rk zKJOC=KG@7me{X`~w-qd;zi+Eq)NY%wmOZ_(8Ek&+Q}68BPej&xMQ$MrE@BZ!QdjJ3c diff --git a/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/br/libbt_host_sdk.a b/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/br/libbt_host_sdk.a index 3674322bf92853c1fa02027a9a71c068ceff84ac..516879508fea5a243f166ae5917d3b90e91b9b37 100644 GIT binary patch delta 1281 zcmZXUUr1AN6vw$uQ?oX&I`5piJGWLXHFq^j6Z?ZjnPrY)B>t`Fv8e<>Ss?UqvxGZx zFjFXOK25?uqfQ`!Jy0psQqjgprMglPDeH>SOmD*!6jWmrkcaUS*~Le8L`R$vwz!{4aQ#jbq9-B6j1Af z=dEt8pD`d#L$6sFASMF*vcx-&BBRC1o8qU#$kbx8jo%)y@d+0hmPsF=i%(4HW=JbK z(x3RT4;g*t)8Zt@A~Nc@Xxssd#^kfY7B0xu1<6D^p}Jt#i9efXQb28uJZ#q!8HiF~ z*v^-gY@Talk>l!lh^tR69Yn6Rc`dbjA%^Kbr7eA6OkN45!%EQTcQd3mC757Vv~{RR>&Urexf|^xbsWc zS1QRqeF4z{@aYSGN3A;@L-1tb<94*xR{cfcbkwItS!JKAV+!-=6=s{HyU&r)c~cMtz_@A7+P@TW)*l%{GmqrFHzj&agvkbLe=F8-;GGsXx&Kej z(&&i7Vpy!BEHaa*#QpMRl#P`T$zA#yOS>4_|n6H-tys6H(H5 z9fm^g`I9Ubmt5U&gSxS&;soP(cfTFodu5g}tlMVZ2W@80A@&o%nCSWbfQ8}COip-i zM0G|_t@ynAk>!HVn^!`&R95^+`N$4{KdInX)VSj|1dbOx>|oNykMg`=CTi6%s~jlo XoMv(O3Uf`;?PrYP;b>2k%dh_h-ie6s diff --git a/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/mini/ble/libbt_host_brandy_service.a b/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/mini/ble/libbt_host_brandy_service.a index de6c012d9ecf1a7828c01e2335cad06941fa95b4..f08233b4d5d456d50c0d507e6d3e1015e428dfcf 100644 GIT binary patch delta 355 zcmeCW)x_8Z#1o`Aj13G8%uS7rH!3}ofN_kP1thl%NHQLI4;Ps%ASt%}69>~HNtlo^ zNT~gj5)%+J12GE_vjQ<25VLRpq{Oi+3#Qa)`i47_;_at5isu^HtvV%~$z=m>-A*wr{>F`1c!%8j0-}&Is9b!Nq`15pUNH7Y1UH?b_j@p$5oO zV(s(VMS&PZivzL5_Id4+T%j-}#_d4Y0kISiO9QbC5X)}ga7V7E45kF^0g3G~!SX3R YC}QH<@86f_?T3qj9I~A|U*W$k06K|&CjbBd delta 355 zcmeCW)x_8Z#1o`Aj4Vt{4a^J-HYz=nfN)GLEt>@-w+l!z9(fNJnJgeFw*3@&PeF5DRSId{yx8HxxAz+b^6Evgv}00i7b=t{pB6#3I|Z!$m_4 zkfp@h=e3IhF^CoiVu|hZ+9kO{AxeN=ZwI;#h^2s78i-|pSa$n{J90f`a8p1Ilh_^; cET7VYA|}55{(X7gez+LOA=|n075>`-0J)5Q@c;k- diff --git a/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/mini/ble/libbt_host_sdk.a b/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/mini/ble/libbt_host_sdk.a index d9daa25f190dbfccf850e87efd32366c4758eac6..4c2d713af60104ba279ef4f8c549341fc7365a61 100644 GIT binary patch delta 1258 zcmZXTUr1A76u`MHbEa!kr}z42yE?O4%iJ7W3E8p`X<5?;F>sI|J?0cGkP3W>E1_go z-c0(VPd$|XE_HedmGYt1(nxz~fl&y(2t^U459_<%b?2M*a30R@JKy<#Cc9p9lSKM* z^=_xjdBEfLPS{$S;)+L}F5-A)tSMq==t$7TD??XjOo#>s^}KR%sG=JQkbjpBqAGuP zrSQ-gK5)G zlBv72?2#$<>Y^?zBJPY3niZle{D zDi3`@RsEDL`OVwGZ%*~|aqiWeDUMW0aioFbFjW3#Z=@-_lxf>R#7M*hnYQ!_PyAh* zhZJf^hfqUC`7m-A|C8|`imKM{&_d>N1lcW99xt_zn4x_n>vA1pdET%`0MoCmU>;*6 zb3y7cW)tC|$0!sejFL2mhj6vfxr+Ac{Gs`1PSy=X(6yNJ`8cZbc#BnlE-}~H$Cz3x z%#G!i*CM-O%6nqUe^!G4=4n&Pgz0sx|{a94>9;2xz!%M!=o!}cSo=EUd=0V0h zS-emkxAoGE(5)7OZgp2>RUCUXx6QuYXWt@|$d8%!RBw2u delta 1258 zcmZXUUr1A76u`MHbEa!kr}z42yE?O4X3m+RkSz<5%$h!kfrA9;F{fyORNzZ|5{}Hu zn@NB4sfW_(rA{xQQa;pLGtwSfU=%_xLQzEN!}{(wINzN;oQL!K&Yye!-I@N^!VHz6 zT%)_{K&9)T%RTMrY)3_zD-uL?sy*!F=!maeRL8E)TM&(m8b$TuSj_+upnjLCP*uK{ zr-;zz6V|NAps8Ev)n(Gc!q;~~_Z*riUFK~P^bT+N6yr?$BJd9zY;I&UzXXq78kX)L zQdqeAXSQB{&KYy{+LB5SbH?n(+LFR5GD6eR)X7~)SQ|*poD4Cu@h>m)>8SDBZL|Vf z<)JUAYEIdt!MYt9tf>uR0vCx|l1e2F)DlzeZ~jJ`B9ctU4k~6U7RYp@*HrR%tpwt4 zO$UE#M)f#y2>!`<5JffKZ~s!}Y8crqOP)x2Calmik#)Hlv9f5|BZ1{tmM@Ppnnfam z=4>h=44S0^-6&~uL&CEm{%jc{fdUc<6jE_OBv7=*dlR2>^kY%od(5Vtj7U6_JHazqJgtjQ=RwCjQ@m7< zwrnE|>&0ML-&I?OI3Bjcv-|8@WQ1-BESj86iAN6}yK{LMt>Q&gOgsB@(_tGM^6n)e zZwZ9F`zjL;GKUnJN~!FJLQ~m_ZqwN)KxBvhE delta 35 kcmaEJpXtqgrU_CUMiwTf24xJ=1vePQH%~Tblt&Q~+iVoj#Q_sC0jUye zz7?_kRs>^TJzTgQD7?Mk2Gb93xX|_j73P@#aPD*D!cUBnXE4iht-uCSL&e0%dxmfZa?F|b1 z|0K3QSo^w8g1vePQH%~Tblt&Q~+iVoj#Q_sC0;v*f zz7?_kRs>^TJzTgQD7?Mk2Gb93xX|_j73P@#aPD*>C9)kMrm&Ywe0%dxmfZa?F|b1f~>yipM7wqfpNjKTWLf~TC8+18bn&4cJ z|0K3QSo^}3Pzm0?d diff --git a/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/mini/br/libbt_host_sdk.a b/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/mini/br/libbt_host_sdk.a index 46d41c5b4529457ab3cb76cb0aa5244d62f2a95c..5f089622de56a6cad7de3447c8e851e550fe4dbe 100644 GIT binary patch delta 1171 zcmZvbOK1~O6o#2R=FUvDhT7)FD2ApqpjmX%r0Gc2Mi4}-5>Zz!Ohk~Fm}*OfB4lS3 zgc1lcB8X|LLZS81SsWKGL{}~d|sgimNfTI~mg+hl?5e&{{ zDqeY~--gSagmg)fOKCsDeV4708f94g(hTRcK_C?;4W=j z$jc2V;n6lk$m>>Qtj*N}M07f5>k6SX5t>nEl?EVnhNRu=7=?#t$>IO7BLd_KWKBRd zm<|O;$nU*K1|qgXGZBUBH_5kg8}aA4)g#TcBjN!UveMm{!`Sw8RHU&@4&%v{qph*ygQK3{7c3bI2yyYD(2c5JapJQBNLBM39)6YD*Cl3`A^<=Q6^xy|k3o7cN?(XZ(ONz($+yBh`=gqtwt%pbJ z;gVmBCA4mJN22>tu#jFo?CdG4lRo`^x>d42s}&F76#aenn~R~;JWuq`g()8*D{l7k zSs95LNA%v(T{lCjED(L=`nL6mbanEf$38_X=L@DlZx7l?wGzkP{lvskU0rBH_fhNn zslWF&+YwPP3h%?BG$#yg;c5YtSl(b@7q^tKS&XuwVXoGXtgJ2&75)PsGs1mQXQ5Rc=C(Sdy#<=_J&2! zES;N#7wb@BtqZh-gjXHNsPp{-kIv&2b6p{j61X;77B@o`NS+o_&L&3S!5QJuf7oFT zvUy>JLp2x~@=QqUUJwRDs4x(LYd3`N6OG6RH+#j|E=1<`D3H&HccP40R~9LY;~N;G zlbaBa>|Vo8&Wm%~*RX>v(p!x&^Ibt-Qu>H*Km#=`xp3kdz2Bpkq^U7s_0Ld_82tG%yC0_BIK&UX|;(5*oeh@U+~4)79vha?j-v9Fs;T?pl%^-hUrcL_h!l diff --git a/code/sdk/middleware/chips/brandy/exception/exception.h b/code/sdk/middleware/chips/brandy/exception/exception.h index 77b5f48fd..30db11110 100644 --- a/code/sdk/middleware/chips/brandy/exception/exception.h +++ b/code/sdk/middleware/chips/brandy/exception/exception.h @@ -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); diff --git a/code/sdk/middleware/chips/brandy/exception/exception_riscv.c b/code/sdk/middleware/chips/brandy/exception/exception_riscv.c index 812600014..5c5c54af8 100644 --- a/code/sdk/middleware/chips/brandy/exception/exception_riscv.c +++ b/code/sdk/middleware/chips/brandy/exception/exception_riscv.c @@ -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. */ g_is_repeat_exc = true; #endif -#if defined(BUILD_APPLICATION_STANDARD) && !defined(BUILD_RECOVERY_IMAGE) - (void)uapi_nv_flush(); -#endif + uint32_t exc_type = exc_buf_addr->mcause; #if (ARCH == RISCV70) exc_type &= MCAUSE_MASK; @@ -953,6 +951,11 @@ void do_hard_fault_handler(exc_context_t *exc_buf_addr) } #endif } + +#if defined(BUILD_APPLICATION_STANDARD) && !defined(BUILD_RECOVERY_IMAGE) + (void)uapi_nv_flush(); +#endif + #if (SLAVE_BY_BS25_ONLY || SLAVE_BY_WS53_ONLY) && (!defined(NO_TIMEOUT)) g_bt_nmi_reboot = non_os_get_bnmi_mask_status(); g_bt_nmi_mask = non_os_get_bnmi_mask_value(); @@ -1096,8 +1099,36 @@ void do_fault_handler_freertos(void) void do_fault_handler(uint32_t exc_type, exc_context_t *exc_buff_addr) { UNUSED(exc_type); + g_taskScheduled = 0; do_hard_fault_handler(exc_buff_addr); } + +void nmi_fault_handler(uint32_t exc_type, exc_context_t *exc_buff_addr) +{ + UNUSED(exc_type); + g_taskScheduled = 0; + uint16_t nmi_raw_status = non_os_get_nmi_raw_status(); + uint16_t xip_cache_int_sts = readw(XIP_CACHE_CTL_INTR_STS); + uint16_t xip_int_sts = readw(XIP_CTL_INTR_STS); + + PRINT("nmi fault reg is 0x%x 0x%x 0x%x"NEWLINE, nmi_raw_status, xip_cache_int_sts, xip_int_sts); + + if (nmi_raw_status & NON_OS_NMI_CWDT_INT_FLAG) { + do_hard_fault_handler(exc_buff_addr); + } else { + cpu_trace_disable(); + + reboot_cause_t reset_cause = hal_set_reset_cause(NMI_INTERRUPT); + if (reset_cause == REBOOT_CAUSE_APPLICATION_XIP_CACHE) { + set_fault_reason(readw(XIP_CACHE_CTL_INTR_STS)); + } else if (reset_cause == REBOOT_CAUSE_APPLICATION_XIP_CTRL) { + set_fault_reason(readw(XIP_CTL_INTR_STS)); + } + + cpu_utils_reset_chip_with_log((cores_t)MASTER_BY_ALL, reset_cause); + } +} + #endif void hal_register_exception_dump_callback(hal_exception_dump_callback callback) diff --git a/code/sdk/middleware/chips/brandy/pm/pm_adapt/pm_core.c b/code/sdk/middleware/chips/brandy/pm/pm_adapt/pm_core.c index b0700e463..46c29f6a0 100644 --- a/code/sdk/middleware/chips/brandy/pm/pm_adapt/pm_core.c +++ b/code/sdk/middleware/chips/brandy/pm/pm_adapt/pm_core.c @@ -233,6 +233,9 @@ void pm_core_resume(void) cpu_trace_enable_mcpu_repeat(); storage_device_resume(); display_resume(); + if (non_os_get_nmi_raw_status() == 0x2) { + uapi_watchdog_kick(); + } pm_misc_regs_resume(); pm_core_restore_reset_pc(); } diff --git a/code/sdk/middleware/chips/brandy/pm/pm_adapt/pm_lp_stub.c b/code/sdk/middleware/chips/brandy/pm/pm_adapt/pm_lp_stub.c index 66af43325..7b33a9ef3 100644 --- a/code/sdk/middleware/chips/brandy/pm/pm_adapt/pm_lp_stub.c +++ b/code/sdk/middleware/chips/brandy/pm/pm_adapt/pm_lp_stub.c @@ -43,6 +43,7 @@ #define XIP_CACHE_INTR_MASK 0xa3006128 #define XIP_CACHE_WRITE_DATA_DELAY_INTR_MASK 0x8 #define XIP_CACHE_ENABLE_WRITE_INTR_MASK 0x1 +#define XIP_CACHE_2AHBM_INTR_MASK 0x2 #define PM_DISPLAY_LOGIC_CRG_RESET 0x570000c0 #define PM_DISPLAY_PWR_EN_CFG 0x57004034 #define PM_DISPLAY_PWR_CLOSE_POWER 0x100 @@ -168,17 +169,14 @@ void display_resume(void) int ret = bus_api->bus_resume(); if (ret != 0) { PRINT("bus resume ret =%d\n", ret); } #ifndef QSPI_DISPLAY - ret = drv_dpu_resume(NULL); - if (ret != 0) { PRINT("drv dpu resume ret =%d\n", ret); } + (void)drv_dpu_resume(NULL); #endif #ifdef SUPPORT_GPU_JPEG (void)drv_jpeg_resume(NULL); #endif - ret = drv_vau_resume(NULL); - if (ret != 0) { PRINT("drv vau resume ret =%d\n", ret); } + (void)drv_vau_resume(NULL); #ifdef SUPPORT_GPU_GMMU - ret = drv_gmmu_resume(NULL); - if (ret != 0) { PRINT("drv_gmmu_resume ret =%d\n", ret); } + (void)drv_gmmu_resume(NULL); #endif if (g_resume_touch_flag != 0) { touch_resume_for_i2c(); } } @@ -186,13 +184,14 @@ void display_resume(void) } void pm_misc_regs_resume(void) { - // xip config param needs to re-config - non_os_nmi_config(NMI_CWDT, true); - non_os_nmi_config(NMI_XIP_CTRL, true); - non_os_nmi_config(NMI_XIP_CACHE, true); reg16_clrbit(XIP_CACHE_INTR_MASK, XIP_CACHE_WRITE_DATA_DELAY_INTR_MASK); reg16_clrbit(XIP_CACHE_INTR_MASK, XIP_CACHE_ENABLE_WRITE_INTR_MASK); - + reg16_clrbit(XIP_CACHE_INTR_MASK, XIP_CACHE_2AHBM_INTR_MASK); + + // xip config param needs to re-config + non_os_nmi_config(NMI_CWDT, true); + hal_xip_config_interrupt_type(XIP_0, XIP_INTR_NMI); + // set l2ram for dsp pmu1_dsp_l2ram_config(DSP_L2RAM_AREA_SIZE); diff --git a/code/sdk/middleware/chips/brandy/pm/service/pm_sleep.c b/code/sdk/middleware/chips/brandy/pm/service/pm_sleep.c index 56d17c3fe..2d7d18b56 100644 --- a/code/sdk/middleware/chips/brandy/pm/service/pm_sleep.c +++ b/code/sdk/middleware/chips/brandy/pm/service/pm_sleep.c @@ -293,6 +293,9 @@ void pm_enter_sleep(uint32_t sleep_ms_val) return; } uapi_rtc_get_current_time_us(0, &rtc_times); + if (rtc_times < PM_OS_US_TO_MS && rtc_times > 0) { + return; + } rtc_times /= PM_OS_US_TO_MS; if (sleep_ms > rtc_times && rtc_times != 0 && sleep_ms <= g_pm_sleep_threshold) { sleep_ms = rtc_times; @@ -342,6 +345,8 @@ void pm_set_mcu_dynamic_power_flag(uint8_t flag) void uapi_pm_enter_sleep(void) { + uint32_t status = pm_os_irq_lock(); uint32_t sleep_ms = pm_os_get_sleep_ms(); pm_enter_sleep(sleep_ms); + pm_os_irq_restore(status); } diff --git a/code/sdk/middleware/services/gpu/api/jpeg/inc/jpeg_struct.h b/code/sdk/middleware/services/gpu/api/jpeg/inc/jpeg_struct.h index 61c8fd9af..887e0f824 100644 --- a/code/sdk/middleware/services/gpu/api/jpeg/inc/jpeg_struct.h +++ b/code/sdk/middleware/services/gpu/api/jpeg/inc/jpeg_struct.h @@ -55,7 +55,7 @@ extern "C" { #ifdef NO_UART_DEBUG #define jpeg_err(fmt, args...) uapi_diag_error_log(0, fmt, ##args) #else -#define jpeg_err(info) printf("[ERR-JPEG]:%s[%d] %s\n", __FUNCTION__, __LINE__, info) +#define jpeg_err(fmt, args...) printf("[JPEG_ERROR][%s %d]"#fmt"\n", __func__, __LINE__, ##args) #endif /*-------------------------------- struct define ------------------------------------------*/ diff --git a/code/sdk/middleware/services/gpu/api/jpeg/src/jpeg_mem.c b/code/sdk/middleware/services/gpu/api/jpeg/src/jpeg_mem.c index f209bceab..13a94e10c 100644 --- a/code/sdk/middleware/services/gpu/api/jpeg/src/jpeg_mem.c +++ b/code/sdk/middleware/services/gpu/api/jpeg/src/jpeg_mem.c @@ -9,6 +9,7 @@ #include "securec.h" #include "soc_osal.h" #include "psram.h" +#include "jpeg_struct.h" /*-------------------------------------- macro define -------------------------------------*/ @@ -26,16 +27,19 @@ td_s32 jpeg_mem_alloc_small(jpeg_mem_ptr mem) errno_t ret; if (mem->size == 0) { + jpeg_err("mem->size = 0\n"); return EXT_FAILURE; } mem->vir_buf = (td_char *)malloc(mem->size); if (mem->vir_buf == TD_NULL) { + jpeg_err("mem alloc fail, size = %u\n", mem->size); return EXT_FAILURE; } ret = memset_s(mem->vir_buf, mem->size, 0x0, mem->size); if (ret != EOK) { + jpeg_err("memset_s fail, mem size = %u\n", mem->size); free(mem->vir_buf); return EXT_FAILURE; } @@ -55,11 +59,13 @@ td_s32 jpeg_mem_alloc_large(jpeg_mem_ptr mem) errno_t ret; if ((mem->size < JPEG_MEM_SIZE_MIN) || (mem->size > JPEG_MEM_SIZE_MAX)) { + jpeg_err("mem size = %u is invalid, need in range[%u, %u]\n", mem->size, JPEG_MEM_SIZE_MIN, JPEG_MEM_SIZE_MAX); return EXT_FAILURE; } mem->phy_buf = PSRAM_RESERVE_ADDR; if (mem->phy_buf == 0) { + jpeg_err("mem->phy_buf = 0, addr = %#X\n", PSRAM_RESERVE_ADDR); return EXT_FAILURE; } diff --git a/code/sdk/middleware/services/gpu/api/rm/brandy-auto-ota-cli/libgfx_rm.a b/code/sdk/middleware/services/gpu/api/rm/brandy-auto-ota-cli/libgfx_rm.a index 080a8fdafb93683d56f04a7f5f36e2be5094ddcd..14858f9ea3f63da790673c2d3f1ecf60ced80941 100644 GIT binary patch delta 84 zcmaDci}l4U)(KMV#s-E4mL^6U6-`+t+ZaV%Sm*r8IBV_C#E8<_KDp$Nn*wCaMZ L-#$;9@suI}*g6*c delta 86 zcmaDci}l4U)(KJ^MiwTfh9-ta8w8EaV%Sm;JnFkEMl7t%=xllB1T}5n1xnd OFcHJ;^RyXHDFOfleHU{8 diff --git a/code/sdk/middleware/services/gpu/api/rm/brandy-target1-r/libgfx_rm.a b/code/sdk/middleware/services/gpu/api/rm/brandy-target1-r/libgfx_rm.a index 29dbc2b5ea794df1c50c56d6002e5c4fcf140f74..6b573544fdecae6d79934bda34c05d1f4a46b472 100644 GIT binary patch delta 84 zcmaDci}l4U)(KJ^#s-E4mgbfw8Bw=^_v%5 diff --git a/code/sdk/middleware/services/gpu/api/rm/brandy-target1/libgfx_rm.a b/code/sdk/middleware/services/gpu/api/rm/brandy-target1/libgfx_rm.a index 1514f1778ad17fcb625d1be23a64b6b56b782e42..a35b38ef7523544fb5e42036345027969e96dd83 100644 GIT binary patch delta 86 zcmaDci}l4U)(KJ^#s-E4=4OVL8u9haV%Sm;JnFkEMl7t%=xllB9>s0n1xnd OFcFLG^RyXHDFOfkZx?d_ delta 86 zcmaDci}l4U)(KJ^MiwTf24)uK8vi}aV%Sm;JnFkEMl7t%=xllBIaO`n1xnd OFcGuu^RyXHDFOfv=NGg9 diff --git a/code/sdk/middleware/services/gpu/api/rm/brandy-target3-r/libgfx_rm.a b/code/sdk/middleware/services/gpu/api/rm/brandy-target3-r/libgfx_rm.a index 3af32e58ac49a82964d1cb8626e24aeb6e94928c..fc2f5ba13b195272d30a6829de1245c0c6dc98ca 100644 GIT binary patch delta 86 zcmaDci}l4U)(KJ^#s-E4mKH{a8t+ZaV%Sm;JnFkEMl7t%=xllB8Fg*n1xnd OFcE|8^RyXHDFOfiNEc)P delta 86 zcmaDci}l4U)(KJ^MiwTfM&?H58vi}aV%Sm;JnFkEMl7t%=xllBIaO`n1xnd OFcGuu^RyXHDFOftlNY4` diff --git a/code/sdk/middleware/services/gpu/api/rm/brandy-target3/libgfx_rm.a b/code/sdk/middleware/services/gpu/api/rm/brandy-target3/libgfx_rm.a index 7e686025dfd1a89b494ecb65eaea6aa3bc630ab3..c8cf64a395cc73b13a227f272f1ac91f4febac7b 100644 GIT binary patch delta 86 zcmaDci}l4U)(KJ^#s-E4=H_Nb8uXpaV%Sm;JnFkEMl7t%=xllBBo%Gn1xnd OFcFjO^RyXHDFOfrAs3ba diff --git a/code/sdk/middleware/services/gpu/api/rm/brandy-target4-r/libgfx_rm.a b/code/sdk/middleware/services/gpu/api/rm/brandy-target4-r/libgfx_rm.a index 25c7b757db71f462a6313cf575f7e206a1de9532..ea0fcc71591883dbc93dd85240628e71ea47595a 100644 GIT binary patch delta 86 zcmaDci}l4U)(KJ^#s-E4mKG*v8uXpaV%Sm;JnFkEMl7t%=xllB4%Kbn1xnd OFcH)3^RyXHDFOfnbQgsH delta 86 zcmaDci}l4U)(KJ^MiwTfM&>4#8x(!aV%Sm;JnFkEMl7t%=xllA{Jngn1xnd OFcI_Z^RyXHDFOfh^A}_Q delta 86 zcmaDci}l4U)(KJ^MiwTfhK2?v8=2 diff --git a/code/sdk/middleware/services/gpu/api/rm/brandy-target5-r/libgfx_rm.a b/code/sdk/middleware/services/gpu/api/rm/brandy-target5-r/libgfx_rm.a index 159cc6657eda9e4bccb6f33d070e9d7254c90eda..892e432f24ba8b687357d94c2c4bba75c68ea859 100644 GIT binary patch delta 86 zcmaDci}l4U)(KJ^#s-E4mKJ6f8x(!aV%Sm;JnFkEMl7t%=xllA{Jngn1xnd OFcI_Z^RyXHDFOfr3KyFI delta 86 zcmaDci}l4U)(KJ^MiwTfM&{;58w8EaV%SmU_7JAaV%n+4b1tnP(@-ET6Muh M47bnIW;~?`01Vd`rT_o{ diff --git a/code/sdk/middleware/services/gpu/api/rm/brandy-target5/libgfx_rm.a b/code/sdk/middleware/services/gpu/api/rm/brandy-target5/libgfx_rm.a index e6206e903d58015a0709de283727630aac7100e6..0a5933bea1deee74a4d88fefd04840017289a359 100644 GIT binary patch delta 86 zcmaDci}l4U)(KJ^#s-E47KY|V8w8EaV%Sm;JnFkEMl7t%=xllB1T}5n1xnd OFcHJ;^RyXHDFOihX%|`m delta 86 zcmaDci}l4U)(KJ^MiwTfhDL^l8Vm4@ KK1ZAJj3NMy$QDHa delta 80 zcmaDci}l4U)(KKVm4@ KK1ZAJj3NM&=N4!H diff --git a/code/sdk/middleware/services/gpu/drv/comm/gpu_mem_config.h b/code/sdk/middleware/services/gpu/drv/comm/gpu_mem_config.h index 98f7dad21..702249463 100644 --- a/code/sdk/middleware/services/gpu/drv/comm/gpu_mem_config.h +++ b/code/sdk/middleware/services/gpu/drv/comm/gpu_mem_config.h @@ -30,11 +30,11 @@ extern "C" { #define GPU_SRAM_PRE_SIZE (1 * 1024) /* 1K for vau ip tmp dcmp */ #define GPU_SRAM_PRE_ADDR (GPU_SRAM_END + 1 - GPU_SRAM_PRE_SIZE) /* 0x6039FC00 ~ 0x6039FFFF */ -#define GPU_SRAM_DRAW_SIZE (63 * 1024) /* 63K for cmd/data */ -#define GPU_SRAM_DRAW_ADDR (GPU_SRAM_PRE_ADDR - GPU_SRAM_DRAW_SIZE) /* 0x60390000 ~ 0x6039FC00 */ +#define GPU_SRAM_DRAW_SIZE (127 * 1024) /* 127K for cmd/data */ +#define GPU_SRAM_DRAW_ADDR (GPU_SRAM_PRE_ADDR - GPU_SRAM_DRAW_SIZE) /* 0x60380000 ~ 0x6039FC00 */ #define GPU_SRAM_NODE_SIZE (80 * 1024) /* 80K for node/handle */ -#define GPU_SRAM_NODE_ADDR (GPU_SRAM_DRAW_ADDR - GPU_SRAM_NODE_SIZE) /* 0x6037C000 ~ 0x60390000 */ +#define GPU_SRAM_NODE_ADDR (GPU_SRAM_DRAW_ADDR - GPU_SRAM_NODE_SIZE) /* 0x6036C000 ~ 0x60380000 */ #define GPU_SRAM_CMD_SIZE (GPU_SRAM_PRE_SIZE + GPU_SRAM_DRAW_SIZE + GPU_SRAM_NODE_SIZE) diff --git a/code/sdk/middleware/services/gpu/drv/dpu/dfx/dpu_dfx.c b/code/sdk/middleware/services/gpu/drv/dpu/dfx/dpu_dfx.c index 9d0b4f0fb..15e66c1a6 100644 --- a/code/sdk/middleware/services/gpu/drv/dpu/dfx/dpu_dfx.c +++ b/code/sdk/middleware/services/gpu/drv/dpu/dfx/dpu_dfx.c @@ -13,6 +13,7 @@ #include "dpu_disp.h" #include "dpu_layer.h" #include "dpu_hal.h" +#include "drv_dpu.h" #define SAVE_FILE_DIR "/user" @@ -42,13 +43,8 @@ td_void dpu_dfx_print_info(void) #if defined(SUPPORT_AT_CMD) || defined(SUPPORT_TEST_COMMON) || defined(CONFIG_DIAG_GPU_PROC_SUPPORT) static td_void dfx_disp_proc_read(void) { - td_u32 chksum_y = 0; - td_u32 chksum_u = 0; - td_u32 chksum_v = 0; dpu_disp_info *disp_dev = dpu_disp_get_info(); - dpu_hal_disp_get_chksum(&chksum_y, &chksum_u, &chksum_v); - dpu_print("\n-----------DISP proc-----------\n"); dpu_print("work_mode :%-6d\n", disp_dev->timing.is_cmd_mode ? 1 : 0); dpu_print("disp_open :%-6d\n", disp_dev->is_open ? 1 : 0); @@ -74,6 +70,15 @@ static td_void dfx_disp_proc_read(void) g_dpu_dfx_info.frm_done_cnt, g_dpu_dfx_info.te_signal_cnt); dpu_print("suspend/resume :%-6u/%-6u\n", g_dpu_dfx_info.suspend_cnt, g_dpu_dfx_info.resume_cnt); + + td_u32 chksum_y = 0; + td_u32 chksum_u = 0; + td_u32 chksum_v = 0; + if (drv_dpu_get_suspend_flag() == TD_FALSE) { + dpu_hal_disp_get_chksum(&chksum_y, &chksum_u, &chksum_v); + } else { + dpu_print("dpu is in lowpower state, chksum_out is invalid!"); + } dpu_print("chksum[RGB] :%#x/%#x/%#x\n", chksum_y, chksum_u, chksum_v); return; @@ -81,8 +86,6 @@ static td_void dfx_disp_proc_read(void) static td_void dfx_layer_proc_read(td_u32 layer_id) { - td_u32 chksum_ar = 0; - td_u32 chksum_gb = 0; dpu_layer_dev *layer_dev = TD_NULL; if (layer_id < DRV_DPU_LAYER_ID1 || layer_id > DRV_DPU_MAX_LAYER_ID) { @@ -90,8 +93,6 @@ static td_void dfx_layer_proc_read(td_u32 layer_id) return; } - dpu_hal_layer_get_fdr_chksum(layer_id, &chksum_ar, &chksum_gb); - layer_dev = dpu_layer_get_dev(layer_id); if (layer_dev != TD_NULL) { dpu_print("-----------LAYER%u proc---------\n", layer_id); @@ -105,7 +106,6 @@ static td_void dfx_layer_proc_read(td_u32 layer_id) dpu_print("format :%-6u\n", layer_dev->run_info.fmt); dpu_print("cmp_mode :%-6u\n", layer_dev->run_info.compress_mode); dpu_print("vblank :%-6d\n", layer_dev->vblank ? 1 : 0); - dpu_print("chksum[ar/gb] :%#x/%#x\n", chksum_ar, chksum_gb); dpu_print("disp_rect :%-6d/%-6d/%-6u/%-6u\n", layer_dev->run_info.disp_rect.x, layer_dev->run_info.disp_rect.y, @@ -115,6 +115,15 @@ static td_void dfx_layer_proc_read(td_u32 layer_id) layer_dev->run_info.crop_rect.width, layer_dev->run_info.crop_rect.height); } + td_u32 chksum_ar = 0; + td_u32 chksum_gb = 0; + if (drv_dpu_get_suspend_flag() == TD_FALSE) { + dpu_hal_layer_get_fdr_chksum(layer_id, &chksum_ar, &chksum_gb); + } else { + dpu_print("dpu is in lowpower state, chksum_in is invalid!"); + } + dpu_print("chksum[ar/gb] :%#x/%#x\n", chksum_ar, chksum_gb); + return; } @@ -162,6 +171,15 @@ td_s32 dfx_dpu_save_fb_enable(int argc, const char *argv[]) } #endif +td_void dpu_dfx_proc_read(td_void) +{ +#if defined(SUPPORT_AT_CMD) || defined(SUPPORT_TEST_COMMON) || defined(CONFIG_DIAG_GPU_PROC_SUPPORT) + dfx_layer_proc_read(0); + dfx_layer_proc_read(1); + dfx_disp_proc_read(); +#endif +} + static td_void dpu_dfx_save_fb_data_all(const drv_dpu_surface *surface) { if (surface == TD_NULL) { @@ -255,3 +273,40 @@ td_void dfx_dpu_save_fb_to_file(drv_dpu_layer_id layer_id, drv_dpu_surface *surf dpu_dfx_save_fb_data_part(surface); } } + +static td_void read_reg_with_cnt(td_u32 addr, td_u32 cnt) +{ + for (uint32_t i = 0; i < cnt; i++) { + volatile uint32_t value; + uapi_reg_read(addr + i * 4, value); // 4: 4byte + if (i % 4 == 0) { // 4: 4byte + if (i != 0) { + dpu_print("\n"); + } + dpu_print("%X =", addr + i * 4); // 4: 4byte + } + dpu_print(" %08X", value); + if (i == cnt - 1) { + dpu_print("\n"); + } + } +} + +td_void print_mipi_and_dpu_reg(int argc, const char *argv[]) +{ + uapi_unused(argc); + uapi_unused(argv); + + printf("----------------mipi reg--------------------\n"); + read_reg_with_cnt(0x56000000, 0x100); + printf("----------------dpu reg--------------------\n"); + read_reg_with_cnt(0x56020000, 0x24); + read_reg_with_cnt(0x56020300, 0x10); + read_reg_with_cnt(0x56020400, 0x20); + read_reg_with_cnt(0x56020c00, 0x10); + read_reg_with_cnt(0x56027000, 0x50); + read_reg_with_cnt(0x56027800, 0x50); + read_reg_with_cnt(0x5602d000, 0x100); + read_reg_with_cnt(0x56030e00, 0x100); + read_reg_with_cnt(0x56031000, 0x100); +} diff --git a/code/sdk/middleware/services/gpu/drv/dpu/dfx/dpu_dfx.h b/code/sdk/middleware/services/gpu/drv/dpu/dfx/dpu_dfx.h index e088a8628..ef65ea96a 100644 --- a/code/sdk/middleware/services/gpu/drv/dpu/dfx/dpu_dfx.h +++ b/code/sdk/middleware/services/gpu/drv/dpu/dfx/dpu_dfx.h @@ -67,6 +67,13 @@ enum { #define dpu_dbg(fmt, args...) #endif +typedef struct { + td_u32 phy_addr; + td_u32 width; + td_u32 height; + td_u32 stride; +} dpu_dfx_layer_info; + typedef struct { td_bool print_en; td_bool save_en; @@ -99,6 +106,8 @@ typedef struct { td_u32 last_te_time_us; td_u32 one_sec_ago; /* for fps calculate */ + + dpu_dfx_layer_info layer_info[DRV_DPU_MAX_LAYER_ID + 1]; } dpu_dfx_info; td_void dpu_dfx_print_info(void); @@ -107,6 +116,8 @@ td_s32 dfx_get_proc_info(int argc, const char *argv[]); td_s32 dfx_dpu_print(int argc, const char *argv[]); td_s32 dfx_dpu_save_fb_enable(int argc, const char *argv[]); td_void dfx_dpu_save_fb_to_file(drv_dpu_layer_id layer_id, drv_dpu_surface *surface); +td_void dpu_dfx_proc_read(td_void); +td_void print_mipi_and_dpu_reg(int argc, const char *argv[]); static inline td_void dpu_dfx_get_time_us(td_u32 *time_us) { diff --git a/code/sdk/middleware/services/gpu/drv/dpu/intf/drv_dpu_intf.c b/code/sdk/middleware/services/gpu/drv/dpu/intf/drv_dpu_intf.c index 76d758040..0fd088887 100644 --- a/code/sdk/middleware/services/gpu/drv/dpu/intf/drv_dpu_intf.c +++ b/code/sdk/middleware/services/gpu/drv/dpu/intf/drv_dpu_intf.c @@ -42,6 +42,18 @@ static td_void drv_dpu_set_suspend_flag(td_bool flag) osal_spin_unlock_irqrestore(&disp_info->disp_lock, &flags); } +td_bool drv_dpu_get_suspend_flag(td_void) +{ + unsigned long flags = 0; + dpu_disp_info *disp_info = dpu_disp_get_info(); + + osal_spin_lock_irqsave(&disp_info->disp_lock, &flags); + td_bool suspend_flag = g_dpu_suspend_flag; + osal_spin_unlock_irqrestore(&disp_info->disp_lock, &flags); + return suspend_flag; +} + + td_s32 drv_dpu_suspend(td_void *private_data) { uapi_unused(private_data); diff --git a/code/sdk/middleware/services/gpu/drv/dpu/isr/dpu_isr.c b/code/sdk/middleware/services/gpu/drv/dpu/isr/dpu_isr.c index 03446a407..8aaac9b47 100644 --- a/code/sdk/middleware/services/gpu/drv/dpu/isr/dpu_isr.c +++ b/code/sdk/middleware/services/gpu/drv/dpu/isr/dpu_isr.c @@ -151,18 +151,22 @@ td_void dpu_isr_deinit(void) td_void dpu_isr_wait_finish(void) { td_s32 ret; + static td_u32 dpu_timeout_cnt = 0; dpu_dfx_info *dfx_info = dpu_dfx_get_info(); ret = osal_wait_timeout_interruptible(&g_dpu_isr_info.finish_event, isr_get_finish_done, TD_NULL, 500); /* 500 ms */ if (ret <= 0) { + if (dpu_timeout_cnt < 0x3) { + dpu_dfx_proc_read(); + print_mipi_and_dpu_reg(0, TD_NULL); + } + dpu_timeout_cnt++; dfx_info->refresh_total = 0; dfx_info->frm_done_total = 0; dpu_err("osal_wait_timeout!!!!"); return; } - - return; } td_void dpu_isr_wait_te_signal(void) @@ -192,6 +196,7 @@ td_s32 dpu_wait_all_finish(td_void) dpu_dfx_info *dfx_info = dpu_dfx_get_info(); const td_u32 wait_time = 200; td_u32 cnt = 0; + static td_u32 dpu_timeout_cnt = 0; while (cnt++ < wait_time) { osal_spin_lock_irqsave(&g_dpu_isr_info.isr_lock, &flag); @@ -204,6 +209,11 @@ td_s32 dpu_wait_all_finish(td_void) } if (cnt >= wait_time) { dpu_err("dpu_wait_all_finish timeout!!!!"); + if (dpu_timeout_cnt < 0x2) { + dpu_dfx_proc_read(); + print_mipi_and_dpu_reg(0, TD_NULL); + } + dpu_timeout_cnt++; return EXT_FAILURE; } return EXT_SUCCESS; diff --git a/code/sdk/middleware/services/gpu/drv/dpu/layer/dpu_layer.c b/code/sdk/middleware/services/gpu/drv/dpu/layer/dpu_layer.c index b02f22877..706ccc6a1 100644 --- a/code/sdk/middleware/services/gpu/drv/dpu/layer/dpu_layer.c +++ b/code/sdk/middleware/services/gpu/drv/dpu/layer/dpu_layer.c @@ -9,6 +9,7 @@ #include "dpu_hal.h" #include "dpu_dfx.h" #include "pm.h" +#include "mipi_tx.h" #define DRV_DPU_MAX_LAYER_WIDTH 640 #define DRV_DPU_MAX_LAYER_HEIGHT 640 @@ -571,6 +572,7 @@ td_s32 dpu_layer_create(const drv_dpu_layer_info *layer_info) layer_dev->create_cnt++; layer_dev->is_create = TD_TRUE; + layer_dev->update_flag = TD_TRUE; osal_spin_unlock_irqrestore(&layer_dev->layer_lock, &flag); @@ -785,6 +787,12 @@ td_s32 dpu_layer_set_info(drv_dpu_layer_id layer_id, const drv_dpu_surface *surf dpu_layer_update_layer_info(layer_dev, surface); osal_spin_unlock_irqrestore(&layer_dev->layer_lock, &flag); + dpu_dfx_info *dfx_info = dpu_dfx_get_info(); + dfx_info->layer_info[layer_id].phy_addr = surface->phy_addr; + dfx_info->layer_info[layer_id].width = surface->width; + dfx_info->layer_info[layer_id].height = surface->height; + dfx_info->layer_info[layer_id].stride = surface->stride; + return EXT_SUCCESS; } @@ -893,6 +901,10 @@ td_s32 dpu_layer_refresh(void) dpu_disp_set_timing_and_screen_region(); dpu_disp_set_chnl_reg_up(); dpu_isr_clear_finish_flag(); + + if (uapi_mipi_tx_is_in_ulps() == true) { + dpu_err("mipi_tx_is_not_exit_ulps, can not flush\n"); + } dpu_hal_disp_set_frame_ready(); if (need_cur_done == TD_TRUE) { diff --git a/code/sdk/middleware/services/gpu/drv/include/drv_dpu.h b/code/sdk/middleware/services/gpu/drv/include/drv_dpu.h index a55638fac..7b2fd68f6 100644 --- a/code/sdk/middleware/services/gpu/drv/include/drv_dpu.h +++ b/code/sdk/middleware/services/gpu/drv/include/drv_dpu.h @@ -16,6 +16,7 @@ extern "C" { td_s32 drv_dpu_suspend(td_void *private_data); td_s32 drv_dpu_resume(td_void *private_data); +td_bool drv_dpu_get_suspend_flag(td_void); td_s32 uapi_dpu_module_init(void); td_void uapi_dpu_module_exit(void); diff --git a/code/sdk/middleware/services/gpu/drv/include/drv_vau.h b/code/sdk/middleware/services/gpu/drv/include/drv_vau.h index 6ae9e5b7d..3175790fd 100644 --- a/code/sdk/middleware/services/gpu/drv/include/drv_vau.h +++ b/code/sdk/middleware/services/gpu/drv/include/drv_vau.h @@ -16,6 +16,7 @@ extern "C" { td_s32 drv_vau_suspend(td_void *private_data); td_s32 drv_vau_resume(td_void *private_data); +td_bool drv_vau_get_suspend_flag(td_void); td_s32 uapi_vau_module_init(td_void); td_void uapi_vau_module_exit(td_void); diff --git a/code/sdk/middleware/services/gpu/drv/vau/dfx/vau_dfx.c b/code/sdk/middleware/services/gpu/drv/vau/dfx/vau_dfx.c index d2ea85af5..e1dd9833d 100644 --- a/code/sdk/middleware/services/gpu/drv/vau/dfx/vau_dfx.c +++ b/code/sdk/middleware/services/gpu/drv/vau/dfx/vau_dfx.c @@ -8,6 +8,7 @@ #include "soc_osal.h" #include "vau_list.h" #include "vau_mem.h" +#include "drv_vau.h" /*-------------------------------- macro define -------------------------------------------*/ @@ -81,8 +82,6 @@ static inline td_void vau_dfx_print_func_info(td_void) static td_void vau_dfx_print_func_time_info(td_void) { - uapi_reg_read(HAL_VAU_LIST_PFCNT, g_vau_dfx_info.func_info.time_info.list_pfcnt); - vau_print("-----------time info-----------\n"); vau_print("create_cost(us) :%u\n", (td_u32)(g_vau_dfx_info.func_info.time_info.create_cost)); vau_print("destroy_cost(us) :%u\n", (td_u32)(g_vau_dfx_info.func_info.time_info.destroy_cost)); @@ -90,20 +89,20 @@ static td_void vau_dfx_print_func_time_info(td_void) vau_print("compose_cost(us) :%u\n", (td_u32)(g_vau_dfx_info.func_info.time_info.compose_cost)); vau_print("submit_cost(us) :%u\n", (td_u32)(g_vau_dfx_info.func_info.time_info.submit_cost)); vau_print("wait done cose(us) :%u\n", (td_u32)(g_vau_dfx_info.func_info.time_info.wait_for_done_cost)); + vau_print("suspend/resume :%u/%u\n", g_vau_dfx_info.suspend_cnt, g_vau_dfx_info.resume_cnt); + + if (drv_vau_get_suspend_flag() == TD_FALSE) { + uapi_reg_read(HAL_VAU_LIST_PFCNT, g_vau_dfx_info.func_info.time_info.list_pfcnt); + } else { + vau_print("vau is in lowpower state, list pfcnt is invalid!"); + } vau_print("list pfcnt/time_us :%u/%u\n", g_vau_dfx_info.func_info.time_info.list_pfcnt, g_vau_dfx_info.func_info.time_info.list_pfcnt / 176); /* 0.9V AXI 176M */ - vau_print("suspend/resume :%u/%u\n", g_vau_dfx_info.suspend_cnt, g_vau_dfx_info.resume_cnt); } static td_void vau_dfx_print_func_cnt_info(td_void) { td_u32 cnt = g_vau_dfx_info.func_info.func_cnt.submit_cnt - g_vau_dfx_info.func_info.func_cnt.submit_usr_cnt; - td_u32 hard_start_cnt; - td_u32 hard_list_finish_cnt; - td_u32 hard_int_cnt; - uapi_reg_read(HAL_VAU_START_CNT, hard_start_cnt); - uapi_reg_read(HAL_VAU_LIST_FINISH_CNT, hard_list_finish_cnt); - uapi_reg_read(HAL_VAU_INT_CNT, hard_int_cnt); vau_print("-----------call count info-----------\n"); vau_print("create_cnt :%u\n", g_vau_dfx_info.func_info.func_cnt.create_cnt); @@ -128,6 +127,18 @@ static td_void vau_dfx_print_func_cnt_info(td_void) vau_print(" isr zero value :%u)\n", g_vau_dfx_info.func_info.isr_cnt.isr_status_zero_value_cnt); vau_print("tasklet_func_cnt :%u\n", g_vau_dfx_info.func_info.func_cnt.tasklet_func_cnt); vau_print("execute_node_cnt :%u\n", g_vau_dfx_info.func_info.func_cnt.execute_node_cnt); + + td_u32 hard_start_cnt = 0; + td_u32 hard_list_finish_cnt = 0; + td_u32 hard_int_cnt = 0; + if (drv_vau_get_suspend_flag() == TD_FALSE) { + uapi_reg_read(HAL_VAU_START_CNT, hard_start_cnt); + uapi_reg_read(HAL_VAU_LIST_FINISH_CNT, hard_list_finish_cnt); + uapi_reg_read(HAL_VAU_INT_CNT, hard_int_cnt); + } else { + vau_print("vau is in lowpower state, hard_int_cnt/hard_start_cnt/hard_list_finish_cnt is invalid!"); + } + // hard int count vau_print("hard int cnt :%u ", hard_int_cnt); vau_print("(hard start cnt :%u", hard_start_cnt); @@ -241,3 +252,20 @@ vau_dfx_info *vau_dfx_get_info(td_void) { return &g_vau_dfx_info; } + +td_s32 vau_dfx_enable_api_print(int argc, const char *argv[]) +{ + if (argc < 1) { + vau_print("should input enable switch 0/1\n"); + return EXT_FAILURE; + } + + g_vau_dfx_info.is_print_vau_api = (td_bool)strtoul(argv[0x0], TD_NULL, 10); /* 10: index */ + if (g_vau_dfx_info.is_print_vau_api) { + vau_print("open vau_api_print\n"); + } else { + vau_print("close vau_api_print\n"); + } + + return EXT_SUCCESS; +} diff --git a/code/sdk/middleware/services/gpu/drv/vau/dfx/vau_dfx.h b/code/sdk/middleware/services/gpu/drv/vau/dfx/vau_dfx.h index cf17148b3..63ca89ea3 100644 --- a/code/sdk/middleware/services/gpu/drv/vau/dfx/vau_dfx.h +++ b/code/sdk/middleware/services/gpu/drv/vau/dfx/vau_dfx.h @@ -172,6 +172,7 @@ typedef struct { td_u32 resume_cnt; dfx_mem_info mem_info; dfx_func_info func_info; + td_bool is_print_vau_api; } vau_dfx_info; /*-------------------------------- func declares ------------------------------------------*/ diff --git a/code/sdk/middleware/services/gpu/drv/vau/hal/vau_hal_apb.c b/code/sdk/middleware/services/gpu/drv/vau/hal/vau_hal_apb.c index 2cfaf1082..61c63ecf5 100644 --- a/code/sdk/middleware/services/gpu/drv/vau/hal/vau_hal_apb.c +++ b/code/sdk/middleware/services/gpu/drv/vau/hal/vau_hal_apb.c @@ -286,7 +286,6 @@ td_void vau_hal_apb_sram_ctrl(td_bool lp_en) return; } -#ifdef CONFIG_VAU_DFX_DEBUG td_void vau_hal_apb_print_reg(td_u32 base, td_u32 start, td_u32 end) { volatile td_u32 value; @@ -298,16 +297,14 @@ td_void vau_hal_apb_print_reg(td_u32 base, td_u32 start, td_u32 end) addr[i * 4], addr[i * 4 + 1], addr[i * 4 + 2], addr[i * 4 + 3]); /* 2,3,4:index */ } - if (vau_dfx_check_mask(VAU_DBG_MASK_PRINT_PATH)) { - uapi_reg_read(HAL_VAU_DRAW_PATH_CMD_ADDR, value); - td_u8 *cmds = (td_u8 *)(uintptr_t)value; - uapi_reg_read(HAL_VAU_DRAW_PATH_DATA_ADDR, value); - td_float *datas = (td_float *)(uintptr_t)value; - uapi_reg_read(HAL_VAU_DRAW_PATH_NUM_ADDR, value); - u_vau_draw_path_num num = { .u32 = value }; + uapi_reg_read(HAL_VAU_DRAW_PATH_CMD_ADDR, value); + td_u8 *cmds = (td_u8 *)(uintptr_t)value; + uapi_reg_read(HAL_VAU_DRAW_PATH_DATA_ADDR, value); + td_float *datas = (td_float *)(uintptr_t)value; + uapi_reg_read(HAL_VAU_DRAW_PATH_NUM_ADDR, value); + u_vau_draw_path_num num = { .u32 = value }; - vau_dfx_print_path(cmds, datas, num.bits.cmd_num, num.bits.data_num); - } + vau_dfx_print_path(cmds, datas, num.bits.cmd_num, num.bits.data_num); return; } @@ -317,6 +314,3 @@ td_void vau_hal_apb_print_all_reg(td_void) vau_hal_apb_print_reg(HAL_VAU_REG_BASEADDR, 0, 0x40AC); return; } - -#endif - diff --git a/code/sdk/middleware/services/gpu/drv/vau/intf/drv_vau_intf.c b/code/sdk/middleware/services/gpu/drv/vau/intf/drv_vau_intf.c index 99b9c5df8..784391a66 100644 --- a/code/sdk/middleware/services/gpu/drv/vau/intf/drv_vau_intf.c +++ b/code/sdk/middleware/services/gpu/drv/vau/intf/drv_vau_intf.c @@ -15,6 +15,7 @@ #include "vau_dfx.h" #include "vau_pre_process.h" #include "vau_handle.h" +#include "drv_vau_struct.h" #define DRV_VAU_IOCTL_CMD_NUM 20 @@ -44,6 +45,17 @@ static td_void drv_vau_set_suspend_flag(td_bool flag) osal_spin_unlock_irqrestore(&vau_handle_list->lock, &flags); } +td_bool drv_vau_get_suspend_flag(td_void) +{ + unsigned long flags = 0; + vau_handle_mgr *vau_handle_list = vau_handle_list_get(); + + osal_spin_lock_irqsave(&vau_handle_list->lock, &flags); + td_bool suspend_flag = g_vau_suspend_flag; + osal_spin_unlock_irqrestore(&vau_handle_list->lock, &flags); + return suspend_flag; +} + td_s32 drv_vau_suspend(td_void *private_data) { uapi_unused(private_data); @@ -128,6 +140,37 @@ static osal_dev g_vau_register_data = { .pmops = &g_vau_ops, }; +static td_void vau_print_api(td_u32 ioctl_cmd, td_void *para) +{ + td_handle handle = *(td_handle *)para; + + if (ioctl_cmd == DRV_VAU_CMD_CREATE) { + vau_err("uapi_vau_create:handle = %u", handle); + } else if (ioctl_cmd == DRV_VAU_CMD_DESTROY) { + vau_err("uapi_vau_destroy:handle = %u", handle); + } else if (ioctl_cmd == DRV_VAU_CMD_CANCEL) { + vau_err("uapi_vau_cancel:handle = %u", handle); + } else if (ioctl_cmd == DRV_VAU_CMD_WAIT_FOR_DONE) { + vau_err("uapi_vau_wait_for_done:handle = %u", handle); + } else if (ioctl_cmd == DRV_VAU_CMD_FILL) { + drv_vau_blit_cmd *blit_cmd = (drv_vau_blit_cmd *)para; + handle = blit_cmd->hanlde; + vau_err("uapi_vau_fill:handle = %u", handle); + } else if (ioctl_cmd == DRV_VAU_CMD_BLIT) { + drv_vau_blit_cmd *blit_cmd = (drv_vau_blit_cmd *)para; + handle = blit_cmd->hanlde; + vau_err("uapi_vau_render:handle = %u", handle); + } else if (ioctl_cmd == DRV_VAU_CMD_COMPOSE) { + drv_vau_blit_cmd *blit_cmd = (drv_vau_blit_cmd *)para; + handle = blit_cmd->hanlde; + vau_err("uapi_vau_compose:handle = %u", handle); + } else if (ioctl_cmd == DRV_VAU_CMD_SUBMIT) { + drv_vau_submit_cmd *submit_cmd = (drv_vau_submit_cmd *)para; + handle = submit_cmd->handle; + vau_err("uapi_vau_submit:handle = %u", handle); + } else { + } +} td_s32 vau_ioctl(td_s32 module_idx, td_ulong ioctl_cmd, td_void *para) { uapi_unused(module_idx); @@ -142,7 +185,13 @@ td_s32 vau_ioctl(td_s32 module_idx, td_ulong ioctl_cmd, td_void *para) return EXT_FAILURE; } - return (td_s32)g_vau_ioctl_cmd_list[ioctl_cmd].handler((td_u32)ioctl_cmd, para, TD_NULL); + td_s32 ret = (td_s32)g_vau_ioctl_cmd_list[ioctl_cmd].handler((td_u32)ioctl_cmd, para, TD_NULL); + + vau_dfx_info *vau_info = vau_dfx_get_info(); + if (vau_info->is_print_vau_api) { + vau_print_api((td_u32)ioctl_cmd, para); + } + return ret; } static td_s32 vau_register_device(td_void) diff --git a/code/sdk/middleware/services/gpu/drv/vau/list/vau_list.c b/code/sdk/middleware/services/gpu/drv/vau/list/vau_list.c index 61021a3a7..61e957fd8 100644 --- a/code/sdk/middleware/services/gpu/drv/vau/list/vau_list.c +++ b/code/sdk/middleware/services/gpu/drv/vau/list/vau_list.c @@ -9,6 +9,7 @@ #include "vau_handle.h" #include "vau_hal.h" #include "vau_hal_apb.h" +#include "drv_vau.h" static osal_wait g_vau_block_job_wq; /* wait queue used to block */ static vau_sw_job_mgr *g_vau_sw_job_list; @@ -345,11 +346,7 @@ static td_void vau_list_timeout_resume(td_void) vau_mem_check_psram_addr(); vau_dfx_proc_read(0, TD_NULL); -#ifdef CONFIG_VAU_DFX_DEBUG - if (vau_dfx_check_mask(VAU_DBG_MASK_PRINT_ERROR_REG)) { - vau_hal_apb_print_all_reg(); - } -#endif + vau_hal_apb_print_all_reg(); if (!g_vau_sw_job_list->dbg.no_reset) { vau_hal_init(); } else { diff --git a/code/sdk/middleware/services/gui/hal/common/include/graphic_hardware_config.h b/code/sdk/middleware/services/gui/hal/common/include/graphic_hardware_config.h index d7600008a..f17058a96 100644 --- a/code/sdk/middleware/services/gui/hal/common/include/graphic_hardware_config.h +++ b/code/sdk/middleware/services/gui/hal/common/include/graphic_hardware_config.h @@ -180,5 +180,6 @@ #endif #define CAPABILITY_HW_SUPPORT_EMOJI 1 +#define CAPABILITY_SW_DFX_FRAME_TRACE 1 #endif // GRAPHIC_HARDWARE_CONFIG_H diff --git a/code/sdk/middleware/services/gui/hal/display/brandy-auto-ota-cli/libdisplay_gfx.a b/code/sdk/middleware/services/gui/hal/display/brandy-auto-ota-cli/libdisplay_gfx.a index 27157881b0accb68bffd0e81711858a87ba8b167..8669dfe77520350f83b0458f447126762ed8f04e 100644 GIT binary patch delta 2525 zcmZXWeQZ-z6u|Fo`_?V(u=K&4?ZzhE)&lG7zJS37L(4J(q)S8v!3i>nlFT3>LD^^8x?T!*_Sb zxQ!oz?up)vvz6_Pv1^Ttz1lZRVN6vNb{JdOrZ6?33VxrsfU|hMJ(=?=n6G+yG+wJl zIQPZ>oD|}GL;UrWcEwQ84ED6r1TbBAXl*JiOWRrurtsfQ3+3Ev%@&h6+rlE*i}lo^&q;31w7_VZ+uGz;mGDJ1q0yiwgD<^qayTh5G?2uae^!jf zfk&9j`q@vGXW&?RdfD^`pSZa9LF0`Yv;9{?$^dg^^>Db7&6f0B>Poshtru=uQ^7aI zthOkbuIal6UAb99>vn{mzC7&mK*f~nJPQglp2D~z!^Qn@AY)C?m>nLHOHxkvg&(|G z&YQBTDm&S&g|{krg*5rSv^yoe|F1OpU5!c1_^4^f*kfU#?C`y{&d&}0HkF%(O4gL_ zHTNuHw1^1AGt>E^_z#&|tdRflwRln9asxjRZ}C}d!LSK`#<6QITWMjeh>zzrn9tPZ zwU{5#<(o0D*X50v$8`Bl%-_)EfVtf;K7W^m1zDf2!-v@6ab1T`FlV~_E6k_s@&U~E z=oauj=5uuQA}U|4So%(6r{;;JrysykhZ{>5 zC9?1V4X6_n5lc@$fTLb`V(AZ3f6Wt1|0%M4B?i2RrN2mCTfjw*ZxUI!fd#n&V(D)q zI~$<7IVI?59Gi~a(Ut$9vgV29Fgg&9Cefc*dK0o!^Tg68Qva=@Ke6;yWT)^dqeK?y zggHXcy8Yo`NDRx93R54lFTxafm#4!0j)KiHPNZB4o#U@j%4V z&qj7?o>=-)>c2(wCzigP`fHw8`U(@?Uv6E6uCN^0zCt_@u^g~b=ZU4K|IjpThlr)8 zcVB6>n1@*UAO|edrtB4{!#jF%Cj{XMleMwHQyqQH-6C+!f%P;5m#nZ~!BNQH--;>D~a3 zLKnu%FoLlj%Jv2Ld1%3y1;ZG_;Em4UCtyX?m2f$NA4UpnjZRf6GZ=dXzHL|G>!{7p z*#c*xIfgGXVM0d=SohoTantv^mAjd^Z)3eyp(}#g{cfHJ?_lhQqhs;PSWJ$&4gE9V z#^DrL60;d@&w%P!4mI=ob9gx%h`Di{=P*u!(b%;6pJnm9?n9IBXZVqp62I4PO8XC^ CWumJ9 delta 2609 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 GWc&-zbgD-H diff --git a/code/sdk/middleware/services/gui/hal/display/brandy-native-js/libdisplay_gfx.a b/code/sdk/middleware/services/gui/hal/display/brandy-native-js/libdisplay_gfx.a index 59bc0edf746e24eae14dd9f543252e6aa697a0c9..19047e880f12f3a5c21e70e2841279359a0c3732 100644 GIT binary patch delta 2524 zcmZXWeQZ-z6u|Fo`_?V(u=K&ic4NbCYk_rkUu=U7hL&XnNSBBTf)ivCC7D4&g6_j^ zv{+zlN)Eb-8Z?Ob&)Q7g`Z8a~CC@ACow(!+P{ zk8vA62>T~`)6Z0OFvhMoGxlm@@TwH zjd1RZ|2Zkd`TF?lDIJO-zZLAMWeH%q_|TduurzgZ5tzb%w=9rzuQ6Lp<}3?~WG!Om z>{b@ZKEcdx3y-)LakHnDM?5FEIl}@YscvhFUsb}F)P!b(nhd_QhRNZi#L!?8YyDX< z8V4U?F6(DMS)PHTX=&v%#y@dU?|9>l8ngV@Ldqa>W%h8mn#C6PT<%U9p56<$ty91^ z)vUHD8Lk<-&be|jht_TjJ$>bZ%LA2DZ}3bgNPi0BwsaTwLx1|}pfM{vB$uR|>I;v* zS@xT;TlTFhtZ z@;b~9>+(&QH|p|c%wxKIJLYfba=_ef7@NP_!h)<%*Wp9#@VKtSCzvx`{uSmkbon6W zyLAir9`o6{`Vi*d=;ptS`3t)KH!V*x)~6fr7k2njmvbxL&^Y$Q7R+DLO)werMqQqc z`LXz~^UYO3Ki*eeEpAR+pw05E&J#=Dj%=SNIuT3XiR@?+o>=-WWT)ndrKcaj(SRFE z7bUXr0S#yn6A?>KKY*iAcw*@fP=C!6OaCddeFX-*h^4e}D zr7uBtYMxm7GU{J1`V&iELH#vPEPbU3?=QEmQdd}pY+o)Oh*%ETp!3Ai(|>5HwnN0y z)4Q*%M$AJj{V`;<7Co(>5?NS^xh+QwxJK+1oR5t+SMWM)Y>x@vfK851@J4L>d4lV) z@zNl?-o+-TKyZ}2_69zT9JCdQ!ZB?8+N=09ak22fVPh*1{4X}%Qo%Mn2a+?9ZL@{< zkk{s{B0op?cI2Eg!MnzIB|AW!%0=NY6*L|uo-4c$cPM9`;8n=p3c+iMwcXl*`~-dx z&~=o25r^k%i{iK6`oqj$gR30@ei4c~1N=MKg3$_RJ2&x6Sn^(g+n^ic8Muk@7bxEy z;H#hwV>MjZy%&Ac`vK126vlIq))n9%K^?}Ea0Fu)BzFh+MtBZmE%ak#FoLlJmh1`e zD0E}I0yi->LiyeRKM!pfGvNZpFnFUg`EghtbtPPh;D?a{o1>2^Rq2eq0^fG1@O9K? z=xT%0(QLyP88D$U1+4pQ__%5N+{$nU?%QaumFNngZl9Yc!aEoT;K*paIvSH>Zo|M# zxOFH67RPLcyECCCmQBsvfoxs@{V_ML^DM?mFcO>o;Ik~AyZ_+i2N`~(rNr+Km{R`( D`4^&$ delta 2603 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 D88o89 delta 2609 zcmZXWe{54#6vyvv*NxdBrEis}UWVpVe&9pKvt`q`>33o3kS6BO-n2qUi^l)!H{!6lR>b z)U*iB=jK*;AKas_=Rv0^W-Y3|60!A(ls@>mNGv#Xd4Kxt2|aKlV+>U0rHyK|6%=|8 z4qR!9EE@j4umqOoU6&i+DfbH)_qhvY6i&OByPt00&5!%Cr0Ky$mcmX~?qbc>C~nTV zIaki*+QM+UV7A5RJVwU;UnQTRx>I%`tmCQ&tcUC(QWU+rGWVoK%W9I#8=y6RqHKtN zp1&zW3TQrdHJ(3lu|*EX>-}~|Xjck;W67sNEWJnzYOiBHMa@$9B}Ond zxiQNElTXZk7}+^n6%n)Fh^)VMpj*}sMCGJIn8|3=ogsd{4e|3P*cJ~8`rpY({TCoac3nSAn4xQqlbHxy7q zRMil(UrhCePs~1DNIp?w_FKrWRPzwCp9q-}2~&bDrrxX?h`Hemvdi#^*)PV6tG$e` ziVrdS8%#bi`xnW_8=HK85}a`24R@|q6A`nYhpewr8zN@E0NG{u#OxPS{U%jU%zg>g z8$NRAUc!$FK00DWI69DHSpci`YHSGES;FzNL1P;~o1BOp8 z@w6m|#2}82fJ)rJ!8cv81+O4;CbDCO^2d;GOd24+LiwAJy)zYuP252>vy}fK`34UY zKdyEmbUYXDY*n-d*;lD}J+W7D2lA6uioc1EerM7M*$h>?gYpk(!*~&X#F!7I?HgqP z4z~y8c({Xc80PN@%Db=!;|92fu@0tpbfQ1d5tNxQ;e(*O4)qv&;Vi}>7`rzpkHcz= zJK$4{Z$SD!s$7C`0UXA70`6eE4fFR0Wh?B#cmu9s48ZixplpYoosY>uIN4d4dV9MN z^HSkbXMtP_GUl;Vwm?a&SbhP|#XLAqeavHfXdIppbbYNsBIdyNIExt_ZelzKW4kC; zCFAO3Z0qt^QoV5OLN;9JauA;XwpcEN^llHnSt-T@Ea{$L{+pK_k9Bus{nuHXNXhvZ De$%Qa diff --git a/code/sdk/middleware/services/gui/hal/display/brandy-target5/libdisplay_gfx.a b/code/sdk/middleware/services/gui/hal/display/brandy-target5/libdisplay_gfx.a index 5c4300bc929864fad3d3a24f0c1e27d464bcf461..2d58be4489cbc8df867959a2e84539b95b0d5cb7 100644 GIT binary patch delta 2525 zcmZXWeQZ-z6u|Fo`_?V(u=K&4?ZzhE)&lG7J~{?$FtjWqK)OU!5S$>BD9H>G5_Al^ z(PDwIDLK>4xk1-ux-5cdRVIo-;{M@FOeA3mDB)8LAP_|~U_58{UG{=6*}1>-JNMrA z?(N;nYZ^4388E)>NG|pj`pOEYm+qYG8y8>882t@-=x^tW+xM$b%hQcTJ|FNeJ-ody z&TV`j^o{psoviL)j9qDB?A5{P3S+9Gu>IJ=7KN!vHSqiRxtt{m?WvsCz#P@fV~Kh- z%DFG`=Y%llYZI@hbts0S7O-cOCxPkQL#xtZamHppm?D2S&y#bnGFwdMTnmflE@0-o z78cDr%FJ#HkGdCdv!{heJx94Y+XDA8+}7rRszlDKNlgYd6?~Z+Cq`0|!^0`8!pn@QM8c4;pXGm>akpR)(1?r=P>6T(+?PLQl$_DFblBnhw56 zX0=txc1>+R?aI#?S-ma%^u@C-4^&OM%5$JN>nV)evRpg>d$LxBjJc5!xg_QIVC2D@ z<-IAZs#g%E^SCbGj`;yV?I+?AHn<^-TW6Ye?iy(n&nBx26Y4e!VW*`a&E;N8pod4g856j2_|CRsLQi3 zKb-h=uDLoC!27Bz#m$L}wOO9kd1C3?knM9sCt~S4ksX_aCzie&*{OMA>FEb>Y{ZSF zixOG*fCg+76A?>KKY*iAcw*`IQh&`8OaCddeHjM4h^0SIUR%I6BKp|BWMpsN;9H6lE*994?!)I72DbROk)5lbH@Un%Axmj0N|hbWN+I+u^BdY+ouKh*%C-r}M4&wnN0y z)4Q*{R?I^z{b6La4n3`(5?NS`xh-D|xJ>L7T!f9cK=2xDY>x?EhfTgu@Oo?lg@PNf z@zNl?-o+-rSa6KI_69zH9J2XE;V?Dzi4kYIw+hz*y zA+OC@O@5Z}ZOHlMg4@SJX?4l?oj?5!7Grxm4a6jYrC}r`3d|Y zpz9EMKZob*{D~WH{bA;>!KIEMKL`HKApZ`wV6?)i&J8>V7QGkbHt4~460TwV1uD9N zd(tbwy#yU}lYKgbyz$9NhtyMz2AsKykH zx?AByEYI*oHjL{`18c7hA2+ktt=!4ReH-ny99;?2_qus9yn}HF4vxl4qcJt^HVjRJ z>-*DSVccf8H4SRxdDP4v%Hx%=C+@~|p29c*?!~9b&oY0apl{#A`x$ delta 2609 zcmZXWe{54#6vyvv*NxdBrEjb7x~*eltIQVmgCB$OW7C14n8t{NAG!>f1_&55Bsjpd z&`w|*bK|INld*1q4nhc82sQrUNLV5XBI-<7GI7d8NHBs?1VfDH^u8l6_>!Lc`F_ti z_uhAV({!lU8aife(MOe(O`TR;Qe4`aTlDCmbRp;yzd)bXnme2=foeIBm&ON*~yxHc+46PEXmyI)ka6|?U>JVclYhCxlq$m zJ5bxUc4%!%Z$$3uJttG5Nnp?Nrpf0tTjVEP%>qdlYz^Y} z{M!rU049H|Z^?Uo+_t z>UT}L0re)62GmKG2lIE@MNk|t6?}vRC8mOpQU7kre}-B&<@-?|H@(1Ds0&T`LDVNr z{Z~G$CBp2RpW-e#10D2I>Zr_Mje!eOH;XFgP98)mEv+ ziA#-H7Mpxx_Cv_dd8&w*{RU+HE#(ul-;C@wd}8+L3(&WT#}XYRIMGH8+n{>2OV_un z`RMF99i{YkXkP6KI#(j&bJ&y~K<4ccbK5X7Z;zP$5oF#TG5go4K9rbV5VL=i>Xjc9 zBsf9ezrI5?5VL;=*=_j5?Ej6d?^N}~?Ei!8Hhg0C=|1UURZm=scQWy0qi`DuVs6N# zhKQ;mX1{>y4WF2Ox{!RL#OybdU!mq9W_BWe+V)ieSk2f~){vUKTqsTOl zl$aYHZ@|G{qIfqBzEZ{e$e*hCI1Y|!icjHCML%Hp z^byZUa8L~4=qOW(TR8Y!;ctqptx;| zEQ6zM0XY%wVH|-)?E!fo+A(g18yIV0W=9wLgB<~x4wF6z$eU1yu@BB;9ER}+0`erR z!?+th#rP(qc2ebXjEmtY##3+)<6T&EFd$o?9pf#yfw2r`b_HY`?CE+!4#DZJyyUyP zgjkpiSGscL3XoB+rJ@-MqXqH{cs}aIdFrBG+anY3grNIt4dPJ;zQ=jY=x`h31sLB= zu`&_YC1Pv0*OKgm6PH|YsoOz#@!JBq1X6pv_-4fz9y{{odysrdi^ diff --git a/code/sdk/middleware/services/gui/hal/display/brandy-xts/libdisplay_gfx.a b/code/sdk/middleware/services/gui/hal/display/brandy-xts/libdisplay_gfx.a index 61eca72d29095468c24803f0de1f11faabb006c5..36e4f2d2dc6f10b7e5feb6cf8faef39ac878b12e 100644 GIT binary patch delta 2525 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 EKb=ylEC2ui diff --git a/code/sdk/middleware/services/gui/lvgl/brandy-target1/liblvgl_proprietary_mini.a b/code/sdk/middleware/services/gui/lvgl/brandy-target1/liblvgl_proprietary_mini.a index 88f5cde6a498d702c7683befa0dc784feb3f0944..7695c175e8b386c58ae402d5cf656d7aae36c2a3 100644 GIT binary patch delta 2094 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 KbrPv?#{LKI2Aoj< delta 69159 zcmc$H34ByV_I17P>|yD2paTg)686}EY^)*%64`|yi0lMJL_~~=hz!zUQ$W-xNFi%f z1`!yEsKniYRIT-KtmHtGD!f z&sFt)=%Zd$>7jz&MZNM1i~3|{=4CS2|1&dt<>eJANqLeGvBQPaqV8ASLcg}df74&+ zSKXU`nfVvb2&d5&iWdBP+|#pO{8wA(zjg3)>DN9ZJpXFD zvH112(68z2Kkya$74{}}ezo{dx6pr@@K;I~`sF46YKw^d)wj_9!s)-^GxV$P(Z7*7 z@(%s_Rr+rg0PX)D)IfY%vG{ei(68m_U-+50SH%CLE%c9s|A(^BKP=V%T>(P>xLSV2 z0we^Fil5&?|4jLRpbPCDFB1MgZlV84=0EHZ3BPO${ZhmKkzME)m-K&AfY2|irhl4w z;^9j1pKhW5G~ut5F7zLl{MRW!s8S@YnEC&23;n{(lLMLJf3b!B7f$~TpP~QBUM1f% zQ~a_m^h*u@M|PoKT+)BP08J*05dUfm{VRk2u|D)KOZayMsLvElezh(1YdZT6e1(3s zJ!zbI)ANptU$TXMiP5iWvu}rJ8recN`Tu}p-O|Xz&pRXJBTM5F*G+2Gd|gA!Uh7(B zq{*@uoThir3%n9{_x6((WUo8BI91m4@TT8Az4+_NGX1Ccfb9QZe8;;V-da;3gHOaK z$hw@^sq)mfnx@pYYVN%0t^LC9eB(*bmv{?gLrW*k)3b-nKj`h6-{w&vyh4Z~Y(jJq zkBEnb1Jnl_;|bU%YCIkB3_1KsZ#y~biR2>L|J^2C2!6R zYMGYp^l{4M=xpaE&wv-?N7>F2Ik214!c)^qW_EE}bQG;5viz_Tb<(kkSl%(_hjY^J z6&<#&JpIg-M)S6OxV^L8Gx`NNwS%)X;7N?>6)Qw)Y^)qk(1-`70LP{XTGPnhy3=mgiJZBhjYZ! z(6hE*Pp6gFQ+aCbxIWI*82QYp&Uo3p*lAvSqQ7&{Bli_!L_FQzU;ESm=glO!Wl57V zd2EDJDJ#c#GG*l%PM)kuN-CGWk&eIlMQ8*Dc3O`ZBkvmPX(!7@!n!UwsaX0(IoZwc z*EV;$HkZi!QBIb;ZdLp|S>GfnQ#Oo($1NpsK3UcjNy^L6r7FwNz3Q7nTL&82B+{4( zLN9EN*y3XI&kNpG>-<`O1>&LDIM8Un4DprNSQPT#Bc?1*^Y;<&$JSf(PY|ELmP{T( zf-^BZ{{mthP6F?WtvL;#-v-yUxqDF^D>VROTcqAp8&oG+|3aF zo&rChd59VG#Juqs1ZEF*fInsNMI7^iK@T_Pq9LWFWOl_U1cl;%m@WlbQ-C)@N(^o8yh zK5d}Px{B7|9TdU;&LRt({Yr(-qAU1RL!mDK?_%-3;A{mII*WneWro6j82DtvLlB$^ z!B`^zp9ntQ;xoW|hWW{24tRE$=ZZ_f7g>A}_!^5Z178v5-NhR4foOS#kPzL)ItbP) zj{n`oX7F3l*Hq{(ZUcYO;(NirxA?u_owP%ye+0b1;!lGQGVU;>UIO2yIP!RN*>k^6@LVuZ1F#V4{}WYnB2dC;1bKgNf2VB z#goAMg)OJTeoG5rIV1e`MT`5$#}brsbdu_&AH_gTE2xXN$hz zMHVjsk2J~IVg&f7mi{d8p5YxhTTDwt{dchh=fmJDE5Rk;UBY~V_zieu*i8^Cz&{G> zCy8sp=UIFM_y-o>4jwsnOcA?65JYCWDdH~hNR>?y4}gydJD4J#0QXt^5P07(pC(=f zA8GM-z$5d*bnzj0B%C8cUqFx$?j$qC-@soB*T_r}n`C#QnW8y3S7$2B60N8=RLmAx z;Bzc~GWb}F_W-Yq@Q^qSg6fDs3mxx;MxfZVjUt{rS z!FL)SLV}keh-5HdyakRw9p;PUAdx<@Kzs(?VANuP_y#<3G+f}W2_vIqfk?y}u}#>1 zq40xeYL5QDP-H;RDr~SwbO0|6_kqPC7rcL1zgYAH?`G*w124Du5b(&nu~>`-?-WkI zR7?cVRD2?$rQ#e2BExLCm^CeT~8=DmUaSoc1u`C6Cfir5%sz1QXW;!~|Z;qpl$ zHPVP~>H0S29)>yc0Cf1NMtT zu|w9jh;0`-9A)-q6#qnXp04<@_UYTKvD-;e{0_~TWtO;AJQ$^aTysvme$gu=0z8S* zfr;8^J`6Y;tvw)0ze;nqOSV`pYBX2-RqUQO(H%#wrtUU zr8r*;uquS0k65hvVsJm)yeg;tE;g;NYKMMebqeG<(DFNtm%0A?i{nxHzoy9g^0>C4 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 diff --git a/code/sdk/middleware/services/gui/uikit/brandy-native-js/libuikit_ext.a b/code/sdk/middleware/services/gui/uikit/brandy-native-js/libuikit_ext.a index 6624747c4052dfee83010be6ef18a5978ea9b0be..a163d4e293e7f1b2845a51dec5e5d0eb7030dcd4 100644 GIT binary patch delta 71762 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 Kbrh*^hW-bt&!0*F delta 69160 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 diff --git a/code/sdk/middleware/services/gui/uikit/brandy-target3/libuikit_ext.a b/code/sdk/middleware/services/gui/uikit/brandy-target3/libuikit_ext.a index 2f4a90cf3111df2c40012494cc04d2afc4fad997..97a2fe0c3eac610a85fcf29ed784fbf8b05581b0 100644 GIT binary patch delta 71769 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 diff --git a/code/sdk/middleware/services/gui/uikit/brandy-xts/libuikit_ext.a b/code/sdk/middleware/services/gui/uikit/brandy-xts/libuikit_ext.a index fbe92fbbbc27888dbb87399ee853e713a3690b2c..a3bd2052c06a969955a2a230d855502ec311f55a 100644 GIT binary patch delta 71775 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 x8^E!A* diff --git a/code/sdk/middleware/services/gui/uikit/proprietary/include/common/text_ext.h b/code/sdk/middleware/services/gui/uikit/proprietary/include/common/text_ext.h index f29ad3b61..d4c923382 100644 --- a/code/sdk/middleware/services/gui/uikit/proprietary/include/common/text_ext.h +++ b/code/sdk/middleware/services/gui/uikit/proprietary/include/common/text_ext.h @@ -55,13 +55,15 @@ public: */ ~TextExt() override; + void SetText(const char* text) override; + #if ENABLE_FONT_VECTOR_GLOBAL /** * @brief Set the text string by text id. * * @param textId Index of text array. */ - void SetText(uint16_t textId); + void SetTextId(uint16_t textId); /** * @brief Reset text string by text id. @@ -93,7 +95,6 @@ protected: #endif private: - using Text::SetText; uint16_t textId_ = FontGlobalManager::INVALID_TEXT_ID; #if ENABLE_SHAPING bool isNeedShaping_ = 0; diff --git a/code/sdk/middleware/services/gui/uikit/proprietary/include/components/ui_cross_view.h b/code/sdk/middleware/services/gui/uikit/proprietary/include/components/ui_cross_view.h index 29a95862b..3643000ee 100644 --- a/code/sdk/middleware/services/gui/uikit/proprietary/include/components/ui_cross_view.h +++ b/code/sdk/middleware/services/gui/uikit/proprietary/include/components/ui_cross_view.h @@ -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; diff --git a/code/sdk/middleware/services/gui/uikit/proprietary/include/components/ui_list_ext.h b/code/sdk/middleware/services/gui/uikit/proprietary/include/components/ui_list_ext.h index f39d0bf37..32d1006d5 100644 --- a/code/sdk/middleware/services/gui/uikit/proprietary/include/components/ui_list_ext.h +++ b/code/sdk/middleware/services/gui/uikit/proprietary/include/components/ui_list_ext.h @@ -36,6 +36,7 @@ #define GRAPHIC_UI_LIST_EXT_H #include "graphic_config.h" #include "components/ui_list.h" +#include "gfx_utils/vector.h" namespace OHOS { /** @@ -83,10 +84,24 @@ public: scaleFactor_ = value; } + /** + * @brief Sets the spacing between items. + * + * @param value Indicates spacing between items. + */ + void SetItemSpace(uint16_t value) + { + space_ = value; + } + void ReMeasure() override; private: + void ModifyItemSpace(int16_t centerIndex); + void ModifyMidAdjSpace(int16_t centerIndex, int16_t& prevIndex, int16_t& nextIndex); int16_t scaleFactor_ = 400; // 400: default scale factor. + uint16_t space_ = 0; + Graphic::Vector items_; }; } // OHOS #endif // GRAPHIC_UI_LIST_EXT_H diff --git a/code/sdk/middleware/services/gui/uikit/proprietary/include/components/ui_menu_item.h b/code/sdk/middleware/services/gui/uikit/proprietary/include/components/ui_menu_item.h index 4a4cd6183..29c4c2890 100644 --- a/code/sdk/middleware/services/gui/uikit/proprietary/include/components/ui_menu_item.h +++ b/code/sdk/middleware/services/gui/uikit/proprietary/include/components/ui_menu_item.h @@ -294,10 +294,7 @@ public: * @since 1.0 * @version 1.0 */ - Vector2 GetScaleCenter() - { - return itemScaleCenter_; - } + Vector2 GetScaleCenter(); void ReMeasure() override; void OnDraw(BufferInfo& gfxDstBuffer, const Rect& invalidatedArea) override; @@ -306,19 +303,13 @@ public: private: void InitUILabelExt(); void InitUIImageView(); - void SetScaleCenter(); UIImageView* image_; UILabelExt* label_; - Rect textOrigRect_; - Rect imgOrigRect_; uint8_t labelLineBreakMode_; bool needRefresh_; int16_t imgOffset_ = 0; int16_t textOffset_ = 20; // 20: default text offset. - Vector2 textScaleCenter_ = {0.0, 0.0}; - Vector2 imgScaleCenter_ = {0.0, 0.0}; - Vector2 itemScaleCenter_ = {0.0, 0.0}; ScaleAlignMode transAlignMode_ = ScaleAlignMode::ALIGN_ITEM_CENTER; UIImageView::ImageResizeMode resizeMode_ = UIImageView::CONTAIN; }; diff --git a/code/sdk/middleware/services/gui/uikit/proprietary/include/components/ui_transform_list.h b/code/sdk/middleware/services/gui/uikit/proprietary/include/components/ui_transform_list.h index 863756e71..1727e0101 100644 --- a/code/sdk/middleware/services/gui/uikit/proprietary/include/components/ui_transform_list.h +++ b/code/sdk/middleware/services/gui/uikit/proprietary/include/components/ui_transform_list.h @@ -94,6 +94,7 @@ protected: void ReMeasure() override; private: + void ModifyMidAdjSpace(int16_t centerIndex, int16_t& prevIndex, int16_t& nextIndex); TransformFunc transformFunc_; uint16_t space_; Graphic::Vector items_; diff --git a/code/sdk/middleware/services/gui/uikit/proprietary/include/dfx/dfx_frame_trace.h b/code/sdk/middleware/services/gui/uikit/proprietary/include/dfx/dfx_frame_trace.h index c2519d10f..9e1d45094 100644 --- a/code/sdk/middleware/services/gui/uikit/proprietary/include/dfx/dfx_frame_trace.h +++ b/code/sdk/middleware/services/gui/uikit/proprietary/include/dfx/dfx_frame_trace.h @@ -18,7 +18,6 @@ #include #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" @@ -37,6 +36,10 @@ #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) @@ -45,6 +48,10 @@ #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 diff --git a/code/sdk/middleware/services/gui/uikit/proprietary/include/service/graphic_service.h b/code/sdk/middleware/services/gui/uikit/proprietary/include/service/graphic_service.h index 2171f6c51..99a4eb58e 100644 --- a/code/sdk/middleware/services/gui/uikit/proprietary/include/service/graphic_service.h +++ b/code/sdk/middleware/services/gui/uikit/proprietary/include/service/graphic_service.h @@ -78,6 +78,11 @@ public: */ int IsNativeRunning() const; + /** + * @brief Return whether current task is native ui task + */ + static bool IsNativeUITask(); + /** * @brief Return whether screen is on or not. */ @@ -126,14 +131,10 @@ public: */ void GpuResetEnd(void); -#ifdef ENABLE_CMSIS static void NativeMainThread(void* args); static void RtcEventThread(void* args); -#else - static void* NativeMainThread(void* args); - static void* RtcEventThread(void* args); -#endif + OHOS::GraphicMutex switchMutex_; // ensure that js syncHwDraw and native SetNativeUIRunning run in sync private: friend class GraphicEventHandler; static VsyncCallback jsVsyncCallback_; @@ -142,6 +143,7 @@ private: static osal_atomic isScreenOn_; static OHOS::GraphicMutex rtcEventMutex_; static OHOS::GraphicCond rtcEventCond_; + static bool isJsTaskFinished_; // ensure that native task run after js task is finished bool isGpuReseting = false; void DecreaseTriggerCount(); void SetUpRootView(); diff --git a/code/sdk/middleware/services/gui/uikit/proprietary/src/service/src/graphic_event_handler.cpp b/code/sdk/middleware/services/gui/uikit/proprietary/src/service/src/graphic_event_handler.cpp index 1a1559fb4..eacb14266 100644 --- a/code/sdk/middleware/services/gui/uikit/proprietary/src/service/src/graphic_event_handler.cpp +++ b/code/sdk/middleware/services/gui/uikit/proprietary/src/service/src/graphic_event_handler.cpp @@ -15,6 +15,7 @@ #include "graphic_event_handler.h" #include "dfx/dfx_record.h" +#include "dfx/dfx_frame_trace.h" #include "common/low_power_manager.h" #include "gfx_utils/graphic_log.h" @@ -34,7 +35,9 @@ void GraphicEventHandler::Run() GraphicEvent event = std::move(eventQueue_.front()); eventQueue_.pop(); queueMutex_.Unlock(); + EVENT_TRACE_START(); event(); + EVENT_TRACE_END(); DfxRecordShow(); } } diff --git a/code/sdk/middleware/services/gui/uikit/proprietary/src/service/src/graphic_service.cpp b/code/sdk/middleware/services/gui/uikit/proprietary/src/service/src/graphic_service.cpp index 79f569bd5..9b9d8f7b2 100644 --- a/code/sdk/middleware/services/gui/uikit/proprietary/src/service/src/graphic_service.cpp +++ b/code/sdk/middleware/services/gui/uikit/proprietary/src/service/src/graphic_service.cpp @@ -38,6 +38,7 @@ #ifdef SUPPORT_GPU_JPEG #include "drv_jpeg_intf.h" #endif +#include "cmsis_os2.h" VsyncCallback GraphicService::jsVsyncCallback_; osal_atomic GraphicService::isNativeRunning_{1}; @@ -45,9 +46,12 @@ osal_atomic GraphicService::graphicTaskTriggeredCount_{0}; osal_atomic GraphicService::isScreenOn_{0}; OHOS::GraphicMutex GraphicService::rtcEventMutex_; OHOS::GraphicCond GraphicService::rtcEventCond_; +bool GraphicService::isJsTaskFinished_ = true; +#ifdef _WIN32 +static uint32_t nativeUITaskId_ = 0xFFFFFFFF; +#endif static ThreadId g_rtcEventThreadId; static ThreadId g_mainThreadId; - GraphicService::GraphicService() {} GraphicService::~GraphicService() {} @@ -63,8 +67,9 @@ bool GraphicService::SyncTriggerJSGraphicTask() GRAPHIC_LOGI("Trigger JS Task failed. Native is running or Graphic Task is already triggered."); return false; } - + isJsTaskFinished_ = false; OHOS::TaskManager::GetInstance()->TaskHandler(); + isJsTaskFinished_ = true; return true; } @@ -74,10 +79,10 @@ bool GraphicService::AsyncTriggerNativeGraphicTask() osal_atomic_inc(&graphicTaskTriggeredCount_); OHOS::GraphicEventHandler::GetInstance()->PostGraphicEvent( [] { - if (GraphicService::GetInstance()->IsScreenOn()) { + if (GraphicService::GetInstance()->IsScreenOn() && isJsTaskFinished_) { OHOS::TaskManager::GetInstance()->TaskHandler(); } else { - GRAPHIC_LOGW("ignore redundant task when screen is off\n"); + GRAPHIC_LOGW("ignore redundant task when screen is off or js task is not finished\n"); } GraphicService::GetInstance()->DecreaseTriggerCount(); }, @@ -89,6 +94,7 @@ bool GraphicService::AsyncTriggerNativeGraphicTask() void GraphicService::SetNativeUIRunning(bool isRunning) { + switchMutex_.Lock(); if (isRunning) { osal_atomic_set(&isNativeRunning_, 1); } else { @@ -96,6 +102,7 @@ void GraphicService::SetNativeUIRunning(bool isRunning) OHOS::GraphicEventHandler::GetInstance()->ClearGraphicEvent(); osal_atomic_set(&graphicTaskTriggeredCount_, 0); } + switchMutex_.Unlock(); } int GraphicService::IsNativeRunning() const @@ -163,18 +170,22 @@ void GraphicService::EnableAsyncMode(bool enable) OHOS::LiteMGfxEngine::GetInstance()->EnableAsyncMode(enable); } -#ifdef ENABLE_CMSIS -void GraphicService::NativeMainThread(void* args) +bool GraphicService::IsNativeUITask() { - OHOS::GraphicEventHandler::GetInstance()->Run(); -} +#ifdef _WIN32 + return nativeUITaskId_ == GetCurrentThreadId(); #else -void* GraphicService::NativeMainThread(void* args) + return (strcmp(osThreadGetName(osThreadGetId()), "GuiMainThread") == 0); +#endif +} + +void GraphicService::NativeMainThread(void* args) { +#ifdef _WIN32 + nativeUITaskId_ = GetCurrentThreadId(); +#endif OHOS::GraphicEventHandler::GetInstance()->Run(); - return nullptr; } -#endif void GraphicService::UpdateGraphicEvent() { @@ -184,11 +195,7 @@ void GraphicService::UpdateGraphicEvent() rtcEventCond_.Signal(); } -#ifdef ENABLE_CMSIS void GraphicService::RtcEventThread(void* args) -#else -void* GraphicService::RtcEventThread(void* args) -#endif { while (true) { rtcEventMutex_.Lock(); @@ -204,9 +211,6 @@ void* GraphicService::RtcEventThread(void* args) jsVsyncCallback_(); } } -#if !defined(ENABLE_CMSIS) - return nullptr; -#endif } void GraphicService::SetUpRootView(void) @@ -235,9 +239,7 @@ bool GraphicService::InitGraphicService() UIThreadAttr rtcAttr; rtcAttr.name = "RtcEventThread"; rtcAttr.stackSize = 0x800u; -#ifdef ENABLE_CMSIS rtcAttr.priority = static_cast(osPriorityAboveNormal2); -#endif g_rtcEventThreadId = (ThreadId)ThreadCreate((Runnable)GraphicService::RtcEventThread, nullptr, &rtcAttr); if (g_rtcEventThreadId == nullptr) { GRAPHIC_LOGE("%s: create thread fail\n", __func__); @@ -247,9 +249,7 @@ bool GraphicService::InitGraphicService() UIThreadAttr mainAttr; mainAttr.name = "GuiMainThread"; mainAttr.stackSize = 0x6000u; -#ifdef ENABLE_CMSIS mainAttr.priority = static_cast(osPriorityAboveNormal2); -#endif g_mainThreadId = (ThreadId)ThreadCreate((Runnable)GraphicService::NativeMainThread, nullptr, &mainAttr); if (g_mainThreadId == nullptr) { GRAPHIC_LOGE("create thread fail\n"); diff --git a/code/sdk/middleware/services/gui/uikit/proprietary/src/ui/frameworks/components/ui_list_ext.cpp b/code/sdk/middleware/services/gui/uikit/proprietary/src/ui/frameworks/components/ui_list_ext.cpp index 628788d7d..71ee16487 100644 --- a/code/sdk/middleware/services/gui/uikit/proprietary/src/ui/frameworks/components/ui_list_ext.cpp +++ b/code/sdk/middleware/services/gui/uikit/proprietary/src/ui/frameworks/components/ui_list_ext.cpp @@ -1,49 +1,149 @@ -/* - * Copyright (c) 2023 CompanyNameMagicTag. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "components/ui_list_ext.h" -#include "animator/easing_equation.h" -#include "components/ui_menu_item.h" - -namespace OHOS { -void UIListExt::ReMeasure() -{ - UIMenuItem* view = static_cast(GetChildrenHead()); - if (view == nullptr) { - return; - } - - int16_t x; - int16_t y; - int16_t midX = GetX() + GetWidth() / 2; - int16_t midY = GetY() + GetHeight() / 2; - do { - x = view->GetX(); - y = view->GetY(); - if (direction_ == VERTICAL) { - int offset = (y + view->GetHeight() / 2 - midY); - int temp = EasingEquation::SineEaseIn(0, scaleFactor_, abs(offset), scaleFactor_); - float scale = 1.0 - (static_cast(temp) / scaleFactor_); - view->Scale(Vector2(scale, scale), view->GetScaleCenter()); - } else { - int offset = (x + view->GetWidth() / 2 - midX); - int temp = EasingEquation::SineEaseIn(0, scaleFactor_, abs(offset), scaleFactor_); - float scale = 1.0 - (static_cast(temp) / scaleFactor_); - view->Scale(Vector2(scale, scale), view->GetScaleCenter()); - } - view = static_cast(view->GetNextSibling()); - } while (view != nullptr); -} -} // namespace OHOS +/* + * Copyright (c) 2023 CompanyNameMagicTag. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "components/ui_list_ext.h" +#include "animator/easing_equation.h" +#include "components/ui_menu_item.h" + +namespace OHOS { +void UIListExt::ReMeasure() +{ + UIMenuItem* view = static_cast(GetChildrenHead()); + if (view == nullptr) { + return; + } + + int16_t x; + int16_t y; + int16_t midX = GetX() + GetWidth() / 2; + int16_t midY = GetY() + GetHeight() / 2; + items_.Clear(); + int16_t centerIndex; + do { + x = view->GetX(); + y = view->GetY(); + items_.PushBack(view); + view->Translate(Vector2(0, 0)); // ignore previous translate to set right transform + if (direction_ == VERTICAL) { + int offset = (y + view->GetHeight() / 2 - midY); + int temp = EasingEquation::SineEaseIn(0, scaleFactor_, abs(offset), scaleFactor_); + float scale = 1.0 - (static_cast(temp) / scaleFactor_); + view->Scale(Vector2(scale, scale), view->GetScaleCenter()); + if ((y <= midY) && (y + view->GetHeight() > midY)) { + centerIndex = items_.Size() - 1; + } + } else { + int offset = (x + view->GetWidth() / 2 - midX); + int temp = EasingEquation::SineEaseIn(0, scaleFactor_, abs(offset), scaleFactor_); + float scale = 1.0 - (static_cast(temp) / scaleFactor_); + view->Scale(Vector2(scale, scale), view->GetScaleCenter()); + if ((x <= midX) && (x + view->GetWidth() > midX)) { + centerIndex = items_.Size() - 1; + } + } + view = static_cast(view->GetNextSibling()); + } while (view != nullptr); + ModifyItemSpace(centerIndex); +} + +void UIListExt::ModifyMidAdjSpace(int16_t centerIndex, int16_t& prevIndex, int16_t& nextIndex) +{ + Rect centerRect = items_[centerIndex]->GetRect(); + if (direction_ == VERTICAL) { + int16_t centerY = centerRect.GetTop() + (centerRect.GetHeight() >> 1); + int16_t midY = GetHeight() / 2; + if (centerY == midY) { + return; + } + if (centerY > midY) { + prevIndex = centerIndex - 1; + } else { + nextIndex = centerIndex + 1; + } + if ((prevIndex >= 0) && (nextIndex < items_.Size())) { + Rect prevRect = items_[prevIndex]->GetRect(); + Rect nextRect = items_[nextIndex]->GetRect(); + int16_t prevMidY = prevRect.GetTop() + (prevRect.GetHeight() >> 1); + int16_t nextMidY = nextRect.GetTop() + (nextRect.GetHeight() >> 1); + int16_t delta = space_ - (nextRect.GetTop() - prevRect.GetBottom()); + int16_t prevOffst = (midY - prevMidY) * delta * 1.0f / (nextMidY - prevMidY); + int16_t nextOffst = (nextMidY - midY) * delta * 1.0f / (nextMidY - prevMidY); + items_[prevIndex]->Translate(Vector2(0, -prevOffst)); + items_[nextIndex]->Translate(Vector2(0, nextOffst)); + } + } else { + int16_t centerX = centerRect.GetLeft() + (centerRect.GetWidth() >> 1); + int16_t midX = GetWidth() / 2; + if (centerX == midX) { + return; + } + if (centerX > midX) { + prevIndex = centerIndex - 1; + } else { + nextIndex = centerIndex + 1; + } + if ((prevIndex >= 0) && (nextIndex < items_.Size())) { + Rect prevRect = items_[prevIndex]->GetRect(); + Rect nextRect = items_[nextIndex]->GetRect(); + int16_t prevMidX = prevRect.GetLeft() + (prevRect.GetWidth() >> 1); + int16_t nextMidX = nextRect.GetLeft() + (nextRect.GetWidth() >> 1); + int16_t delta = space_ - (nextRect.GetLeft() - prevRect.GetRight()); + int16_t prevOffst = (midX - prevMidX) * delta * 1.0f / (nextMidX - prevMidX); + int16_t nextOffst = (nextMidX - midX) * delta * 1.0f / (nextMidX - prevMidX); + items_[prevIndex]->Translate(Vector2(-prevOffst, 0)); + items_[nextIndex]->Translate(Vector2(nextOffst, 0)); + } + } +} + +void UIListExt::ModifyItemSpace(int16_t centerIndex) +{ + int16_t prevIndex = centerIndex; + int16_t nextIndex = centerIndex; + // Step 1. only modify two neighboring items in the middle to ensure smoothly scrolling + ModifyMidAdjSpace(centerIndex, prevIndex, nextIndex); + Rect curRect; + Rect preRect; + int16_t diff = 0; + // Step 2. modify other items space + if (direction_ == VERTICAL) { + for (int16_t i = prevIndex - 1; i >= 0; i--) { + curRect = items_[i]->GetRect(); + preRect = items_[i + 1]->GetRect(); + diff = preRect.GetTop() - space_ - curRect.GetBottom(); + items_[i]->Translate(Vector2(0, diff)); + } + for (int16_t i = nextIndex + 1; i < items_.Size(); i++) { + curRect = items_[i]->GetRect(); + preRect = items_[i - 1]->GetRect(); + diff = preRect.GetBottom() + space_ - curRect.GetTop(); + items_[i]->Translate(Vector2(0, diff)); + } + } else { + for (int16_t i = prevIndex - 1; i >= 0; i--) { + curRect = items_[i]->GetRect(); + preRect = items_[i + 1]->GetRect(); + diff = preRect.GetLeft() - space_ - curRect.GetRight(); + items_[i]->SetX(items_[i]->GetX() + diff); + } + for (int16_t i = nextIndex + 1; i < items_.Size(); i++) { + curRect = items_[i]->GetRect(); + preRect = items_[i - 1]->GetRect(); + diff = preRect.GetRight() + space_ - curRect.GetLeft(); + items_[i]->SetX(items_[i]->GetX() + diff); + } + } +} +} // namespace OHOS diff --git a/code/sdk/middleware/services/gui/uikit/proprietary/src/ui/frameworks/components/ui_lite_surface_view.cpp b/code/sdk/middleware/services/gui/uikit/proprietary/src/ui/frameworks/components/ui_lite_surface_view.cpp index 1c93fb728..b1aba5c57 100644 --- a/code/sdk/middleware/services/gui/uikit/proprietary/src/ui/frameworks/components/ui_lite_surface_view.cpp +++ b/code/sdk/middleware/services/gui/uikit/proprietary/src/ui/frameworks/components/ui_lite_surface_view.cpp @@ -350,6 +350,10 @@ void UILiteSurfaceView::OnBufferAvailable() GraphicService::GetInstance()->PostGraphicEvent( [&, ws] { if (!ws.expired()) { + if (!GraphicService::GetInstance()->IsScreenOn()) { + isStopped_ = true; // Do not process video frame, when screen off and dpu suspended. + return; + } LiteMGfxEngine::GetInstance()->EnableAsyncMode(false); LiteMGfxEngine::GetInstance()->AddHardwareLayer(this); DisplayDev::GetInstance()->SetLayerColorKey(LAYER_0, true, colorKey_.full); diff --git a/code/sdk/middleware/services/gui/uikit/proprietary/src/ui/frameworks/components/ui_menu_item.cpp b/code/sdk/middleware/services/gui/uikit/proprietary/src/ui/frameworks/components/ui_menu_item.cpp index 9bd12fbec..165921993 100644 --- a/code/sdk/middleware/services/gui/uikit/proprietary/src/ui/frameworks/components/ui_menu_item.cpp +++ b/code/sdk/middleware/services/gui/uikit/proprietary/src/ui/frameworks/components/ui_menu_item.cpp @@ -38,34 +38,21 @@ UIMenuItem::~UIMenuItem() } } -void UIMenuItem::SetScaleCenter() +Vector2 UIMenuItem::GetScaleCenter() { - int16_t itemOrigX = GetContentRect().GetX(); - int16_t itemOrigY = GetContentRect().GetY(); + int16_t itemOrigX = GetOrigRect().GetX(); + int16_t itemOrigY = GetOrigRect().GetY(); if (transAlignMode_ == ScaleAlignMode::ALIGN_TEXT_LEFT) { - textScaleCenter_ = Vector2{0.0, textOrigRect_.GetHeight() / 2.0f}; - imgScaleCenter_ = Vector2{textOrigRect_.GetLeft() - imgOrigRect_.GetLeft(), - textOrigRect_.GetTop() + textScaleCenter_.y_ - imgOrigRect_.GetTop()}; - itemScaleCenter_ = Vector2{textOrigRect_.GetLeft() - itemOrigX, - textOrigRect_.GetTop() + textScaleCenter_.y_ - itemOrigY}; + return Vector2{label_->GetX(), label_->GetHeight() / 2.0f}; } else if (transAlignMode_ == ScaleAlignMode::ALIGN_IMAGE_LEFT) { - imgScaleCenter_ = Vector2{0.0, imgOrigRect_.GetHeight() / 2.0f}; - textScaleCenter_ = Vector2{imgOrigRect_.GetLeft() - textOrigRect_.GetLeft(), - imgOrigRect_.GetTop() + imgScaleCenter_.y_ - textOrigRect_.GetTop()}; - itemScaleCenter_ = Vector2{imgOrigRect_.GetLeft() - itemOrigX, - imgOrigRect_.GetTop() + imgScaleCenter_.y_ - itemOrigY}; - } else if (transAlignMode_ == ScaleAlignMode::ALIGN_ITEM_CENTER) { - itemScaleCenter_ = Vector2{GetWidth() / 2.0f, GetHeight() / 2.0f}; - textScaleCenter_ = Vector2{itemOrigX + itemScaleCenter_.x_ - textOrigRect_.GetLeft(), - itemOrigY + itemScaleCenter_.y_ - textOrigRect_.GetTop()}; - imgScaleCenter_ = Vector2{itemOrigX + itemScaleCenter_.x_ - imgOrigRect_.GetLeft(), - itemOrigY + itemScaleCenter_.y_ - imgOrigRect_.GetTop()}; + return Vector2{image_->GetX(), image_->GetHeight() / 2.0f}; + } else { + return Vector2{GetWidth() / 2.0f, GetHeight() / 2.0f}; } } void UIMenuItem::ReMeasure() { - Rect contentRect = GetContentRect(); if (needRefresh_) { if (image_ != nullptr) { image_->SetPosition(imgOffset_, 0, GetHeight(), GetHeight()); @@ -81,29 +68,15 @@ void UIMenuItem::ReMeasure() } } needRefresh_ = false; - if (image_ != nullptr) { - imgOrigRect_ = contentRect; - imgOrigRect_.SetX(contentRect.GetX() + imgOffset_); - imgOrigRect_.SetWidth(GetHeight()); - } - - if (label_ != nullptr) { - textOrigRect_ = contentRect; - textOrigRect_.SetLeft(imgOrigRect_.GetRight() + textOffset_); - } - - SetScaleCenter(); - TransformMap transMap = GetTransformMap(); + TransformMap transMap; if (image_ != nullptr) { - transMap.SetTransMapRect(imgOrigRect_); - transMap.Scale(transMap.GetScaleCoef(), Vector3{imgScaleCenter_.x_, imgScaleCenter_.y_, 0.0}); + transMap.SetMatrix(GetTransformMap().GetOrigTransformMatrix()); image_->SetTransformMap(transMap); } if (label_ != nullptr) { - transMap.SetTransMapRect(textOrigRect_); - transMap.Scale(transMap.GetScaleCoef(), Vector3{textScaleCenter_.x_, textScaleCenter_.y_, 0.0}); + transMap.SetMatrix(GetTransformMap().GetOrigTransformMatrix()); label_->SetTransformMap(transMap); } } diff --git a/code/sdk/middleware/services/gui/uikit/proprietary/src/ui/frameworks/dfx/dfx_frame_trace.cpp b/code/sdk/middleware/services/gui/uikit/proprietary/src/ui/frameworks/dfx/dfx_frame_trace.cpp index 5e8bdd1b9..06b7cf607 100644 --- a/code/sdk/middleware/services/gui/uikit/proprietary/src/ui/frameworks/dfx/dfx_frame_trace.cpp +++ b/code/sdk/middleware/services/gui/uikit/proprietary/src/ui/frameworks/dfx/dfx_frame_trace.cpp @@ -39,6 +39,10 @@ static struct { {FrameTraceType::HW_DRAW_ARC_RECT, "hw_arc_rect"}, }; +int DfxFrameTrace::evtCnt_ = 0; +int DfxFrameTrace::tskCnt_ = 0; +int DfxFrameTrace::frmCnt_ = 0; + uint64_t DfxFrameTrace::GetDuration(uint64_t start, uint64_t end) const { uint64_t dur = end >= start ? end - start : UINT64_MAX - start + end + 1; @@ -117,35 +121,27 @@ void DfxFrameTrace::RecordEnd(FrameTraceType type, const Rect *rect) ++drawCount_; } -void DfxFrameTrace::ShowFrameTrace() const +void DfxFrameTrace::ShowFrameTrace() { if (!beginTrace_) { return; } - uint64_t totalTime = GetDuration(firstDrawTime_, endTime_); - printf("\nisNativeRunning %d, freq %d", isNativeRunning_, freq_); - printf("\nCmd count: %d time: %llu, {%d %d %d %d}\n", drawCount_, totalTime, - drawRect_.GetLeft(), drawRect_.GetTop(), drawRect_.GetRight(), drawRect_.GetBottom()); - for (int32_t i = 0; i < drawCount_; ++i) { - if (trace_[i].cmd == FrameTraceType::HW_DRAW_PATH) { - printf("%d. %s: %llu, %llu, %d\n", - i, ToString(trace_[i].cmd).c_str(), trace_[i].preTime, trace_[i].costTime, pathCnt_); - continue; - } - if (trace_[i].cmd == FrameTraceType::HW_DRAW_SUBMIT) { - printf("%d. %s: %llu, %llu, %d\n", - i, ToString(trace_[i].cmd).c_str(), trace_[i].preTime, trace_[i].costTime, trace_[i].isNeedWait); - continue; - } - if (!rect_[i].IsValid()) { - printf("%d. %s: %llu, %llu\n", i, ToString(trace_[i].cmd).c_str(), trace_[i].preTime, trace_[i].costTime); - continue; - } - printf("%d. %s: %llu, %llu, {%d, %d, %d, %d}\n", - i, ToString(trace_[i].cmd).c_str(), trace_[i].preTime, trace_[i].costTime, - rect_[i].GetLeft(), rect_[i].GetTop(), rect_[i].GetRight(), rect_[i].GetBottom()); + if (events_ == nullptr || !eventRecording_ || !taskRecording_) { + return; + } + EventRecord &curEvt = *tailEvt_; + if (curEvt.tasks == nullptr) { + return; } + + FrameRecord *record = new (std::nothrow) FrameRecord; + if (record == nullptr) { + return; + } + WriteFrameRecord(record); + TaskRecord &curTask = *curEvt.tailTsk; + curTask.frameInfo = record; } void DfxFrameTrace::ClearState() @@ -174,4 +170,172 @@ std::string DfxFrameTrace::ToString(FrameTraceType type) const } return ""; } + +void DfxFrameTrace::WriteFrameRecord(FrameRecord *frame) const +{ + if (frame == nullptr) { + return; + } + uint64_t totalTime = GetDuration(firstDrawTime_, endTime_); + frame->totalTime = totalTime; + frame->isNativeRunning = isNativeRunning_; + frame->freq = freq_; + frame->pathCnt = pathCnt_; + frame->drawRect = drawRect_; + if (drawCount_ <= 0) { + return; + } + frame->drawCount = drawCount_; + frame->trace = new (std::nothrow) FrameTrace[drawCount_]; + frame->rect = new (std::nothrow) Rect[drawCount_]; + if (frame->trace == nullptr || frame->rect == nullptr) { + return; + } + for (int i = 0; i < drawCount_; ++i) { + frame->trace[i] = trace_[i]; + frame->rect[i] = rect_[i]; + } +} + +void DfxFrameTrace::ShowFrameRecord(FrameRecord *frame) const +{ + if (frame == nullptr) { + return; + } + int drawCnt = frame->drawCount; + printf(" isNativeRunning %d, freq %d\n", frame->isNativeRunning, frame->freq); + printf(" Cmd count: %d time: %llu, {%d %d %d %d}\n", drawCnt, frame->totalTime, + frame->drawRect.GetLeft(), frame->drawRect.GetTop(), frame->drawRect.GetRight(), frame->drawRect.GetBottom()); + if (frame->trace == nullptr || frame->rect == nullptr) { + return; + } + for (int32_t i = 0; i < drawCnt; ++i) { + if (frame->trace[i].cmd == FrameTraceType::HW_DRAW_PATH) { + printf(" %d. %s: %llu, %llu, %d\n", + i, ToString(frame->trace[i].cmd).c_str(), + frame->trace[i].preTime, frame->trace[i].costTime, frame->pathCnt); + continue; + } + if (frame->trace[i].cmd == FrameTraceType::HW_DRAW_SUBMIT) { + printf(" %d. %s: %llu, %llu, %d\n", + i, ToString(frame->trace[i].cmd).c_str(), + frame->trace[i].preTime, frame->trace[i].costTime, frame->trace[i].isNeedWait); + continue; + } + if (!frame->rect[i].IsValid()) { + printf(" %d. %s: %llu, %llu\n", i, ToString(frame->trace[i].cmd).c_str(), + frame->trace[i].preTime, frame->trace[i].costTime); + continue; + } + printf(" %d. %s: %llu, %llu, {%d, %d, %d, %d}\n", + i, ToString(frame->trace[i].cmd).c_str(), frame->trace[i].preTime, frame->trace[i].costTime, + frame->rect[i].GetLeft(), frame->rect[i].GetTop(), frame->rect[i].GetRight(), frame->rect[i].GetBottom()); + } +} + +void DfxFrameTrace::ShowEventRecord() const +{ + int evtIndex = 0; + int taskIndex = 0; + printf("Total: E %d, T %d, F %d\n", evtCnt_, tskCnt_, frmCnt_); + for (EventRecord *it = events_; it != nullptr; it = it->next) { + EventRecord &evt = *it; + printf("\nE %d: %llu\n", evtIndex, GetDuration(evt.startTime, evt.endTime)); + taskIndex = 0; + for (TaskRecord *it1 = evt.tasks; it1 != nullptr; it1 = it1->next) { + TaskRecord &tsk = *it1; + printf(" T %d: %llu\n", taskIndex, GetDuration(tsk.startTime, tsk.endTime)); + if (tsk.frameInfo != nullptr) { + ShowFrameRecord(tsk.frameInfo); + } + taskIndex++; + } + evtIndex++; + } +} + +void DfxFrameTrace::ClearEvents() +{ + for (EventRecord *it = events_; it != nullptr;) { + EventRecord &evt = *it; + for (TaskRecord *it1 = evt.tasks; it1 != nullptr;) { + TaskRecord *tskTmp = it1; + it1 = it1->next; + delete tskTmp; + } + EventRecord *tmp = it; + it = it->next; + delete tmp; + } + tailEvt_ = nullptr; + events_ = nullptr; +} + +void DfxFrameTrace::EventTraceStart() +{ + if (traceCount_ <= 0) { + return; + } + EventRecord *event = new (std::nothrow) EventRecord; + if (event == nullptr) { + return; + } + event->startTime = uapi_tcxo_get_us(); + if (events_ != nullptr) { + tailEvt_->next = event; + } else { + events_ = event; + } + tailEvt_ = event; + eventRecording_ = true; +} + +void DfxFrameTrace::EventTraceEnd() +{ + if (events_ == nullptr || !eventRecording_) { + return; + } + EventRecord &curEvt = *tailEvt_; + curEvt.endTime = uapi_tcxo_get_us(); + eventRecording_ = false; + if (traceCount_ == 0) { + ShowEventRecord(); + ClearEvents(); + } +} + +void DfxFrameTrace::TaskTraceStart() +{ + if (events_ == nullptr || !eventRecording_) { + return; + } + EventRecord &curEvt = *tailEvt_; + TaskRecord *task = new (std::nothrow) TaskRecord; + if (task == nullptr) { + return; + } + task->startTime = uapi_tcxo_get_us(); + if (curEvt.tasks != nullptr) { + curEvt.tailTsk->next = task; + } else { + curEvt.tasks = task; + } + curEvt.tailTsk = task; + taskRecording_ = true; +} + +void DfxFrameTrace::TaskTraceEnd() +{ + if (events_ == nullptr || !eventRecording_ || !taskRecording_) { + return; + } + EventRecord &curEvt = *tailEvt_; + if (curEvt.tasks == nullptr) { + return; + } + TaskRecord &task = *curEvt.tailTsk; + task.endTime = uapi_tcxo_get_us(); + taskRecording_ = false; +} + } // OHOS diff --git a/code/sdk/middleware/services/gui/uikit/sample/uitest/components/ui_test_list_ext/ui_test_list_ext.cpp b/code/sdk/middleware/services/gui/uikit/sample/uitest/components/ui_test_list_ext/ui_test_list_ext.cpp index 873dae387..6c7e62351 100644 --- a/code/sdk/middleware/services/gui/uikit/sample/uitest/components/ui_test_list_ext/ui_test_list_ext.cpp +++ b/code/sdk/middleware/services/gui/uikit/sample/uitest/components/ui_test_list_ext/ui_test_list_ext.cpp @@ -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) { diff --git a/code/sdk/middleware/services/gui/uikit/sample/uitest/components/ui_test_list_fps/ui_test_list_fps.cpp b/code/sdk/middleware/services/gui/uikit/sample/uitest/components/ui_test_list_fps/ui_test_list_fps.cpp index 2d65099df..d9c9e5872 100644 --- a/code/sdk/middleware/services/gui/uikit/sample/uitest/components/ui_test_list_fps/ui_test_list_fps.cpp +++ b/code/sdk/middleware/services/gui/uikit/sample/uitest/components/ui_test_list_fps/ui_test_list_fps.cpp @@ -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) { diff --git a/code/sdk/middleware/services/gui/uikit/sample/uitest/components/ui_test_slipflow/ui_test_slipflow.cpp b/code/sdk/middleware/services/gui/uikit/sample/uitest/components/ui_test_slipflow/ui_test_slipflow.cpp index 04491eb4f..836bba03b 100644 --- a/code/sdk/middleware/services/gui/uikit/sample/uitest/components/ui_test_slipflow/ui_test_slipflow.cpp +++ b/code/sdk/middleware/services/gui/uikit/sample/uitest/components/ui_test_slipflow/ui_test_slipflow.cpp @@ -201,13 +201,13 @@ bool UITestSlipflow::OnScroll(int16_t distance) int16_t x1 = rect.GetRight(); int16_t xMid = static_cast(x + (x1 - x + 1) / DIVISOR_TWO); int16_t distance = MATH_ABS(xMid - contMidX); - newCenterIndex = i; - minOffset = distance; - } - if (newCenterIndex != lastIndex_) { - lastIndex_ = newCenterIndex; - label_->SetText(slipflow_->GetViewByIndex(lastIndex_)->GetViewId()); + if (distance < minOffset) { + newCenterIndex = i; + minOffset = distance; + } } + lastIndex_ = newCenterIndex; + label_->SetText(slipflow_->GetViewByIndex(lastIndex_)->GetViewId()); Rect curViewRect = slipflow_->GetViewByIndex(lastIndex_)->GetOrigRect(); int16_t centerMid = curViewRect.GetLeft() + curViewRect.GetWidth() / DIVISOR_TWO; diff --git a/code/sdk/middleware/services/gui/uikit/sample/uitest/components/ui_test_text_fps/ui_test_text_fps.cpp b/code/sdk/middleware/services/gui/uikit/sample/uitest/components/ui_test_text_fps/ui_test_text_fps.cpp index 339f3f151..3ef076614 100644 --- a/code/sdk/middleware/services/gui/uikit/sample/uitest/components/ui_test_text_fps/ui_test_text_fps.cpp +++ b/code/sdk/middleware/services/gui/uikit/sample/uitest/components/ui_test_text_fps/ui_test_text_fps.cpp @@ -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); diff --git a/code/sdk/middleware/services/gui/uikit/sample/uitest/components/ui_test_transform_list/ui_test_scale_list.cpp b/code/sdk/middleware/services/gui/uikit/sample/uitest/components/ui_test_transform_list/ui_test_scale_list.cpp index 1e0005abe..ffa80c2ca 100644 --- a/code/sdk/middleware/services/gui/uikit/sample/uitest/components/ui_test_transform_list/ui_test_scale_list.cpp +++ b/code/sdk/middleware/services/gui/uikit/sample/uitest/components/ui_test_transform_list/ui_test_scale_list.cpp @@ -128,7 +128,7 @@ void UITestScaleList::UIScaleListTest() 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); } diff --git a/code/sdk/middleware/services/gui/uikit/ui/frameworks/common/text.cpp b/code/sdk/middleware/services/gui/uikit/ui/frameworks/common/text.cpp index 498d6dadb..585ad39d7 100644 --- a/code/sdk/middleware/services/gui/uikit/ui/frameworks/common/text.cpp +++ b/code/sdk/middleware/services/gui/uikit/ui/frameworks/common/text.cpp @@ -85,6 +85,10 @@ void Text::SetText(const char* text) void Text::SetFont(const char* name, uint8_t size) { if (name == nullptr) { + if (UIFont::GetInstance()->IsVectorFont() && (fontSize_ != size)) { + fontSize_ = size; + needRefresh_ = true; + } return; } if (UIFont::GetInstance()->IsVectorFont()) { diff --git a/code/sdk/middleware/services/gui/uikit/ui/frameworks/components/ui_label.cpp b/code/sdk/middleware/services/gui/uikit/ui/frameworks/components/ui_label.cpp index 03dcbe8e6..ce6eacf80 100644 --- a/code/sdk/middleware/services/gui/uikit/ui/frameworks/components/ui_label.cpp +++ b/code/sdk/middleware/services/gui/uikit/ui/frameworks/components/ui_label.cpp @@ -276,6 +276,7 @@ void UILabel::SetAlign(UITextLanguageAlignment horizontalAlign, UITextLanguageAl { InitLabelText(); labelText_->SetAlign(horizontalAlign, verticalAlign); + horAlign_ = horizontalAlign; if (labelText_->IsNeedRefresh()) { RefreshLabel(); } @@ -437,6 +438,7 @@ void UILabel::RemeasureForAnimation(int16_t textWidth, LineBreakMode mode) animator_.animator->Start(); } else { offsetX_ = 0; + labelText_->SetAlign(horAlign_, labelText_->GetVerAlign()); if (hasAnimator_) { animator_.animator->Stop(); } diff --git a/code/sdk/middleware/services/gui/uikit/ui/frameworks/core/task_manager.cpp b/code/sdk/middleware/services/gui/uikit/ui/frameworks/core/task_manager.cpp index 61f4f6ed6..c4198fb3d 100644 --- a/code/sdk/middleware/services/gui/uikit/ui/frameworks/core/task_manager.cpp +++ b/code/sdk/middleware/services/gui/uikit/ui/frameworks/core/task_manager.cpp @@ -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_; } diff --git a/code/sdk/middleware/services/gui/uikit/ui/frameworks/draw/draw_utils.cpp b/code/sdk/middleware/services/gui/uikit/ui/frameworks/draw/draw_utils.cpp index 113cc9230..2d11481c2 100644 --- a/code/sdk/middleware/services/gui/uikit/ui/frameworks/draw/draw_utils.cpp +++ b/code/sdk/middleware/services/gui/uikit/ui/frameworks/draw/draw_utils.cpp @@ -411,7 +411,7 @@ static void DrawEmoji(BufferInfo &gfxDstBuffer, const ImageInfo &info, const Lab } else { // to avoid vau error (srcRect is not euqal to dstRect) when no scale int16_t srcLeft = mask.GetLeft() - posX; int16_t srcTop = mask.GetTop() - posY; - src.rect = {srcLeft, srcTop, srcLeft + mask.GetWidth() - 1, srcTop + mask.GetWidth() - 1}; + src.rect = {srcLeft, srcTop, srcLeft + mask.GetWidth() - 1, srcTop + mask.GetHeight() - 1}; } if (!mask.IsValid()) { diff --git a/code/sdk/middleware/services/gui/uikit/ui/frameworks/font/ui_font_vector.cpp b/code/sdk/middleware/services/gui/uikit/ui/frameworks/font/ui_font_vector.cpp index e6ed9e8d5..1527516b2 100644 --- a/code/sdk/middleware/services/gui/uikit/ui/frameworks/font/ui_font_vector.cpp +++ b/code/sdk/middleware/services/gui/uikit/ui/frameworks/font/ui_font_vector.cpp @@ -181,7 +181,7 @@ bool UIFontVector::GetEmoji(uint32_t unicode, ImageInfo &unicodeInfo) } } if (index == -1) { - index = len - 1; + return false; } ImageInfo *info = ImageCacheManager::GetInstance().LoadOneInMultiRes(EMOJI_TABLE[index].resId, EMOJI_PATH); if (info == nullptr) { diff --git a/code/sdk/middleware/services/gui/uikit/ui/interfaces/kits/components/ui_abstract_scroll.h b/code/sdk/middleware/services/gui/uikit/ui/interfaces/kits/components/ui_abstract_scroll.h index 57e7a5c1d..b9fb42fbf 100644 --- a/code/sdk/middleware/services/gui/uikit/ui/interfaces/kits/components/ui_abstract_scroll.h +++ b/code/sdk/middleware/services/gui/uikit/ui/interfaces/kits/components/ui_abstract_scroll.h @@ -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; } diff --git a/code/sdk/middleware/services/gui/uikit/ui/interfaces/kits/components/ui_label.h b/code/sdk/middleware/services/gui/uikit/ui/interfaces/kits/components/ui_label.h index 80bae845d..df83008fc 100644 --- a/code/sdk/middleware/services/gui/uikit/ui/interfaces/kits/components/ui_label.h +++ b/code/sdk/middleware/services/gui/uikit/ui/interfaces/kits/components/ui_label.h @@ -345,7 +345,7 @@ public: /** * @brief Sets the font for this label. * - * @param name Indicates the pointer to the font name. + * @param name Indicates the pointer to the font name, name can be nullptr in order to only config font size * @param size Indicates the font size to set. * @since 1.0 * @version 1.0 @@ -450,6 +450,8 @@ private: int16_t pos; }; } animator_; + + UITextLanguageAlignment horAlign_ = TEXT_ALIGNMENT_LEFT; }; } // namespace OHOS #endif // GRAPHIC_LITE_UI_LABEL_H diff --git a/code/sdk/middleware/services/gui/uikit/ui/interfaces/kits/components/ui_label_button.h b/code/sdk/middleware/services/gui/uikit/ui/interfaces/kits/components/ui_label_button.h index 62c5ec2a4..4f0ff5b8a 100644 --- a/code/sdk/middleware/services/gui/uikit/ui/interfaces/kits/components/ui_label_button.h +++ b/code/sdk/middleware/services/gui/uikit/ui/interfaces/kits/components/ui_label_button.h @@ -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 diff --git a/code/sdk/middleware/services/media/foundation/player/interfaces/kits/player_lite/js/builtin/src/audio_player.cpp b/code/sdk/middleware/services/media/foundation/player/interfaces/kits/player_lite/js/builtin/src/audio_player.cpp index 4b08624d5..5df5ed0fd 100644 --- a/code/sdk/middleware/services/media/foundation/player/interfaces/kits/player_lite/js/builtin/src/audio_player.cpp +++ b/code/sdk/middleware/services/media/foundation/player/interfaces/kits/player_lite/js/builtin/src/audio_player.cpp @@ -23,12 +23,11 @@ #include "audio_manager.h" #include "bundlems_slite_client.h" #include "abilityms_slite_client.h" - +#include "js_ability.h" #define DELETE_NOT_NULL(pointer) \ - if ((pointer) != nullptr) \ - { \ - delete (pointer); \ - (pointer) = nullptr; \ + if ((pointer) != nullptr) { \ + delete (pointer); \ + (pointer) = nullptr; \ } namespace OHOS { @@ -43,7 +42,7 @@ constexpr uint32_t MICROSECONDS_PER_SECOND = 1000 * 1000; constexpr uint32_t MAX_PATH_LEN = 128; char absPath[MAX_PATH_LEN] = {0}; -static Audio::AudioManager& g_amInstance = Audio::AudioManager::GetInstance(); +static Audio::AudioManager &g_amInstance = Audio::AudioManager::GetInstance(); void TriggerEventListener(const AudioEventListener *listener) { @@ -66,7 +65,8 @@ void AsyncExecuteCallback(void *arg) listener->OnTrigger(); } -AudioEventListener::AudioEventListener(JSIValue callback) : callback_(JSI::AcquireValue(callback)) {} +AudioEventListener::AudioEventListener(JSIValue callback) : callback_(JSI::AcquireValue(callback)) +{} AudioEventListener::~AudioEventListener() { @@ -87,7 +87,8 @@ void AudioEventListener::OnTrigger() const } } -AudioPlayerCallback::AudioPlayerCallback(AudioPlayer *audioPlayer) : PlayerCallback(), audioPlayer_(audioPlayer) {} +AudioPlayerCallback::AudioPlayerCallback(AudioPlayer *audioPlayer) : PlayerCallback(), audioPlayer_(audioPlayer) +{} void AudioPlayerCallback::OnPlaybackComplete() { @@ -132,23 +133,12 @@ AudioPlayer *AudioPlayer::GetInstance() return &audioPlayer; } -AudioPlayer::AudioPlayer() : player_(nullptr), - onPlayListener_(nullptr), - onPauseListener_(nullptr), - onStopListener_(nullptr), - onLoadedDataListener_(nullptr), - onEndedListener_(nullptr), - onErrorListener_(nullptr), - onTimeUpdateListener_(nullptr), - src_(nullptr), - srcInner_(nullptr), - status_(STATUS_STOP), - volume_(DEFAULT_VOLUME), - autoPlay_(false), - muted_(false), - isRunning_(false), - isSysSrc_(false), - updateTimeProcess_(nullptr) {} +AudioPlayer::AudioPlayer() + : player_(nullptr), onPlayListener_(nullptr), onPauseListener_(nullptr), onStopListener_(nullptr), + onLoadedDataListener_(nullptr), onEndedListener_(nullptr), onErrorListener_(nullptr), + onTimeUpdateListener_(nullptr), src_(nullptr), srcInner_(nullptr), status_(STATUS_STOP), volume_(DEFAULT_VOLUME), + autoPlay_(false), muted_(false), isRunning_(false), isSysSrc_(false), updateTimeProcess_(nullptr) +{} void AudioPlayer::ForkUpdateTimeThread() { @@ -160,7 +150,7 @@ void AudioPlayer::ForkUpdateTimeThread() lock_ = MediaMutexCreate(nullptr); condition_ = MediaThreadCondCreate(); - MediaThreadattr attr = { "UpdateTimeHandler", 0x1000, THREAD_SCHED_INVALID, 0, false }; + MediaThreadattr attr = {"UpdateTimeHandler", 0x1000, THREAD_SCHED_INVALID, 0, false}; updateTimeProcess_ = MediaThreadCreate(AudioPlayer::UpdateTimeHandler, this, &attr); if (updateTimeProcess_ == nullptr) { MEDIA_ERR_LOG("fork thread failed."); @@ -204,21 +194,21 @@ void *AudioPlayer::UpdateTimeHandler(void *arg) int AudioPlayer::GetSrcInnerPrefix(char *src, char *dest) { - int ret; - ElementName* topAbility = OHOS::AbilityMsClient::GetInstance().GetTopAbility(); - if (topAbility != nullptr) { + int ret = -1; + const char *bundleName = OHOS::ACELite::JSAbility::GetPackageName(); + if (bundleName != nullptr) { BundleInfo bundleInfo; - ret = BundleMsClient::GetInstance().GetBundleInfo(topAbility->bundleName, 0, &bundleInfo); + ret = BundleMsClient::GetInstance().GetBundleInfo(bundleName, 0, &bundleInfo); if (ret == 0) { - (void)sprintf_s(dest, MAX_PATH_LEN - 1, "%s/assets/entry/%s", bundleInfo.codePath, src); - return 0; + int size = sprintf_s(dest, MAX_PATH_LEN - 1, "%s/assets/entry/%s", bundleInfo.codePath, src); + ret = (size < 0) ? -1 : 0; } else { MEDIA_ERR_LOG("failed to get bundleInfo!"); } } else { - MEDIA_ERR_LOG("failed to get top ability!"); + MEDIA_ERR_LOG("failed to get jsapp's bundleName!"); } - return -1; + return ret; } void AudioPlayer::StopUpdateTimeThread() @@ -308,7 +298,7 @@ void AudioPlayer::ReleaseSrc() ace_free(src_); src_ = nullptr; } - if (srcInner_ != nullptr && isSysSrc_ == false) { + if (srcInner_ != nullptr) { ace_free(srcInner_); srcInner_ = nullptr; } @@ -644,5 +634,5 @@ void AudioPlayer::SetOnTimeUpdateListener(AudioEventListener *onTimeUpdateListen } onTimeUpdateListener_ = onTimeUpdateListener; } -} // namespace ACELite -} // namespace OHOS +} // namespace ACELite +} // namespace OHOS diff --git a/code/sdk/middleware/utils/at/wstp_at/src/at_cmd_task.c b/code/sdk/middleware/utils/at/wstp_at/src/at_cmd_task.c index 2fd7bc218..fa62bb815 100644 --- a/code/sdk/middleware/utils/at/wstp_at/src/at_cmd_task.c +++ b/code/sdk/middleware/utils/at/wstp_at/src/at_cmd_task.c @@ -37,7 +37,7 @@ typedef struct { uint8_t data[AT_CMD_BUFSIZE]; } ipc_payload_atcmd_t; -static unsigned long g_at_cmd_msg_queue; +static unsigned long g_at_cmd_msg_queue = 0xFFFFFFFF; static at_cmd_set_t g_at_cmd_module_list[AT_CMD_MODULE_MAX_NUM]; static uint8_t g_at_cmd_module_index = 0; diff --git a/code/sdk/middleware/utils/fs/vfs/brandy-auto-ota-cli/libx_vfs_private.a b/code/sdk/middleware/utils/fs/vfs/brandy-auto-ota-cli/libx_vfs_private.a index 42ce360a15da8e9bcd0896ddf3ce5d58e2346b6f..9a69c8c794c37c0d793879b56952392ee711a2bc 100644 GIT binary patch delta 63 xcmdmUglW$arU_CU#s-E4mL?`98>kz5QhK& delta 63 vcmdmUglW$arU_CUMiwTfMka=)8I%}&e#fpDqKvqD-V5j?d#F%tkX=Mc33 diff --git a/code/sdk/middleware/utils/fs/vfs/testsuite-brandy-sdk/libx_vfs_private.a b/code/sdk/middleware/utils/fs/vfs/testsuite-brandy-sdk/libx_vfs_private.a index be57dc3d8b15126fa135619991c424f04f29cc53..f0d211ee408660761adb60f928e9c0036071499f 100644 GIT binary patch delta 63 zcmdmUglW$arU_CU#s-E4mX;Zx3OB3eiJ1TZ DGa?YT delta 64 zcmdmUglW$arU_CUMiwTfKy18GNrIUT!rAP=925v;Pj+CI*t{VmPZEj0*e1^e07yy^ AMgRZ+ diff --git a/code/sdk/middleware/utils/fs/yaffs2/brandy-auto-ota-cli/libfs_yaffs2.a b/code/sdk/middleware/utils/fs/yaffs2/brandy-auto-ota-cli/libfs_yaffs2.a index 0358ef5a90701876bec7c896a7c8e12db25e7da9..a2b09214dcfd5217d28b25eeda606a29fd10ed04 100644 GIT binary patch delta 2443 zcmc&$YfM{Z7=FL67cLfBTE^)Z(3K53S-F%;xsx%;jJn}MW}*>UF!8nwf{|nn({>7O zTpC7sS!&!|X0sp8;DT1InS=~AGy5Ug7Mz!`3mP?B%r+8?F&obJoc5fShW#;KzT`Q5 zp67kOukShe&ez^~FZKAz)RD}DvJyv0b$P}6RwMIt1B|VJz#PE6Fn$DJC7j&{5Q~fF z0OB$KD?ltfvEqN=o@L$q0}Zfii*QdY&H@v0yH$oqB0RAUR)n<+c;0T{l{(-J#QzQs zF9MH6;6vadPV^Bx;)O6ti(eq~zed}?`-MTBdRKa4c)ypI1>NS;CRvrE+nf<>wYN1Y zj=%Xf6N2A$JfT-C3JL0JN9kH@x7*mu=yFwShpd{ruE+3WR}GuM1y?191T1hj@sech za_6uvJm}s@*PHG_b{exi+3YITdY%g&_nhM%BgjJw-w>^mB_zQW;!Z{12fq;CqUaR3 zN&MLu{X6mfG5Rj?=z4lcV6k~U=o#RTuN683^2L!!FoGI3M6~D`2-OjtF4eWrjE%jP zv}fW{FX4;57S@BlUQ1(tT$iKn}qOX^<7s zq9@)*QJk)d=u|0hf=$corSRagz$$ojc>s1Ss|(P9(|tdv96L*cM_<3fSOK~ZZ1x+r zsMNeE2TvWSWkuNBl7YJZc2kKE14*aZt&+1~aS!$I~CNTiVp@bX|StH#WsJ=F5(P%*3V-*{3bcp`nqF8(}CFxG}Ai(KyCE&7qX$YnpD zxP3icXly4mRInE3i#?xm#eH{hc520=(6&VO7B? z?-|Y$lX3sS0+x>FH<)l@uOVrBGC&>8v*P@$g*}Z+2W^^8(lt_|Zp6U6xNXFyd563z z$vf6#V2|TlDYL+8;Bd-{^PLIRB zd`&uSlvK&Q^`(K;;U%9d?TpVm8_|6J(mhW-FN!*nu{7-S7L93pkDjex2jdjrl26Dtg{(fLywz z`|mtaLD^JYf(ilni*QU#-^iFU1lLP zx5##B<&ZN(2lcnQs4Pn4_SK5?|LNpHXs?xDQkHdw+Vc1tX>vFIb}KiBR#oz^Rk9UY zsNpX}ReJ+>Jtf!tR1-pX4)cI^xiuN!AH-SS6MV)fr$X(Mygnn+SVal_n3zLT7kI-L Fe*x=ccm4nX delta 2380 zcmc&!ZA_b06h8Ns78uY%TWFblbqL)?VWsP6+1MtLY-E`Wnk>!?P?DiUotXw@F`>mU zHZ}%>9nAYfAp>0$Q&~vWHxtwurwIv|u*6N5Yz9IwE~5LvvL7SSbKAcC3j1UHxXE+w z^E~IA`<}kNdEXz`u70fTU!Ul3JGVKUjtPsNdG`Yhu7S}{03HTkE5KTqJ_Hbr>mLHd zWBw{YG`!K`f8gGjY5su$*snA2P^|cX2|REr@CFD^GQyg$)B-Q60ba2Pd>8S*gLh_t zM`QFXaDlOUf>#8>6ditz%>NpV|Lz0*sR=I{lY;lXyu$A>UonJkf4Q{0!m|C1w)$!% z@4~)8lmDlq&*&nK$81V)yBr1BWV5n5Y;Ui`srK#c7~XGp@hcj%dusUIWPHPu$L#pF z=UIyPJf-T6lzm;_ORr`!Lt^&yM<)%M3s~)afr0-6?;Q8KL0QRggJ^{!Aq9RWz9+2H z;1}Z0N9jL^pN!J?iAT=U!Jnif^*Tso(e*mfiHV)LJ$0inYj8}ae6sU0~gN+$Rp?> z1B@XpJTX;qoVJH_a7qKXWAhH!9aE4Adt(b=e@xy4&G^HK1^-uFHyPU`4IfsSaN<;n zlwPM&CypJCLZc(q8UE#+2XAX*3{Cb zoD-ZO=nJm+EyVTPgTCO3?-73JJqWJ&#l&re6lm2EY90+x5WmP)6yzEW?fNQw<*X@t zXV4O_PdOrx-Ho?fO{`k-e9E^l7mj~(!0+rm&iQZ2IDT$3(@IU}RYqJsr&BxE(LaW) zzffIIhos`%Mgvy$r?VD(qTkAn;Oi7eafqTFzomE+m;0@JH3hQTD(P;5!L6dEC)*|+VCL7&Dc({1}{={<1EE`yhpJXbJ41?RM9;2(Wfu`Pwb0v?cTN44=q`3-S$Xc;s za8vk`8YtJT2W#QzQs z&H_(H_!HnFj`t9J;)O6qn_nRFzedZy`-Ks;az}2u^uk+RIMF6VhVxGt=6?ZJmjk`| zd68yIOMTo4HQr@H4&L@~&oIV3DtgUBO!4OOa!~bKIu~d8NU3M4hsPOt?(k5!VmF zuf*5KbvE20{$i5;o%r4)eV=$@KMka_S@r3_1#9@_LS7C_)52t?Z#lYvEH9jdoM+wNYSTK^jCPN+vuB2aj&N6-%@l27bgZN zCg?#2g)uF9;(b)4XlG34NO=RSU0Aon6AJdeu(2r*)&5piiS2%Y8Oe3bC-gS_(!Xm-r8q2&N~n?;fcV%g z%R=KzxdV?psl@*MHuflv?~jMwN#PB|^^aj=uOM&Ll2q*wtMsDx3al#RZCB)RLp7eH ztceP=nh2H>iNYTGcziid_tr8O7WD0+k%#&!SxxBXa|*#1n=^Uym#INtJKrpFd48|x z$MPbV{W9W~6?CDsh0stcQ4oi;h(%gy1pOL`N?h(u6CaAfjV=8GTZ_}30$Ueq|CE>G z?M@YQM#lS3bDoifdk4!|E}ma$z|k&k=9VmgI_fjw%%qXMfOCUpRXgb#DNz^DvVPnY zFsnWw&nbCFc5B%)_&#}8$QzKnseqQRP~*)&nW~*$K)+;Kf?E3RuL+v5~Hx29LqcYTL;zHz&;SD(n$IbI2SHnj$ z<%7`~85o%=Ow`2={~3FBypG?7=_tK8mnA!{?&+E6^b89qWydL=z|sC+Sd$`QQCoEG z8kwj)hWxuSGXf3KdGHmfySk-;rX;xhE7gA36v6TcMOSB$ij@^^J|#1^H< zjd;~253-p>pRVHyF6ZpxT|~RweEahWOC0*%K^~5cW3$?&_OUSkIAMk8`-JE_$N5>k Z+*w62+H8!M=E;`$ACw;*zrfvJ{{;|~e5e2b delta 2382 zcmc&!ZA@EL7=F(wE#ED)g26-pOcjZ(V$d|_&f)U~%KdfahjZhKR`rx__ zcH+LSy!6JH)Qi~NmB(Ji^He*ff{Q$ljY>H-nkGgJl|El{2W9y{h0~!IxkCjSk z^%^aH)>A5V9?)o68RqtMSjy#|0PKW~K?aaXvkm8txpXPSjCQ=;(@`AG$&->Z%eg!% zG~x(b9N1qVFb57F-^DiK;_(hvj!h?oEN3tRyJ=GPHW4?LV?V7{hE@+ntR5y_?Z7Wj z2o>Q=CEpcguY8;>p9+m93ATbDg-)7w6r!$o3wMKbajzx=_xCna51;pL5I2P~bu=mG zgn9`1GFSXo;>OJ(U*?MMmHqJdAalhpA#N+8LZhBg`)H7Y{E2MEA+FQWY^=tYPYPLE zLzevYDMtiXx8tpLfz?RfkNF1X!m+RS`kj4;IsYvY$4;$hda3!e#*9m+3|eOr{bI-l zinI-MND9ubHDUEY8f(SJ2dwNMzD9Kv&rr4FH&k!n(twpOCu8Pd35B)}T3HXaP`!hF zgI2zv$4_WMk2lFOqxQ6wWn&pt8}6gJ9z9fR@jO*GeowUl?@_J89JFfd=;|HBCrVA& zfN9K!ZD?gaX>fuI=p$nhzaV2#nw#L(RHp{uF}f;+)b(1NEqz4W9uLqV%~tUu){c!s z>(qCczkldiy{aVrZ6^3r&y6HTywU{!wC~$&H4}X6jZamis*b$N;^)_wlhj?8+k~#{ z`9StOdm~QG1%?+{t7b*gwjYxe=?c&bwo|8`&^KfW^gUpgQ`7)@Et!Fr5_o1-v~{+C z-%?L?Ny8Vo5I9rJ-%O8=RlE4Lm6+U13k!(VT*K8|@Z$$Yw(*um)eGp~;h*YO5Qb)~h^VRzJgSd_us-2h|DATSSbKa3v%SPp0R0mw0T z4j>T=*8${k%f7_OwC0bo}wP?CfBhrM)Ry zwfS4_Fk|rhj%T#7NRHBBty+mYEM~SBolb{(s8Ds!`6PbotYs5;+gZaQ2}@ngyfPKL zTm`HP54yI~eA89NrZL~0&#qvd`^DgK_c`v?Lv*O&TcY-;gcP_;+$QM<;8)@sC7lL0 ziN7GzzZ2gt)AxwS_R~TVljpUdWq?1uQD!xgFN|D*9+a>qq6JS!a71*bSXV;}Huae@ zb|$1=!I%3?tQUQKrY289?d=5peu6%gpufc1eJ1y8g8OrV{w+Z#bD?8^0)iegATOc? zPk4^<1Z|J#bTMy$#`t;_JQ^2x5VphzU|U?>2pxF3|3`&&dsXo0o0l0YMc081e%(fe zk~bINsRMPa99vqmP~+LbDzMXIWF~TLO9{OdzwqqIsSui_RteQ20}x)jWu<>=1-Id` zCzLomU}X>E)PNLjkcA&7u3v{OgU0Aq?Xqf@P_?0J(8#L&u1-Z3H`L%s$`(?AMk~Qm zBvRN%KaZ@!OM`XHfw@C_sO8b23RdgC@vOq=j`S(t{3TkTuUlFy@M!-o!H?tx9`#Fz zTUOIVV=JM#Sfn5{X%UJv)CB!{k%~OJRxP{~Lj$%C8(AY>>Nc_s{?1Q$Dc}h<5yes65h~B(c$5(6chPOo3Ne9p)niijqzWwz+Gj^R(vI5cbzN+IIEspp~ zRGD;8(na&u*E&{@7ky?`k>ur#>ex0c8#Svc1<$|m2Q}R>s%5*;NoIo-oTOksenZ|S z@|6D94=D_&K^@zK`Dj*6keR(?wvjo39cX6P{Jzh*5yw%-uW>xOwj|B2p!cl=D56Jt z2+yxwq4FdFxG`gFmFkEV;0Js+kcpeeG7@e<=h$QEk`5lBa@IolOzl)HPF2h?(7GQdBIGloy_8NEEQcaoQ6$&JYiyz#5Q05s5jp8x;= delta 2388 zcmc&!ZA@EL7=F(wEij;k@^Q=L8=>1MtaOZ)jcpRiMwYpt$;`|EB^gRo%rq#A2`z@P zu`w9z#oQk{GSEf0R2EY8s-Vs|jU-6I5;tA483@6+i0;Rh{TPY9r|rG{2>WCFILY&z z=Y8JyocrF})AR1QapeQ!;MzEct75amS>>82NMW8m0K=_dPD!P^e78m9LHgyZV_ z0MVGg3=j@acc!3GruTbIf3m%sSt0KP+cu_6z%0=MYN&g+Z zH3K{xV<&+NoNpj_1QDia^DAWj*J%28ALvVrc|Oe$IPiF>&EgxjTu4>_08aV$JIvy1 zvNhCb77h$czMtBjGKCzsMT&7b9eLPnv$A^Z?5x76&MoW^-s^PoO9r&NYx(VXe9fK1 z?D(epY2v%?Qhis#?w(os<#d)Bn>l^qXsY2X)_9&{;Cs(A$2~4kM?733S*eDQ06&x7 zsl`d~3+ZRW;y*|q4U6xQ4((@xKPe8?n;@2j*PFyjjP1@YH<2&KT7ns3ATJmTFPTst zjE(-h0e0fP?%b5dsHzvRr#qLug6D|4CnZ9T5fTuq(0v_C(|*Xu%(jEcm|cxz5;ndE|gj z!ii%ga&o;+kDvCI$Xy3?dRB@#y&aY^(G!53u*t6gGHABp{4u8?k(Akvw|YB@f^}k2 z>(WGBE)k6w!d3?k^2`RI}Ujn;nQr9+-HkaW5Wj6=1hr+Ul zNmo1YixX0L@KA}fqOKL&+46{JJVCJK`z3VI^k@MZ`nGZx$QSqO(s6%ZGxhLU-$qYW zpr(!{b)P^F0bgjZPu;?w-GMjTB~~N5KjIsi6UV>a>#OKL%=vHeIDTpaGs?}Ub!oVK%A~JY zL%$fZ!9sllZIXy{>r%0LFqyUDV}n+95ML!8!!yKo{D$~CE)QDyN&;pK6;si+AuH>} z7UJ93KV;>LM*Nr(M!Z2*8tPA5Sr(QO+i)N82J9rR#dE|i{GPZ0?-JKxHd^&{bo375 z<0YxsfXU2@ZD?g)d1#VL=p|zbKPO{Jo}c8_qzWCtBXm>>sOxn&SMrd)Jry~3Zo{1?*}NPhqT diff --git a/code/sdk/middleware/utils/fs/yaffs2/brandy-native-js/libfs_yaffs2.a b/code/sdk/middleware/utils/fs/yaffs2/brandy-native-js/libfs_yaffs2.a index 36c25afdab9926166644b49f2fa8e75fd5c89fee..d8ea3497d5b72d87d2748ba7323fbf6d742950d4 100644 GIT binary patch delta 2466 zcmc(hYfMvT7{{OY?S;z5EuOt-M`VMYyMWI>c&qglKpEXyL(J?GF}tm+H$*tSGaU*(>aoALXYpcNf6mG78QBJW9hS0hZImApoVO zE(64C?pFY%+{*Ajcz4V+|G)t3<~%%7^OL|t-EWcQmJCm%53A|u0@M;}!2l>CF z6Z6283Vs4y)R`WVTfC4)srglc|Fv5G-7gI3)O*Yci!Xe2pv}RB&|t<{Q-s(9ZKFh5 ztgQ{PWV-!%y^>_8Yi#AKu+3^=ucOmhqwUMnJaj&TpE+yU2;Os6b4b7%@N7F1p@v6|*le+nvpBV4eGw(2)BwcN;-oTKJZ%U5=0h*U48!^JDM}`OVRs0(Z#2 ztjNEUKcdJF$uITOLjqIQ>p{-|e>hxh6Nrl|lVk)ntc_%m8AvseY?k)5(1Z=$xoNxO zs$Ro=-MQ=_`nz)*JaK#P#^tkd`Fvdd67O~Ax+ml4PjUITxSYtvi2-s*Mo5FKNEVrR zA0=_w9?7Xvy$LqP?w7+;F$Isq_Sgd08M7}yJ6`DdUS-==9y;~*b;gR&b#zm}uvw+% zjX8M!XdNrTrsj0idD>Vhc6bDqOSEdS!f3;bp8YFI#bIewQibFI#K&%36&PE|tMK&G zYV;nnvGq81EL!YP6mKDKti+~XL2lKm*zFW|tI*Xeu!?}ILzT`=)p(9-^Js%sGs&7S zSvW)=Pp-z<-a1x;nSJ|d0BPpP3E$f@XvmWrh{^=R8j9UFfVTNSu`IIvrFvs zK?8dZ-y?Q|*l~%?_zZlF4sZJkH68Q8G2a^ouG8ajf1$=q zFG{Ke?|yAy^?1#1(d0*2)_{TS#Nq*qrc7jkxj$&=_5nTHi%x=$XyGUo_TV?fwh~hZ z-g-x6LLC~|R?J3=W`tnIB5WZzg6(Kww*vmpxq!oH;I}xQT3482SJCrU1LV^!J%Lx& zt<-oD0Nj{1xLR{k5AYqnA2j2(!8GNMo)CI-a7$_|`7szwk_ldD7eYhB<5@CT{5ADV zl&8ookSzbtQQkc}7oMGCKDDwW?ERTFt76E)O?GkV6uL6f!!z@2k2cyU+;pE! z>y~0kBDb!H#=wIrE`$%{@oP(M_e}`lt^$5IdXp#;b2Xoet)XGIv+%R^T*c*n>+w>M y+Bx{{7o$^(hZj!ppf-k#2KmRa#CwKcGA=c8Wl*D0UXU)MO1im>@Yq%E`06ial!MCv delta 2385 zcmc&$ZA_b06h8Ns78uY%TX@Ul8=>1MtSyC>jcpRiMwYpt$;`|EB^gRo%rq#A2`z@P zu`w9zVBQ}(!q7!$DhsJv71S+GBMFkQ#7&oM20}0{qWiIBKSrYGwtY+6us_C+n>^<} z&vVYX@8Rvu8{Qq)u6(E+T%TZfIVx<9a{EL<8uRP{7+wQo9|1fF-gbbsFuflj5?9{` zh{gP6fJk^E#s9!PQPcbb1F&Cb;DNZ~1txIcp}-R$Ji!QSBEJrJQ7!PwMc~_s{~f$F z13VIACxHu`Zy=(3c$dyfJj)?KYp=bkPu2^6z(;$=76Qs0mv* zFf93gYI{nz>bOl(oXcs?!)A+_)njL86;5?-VTbTur;}gQpw(T=Zztkw?i^;tH{DND zyz4GicO~uanU!BoXNLI9=?{(?G^1GKd5(eaJ=ismu}jXsz;oG{oNb|P64gg?Ju@-&H)8a1j0P^A50FF9LmC)E zT6kir;uviW>EM(Ga7E|sup_D<9d<<*z@DhQ1TFZ(kpA1hInP&LBZ?mT=SW`!va!zoD zpf9-Mw-VQH3HpL7zFYXA_aM097ZbM>QlM2&sC_sUmspML{+MrOP8|Pwug}qcnDgHfas1RKrj?sdtBkmON~dPFMpU0Rvn(v7Xu*9HH(@8mT0BS5h2K+bz`GRdFdNP4I=XrX@$nJ^Hef3A zVjG&7S00+=5_-v4!Y{~JlIJJ6ImMv@c!aJ>0ZqLD=Sm(@x5oo?$a9svkhNpu@J8j6 zW%msXKcfvRS$m5~zLa;)CWb9^n=*Ve-fy!Mr#$f8o0ztxgdNdl^6_gc>lCX(v~_1K z__G$+>v3V%KeEJHRjZQvehl|i`so|nrBSk#;yM2Q`|MJ(VmZaB{udK?My6u90@i3g zzZpK(C6AovlK)H*e(6XFU|b%(a{#sQj1hF40KZVfXT!a19J}PwpJMqkv$kgDbxA8ce!`Bq5DUC9Qe-t zzVG*)bAGuTF8O^bZS2#uU{2D8Do2&u>2`l!Y-av0fRR-&@eRPeFg*yc8cuZrsB!iv zKq8hF0MziS#s9$lE4ujy8eo@i!98(f0hoy8mu2`R!VOKZDhfM+m$U(|F#>NO{&z5X z4Y(TPGr&bm_7MEyL^wi+#K`=w;rVwDj2N}AWg6la9*?yPkrC@uhHQkFMtOF`V}GGh zaatR=5INWWe7fR{$GBDNc2pN)tKG)B(d%{V2a0sJz0cqm-dZ+;*S$^-1}yV6@v0Q; z^yRZo9P;g;`Kqs+9mPC<9$UmZ|ErOY{NHlF1>~WJ?}@r(3CVDgc#Wd(gP(~%s_0a> zO8ga-{*Cy4mA*~TiHjWr$BydAq4zE_R))R94($d7K_{mmcDlc=sZg{oSHpM-vT^%f64e zoEN$5mlC&^&_rV^q3HpMLMJ`!Vv$C^o+e9!#6jfpV)0dFY(meVz&7KBE`eoTxD zXkvrd9JH~?F#CiHIJVcsp2H7=Hr*nH4oabgpoy0l@k+2%*Fl#uAer`%iM|I7AsfDQ zQp@rsFZh;;8`JS%s8p9pmnTg!7r!#GdORPp>53IEci6FJth2ovl59?8DtuvoSt*;x9=(bb0^) delta 2429 zcmc&!draF^6h8O%C8M;ZAcYBS2dv#jho$4uG02AEMwU6rk|i1eongAnkSq&|kF-S@ z8`~6H4$IHzLZFejOtNg2NHV5wE*eRcq>17q*^4ZoMk9$XGt1&Ux9zX=*RX$#kDGkw ze&@U2x%afay~FPr{y1p}F2Bd)t*r9YxU0_;XS2XIfWajYeh1)g7;6Vu3R6u0shD{a zARX7n0a6i2P5uWSP;~PTG{AoN3hs*E#(@dks*@3j5w0tQC1Gy@UfKw}>N@ax;(rHk zeGWVoBYnUHPCQBoh(MU6L!u=9*J%594~*#5dvkS(3m@_2U&xUY^yOP3Ev~i(`R`DL z{ezascO8!zQ!M#vZ;i)}yIfAzj6UCbJm;%r`|zf(hM(7>+uz6+GVpo7mAUbl{|SmW z{A+F9nOl3OdnEvv?*?!rS;5rFgE`t^YzREVAo6Y?$^%|9#YYBwL!??xArr0;-<-^| zV4nEXDfzF&52oZdi7)PFggcZk`i-DtseYrVL|so&g^_eImJ`gN274kGnu$=6$PKY| zEo{b}J+|!DG}p7(+hb$B=ru9-cW= zhU0y1ZS0J-XzlCDFBkm)xC!fG3?PqY7hXG5BW-#}rRHWg{?ymCGGP>xY|Ir#Tf9n5 z(*_Urudpx=4jtaY*5TaYE>@0hM=S-EanDwo>#*S#3*#r^k6Y+k8WUIeBh`!{p`{E*?P(PxXKbpd;oERoY1H>-#zXIRj66K}gi=!bUziz+}$YH=s6zP?naM$uj*hJ<$Q*njv`jLIIST3CU-`QSm^2`bU zE%vQGSwj0ybn3XFAgPFwVLQL9JnncYe>Gd-sjKEQN)NTPV^I-157+ajT9Z{mvA@m3 eT7`0Tguky;PM_e@W`*bYBzNQ~l&evG{^DPH5KhVf diff --git a/code/sdk/middleware/utils/fs/yaffs2/brandy-target1/libfs_yaffs2.a b/code/sdk/middleware/utils/fs/yaffs2/brandy-target1/libfs_yaffs2.a index 6b10c1323c1cdcfed04f8f29f7e6db5631b6837b..0d4a77c6fde9ccc2ef368ab47c383d6aff22d517 100644 GIT binary patch delta 2470 zcmc&$ZA@EL7=F*`7hr+XGHyYjz>rQ>J~zrY852LE!j@%5W3-dSsWCt>lE|iQQRc>1 zM&Tu?A-VuDN{|>#7jME0nOlM`al|HbE{1L3GF^<>MwUfGbo0G;?d7&%e~cd|dCq;F z=Y7t(Z*NXc`ukME*e40Tw3sc$CB@~=(z4HTl9;yxU}POkd;@SVOb-C8hturJaQ(Y43>dYqCL2Nr-oH}Gg}{h)%Az>SqdYa>ay(bB zICAEE>$8c9GalqtZDmPm7B)NVtP|btN_~H}?vDE@{M=o|W^lz_&cT5Bo(5hVhwYwB z){cXoJv3kU6tEMR;mu%6SnYi|@S*ox?lnVr=;3>!6=4anaEZ86(f7g6#2-;~JX|OK zl1l$Z{E$lDA-=X>A{dxDp9qNz@bWtaB?9@Zd=m6 zsMPEDTDOfIz@ctieNR+vG)hlJ>DefK3Rk*q-m_8el_-5HO2=@iV}MM88ImA9q$N-K z9feW4BBT@Kyal#J)=S~hh`8r?S+cYd~Pz@M4F+wo9}B?PJ`6 zH#&5zA}}{F&v{H79vaN|ANz)J?HVQ`ZLYkVd) zfQ>#ooAk4fxqxE_Ozau_z-QMjQRs*qTJ)KCt`V>K@^o!wZbdu)h2zom6r4trOgHDnS7_+tY5{Vn{|7O+`F>rG0lp*$r6o#&M;kONR|b~kI2 z10WMurvcL8Pfz{_?w57*4>Z7j_!91j-==|yxY;PdA0u2-1S`Vc3cRcZc+EB7O~n5W z-uw)BIwppIi#YKx!7m2F3>^|B@xMmrzk6UTEqpl(pY>Up8(;T5 zM)A6DgRMVj+u+=w002w<0FERpoIQCcUp&2C*87QvQlP-=`1S2THp2$VbK&VXQ zx>#KeTX5HaEw3ZP^)wC+*w_J_q}VSMpW-$a5{k=dnnBe;oB#6+|D}xlmy8^^cs_uY zV1zscIC*(-HANjWj=W2bq{Qk8SaLyaszCa)y=R6zdE=O{&4U+#@B&xWw*kF zXAYO+^pIN}J7WV{hk7j)Vm|UzI|Uj$39i*K3jH+QUxMmm8<`jHJ0_lf_Sn6wUa&r@F#8i9Ks;F5 zXfJVN0|go)mvkR-W5O?TNp}!;l~SP5MrbLEQ4m{qt%-9rO~%F)m)2tcE2_e#xGsKi zk{l9nD7@ewCTG1s0&vG+9j#@T_-RR^~9CwtPa0(4<5kDYdk>gmoBez-s zu$gXB2{pbJqviLgdNcsNLbQgLvL5UhU6*{@!o#C&x?~o64R3`)S&|ZeAJ0vFT9i`6 z_i4&Z|L&;pV^wkKNa{amGLJ2M2BpZ n{Vg6+%ardY_L>8j_{KdZjCPh&M diff --git a/code/sdk/middleware/utils/fs/yaffs2/brandy-target3-r/libfs_yaffs2.a b/code/sdk/middleware/utils/fs/yaffs2/brandy-target3-r/libfs_yaffs2.a index 20d170be81b5b2ccfb229a73df84a29c6a9a4790..548842ca6c72f50fa9b6f2535ac2b26da8d4f164 100644 GIT binary patch delta 2460 zcmc&!Yiv_x7=FL6mtE}EuAMt$Y%3dV#nD~5>egLo7%mtU23as_oFkZ^hOlMEB{)ob z&`szrj&|=%jUd5>A7Un%R;|Hh0W}zYK!7ZG$rwzd212+bGseKg_nh{ecFp)>ynM-X z`aIA3yx)1x$?13J!_31+GyQp~&MHS$ovYgUQE?U%y8%WQL1-G_UKl$7uozD521vw( zvjEAMy#|m7F;V;vTwE~CKQI8hG6(m>+!Qbgx7!qmGU2I>uqcYUfS2q5UTXmECjNJ@ ze-3yeLZ1MaaHNkQN*BTeZGN82{~GQ8?hV5R?e=WtgLj0zxyLQ4LT_$PxXs?)q&mTt z+e`?5-|@6jv8pK~XzLu+%W$jR#$G{>r%pduq`T{R0zdQAvvIuTspXJ@W!`39m5yEB zLe_=*yj$pc!&}adV}V$}E@OlELin(FmWyUkmL9$(>QW@6!6o7~s=g0?CB9D88E}L6 z^9lNQ;(HSGUE=ZmjF7?-^F}Z-z@J_(cL?N5E016XEv$@b$ukk^Vme!{>!AgkdaYU8 zl2R|@OTAXM3j@8@CSOwRoh1E1l0KHCzrtI+R&grH{W(ehmZVd;G%-LS!3280xWrf)diSmkn$~Hw zytxpM?QLKc*wUJV2H#dziJd-yS;?)5Cd>}}(zkO-r8F#!N^r^yKzi-=Wx>g%yao?F zuEn8#2YV1F`_-^JA^aF|^F!D&AShe4CseznY7Ke^1m+BSJ2g4nQj13^TSNs~tpt0q zOkp?uJiHud1{zo$<_+$okw*qAS$**OGa5mR&6&9Qi_~Clh&D@Hncpk^TQjwOPU|ua#nJc||>7`iQ*ghn%H8|5Pu(iR?Pk9;M?A9??cyj0@ z=c(zqXI~l1#&atzINoDQ+msH_NPR^(J7s0h;ru?Eu9I}VoM`l$*br{;+jQ@f=aRic zyG-mUe3!h-W8Pu|~WYu<43bFMq_uHe>mSO;;s(!P!4(=#CL1+kqZ3-D+@xf_-?Jy!GU1 zgRi}%v7iA>Y&{mBO*c+vZq#fea~wO+#;yhfUvL4((8RBDJh-Yf!=<73tpzBiM|uFy zty-${r2vSSHM(4PzzFaIz8A{I4Wn7=p%*;|J)@6is#f?+=<~F=8XlX@S5-9Lf69@e zT6iWz2kC|Rbj5M@&df$;W|?2BIMUIY6B+u2wQAxPwMFKyuoG%uG&McPw(HeYgpTR& z3~^bJ%I!;38T_+`3z428elfmpq`ic{9e=(EMXtrG${-tA^;mTG{=_w*TZochV x#fpw|XFm_c$C2A7Lj2>n6{PzKkvEU<)8@oZ+H8WCH@$ delta 2386 zcmc&!ZA_b06h8Ns78p>V6y7rVM(8#QE2X3D#y*H-BgC-5Fh!eRA@jdR^S^tbFFEcxWAMV;oIbbdQbtJ0zu#ddU$dpLHe}(z zu;lyc(37cQ$8D10oDN$7wph%p0XsWgIMunC9mac|4t`08R(Bo0ortfx^OzOia6d)y zuDe{@m9)EOR(>gyWyEJszke)4cMfYk&oc16>zU&oC#WM4t`V(PB_zSm#CL{t3j9L+ znF##{@naGC9`W#gsqiQ1aD6Jov&i~Xu@d9Eb1PHH7h^5K0C7+d)WS<6R0g%)pVz@o z+}E9--V{^yJoa?wvzPHa#V)z)YsY1#0SPQuhh; z5by<8{Wju;%>iF<)prX&_#FgS{ZitVVhS`G2z3wpDTrTWDG6|$j%Gs*zIaN?-WssP z=To=vXSd_cc8S%>?vMCJ=D_i<_xkMpM>zj25yww&V0yXbjK+w|r&G1|HS~`m8!Xl~ z(k96`w=M%~2Gdv@K00V-2k{k(V|bRL6~Cc)9hV2qd?g99hDxbu>yVlCVk^bl*gs_E zi+cQ+5_-HrmJzjQ%q$1XDOzwJ#SPd=u@28ubmI3E8}Tm1ddx+$ww|uuL42$%0~;}o zdGQdMnO7c~hKdlcbS$~U3zLd8|6GIldO__dWas^t>Px^otk zoCWq;oa#E2ktNoq2}@e{V`z<2p*OZmr)FK^eO3DJv#*lF7VWCMkifIDqpfp={AOrd zmppQTOUl_2{(8Dv<`n%XH4c6?Tqc@nWs0YUYq(nH@_zwkbQ^DN3VDkDE&fTkFJ*R& de-|O?v_(Uxm=2PZ(J5Y%6|$7sEBuMee*uv^Mt1-J diff --git a/code/sdk/middleware/utils/fs/yaffs2/brandy-target3/libfs_yaffs2.a b/code/sdk/middleware/utils/fs/yaffs2/brandy-target3/libfs_yaffs2.a index cb931824e9043a7d68e9171f1724e2d50acb91e4..2ca681e206c6932f78625e006f0122c297b05dc1 100644 GIT binary patch delta 2470 zcmc(hZA@Eb6vxl=wB^l0ZwqpP0Ud16$;zOhl(*rSWJcZCLT1#6ESPMXWhEF%hM2Z< z;KoY>l!IyF<}#aoa0VB&YRyCfYG(F9vMmIoK{hmMwwS#n7-QI+=iauL+lGBHzC6kQ z_WXb6|2#dtx!iF3y_8dDQiih<%1dpfcDud&{d^;HcL0p8BL6(Vy)F!m7$^2VQUhxLpstj_SXo zV@tr*@_z_i(&-+OTe^@Y=Vg_>J{Q^ zTxMe6TgNj71yM-UR@utdVyo4{I??H@iW|t&-E}^RA3LkrINoyFImBa;tAUp$VY@4r zwd0U$4_$A#irEzAxO3PQtZ}~(IOV>;-6n{vIQWLj%7}$TxJ-40;_riBsNSadWVk`~ zK9&ES>LV(Dm+F=C3=q%Mc>@?2;E#ukZ6a}LWsyvvg$-dZF@aPS_GxlI4jQq(+ict$ zlX@9n>Nc}3^md!;dt-WU#`t$*{Mi`)1>Wj5yJutQPciNZN4NTfZ5l0a z$i=fqYuF}iY)VIcZ!0UowqB8$iB^OXCL4ab6VW3Uu|0tlZ~n)1>oMJD#Cz9yMq+k*xW0 z35V$8k#)GxU&E>}Yv3S_JTg$is(sg=)rju!oa)10qz$H;&}ONQ%#)TmvMspKA+oK$wvTub-t5q^%D|-O z9Ons1cx0%ErQyX5sW|?Mkhm)epqBRK;o_{BJ&$*WEV?%G)pDYCSYRI9F>KMjL#$F} zC%XjpG`>ab3b8?%%?}HFy&kU*7wX#R0qm8b)hp27{${TQ+s|oPuFQsC6}aAjgWf`2 z8a*f}GQ9bfz-sY(uSJ)yu_2+zQsRiXvc_w9Y80+Iwd$k!5;jY*mh!C z-)nDZQc;fr+m1PC(Tx+#2*GB85i!`1z|%9MNM{~jP@U`$gB=C@urVr=X6JKC#@Cw1MQNa&EcjF{*YHR* v)ab0^`<{zNw~ukZGFT`z;pZR3AkS$&V~XC`Il&9lSI`8{2!3{nKm6ri5(0s- delta 2382 zcmc&!ZA@EL7=F(wEij;kw$OI+jnHirR@x4_jeQWwMwYpt$;`|EB^gT8nQ2fK6Iu*o zV`DJbi@84(vZ0G&DhsJv71SB0kpxLt;-*VB10fiR=zg&5$4K-&ZSQSM*dOD^NuKvS z@AE$A-1pvla^4x$u6&^FTc6-?ySCWfPS;p|8uRW47+3?t9|AlGz7~MBFnI_d8rR!fN2<^T2l!|2ued z3V1Yz&jJ@1sUvtrAWYEa*GT-Y(eUp+(4QRloKZgTWqyzOiXlFH{H3L3X7M-J>Z+7F z_70f*KOKEi7g0QBQ=GfPk&BHsE33t}wyikPwv8RbduY0zB2D(|xl{O@{axYrHxNQ4_i%jFc3;Ai4{lspA~ zA^uEM{s-}sQTaXMk^OY=C*={p4&qs~Unf>#d`DK9j&w2B6Z8-Vx#3)Bsf4m{t_{{T zum=xzS*szpkqiGz~Cvv<~tNgcC|YXDz}I8P?rX9$JQONE5?uxdt(i-Kc;SiCj8;Vod3(tn~ZIgh7PMtICiR7 zO089?@zbtisr|4@%}Ox4tJPd8dIGQ$oIwVVL9-2KPgQ7=iRtaQ*wtDX_K8XM8HF#0 z0*yGrb_e$6nV18IPVZ$-TsYmzO0nUL$>IuHU>{BL+6LnKQtYMbmQeLrRP{LVN(X*% z##9zQRN}12YsGf9TnaQEC)o0W6xwNeBp)^1+qoO0%Li2Hc&NLPdibn+vv+IAQ$v%y zPpF5GF1V~W6W4DG>4M9;N9f`2Ah@g-5w{gkpixVxemF=$ypgRi#5Ee4^_BSIS(9Z) zND`k<-Xd7tg|}NwtV;5H#5c1F9R2!$-_>)R^WPG2^xP(vSxg=&&rPAD-?%ukfI&Gp?DLQ`mB5<2{ZbO$h4#1%DS+L;vMYi zxAJ){eoO@|-Xh6}>ho5Xi6smngdNdx~{6`p3BmeIzX4=Oiphv*X;F;!*+ZrlXQiU2njd;)m2N@c^yTOgS%LEm%LW zQMt1Gy#r5cl}j#Vk(vD|Z(mGQ>gX|N_@{i|W=0fo?Tt;Ar9`i?`1y^Mb+X4HR&`{~ z1v2N@YjKJi7+PS>sz|C`WIsmM1b$y;?HZ*jZr4E1efCvyM50{-FC_2`ORRJukKa}) z-3*R!b6~KLzn&KBs;uDGm4`b;FHJ1qt>h{$`SW{iP}@AtLe*RC0VjF*!< zU!UiBpL6=2FQ=z>KTJPzEZvurTvg$ysBx`!epHyj#4do*MG%|@xF5z20xX8pdjaBc z@f<)RX0HRpLyQ;y0~Z%`^A9w@uFk=IF*gNF!ktzHqD**lJuHfXPT)nmfIAJq8;JiM z9GC+hkKiZ3B^>P~h|+^FL5p7?^S?&hzx#zDgLY@8a^Tm5JlQ8KszOh8R;bn9)~Gsx z<~vLXec%4HQL(BiBxq|KmCJCu-Ns%)x4T9^P@uc#egZ#p*RpZE?RIiV!V*stuSmsC zPd@9!Vb3;t-t?5R6PPFFu`5_7z7RShp5vk!l%a=jiMkXCDR7y1wW=S0Ux{x}bsF3x z{(PMNo%p^ueUEr-JtHKs_`DH}4DhGdOC19F(#Rp0K?^IRTJlVUnyAi{>w0L$#vW_N zj)c_9_)?FR?LmK!wb7eUdnZAEkf4tz=&$g0k5!yXaDPtFza{8oE_Do$PcTCUBwErg~bnS#`$T`JPh6U=L6DsyG7UV15(25cJ?*gBl)64?4c$EUmmZ*}RID>ONH ziu2@D+&5gpGV%OM3yyc2QnsW5)YH5IoSm|==Wu@5rt2VGD<|rGCN_whd^X+tRl{Y%7+I*mM<=7nuEnnreH7Sc@iR(X{aVRd!OH7fDUev7LG~6{c(Y zJ3~yCC3E`{RR;d7=0do;fM1HO8*VG&Z^!l*rpWbJRcT~13qM)UHC$QBDeWTM-N1J| zt5}hC?jGR5SUd9ci6H+tW(DZ`gz%e3`5Ch^(<%Lvgu5qrQC7T_9iF_v8@~Pv77Ki~ delta 2386 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 YEg02e@xvu$c#@Z7g)L>~3V-7AU&}p3YybcN diff --git a/code/sdk/middleware/utils/fs/yaffs2/brandy-target5-r/libfs_yaffs2.a b/code/sdk/middleware/utils/fs/yaffs2/brandy-target5-r/libfs_yaffs2.a index 2fb30e0be970f0ce17fe9232264974c3530591d6..e9e4ba9e4616c7c7eb8326697c4b3becf04f8880 100644 GIT binary patch delta 2460 zcmc&#Yiv_x7=FL6mtE}EuAMt$Y%3dV#nEl;roC*VVYpya7-YeyagJbu8p4(tm*6mM z(M{+sj&|=%jUd5>A7Un%Ry_un1=L{p0Rgh$C1Ws+8VKQ%%oqa`-*eWUcFp)>ynM-X z_B_w~eD8VB$?3N{A7&punjI`iueI52ZkN;cQE3kIcL9tng2)uWy)b$JU@@H94Umir zX8}?%a}6LF{$%k#aQ}j7{(%A5m07qaW+#D3xZN6uUnV@g0Tx9`C-AZzz@0ka9^!uo z`)7eCBk~Dw2}gPfe(6FOr{?F${IAjW@7^$~Q*Y0Weee!f)R%wUq$u>|=S5qsZHlKSag4%7bS%zD!7WN8yy>9J5iRP~N3H;1k$HwrM*U2FbD|}7dmWiFd zV%CZKd|T*x!&k|UW0AjzUB-I<3(>>=v)pfl_|n3+L|t(S8E}cXL(%uauf*3WIty+P ze?Ce7PJB<2zDqpOPY-DU%Xt&5Sy-=uM-~L`hm8vZuz5jUfOb65`=iRfr6zjtjZ2JGpl|Qmuwk7_ z&6|qx*xq_ph0QH_s0(am)z}dbn3-J1e8OnQF9SQ5R7=CssDxUX0Z6aix-2}glsoXy z<7yo2v$F?rqE88XlERM>H$H^T{X)D|TT-=CsyfiuFR5$Z6Y+4$rPj^tx}PemS9{hQ<=y2YNeNA@?hJbz}Db&m%!GBJ3i$Vc(Y5xT+xZa zlbok#;+}mKEEmtMG~rmcA!Ab}Km+Y7!I?=jdk*LJSu`D_>*Pd3(7*<9L(rmmpFEfB z9ol7JPvN`dT_$fx_NIaczCwrBgXNkI`Tzs6X$=|Zx4$}M!OoLvRxEqLR}EaJ$DvTU zCYL^xY}vf|je#}b#gIi)s(6LN2DTY1hbB%@DLv8y zcy85FO&|@xk2xdDH3#$nKj3?jT--2{qa1qk=b(4w(QL(vo{4;(5m)Z$(CAd5qUPg$ zr|emZg=ZpkkY1R}j5$tQ&-9EqJ;Q?PM25~^aqt(`qDok_O`N;JPQ>>)+|ns6PR+9I zS|ugYG5wt`A*<54b%`Rwe>%7zc9-yriN0c68Gl=OKDS7bYl*6S3mRl26Q6A0DjsX) zv`J4Pc6<1?XO-@9_RfADNsJ>~;}QOG!V1&<1o6!y{IoIAjQ*2|-Q&D0FWJf$C(d)v G*M9-3AAJY_ delta 2386 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 bNl#lehKlKjOUmdJFUnA@YGw8cf8z3AE{jE> diff --git a/code/sdk/middleware/utils/fs/yaffs2/brandy-xts-r/libfs_yaffs2.a b/code/sdk/middleware/utils/fs/yaffs2/brandy-xts-r/libfs_yaffs2.a index d3333348ba0b8176e36b3628d546d26b76b2c82e..22f84d39be221e639e28f9e1656c9a7eaa710b19 100644 GIT binary patch delta 2457 zcmc(hYiv_x7{{OY?PV9c^)}aT?7{|Hadd3$WLvk9E-s<5sJM?LxQPp*~oodfU}c*fa>^uT1a8?ycVa)bY8k(`Ot5Cl!DfI@v z-c`u4<@PUxGU9nW?Dq_AzVhmXB`g|Ra9>|YbqtyL&_QvsgY zU(Z%xb4xaAd|O!scKA%JkZARM!eGPmzMVN0!mugxhXi92{N5tMT|#O6)yg zV~^wLfmqln3$LTvuo9blOwv|uvaU<$R->oK#Hxax4n;OM*5GN%7Eyy%3&~n6mavyT zo>+p@J@w3ixd(UB$o&T^SY7be^9qwUI;VW|*XRU8{rt&7EzR!{cr-865-+9Nx|9yI zHj$c2#1e!dtwNKQnq*idmSQcPs}^pG(TQ!nCbk-(Vx*12oWiML082$X>#^K8vb@e4UtR@atGFZtz=F9}%k++3`I( z_AGu#>?*NCBAfE-_)-nt@|UVQ=mGSJ&>GOuZ+}(5g03+oD-fCgO&!;0@lc>tl|>Iq zrU>tRqhk&DW5A*+j(9rGuTDAk-1f8+q2nD!A&2zC4h$79P&Ginudzm)*R^pzgNOUoCj zd?^54)DJ9C9n}K-fG0v(xM4saedh&VbaHd}t$}r!(o68{WKQ^6=tNpVU~p(GF9G<* z?HMva@6pM*bm@HUSZC}bojGIyPwOP3LIWNMaeS0|8{@3Hfm z1k#ksvvU&2t|C6Ih+RF>R>I%c$L*ih{ARq19&@%Z%0?D>rhzNCl(XZvAyZ_xlW%)L vLN+mb{|FDM6VXVBe;P+Yx}GWW-bsGJAdk^zBfKPALU!8B92vdLonQY2ru=+V delta 2371 zcmc&$ZA@EL7=F*`2VbRyw$OIM_@>(^taKf8gMARmhRd9|WM*c7AsM<%G1H(dCbUGx z#>QZ<7ju6&$yOygQ(3TTqoATrBMFkQ#4Rq_41}N(iTfehk1gtZ+uruJVSkJtCwZRp zJkR^y)AzO~gttbu_utbFtVwjZoSPjkhkYzRoq6^G46Oq12LKO(uMJ=|OdSM}?zk}DO zfy?1N3tYtI27*T~F9&)kLb; zKVP*?wJtMr3!3+tOsdrBr)EBYF^9%$3+n!nOae=gw;0DPG$wCVJNP1Vqr@~L9 zpO*RGNS~DXyQHJ%>EKWD(S98yFnPaDd=eA7vdeXpi)#%*4@$@ldofERl!v`GSXaX? zJkXVs-Wb>QEOvM0uorQJxKqfx!gH8c$hOfoj;a$mp6R&$TXB9l&I1=eA7Cv(59weG zdodHIDvtB^un$dX09S0?0Xt$EGGKRX1MH2do1g{1KQZtBy!$3&>xJP%3KNcH`|1Zr`uT>Hk~n9oWT~@L!0z$6KQ=J_EU9psCrCRJx;pXfuEf* zm4`2tcvqxn#p7(bM6~u3Y}{qQKIz@)*%IohqfI&| zG(#vCwUi$rt=}5TMJ?rSF%N$aqL%Vv(zXI3TJ?n5!k`54jci3Btya^nug2%knk?Hw zk@)pVM+B=o@OGPt)d=nn`9@ZWqhIawJNu4v{%aDBp4-5*Li2fr5tq;DRL*4j#gGjY zs2b=H4bHAJVD&&6JA#i6SlMBGiP(#85Zm!<;+wcUVCDByFmte&nzjvESr4`l-@(2? zD__v!M^w<_EsBh&I&WoJSW0Ze1H>D!gSZw)h+X&{aRaUp*I_nVRdsar4&&n`25i7I z=EGLBGM_Lw&Q0i}U=cs1U{RPG=hjrG0$?Xym3*3d9nO|Kq-sk5XcuNHcmZp}#-a7m zKWY~L$j~F&s5kpHZ+esDe%kjAYXP4J@3 MNEDd4#-F(Q7q>4-7XSbN diff --git a/code/sdk/middleware/utils/fs/yaffs2/brandy-xts/libfs_yaffs2.a b/code/sdk/middleware/utils/fs/yaffs2/brandy-xts/libfs_yaffs2.a index 5e8602dec7ed92e633899b2214436a8bb612c417..ae19d6ab361afd0bb252bf4515e51835f0acf9b3 100644 GIT binary patch delta 2463 zcmc(hZA@EL7{{M;`ofEa-WJ9M26V7NCo6-3LU|d1NoLfIEo4TG$byN}EQ7E}vWaQ$ z9Juk)FyLWn;^s2RJ~)F5TD4{p0%~UX;Ib`<)8IBVYPOhdBrL{kZa(+6z1%kJi}B?o z|J&#PJO6X;)0^9q-hDsunhVAmGmfm)maChJaPSdvok*eY07*=@jccLOgo0k5X| z@95|vaIHo@0xs)R7fF&Yq;cB(BEkP!P5QdD|1iw=;_^r*SwRnLLtbVAsXXM9m3br7V{NC+ z@={dlRov5QV;wlyX{+syntLnCzZd1tMENgpq0=VKMA4t4{Ou?o%jJ#%vPf32Kt{;R zO#UA0qr5BR6P0`t)I`n~!{ZTw6|glj0NW$xMQFjPt{-*I9mW3RZ(d<6A3cXQ`h-n7 zJ+I5cGlweKdaQ3qK~r}#E5z1rk=clr1`}2%e%`$|tx#^3S|ybz6@dKM9jkm3D|soN zcuJ4n9w&PQCwkOywI=)|)z(L`zE=!y)ufqilV?lO(<`zPpQlxq!jsDIG-b1Cf<^<$ zk)xEbpFSR2jhA~XSvjWn?WLB7`U+Wv@5b{wQ3~~`-TW0=V66-;mg{i;9+`*oavkP* zR6Ewtg~m2gU9M7s+@wREq+ujkHz=i2hu0eAhmur{OsQ#^fWX(7@Ww!%p_N|1ZUs691^Vr87_?*CSv|{A*ud)oH<_`2 zFwc-oFG`{UZ+#`OD*R#4Zpcwt#*o0aW5JN!P$V7!i#Un`zs~Xay1WFJj-Iz3Acwxv z!+2rcN<()HfP|Le)rMncfba30k!0L5Y*7!r;5q0Xej+i9T>f(-pT;e@{?WONnBe~i zCr-7b`g^9G2^t{!FU{VI4}oIbGc9&5&IcCfS%+Sm3V45E4LUV8HJcW=ca2TPhi+8t zl+WnE+#=g$R8fEq=}V^Y8eelZ7Xx*%JS8oR0)%d>n+5~zx%_}79FS3JU_}}KCMreU zY-NFGs<@7;*@X()e_u7<`GSg+Ti!j&M~snZe1w0vgp`HeQ~aD&O$GNF=XoiSX#66t G`SLGBrF~QY delta 2385 zcmc&$ZA@EL7=F(wEij;kws2wcjnHirR!X5|V;@Aak!3DuGBYzkNrn=2W*U^mgcift z*cc4@K71SB0kpxLt;-*VB10fiR=zeV3kCEtm+TMPJ{V{%=gKr(ZS&Gx_&BEZy5=ZKw%K z*gqtBe>(i6A*8s|r5Kmfo{P;^3#-SDjw+n$*uswBy$&b8tV5f-mfw!YSKZmnhHto^ zqIlO`qU}uB(>*J{l*&x88Po3{H|fq}jptbg-giB7+~Wdu#KU!>m1+tJ@H6pU!8{3m zA^uEQ{s-~nVfj7cq5TZ-C*>i(0b*IW-yl|EY*$v9fpjs}6O0f8xq)10$%L{%uJ_e- zunYHh<)k!5xt_=Ft{nCzCgDF4lpJ-t-)1YjeS`xrnP%~qU0;nXD(Gum*ur@b)X6O-yQ3ttWe z8Zm^ecI?lSm>q{t?q=nGNuIjDCja&S>;HvHxdf+(-uIfd^tpyZl)DvnS_E8YO$Xe*Vag|ijNLh*dcs{;wYY@Xv1$P-oTXs3tvsZw80`WZ5y<(9&Dj_8~X+= zd{K`dQ$de6Niw7Mtc7J_2}LXJr??3_DAwWyiZ1+~Vguf#Sch3?(bmz`JA{uFo3H_s z*%%&13mcOMC%J@UBrM_QBrM7EliZTz&;abDtCCM$Z@{_YhqP_60PXTzB`;uY*f_K? z_{sA24?V39X0m>nN#3NlN8*DLy3^CVGh^Ro1{9~w_uZSAE=!6H{5O!3mRW|EUte9P zdhB9VSLT9}xxikF398EQ5^L3jQabI&&>Dq4v7NeLRUD)A-Dh7Vh9ufmc_EIcWkgEn z^Z2dMw({^rE-B{<`RggFtz7h@R6F^#psidq)4~)_HP>*}=kPrMWn?>VX;igxMgJE6 nB-mHEGCRt@3#JZ*PFpmpW(OT4DI-(7Fin*zl-aBNi7S5r2<=8g diff --git a/code/sdk/middleware/utils/fs/yaffs2/testsuite-brandy-sdk/libfs_yaffs2.a b/code/sdk/middleware/utils/fs/yaffs2/testsuite-brandy-sdk/libfs_yaffs2.a index 619178495ca6f69aae938d4831015cfbb58cfb67..36634269f2a82849b5add99507fb0f51deed6caf 100644 GIT binary patch delta 2515 zcmc&$ZA@EL7=F)zTNv_DTBLMLpnMgPLCZE;V0LAq=v)|*X-rgxCQe;s!T7NcDTM)B zfz1`(xh8Wzu)o+s7PN6SWKm$cg&!JNmT63IWr-5`;pfmLi<$3f?}bal{un<_^4#-0 z&-oS?htDN@*J?Ictd`2k4|4R(y&vGjD)5H@?uL;efYmV74WP!gs{qlM z`x!tDw_5xU+`Xckf1m;O!!5WgZhj3+;C8bDcbM>aC#(w78^8-%f!nme9mM|*-n#`{ z4gbf$1hGrT-v)Sf%d}U#^z|aZH_`0x1k|{?K}>fqXI65_Av?MY0y2mQX3{v~XMl z_4sgCcIt~!S+C=pUD@m)zT1^uh>Km>?yFJmcTsvVO2>22F+dhU z2dS`5*1{9-Q5vP~vQ7@?>%qA)UJi9D67Gc^D-&Sninsw<@bm5)G1gt>0e{bR#)|RK zk*zrHiRHCf_{ouKR*LnF>8SNQZ!8l%0ayqd!VDmt=8|m6tDq$kv*IPsK30Z~UIWYV zO=j{69C|z!y}eep5hr{1x#bcLRf%oHb(BBqY$RS{5;j01p(HmLCY^7M%)Z`_xZXEi7b7t{_Fb$GXpimZJU#*Yju+$5fqbbUfxZvU9?xShAoH4~ zy;QIYXNvUb^lI5re1g1T^6WTpFpoWr?~@LZekYt0@@jd0BL3nFmo#Z*f-Y*Bzv{XEn$~g&QbmPpRnQ!Nq)kX&swQM_@&@7Eoeg>M_^w><^D87bf zwt&oUz){i*IDzIQdkjDW)ykzZ_v6e1nUW_Cz>TJg_ZnKF**$7(Vd8ttrCvDsqbeZ_9QZU$D zz)z*h(epO`qY^;xNObOL!ftc$-Os6v^QXCgX@8M0?&lvWhL3hI1_#dY XFLbIU!L|#$FkLZ1bF}6PcYgL41E_Zh delta 2366 zcmc&#e@t6d6h8Nsb}K&$w2Zc7qb;*^(~gx6XtyB)MMiX)K>TA%7!EThYA|RPkwsdN zDUdFvct{$fF{92zBAHvNDVd8wG>aHx$`ZG@M9qkz5=EBGm<8iJw|x)ZYuG==A20dN z{mys3bMHyt&FkA|41H$|;Ub;aUs37xpR=1-unAyv4MZmaZik8I0M^1xD}WN0CjioM z?Nb0Hg39E7;6c?i|G)t3rv%&aS2i(~Ryy{2bHN^i8UP}O1 zA{quRFn*X26oGJoHorvTe~q?(_rO?o#uEk7b&ox7nKns0vUGzL#oFAhb#ig4^VwX9 z<5Z_bTj}?C?bz;iu_o;A-HB7ZyI2=4_xkvh4l4rnd`XYT1I5gPuLd5bcr&n#^`R@c ziJijxf{!tXy%U_}K|jck9yI@uQ0TSK==z^52QC?w1RNyOawpk5DeSlNpzdA7&`}oDHjBUj?2JeY19nfg;`k;qx!~HFV=pSmgl!<8oJcJ!d z22e<=8^0g)VQolDFMe^T+bP+^BHIdt&6euPpk=ogUv`)o#Rm#;a=4uBz=h%Na;dXM z(Rn{{V@0Y{aCyfzp_fG#AJUlHD^ukzMVUUzQ0-0Wg3E2<2AQO5C%CMO6Wn$R^t2G% zjwFRXTJ9~u%+PM;$A(ZhE5i>%+u2TB44JLcxMCD}pAO>2U08h5Tq9KjifSow_ht(8 zG!g3WNKz1!yPYYnqs3Sakz0E;8@#5wQ=<6&Lu&o~MEVuaQ)M`d3_RBbHNi<3WmdVn4-t z9H;2VS&FTAlVT$}(4}pp%XkEv?=sencrypted) { + if ((attr != NULL) && (attr->encrypted)) { hash_crc_size = KV_CRYPTO_HASH_SIZE; attributes = KV_ATTRIBUTE_ENCRYPTED; } else { @@ -108,7 +108,7 @@ static errcode_t nv_async_update_attr(nv_key_map_t* cur_key, nv_key_attr_t *attr cur_key->encrypted = 1; cur_key->non_upgrade = 1; } - + /* 可升级属性支持属性更改 */ if (attr->non_upgrade) { cur_key->non_upgrade = 1; diff --git a/code/sdk/open_source/openharmony/base/startup/syspara_lite/src/parameter_common.c b/code/sdk/open_source/openharmony/base/startup/syspara_lite/src/parameter_common.c index e20e12fc7..39724f2dd 100644 --- a/code/sdk/open_source/openharmony/base/startup/syspara_lite/src/parameter_common.c +++ b/code/sdk/open_source/openharmony/base/startup/syspara_lite/src/parameter_common.c @@ -41,7 +41,7 @@ #define OS_FULL_NAME_LEN 128 static char g_roBuildOs[] = {"OpenHarmony-4.1.7.5"}; -static char g_roBuildVerShow[] = {"OpenHarmony-4.1.7.5"}; +static char g_roBuildVerShow[] = {"1.0.0"}; static char g_roSdkApiLevel[] = {"11"}; static char g_roFirstApiLevel[] = {"1"}; static const char OHOS_OS_NAME[] = { "OpenHarmony" }; diff --git a/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-auto-ota-cli/libams.a b/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-auto-ota-cli/libams.a index f7dd7f4ed742077c28f2b78bd471df0d68d8b7f6..af06f6ad3bfc5e33048eeb52f251808517c7e745 100644 GIT binary patch delta 20933 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 V`d13^SCv%*Wv;+sw1W3H{|7%7`nLc8 delta 20774 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 VlkL+(-NWeEyy1nVt9j{oa`~ z_cQ10CX2Q<_+V3mrP&Qi%1S#GmzH!{mVbYAwh&|fOL5@`Lj2Mgz5gX4{;zR&jS#;y zzOqXQH@@+@5KfH7$dTuS_=Qo*HRAs>Ms)#&lZ5=g#Ln}D{IAC7f4jh6SYGtM+L~W@ zaa_B--<_uy3i(s<-&I1!WBtd$4Q=h>=~TZsJSio{yv5XJ;z!)(~{JsbLTQI z_rkVve*K5#cPDvMdf%yngXJFY)I+)6wu7PiW0g-P%Tn*bepym@;r7|}ANBhemb(oD?{j=Kbs10kXjBQ**`H6-|XW z25oCKr&KoccGq+~yC74D5t61iO6B=pqfu?;Y_HR(D`bCf0X~~~e;Rc~;8=67uy%lK z;N4u?9#vUe+bVfYju4x?mup+eC%wPdwn=_ANr+T0uQ=Tck4}|udOb$BNiIzmqM3I< zrF%1AEA#G#tqitY-*(WqeK@*JU~;n8vN+RgF(#F8WJzJ;{ZJL92vLa2cJr2%G3IxF)t!e@W0v}s z4=l~G>>}TPaChgXt|hBJ@6~_DhR`3d`tEPO)5vPdJYKcD@>d8@vSRQiGQvy~oG6vIlUlaV$rApTP?03WL|0bRE)%4c=hV zjYu~cyxF8%kUnbgR+Bzv(rri|H+VbO5nH{(q&tz;8;qNS*lq9=Ox4q6GD{sUlP#X; zB1b1@Eq%UW+m-WLzbya#r{X@W?q{=wxcY#)wOr0k-to-YeKzko=VG~|@y5OVWrIL_ zp|%c|<a{h44H{bh0D>$@iK?g_m7$2=-31U3UdWZ+YZ2MyCn zQ1nXRl?nWk1YVWEIbGu+C^%)~AsQ5%xA71Z)v-1PV3y*cxDzNS1|{&p34BNbADY02 zxjc#j&BkfWK{3)5z+aQVYZLgG1U@!_b1}w4P;f!o(1$Imv&>I}VqyZHl)xt^@F}YO zRr35O7k4}a#Vv6H6ck+W@emYT^zjh%*S*WR_TwQaxc=iID7Xj2Lr}eZl}yXyCJ+xn z!Hpmuf?|>SmUZR&kB6Y(9uN;fe;aT)w}N;G3a+ns2#WjT1SrUT)Cob%YC8%Sz%HX= zwc}=n)#652=!{SR&VBMKV;j55-gqUmiBS?Qh(GyH9&o59-|egx^8;3310BRvLg%li_% zA=Xp}z0t20-@#A@LxIVV0`UlNTVN{q0&u^}P{C~Q$H7||eF6BZ;P!$Yz&`|UX#8d1 zpMmEZ-V6M!ARCO0o-KAm5DUFO1RWsYjzs?u@ZR7p4X*(o1#Wv}Jov5P9gTkq_-61{ zhR*^&2%c&9Lhw((%eiUs0{6g>n6T574wjtt5VBxXhJ%)ceC_N0mK7=0^96?W|s` zunyuW@aG(U0Q@V5zXHC`;T(KUDjhnA_rN*ZbSM&^fXDZmBJnwRY_ExmBJm{*m>njR zh;P8(v=q0d00uL@otF5siL+3L5|Ix73QMt2a=_chcxTZHyujh@o$@dx%EW~*jE@P* zL^p7*LmkRQZ}2IWitgev@Iem$6?nYGz5Ll6za#b%zlJ|v;a=iK@Yi*ITp!b5It-ld zI`k5Az&ZPLs1$dB=UXZ+5gs^C13FZRRp9SfDyqZ=@Q)q79sF~L?*$)&Ue>2BWOxn+ zu1g)N#3AtczJQi0aTq*4=2hY-c!}db0bc3we}Z!v=};wp0Ds9+l-B^up^}{K=ixF9 z1}+aB`iX4t_!#yVt-#}B*k6RfE36zh^G@Ks99|BdAFDvMr~;2q>S{3voIR$mkGuZ} z7zQ{Q#)20*d=mKS*afQn4Itq7=fj`t@WtTe4qpMztx$(*u?`%2wz)p0)1xqOi_>9{ z*agl#RENRhY4ChY#SrlVc$vfh2p*q9L&Rb5_#_-6j)IrR^h3qx;1#j!V}bnxhVC)J z2=N_wwZoH>ggE5zbHR@|ygB$nhv$QT;_xu|L5Ft&FSqR%IRBKx5MNd!MPKl#u?!9HNe|(mY6R$&15EG0Oe+JKu@$upl@Rklg z@gsko_zJur=C2d~29K9tCsLB#9;*}QCZqr3lcr8IgCM?F*NJ@aQm4Q$_^l4_431fB z!bEW~cneFh%U6NNhiH-*2p%88Nn%(OhViislf-E788JRt)PcwM{>kEI@DYxG){pW} z7I%QpcKpl0Cp-KB@OY0*6VZoZhzywMey7hpCeue zkGFV^_%nEXna&ZPfXB;UUL;PykP$0DiLb!pU8uyr!JEbXs{IJu#=jXYQ@xP~E6i(} zT<^%iRIlZl)IEF0$S>u&DJeQb5++|rbWpF3l@}Lx7dwra#f8LJ@sZ)v!SiucZFH8- z#`flm@v7T(I7Ez5!>>c`!9q6B-W5nfXyXNjf8g_8;x~qW>hluy>UHu)S*p5?ljrwb zDNdZNbL+Bi6X^{#AA=+x&t9Dk=Y2E}=ZV#Z&jt^PGPRP$C~?U-;3lLZy$YNuubqdp z+#Lyi1&&2v{p#Csa!FcOaYG~65V)A~#Z0yGdU>%dSMOhs23M$Wub0=#IyHQ}yh2V? zkB*n;=T(Y#&8Qb5O9=O>bI)Y~LM-z8xJsQEFFVTqDrW+U=%>0NNgE*kVMIJKhD5cR zFhREN#_qTEoyy81v_;Gl8^mVAndFI$;(5a>!Slr&^(x9O9wM^Rz!7>OhOj^?4ZpzW zgTx%ec?S!L5h|w+l^domt3$0uiU}d+)hjzBYSe8o%UZRvPTri83%jk{>*-YK>6s_C zs`fX?Yttr)ugrA42do$;V^ib%t{i=jR6&h{eXhfyx)Ri~lj47tI$7)$oa^ z=Uw7d7C3^RPb?DGa6Axnw!6h)!`busVu|RyBKf zF1t~7jBXJbX4hc0Jh5368SY=G*s=Xm6a?LwRffWQ@*hnG)OS~fSQH1_s|hzz-i zp;qeDV!Y|PezQzZDW{>eYPm#aH8+Q{0Wewp5W3r_0d%*;j7J!WXx-fZL+#Woxa9?E z@iHXs)i#R5TD-~;Z=g7$j?m2~ON1v7ZCM9_LxrlzQn*`d_j``}q;{9XeWl6$o#W=v zgm1$K0%v7-h7bLRhu#K{r+ucjFC?C&@e1Oo+Okx3`>8%--=dMXU%Gb&=i|Q?jJ=qC=WSv%5-vYYoA}$}~Xa2AE^) z#MaJQgu3a<6WhxBE7RDCt(`Rrb=P`gYwrh~-NU~w_GjbZg}FL&w8O{t!b6zBJQfk# zf;hf8#_o>wRMkAWG{ao5Bw4L}uaVb6#?n3O|MLURX2Ckm;p4v`q?e_rpz5^c! z?9=RCm?#}H14u3&oEhjXy=%Y93{*<*Mld8l{3|oiM|uwp&Xkv^^82ur^i_*7QISj} zt5W;Os?=(-OZ`cV-X!iD}-{CDl)J2kFF5-~V&NHdGgI<_OqEG3BPm+5v8+jg+? zL;clwCHqFrw5xI4yl9LtEYM<;{y z<`P3lL9{cIm>1v#X^3cNCb6|Q0}h!Th}c$$7Y>={b7E^Ra_q#g>qp8)beMHZY%}-; zU7^&Em9Bt0b=b|JE4AHrIg8|lLPOM- z_hZMpO1leTvi0CKLPNEk*xIXTzgpXgt$ir%W}hXt_9S4lV^!%~oCnsM&s@W_o!HvL zz;@yiTYE3+uT5LzIHd3!}DMeJ?9hA0OP8x5yam^DW@gc$LB=)V_@ z7!CUmmGG8y%#;x|ah1#(a<5jgufxkVrpn?*4o-EjUpu4cT(f#-%$n)Ox?{%WgE46M zpzK?s-zNIEG}~lO{?M;=Hg_R#&kNO}+WRv{jn!^<=w{P>owgI(;ug_9PTPsCop(iR zC${#jv|q2jLGA2`XP@JK3AlR~HEgw<7B!`wbld_L3h}9p0f{Y@-4L3f?ZnpZKWLd% zOl<9C)EhgowfA%Ey-2KMsN*2EcGfX;Jw6bKt$i}>5p~Z)vTvX#Zd(7yR0mec^k_@y zQqA{OVc_rz=G0G&;rlfnk0ktn#=DS2R%-k@lHTk~gd>QN2Yo1xJGcPX4X@UA9)rRU zX2^6GE3I^ z7Ccv=ss?k{3L9KT{IJ$=7H3b?_jM%Bef>s#Uq@o@>wkPEGkcOgM{#AclUYBOmNN+| zxXsPC%D9pEZ%MOnl3vICnMi06gAwfz4F%4w!bt*db`Qb`MC?ZTo$cJ%~X{DwVEDKFh1J=tWDDud9 z6mqjJgcHmb@-l?m&F{t@D^I}#T;VTMD!c#E6SUa#$bq3zUwjWVmXxnXkw+9EP2-KC}M%+Pdo*G4(5hdEw$aHQvA^zDafqHaR4vp&K#(~VJIV7gSX8qap zn-xrK?fx+T4h11_?82-I0(-0SX&?GuB316wxGR!~!T#?5jJCgmB)nhalv5-J)Dw^X z^wYaP=i2FQVTQ`ziW^V9^ghBPs6B7H-8>P6*$yGLHTNgtv-*mxRrn7Yk05?d;~FHD z&uiQei7lVlEhjV+UBaKLu~6$M0JcvO#MaI`M)(DMAY>wjUsRnRLrcvGhHfkMTiVKR zsdc-vz89o;O||zi*>{K;(;-goF?92{0SLslRL=JBOSI}m5q??YawHKB1VR#`IV`J* z+v2++Yh=s005}v?hqlSAz--(zziJxDnXSI3+MM#)msUNN>N#rU@9gYR^}*=w6_k`<3JVj%CeL+vqlr3oV@) z>>r#;)DgPPOC7$$vDNMh94b*wcEDY#3wKXT!|3jy%6G)Oh{p<>o3{nL)>@6+QSpfpl`qh|Kvk)ma|gu z^CkvLZMGWVP=9SFw)Q$;`&dbA?Y9Ek$2VeY_h-sGFd+B?_O8aPO66gVoAJd%<)1Za zi6ru##_W&C`x+NIcJ3vS543#>lHMO`%qE48Xq0%qlxe>}!-@t9(9Sw2ZwR9KjJ|wo;{2}=m1_ZxqM>TGO zr1BGu{U#dRAEt=G%o{Rye|Nmp{wHK|bMxAUOVVDfgc+_>N1nipT%zm3YFl?T-4WGf zPyBTNd(^sFjqqRafzTB(e9VXX{q-OMxTDwVk6B zx<^+_y}d`K;cc@28WD-Ji0{>l7>V;5u}r^4yj;IVy!`+98Zr7eeNFaA_;ZapED?h_ zdu&~ZZ69!0LW^}BiLISOXU|8(*6z3IKCLIVcJK6o{F9=rckFK7olf3eKciVE#W}2ve}Ub24RPpl@8k2%-qT~B9DT0Wd}I@E z&F?e4AFgSnP92hIYWqRi#M|Ha>^Ia?r-;22tYB9qp;tp4*2EL2aI@@-yYfi|{ zleeuYZel-s8BRf4Q*KZ{R~-(6)nS8c7#FHDXj0T(iyPa|mBEe6>bCs{-G1j<*wlWu zyqDs-CW1R;?80iN8g?M>2>0V8@)W%b;!Z|CTr)vlA{?~J)P{r@bHtptLjYBG=9P1)P z){pgl01;;YD_JCBg_=Y8OE~yem~u*Bw(>WDUHL5a2IP$!T!Y`jo6<|wz&x4J0GSzD zs=W76-V8h`jxd7GFx&FDI^FW-s+%Z3d@WwD8+n-{zac>$PzNYa9i@Mo&&Kg2Z%bdE zAn&TuK7f27gbs0e(UGf%isHx@z{JOl>!Av=A6lKU*&++pL6aDQe({sBNQP>smewX{96ImLM-w zYbmdSyb3bPFLC5&66F2W8OoPJ&Ob|`oY`y}+QWuAiWFpHIIMaefqcaE`fnvE?}upR z)d})^wT$wUkaPE-yuTx#mmpuEj#55-g8r6+@&S&Ve@Ek21~!Hxs`w+wk3nwhUJbLY z%$Wpvm6}8O_8av#Ff4tLBkzKIZt0WN8`Cv!RAB?;5RVwde$SWY*!^DmG;IV0Zh;~n|uR?eak_N!%-^Y0jsfwD4nh_>`D*a6(8_EJYF zKL&Y$kxz8w_a?~4sp4ahH<%UQL^0c9rN5ORe@D%sd<>o-a!tQacI3eZKd#I;^#K1E?|=f*F0n>z1P2y$_!ZRr))#|sOfE(jIS+66jO z-9T+Qv;}_E*08i0P!vJ=EMinWO+_sfmEKLeGFqH%8fr@03hgSRoue9m2JHrDv;ER4 zK0|3$^Wvq=Q`bfGgI8-NEl_bScQvg5K%a?7UpF|(ihb>wc`V1B%g zcdNf2M`OZJq z1FKJ)`J$IdQ*&&d)67$#VkNOu5*Utj&t>Jn7$NYH4yShTgYv5);sb?A;%IF zL8C9j#oDq3X~%6r)}zjxlv(Zm0&@~FR2XxAr{IlF!Hv|>lQLcHIw3RCI;EOAnLIVD zQ&x{6nBAf#IYn)8in+KC3@6a6x{T!gzGUwn2qXjDB+U#;*!&Gsb>+l zIhX8>Hvyc~{Hsrf6)0g0hootJg6BJU^8LY@bPA)Bs}6jD$GoFZxlLU4YyLP_vf15N+-|6LOcfz;C(K(E^!~n&26yZbG%1regDR zoAod=u<~hFCU_3(c2vXc)}+d52fqimHF+Q*`^PHnG`eAVLiQS`A-{97f0~f}q@TU( z(S+>to$OCL*$c5#u~|ik3}3hKnv`UQIvTS!;%lJu_&-+CE`~X%e>&lNN|Zb!+ccSd zo)EJ!n16sVPkQ?nX5(3AAUw&NaM_`1<{8=A{_hg~A5Qk4k?Ugr2F3q(CP|&jO8x(2 z6PTT$wtX*`HoNJyi<0qePI9t1duyxY_<@MU#sf*N{pTNvMuAzb@N(lJxjFe^A1>l<8>D0Z7EzZrw@J}Y)X_{tjAhr zJ|E0#*GFF*h4qVF?v|IAuf~_@Tb3UPf6 z%#eXEq?Z@@=bqZ6z*HF>%z^MjvUm&Wy=Daokt{v{=U@HmkSzWRz`q){oG-=sSZDeF z0L*eY2ibgi01vtpe36qsgb}+c1wV~`Ry~*!c(Is!6lW-79=4F*#I*X`f!zuGg*}g) z703;EZK|`qttnZ10u2K%1fvzWN+^ON5Qs0-Q1DB~Y^-wzVr%Dnxg29Bw)Uaar)xd2 zwev8OW9-D%UIUEl^1Uq1y^e!#BeOAy8HjC$iNHC=PHgS$(rj#e48+zxoqA&@w)XkJ zAwD%D%*X$Wh&dL+kzK4E#5Mz8Wabz|y ze;bG$0%DutP1-x?f{3mCIPD#^o!Ht_FyJAxOAuQ-Ut!pCh^;*rIGTNtE{McB3V?Hr zo!HvLz@aj&C${#^!1hnch^@UVa89Py6I**Za478Cqk_abs(`bzbOvH;?+=_~?8Mey z4QvV$#MV9xIGcAQ1Y&C+37li>#21?RCu%`#LBuvg9qnCoLB!TRmG)9?C${$4v>QTf z?Tdi3aXMlkw)Uk_kR0P!>NvQu*a{Kb4BSw%d2dA^w)Qo^ImS+G?dySUImFh!6}WqQ z^9O1q*0C2jov(cm_NpGCz=UWO=2*CuHVp!foUidX+6y$E?AT{GnC~khd0NBQ)#26} zKjC2h>xD?6w(kP&ovX3v@S9t1m@>+n(4}zC<>~lC5$t@+G6JoVpTnWNt$GSD@LfP1 z$p{oC^Y6eL_@~zvO#`WNmx?qEvh|Jk}kzqwTmsHpVsD@gI*RpTz0w RU2oLxR>>#Rv7__A@V^`2#U%g$ diff --git a/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-xts/libams.a b/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-xts/libams.a index 4b6acdc80c1eb3d066f8b0a549a78e8a855925d9..05db491353ed18cc809a760bb1fb7fc085930b7e 100644 GIT binary patch delta 20948 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 QM(=5nd@>z7I*$wg3yvej5C8xG diff --git a/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/CMakeLists.txt b/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/CMakeLists.txt index a73ba5a2d..d82fd7363 100644 --- a/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/CMakeLists.txt +++ b/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/CMakeLists.txt @@ -66,7 +66,6 @@ set(PRIVATE_HEADER ${ROOT_DIR}/open_source/openharmony/third_party/jerryscript/jerry-ext/include/jerryscript-ext ${ROOT_DIR}/open_source/openharmony/third_party/jerryscript/jerry-port/default/include ${ROOT_DIR}/open_source/openharmony/third_party/jerryscript/jerry-libm/include - ${ROOT_DIR}/open_source/openharmony/foundation/ace/ace_engine_lite/modules/keyinput ) if("JS_ENABLE" IN_LIST DEFINES) @@ -115,7 +114,6 @@ set(SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/stylemgr/app_style_sheet.cpp ${CMAKE_CURRENT_SOURCE_DIR}/targets/platform_adapter.cpp ${CMAKE_CURRENT_SOURCE_DIR}/wrapper/js.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/modules/keyinput/keyinput.cpp ) else() set(SOURCES @@ -224,6 +222,7 @@ set(PRIVATE_HEADER ${ROOT_DIR}/open_source/openharmony/base/global/i18n_lite/interfaces/kits/i18n/include ${ROOT_DIR}/open_source/openharmony/base/global/resmgr_lite/frameworks/resmgr_lite/include ${ROOT_DIR}/open_source/openharmony/base/global/resmgr_lite/interfaces/innerkits/include + ${ROOT_DIR}/open_source/openharmony/foundation/ace/ace_engine_lite/modules/keyinput ) if("JS_ENABLE" IN_LIST DEFINES) @@ -289,6 +288,7 @@ set(SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/modules/presets/version_module.cpp ${CMAKE_CURRENT_SOURCE_DIR}/modules/router_module.cpp ${CMAKE_CURRENT_SOURCE_DIR}/modules/sample_module.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/modules/keyinput/keyinput.cpp ) endif() diff --git a/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-auto-ota-cli/libace.a b/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-auto-ota-cli/libace.a index 5c5020f36f5062b6b819e2a593ceb483f834caf6..156b3701f56a364b72a99cb93e372a1de4e2eaf2 100644 GIT binary patch delta 29669 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 diff --git a/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-auto-ota-ser/libace.a b/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-auto-ota-ser/libace.a index 5c8e4864d30d3d1074721724efa326bd53df1f55..59c8f2fd7fbdd8a36623be53bf616b099aa3ff03 100644 GIT binary patch delta 29651 zcmc(I34B!5+5WkAW|Dv;hMQz2nP3u-O`L=zYym=85)mi{ltn}gkxkYBiinnG0!0Kw zwg@jMhNWl~6>up*R75}80>y}HT_~bORH}$ety}5;dCxL)Gu8I1U)%rrappeH`@ZKr z%RSpYcP704cFU8eb5;ezo$?FvyB8F8%gM>l;o$zv$>~&7P*5c0l}&}PUl(FS@xL{O zf0V&D~3U? zUasQARN?t=$MC-^!(9`E=lkM5RPHwi8^_na6CNGI5}ZKO|Nn{MAI#X>`UCNwkKuoi z$<)@u`=5^Ce?czm``d=+Jhd<1lM=6X`T5lH6<^>nZ(YUk1TE=Qd*&Yh zV>O>;rABN%J>m(}KNV+HBsCTlrCH^k#-eTM)|cn`q$|o!voh-Uw6?OcjqjrR*%B+Sola1YkFo{oui9zd*i^P4zMo=zm#b(XDkXhnRsWTrQQA2N? zvRa0J+bGdm@qy;?GSND5o~@F^Nlqrcyn4i9k=sbWUJPx-H;5Y=@w>!2%`>FGCE*x{ zOT;}eU}cdq5ch#!4%}1oo#4xX2Wh?s{59YL&7TF2MpgO3AGl^iRf zJ9xxWH^psU7Q=5B$KZg2Y9TI4GZ*uX@;J*Yn1t7#w&;BCQqK(N0>;GFVukns%9a>6g^+TA*mxK?HyQKqz{i4TYaU4q;1Mg`6nqu^ zI`np!0T-;bz=f(QaXi->Js>Iv0Nge7%c50lv}2p9SCH;)lVzD$Z+%U%UiC zG(*35Gim^Rx_B47k4hlcK&L;-lTMmeGf_%@fm6#Od}zYIJS;jP3-@KMZV{-Tu_3qhn) zV4a%`-YSxyt(XnIF2Y0N7V!QNo+o||o)h7PVmUZZbSe~zwcxD{#gxb+Dj!_s55X@X z=oc~QA%~bOp_KIyPe5-v4Nv0#13t%P|2+607k>@>n2VnPKj7l0!G}lkhr`byxWZ-d z9eA_=#lnXn7QN@iA_=@AVqYu*;OkwyCHQU^zZm?8i+2J4#?+r1zc&QYPFO4kfJbXw zEG`F+*0@+)4eqs!$6_%N920~N#bPG-VnaoVmfQs0EMq z>N2qrJle$l#l7HTBKG~o4)ACO{Y5=^QA9sL><91f;)lS)<067V;w1>8O*%-t1wPBA zKM8(Igbx-UgD-ONzkpA0ao+9V9_uhzG+`cTp}`_00qyU12`+#^GZ$|M9-X-civsYj zE`3k%0WN+C_%;_G0)D{7uL4hZ@$m_0|Gh533>dU_@teS-O*~lCfVVdl!o$K+ws-M0 z;0+NzRBQyF@8b7@Kjq>(!w|gU5EcD;lcGE<`a%#bK!q3t?u{5!h+*K-Cax4?z>^~SN-?pKew?Ukq#q}4YNVeaY8vUo z6U0&oqW5f)s0D8y$zYP$2p%2xlf=E?kGk|bz@r76BUKGmh)20q-ycYv2jF6ZAWQ6CYo zbe7l;UL8p=PaFc@7~!{wm%yXF_!jXN_;Q#2B=|fR{}_BtgwGd$0k7f~mHA_eu&~>V zHrae}9(c49%@=9l*Sj2KfiHIP_TUvRUI2bDa?9q6p5Wy!ehK&ok^E7BArNeJ8C(Tk z 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 diff --git a/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-xts/libace.a b/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-xts/libace.a index a5b879f3a372f7ad74b0ecf8dbad245fcf81f1bc..f1f1a1a5036826af112205355260e463fa70cc9d 100644 GIT binary patch delta 29675 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 Z4QoD)uSkd#f=Xt30u6utI{t+L{|{xWCs+Ug delta 39811 zcmd7534B!5**|{nYza$XGD&901d>U@?j&SF2w@9>gs_DW77-9hSi&Yw5CQ@s6A%y( zQ5fN{mBsQZ;)ZLKDxyVSi-^)vw<3bCwQ5~(X{&uL{=UyyX6{UF-`2Np|NryJ$^Cwx z=Q+<=?z!ild+wck-~ZV6=DXQP}|1-%%FJ7 zxqm!9)Rh_kQ+(=aX8ceL{gCkAC=2~yss4`(VA=5|Q!%6gv*tSgwQ1@0-3f)#%nt=>%TjO{#6-1(a5Yn6i=XXr{0W>@3dxC6+;4ifTsWdCWiiI#boQ`a794Y+|lpfHGC1}=v;CO(t&iFMMhyKe#gCEOOH!Hrs)~OmhGLCZmofVf z#jTf^{r@C}OpZ@BGP{mv6Pf+r5kvouO#V(Dp?^g!9V_2wKQe}XY(kmt$zja#zlx#% zt%DyMAZ{#_)p>bMc{ol_vwYAwQl5tW| zj9BOW17eZAGcNl+;Ri;wPYsj|56-2Un;Ikh#oVlcfoN6h7X}JO2Vpa0Nqw+!$k>t9 z<7!JHl+{iatvRkfICIpZ+2b2VjH?+rBRp+jireg>PeX8Q{rviAi|YBYR7-YVtp6h6 zzp5cPyJlhiqDAp}gwNbKa#&1tQKp`wgR%ik#R>$>A}U&MDKM2ToP0$}>ps`kFRNX& zc*YFm7CxPvks<^$rp=!}ecFs`%Nv4?^-KA~cN!_q!or1OADOJZ9U{Wm6pcd|>(L_| z*w!svw#{w}6ciLZI(6GS)i9$@>B&nUH$0Di z^l67wvr)U|P8Q>uHfE8hdB4-Bwwgulnv+tEKeW=mig_E0;coW%jLa;vnWuTmK;xI~ zqoNnB?V3kTG3KU3MJQME*#={EO2k?7)SHcpF0mHJ4;xEbMl3|pZM_S674zg&qig3E z7_&0QiVzv=$_}!hG6Sd@aWo>~pD@N(1#KC8<)0E9%`ZJ}40d~t?_i0&?Tn?^?QGSM zrX3zQna!-c#VO-KYs%xS`RP-}{cW3Poil8f<3JA~QU9#0iS1WLGWTulCB<#9G1zvV@t%<#icPeReIApDGp9vbB#1;iSWm?r zg6}jZM~kj!SH|dfv86G5H`^V<_k`FnB}f+zH^w>K$XaF;f;HBUl1yA0{{u_en5Tr^2-u#I@D?}cn!OCu9HtH`3vLQB0 zqW)XiW|jo~61b7Ay^*=WZv@AB4O)96^MS7gM{a_52fxL{i@-O4i-rv$K`8{cLy)Kv z3n~gVRAo_Vk2>L36^Wb@i`HFuCd^KV>#lHlmT4??q@B@fLl-_}!Pd0RcPOzA>vQys{md= zl!wtqHUao$MAZpd9q_w|x+?R46R~G?TgMiC8{hqbkvy;wM*U%=+lLA?4?I(4x*mKz zcss?ng6{|SO3v^5z!(%aAnZ10gadpJ+k-?$qlwtv;Ag?pl+z>NAA#$=Y<6J9pn4Sg zmZ)|oWq$&^2e?P_5IYS)B?PKe>`m}G@D3`$d*C;LVig1eNS4u~V* z{S|Ks{t5U1#Z$q%;UJN{BD9fZLNE~mY(xfK0j@FeLh$L}EtH;`{95o&zFoNNX7OcP%NzSP7wfv-35 zZQvi6_+Ic!ievvf**y?^X)-thKH0>d1Ycv~&w*npScO#f3-BgQ(WlRV?=|taz;~GV zMese6Q~yg99q2)m!Iv;7j&L{oGk7#ZH?v@WM)mDP2P=!%w_`5ohnct+oQ@J1yet>o zCy40(?U_HuVJ7PZ-XyK@Ka-V$&o}X*;CGsM4fuNz?qid{qZRV8>EH)V`fI_zAuf+U zA6pE8KVp!>R)SA7@ms*7eWD|~13V|9@62|BZ;x<4y9>NB!t>dE;JyeiWRHQ>_xy&-7)#2X8dl{{ei2iC+dk7s(%Eej*N$ z6D9)}_;?e~03U1O9l@go=+E-Nqx-x+D+Zq$vG30Yg6}Z#;owi``cvbMgW#0OfX0A7 zoA_+-XeaE?7Jx@<+@CE2kJh+9yBXYOXb1h-ZQvLnROrt*_&U}85SFt25G>Jp@O#0d zXRT892za}QzKs10Jld-(*a`4x6IZfVz^6p)E7|MdQU8_fUGPvz#9$cv5Q0h*{{nn^ zgpXi<29GxB2xd)WY=KGN8hm+#SFtqkH71?~KGVdzCZheL`?!h)U@$(?L{+RGxZA{s zfVVdB(csa6tBOqmFE;6CfDbeA>%b41_zj6@{}U#`Dj2jg@ms-=1a@NDZsm!(?ybN5M}=cnv!df?$P7@Cx|TCjJKaSrfkq9v%5=*vH_nne<x>z*M#n+!oPKWjBIHo4Agx0dEu0*Rk7T z^wZh)7=36u+ZSUnlO2jNn8_XnkM6Ts>}TLzBN@zMC%~h}{Veth_#-C$>)_D>&SLL^ zKcV#@)b&FMq65z?_9gf^Z2-y6K{Lc_X$NtsK)*9Dq zks7ULN#I*e+yh=>;@RNqP5cV*XbY`oy}+XPY%^Y%%x*6JH4)?d0p&E#Ox~6Rc-<#3WeHcE%)F&wu~5 zk!9J>!p<*zp}U}?;6`-ey7o22Nk)h2hjIKn#S4UeBD;dt9aJFufr{q?yReF~AWpwV zahbk#h&>T!@P^{ug@ZP%WgF!k8_FO@@kHz*7bHXD^mTFkhB$s(499+ZI7YzOf5!1E z=?Yc_D!{oo{g-h(nO0_0Ap5*HK0+c9VdP_ zj(-rx|D-r|6&LnzCn}5z1pCMFaf;(;hJ8D>Ayyw^hm@dL70gxi zh;UoPifIW*1uDnzI9{*#e&}47fb3ShQt%S?rs9_b@5}7eKq`>G*0DUq(v;wrP`WTO z4pqE8cs7=rnqm{M^@__8p^P0h*}HHt`-$Sk!e0e*(wYmyKtW6(<`i;Ejq0h5ZEf za72&xCxdq*0?AV{AXI_$y%eVtwF{@`tK;;+82x0nHBNu8;u}T!DeN7^+tL1aVGj4b z63AX%$9&ZN5hS0^2F381Y=+|R!^VY4>8*;-6PRCY zAAkq1HV_a-K!p*cN=jN;E+CnbL^5ljh>ybF(#IHR zWu9cGgm5gghpbRG0U_ljpvqPp(Cz}Nc_0Y{ct$HrMvAO91j>0~Z6U8paCk$yEQL`` zKovC7-o-$wC_t*r@SqCNQ|+nZo;u&2x=1~Bk$URd7ipU!q2jN$vLtwEhZpzKnqE3l zui9RG(^*@OW?O4Zp)-86TXOiwAG-5ux5Lvss=eiR)&y}%aINO0`4*4&X7o}7njH5O zNG?>n)*5`@`!;uAmDJOqqxD^ZT`C=6EpJKkTlj+o77riP(UQWCjJ4Qx1~gsMhIDP> z+8{G1{3kMSP`XBnR)wS8+?;f_h3+XN| zg1G>N;I2EQoUkrfDap4O{Pse_ZP{w@wm!Stn947YwtD!Mp|%uWRqWxfr=rAqZ>vIkKml-Ux)X`~zTbElK5_EG_>SJVVMujEGiz4XkTPSj*{@;C~GN z5b_cIj|(VnIp;kgaSh3vC7zB=-jfnHVpIN<#CKxjKPvGKY@9#qFUixSpnnK-#?4ci zeMa~hlFCJeJZe7#8=~u0(eo`k(SZh|Bi(H9S8unbS^DkbZMs@KmR$ya_7=!@%MNDQ zWANG@32EMxpU9RncO)9rz0<w`G)KOgMuRUt4Ztq^{Wu8gD zg!J49-+n61;+@7FJUcz5IBV%Vn86Q6wcEw>yP*xxac_SQhI{x_ z(DXynxp|~6Lt57+zM0hbN_7=Px|rjEQx5TCq*lWN9hq7^AJ{vce@1GOBP>AFYC3RT zVV>C?YSji!CN&+)XoG5~2b=;%C_>D8ML@CQ=07bl9V1%49=QBfDW{!eYV_~9;ZDC# zR)al}Y^Rd#1JVa!?L$;%lav$I@-<}t zpp+BV@~tF)NXiLo`Q0Q}Z5bk>6?9y>RN)D0IgO64BhnFJEk8l>hozjbmQz#Wl!yQF z?uM411=nK(VaP*dBkrGT#d}gA5N{joSfZudYN-4yk?v%Sb+cV114utn;q~*7YE)P$>r-&m#!z|*#@%-I@=hJ@F1pLNpF}e9+wsv_Cn7jxQ(aiD0cHV^DTkls;6d} zGAICcJub^hSZ7>Da@8>iYqZVpDrXw&v?m%TU1~|4u$I$ds!K#z%U6>8VGQQnmR72F(K?gCc3|CxgmuErz~yh^ zA3{q+*VAHBX*|P^WjQ>?ll(lUnCWUlQwRf{kV@-1#@htY!fyd1i1g3Of$=!X^4|^* zFYIk`@wxC z%lms;z8~CsEk9jj^BC9i{NLbsQK=6@qpcnxtNHkcKv>J40M1Zy!diX|*rg`pgth!7 zlB>2RtmSmvYx&hgw4y61PRL>t)^Z21|84w3@FF^YBcQmwop(-RAIaa5nCxB8sM-FD z*mV!t-RZ}r-}r$c<>xeYa9h0B(Ok@Xo%CQnF6ppGBZosLZn%vgKepe7sr`9O z?VEgdy9K*%Aa}UE|0%Osh(x;h%gF(b(RYs~xOLw%kNkH)?``1KLmi&N24Do*fjapv zVBNfgwfrE-;r4bMBv#k6a_(sy=fN%xH+8%4L*JtFEZ~=C;{?Bex1r4%ei~XYv`8#( zMr(It!M)duE0*ck3$3^(rPWg)(p`v$bnO|s9CW;E zgN?x6Mfit6Sj*|q&QNl~T24)+3ubP%M3Tq1%Fk7+G|E1oKYb3ZAi_x9JNtE$SoeN7SiBJDlRBq~1qL z`P`&de+{02$urcU-wCaFJj0%VMPDu0*c20@)REZ5@Z#Zq~a9eFC?aP{x2o|1{>|@GGS%Y8a3CBXczZ8 zjj?TvEiI$}X(O_lPnD*=-wx6Bs+@ons-D~#GTkWD+jS2&_xx&-Z^LL-WVi#Wt?Nwb z=96B{M+s|x)QP=I`RSVzJjPNU#8_y-Tz+tWOrcNW)K-n_VvfUpVuCw#QtrW{rqnN* zyb{)4TLb&Q!aoEbqQ-^50=r(pIrkN7 z8m}8*38bsiQTOeMNP*h3;*b3B082luPK8LT#lDEH0fk$dl2S`QG*Eco zS-0gZ))THua0h-Z+lT6?vnU1Dtxj0WM*w?6Jbw~;zMP$lsi{_vrDS0~brPN7n)uXl zSYW$2)Z(#X)Zm}vQh9*dlR=Zu_P~DXg9y|L{%-{otIT)9|Lz}h;W6IkQ!6oP`whQL?w8ZpfiZPC&xa>*O^f-J z1^G+`AE5G~V^de2cCG&}GP5FVD(F~3pkulGdjZ9B{^}xlgt~NS35|B)26nwAcL!lD z?@#hqrJS&q4* zf{Tb&&?6%mD|q!e4D{+G)5fIs0=wSBKLo-$Sw~=fl|fj`=?PWuO~PC}t*YgHAJC0;jwo<%G3-9{xM+?}1$5uE}2 z$r97hlBaMYFby-cxKOls?+&m0)?>Mw@!D>dw4Scdq&>B+-W`Lki3)J*}m&i9HraM1nN(f@~MQ= zB&KmTPo<@SR5@k4fOXmT(^nE8jE)g zU%3;@0@O$dG;7m!q+89Y3NyKhn~JmYYZ7#CcSvtwJPiE7eaJIyv0q>JbJNNTom0YH6OBd!3@Y7YubR93n9XLzI zI(`|HW(xyraG2f4^G9K(q*h1GlO7sSu=GC_>MJ+PT&UmcMxuUIkt5}$RFYhYMfag| z1_GVu^AvUf`#VW_8{qQJ{NyN0KR&A3(vEkiwiNJf)ws`DS8eH)euXsikr@p^2$Y>^ z=}pWiU*_klQFb+z&xeIB+#SHKy}Zq6sP{?-2TkfHrMi^VG}t4YM%1a#0n@Dos6%%iqj63gmEu`UYtb+y=O z^>kpf)jeF*)Qg1LU;(fm$OvosMv|YB4hd^Hoeo@_&#SQv9bvJ6$e(6wHI>PwT8yxk ze?xL*Pgu)oJaAbpy!IOhhBupZNc~eAbOlbaOF3aJr^k==^qsJlSDNI6wVZxMpl2k6 zwR}3TI<1Dpll)rYL@AxUphciPRzY(Y1Uj$gDS2Puir!LAeYk>3LR-W2Z$dJoavRgZCq?%&~( zv<1IR^j>u}aWBuuHBovCnV61Xop=f*J}fSo(hmb8)FEp1OkgJ`8l z_wi#;TUuCn!`CRet0n)8%8j8KADF;wCT;PPP-4+HiOm$*BfS}JHVj4%tae5AzlfVB~2tcF27a?x2x zm#ZVND~WHOfJRjVTY*VUeH;VZF{qQOr1O87Lt_+weFCoBoff+FlE%AUWeE^z!1Aia zWx?7jR#|0Bnv2wuN}P-|zSy4JkdAvQA6+Z{YdA#e#XC8l3fBn`E); z+r#FP+(GF%{|t*6!$->kWkOW0u(&R$k@8B&{bMAa37j`pV(PYjW$yr1*Y;SWIF^rg z>UUb)CA47Sto9EMw~@gg#7#qePAxYTTATPgU5&+guG}b$rsXq>bMO zcD3WBq*j-6e>SNdD4TaP50ZK_2p;ObW(bb;sHKqQmbH|(fG^weD5NL1d)Ku|| zJNRW%tD;RXsp*V?HqD;`wK_(ECiNO%?`?c4sc)0c*PGOvDRl?FnbfyS^$wGI4{*lq z{Fur4T_*J-z}Wwvky@=@KVecI2d3No*I?qImTz7%scEF~kAnb#=9^AB5h75BELT{J zC|623^~4IQIzk;{#Z?kF5}qjWCc={>rnbye_Mu%M<&&l21Q}f|@oAFNxe4I|ME^As z(+KFFDlv^Md8$B5fVH3PWTWK!$)*m{avqkNXcFOht<#Id6hJ?iLH#rDEV7efrd zShat(j&1?JflG6b9fRoo;{J)3#vFtyM4ezPuqy|9eiAOFybs8o_yAeO&R1rElilrC z<0j;TLj70I-ef$;+t_XHkoO^}|Emd&lCOYT=f8>kwwLWpSj+d2{7qSP!diYeu=ip7 zLm;f>hk-Msod0}cf-9hW9yQs}{?b0p`|d2{-beUnHyWPdj{qaQiKty)0M>Up2y6M* zBtIpKNLb4+1AC9~%YVXUIdv%n3#_!7)@D#+K6(;vWvFYE9FsmD*t<=pBdpUE0%s^W zVJ)YLvA(7utmQPYyVOaTu$I$k)qLjI3Ijc5C9Its1lGqNVJ)Y@&OZkNgvo^GN=)O7 z#s>+{lk#5@zE3@OoLLMl8gMW z;z4qGRZMOZMQ#&ga+@S`n`F+d^Kw&eH=1%=Van}BEE>FQAI0~cwRLFz^&HE-mhP&+ zU;px9NDVi78=2vkyQMa7SY&DEFnaO>%PgM!11R!Y_@iAac58CX&l_181!)Yq` zsm;56xn+NgrfcQvR}S!dms^ImI08D1%=ouNzlqSi&WTxk&W)C?Ez0I=lbtuhWPOBw zMD#V#^%zbM@IEU*CpKu~4Mg{Yeu7dS;BOJ#biEwu4)AU_fzDhg?|UEM%ZQF&B;V?B zfd7K%n-QA65_C!_;Ra50|6qaiOY4`;Z2}BKxw=>z;_b;8h3ow2;+~4E?t3Xo~-yP z(EYeDs1w=^ph>ize}vLPRK%Z~jmK^-t+EufIMRe4qYIziRwLE0)jG#zMBfCJ&GieS zCy*WO;{!bXX3!n$@NOSL=MueRy?nR90sa)x??C0AY_SHkVuLR2B%&{Y%DUW3v?H#D z4vEr!OY{_|Uw9tA7WA7^ObjMcoI9c&^pnLArO}c^TB~a=4 zEuuSc0(oC#)a@3~6&Q}?-dRSpHAa6)e?fE)C=IEo?|M+%PPx8(fX^k`9#mHFDbS>u zn!@{Ze&#-F2JgB79pHW~=aV)d)z_dE!soq2OLpV6D5CJ+Zm{GU?f7#`9I5nP3sjet zAyRnkCpxF$8!cJ(=iOL^3uj-(lT#Zl&b;rSEg~1NMCTVNTVtEuO8)%N0Zd_q2YY~@ zS>Q!G8GzfAT=*3(}E?F>xMfb-j`@9#9qMVGfe6K??G)08x8bALpS`dq}@I z&ci3#1K)5f8p18=cl=h=Z^2!v_V9~iF5>%AobS8fyT2&i@8f(w2@g2#MCq28JkW~^ z3~=2-=i$L6JamR8riFg0c0H`gldd1VnZWGf5p?Jq!30@ zY&G7`zsLU>w-j5*%0;@ zL;Z7c9=>}d>S4Xf!zJaR5Hbo&;6c0)OH$EWkTLsS*`X~(uy(X^MrNUo;Yz~#Qn>0nqryY>o{@0 zNPV-MvE>;o8Yp>qoOqZNH^zyprFdVQc)S#!gjh71+9^}`b7*{5VzSJ#K(*zREa=A3J7kpBO2l z(FsnzdC}^2#)|xJSU-qbeX+vsX)d^6Jz1fwO8A+tZ0&5li~1CYuix2a`1;!?}j)*-Y@W|%m&bGWn{_#6_$MNNjhKqmqj?pGLP5jUpHsV*@7Fq!S*^t^dX_2 zh3%b)T@`P@_Gv`fK>aes>FWXnqY=sBDr|e8a%gB~@IjYt+2L9Dxw1Bb(ke`XG9#aK zHD{Nc-tU}+J4-fSa)o#WCS6_OtU)gM%kScK&}{-XXL$SluFxS!sWdXAu_FNLLKP^D zJ&FHxoi9TgI}T7~;xB2|0dfIA}J#4W>`o%B|aXQZ` zvh^@3`RF3sL&gC9eUUB8=+CoyVN=Qn_JVFCZ|G$kXmsEY(I$(3PP%N~w%8Uja{2AW zFzLjfEw*I^y0B7AG%4UD59i(3Y{fCb1nT< z+XN;`p$i**Wl#CKCP_JAEvFH|JDDCyr(Xu*kx{qTd$lyHHkpkD&bWG8X@Z9ba&Wii z(pL_f#f9HL;sFYacdERdGnJlP$DOWPetA1?>$DhVYZt1MzM8PnS*{26PLnN0nB-Kg zO^6vvPFTzL0=uT;9|B?R=YC+<43c76hN$IF0J~^^A%uu%#q+@05n(O=CCQZ|!dm_w z$?NeCfv}c;46OYS*784+oW?2y!jKOZcaX-U4kcct@KMvW;!*szF!eK zEb@w^O?PaZbhbe#MD#0M4D6(T2&IS`)3TXPYlB?>V2H5Ji#JtbiD^FF!1q|LV|*Xo z&kyp_YS17P_c@J*aQ-R!dCG(9@k`wWJh&5`GsriOwB2Cf$0)=W^56!mC!NN31W~pU ziG$eWmGI?PB@}bt?N+;`k%=2AMkCMPjT?6O83umM%3rIp1&oROLHy=Fqkp4JT7Zo% zCRHm1Zx?xX0*cp%j~Hd^2lM=g?DQb}-ccyRvhagg7sC_CL}v2y-#XmpW)%(R@(~nPBkBNVz>0;gGUQDD@P;YN`CBa6k#S6 z+>@@ll)2p03a$`84|Sqam+>>ZYp!K=cm~P+WZA$LINDpq>^TA*p$(S~P6A zrqk1C>9@!P?Xb~}-;%T&_~tRTp~&L10k}!)FXf+&5$*8c4x7iaNIeL$i02nrJxRAo zALJEFugBiAWhS`E$7aSqPe^d{PsiZ(711>3$J#tzm8P{wBh!mM8#N=>cy6t999m{> z3tNhVjtAEk9)uvNOeUeq;C|(?TVQ%8KRnJhl>d6Kk&@zo+&@U#2)Em0iTRdsSf)B& zVAvy_f4l7b+jZyX!B%KAF4NLcrkjQOq<4qBk+(zsn#j9T4BhEifT1t~QCrslyLR!+ zD^dD~x7bp;=Rn|>1Cl&q${|3Qj+mz~6&pJ@conL%7LR{nvyPwt)Zq>pd&ySrJ!7}T z)ON-miRr&_m(){*jr}B%!T703zE8@i;fwzF8L1VbaL7O(d5tQxyzH ziw^u-vRDd>2_hH&bXd@*B(y~qA3hxxr(yAkuvkGB-@)R7A#=&*J7Hlo@iDJres+q~ z=dQrzx5^@ye|oo(Vc(DD?I;}h?lGK6{rz%fm5SMk_nCn#PQXI0QO=(MABSKuO!?@- zH;~2KuxKrOJPixu1OCbkTbHCuCd2OBz-<=ok@)_(0S#HI}JF0X8SO7U0P{zCOr-H8kN3)e}VLv47iN_qBd)aW%nU^Wtbjs)##F^aF44g1#oHb|2;nTj-+?sa4ssr((%95i{V z;K_5K@$tMl(7a^QRPt%0Dd0CjW2s5p_8A^7dwLG4@`=f6IDZRP_9=-d!nQArl;m<$ z3T-FqiVd5>S6!FjaaAcXi70GO3x6dAAAe;# zTdG%C!e>79G@mQ9yYxq@O89}>?D&?|So=HOwGoLt&51YJw>qP~#DdXNx7q7^M`dEc zXuu2h#VsO9pJ_1KHJ>?cf97yRbj{5WJ+RC%q)$XdpWQB)?@yY2`kOxEjNC53X~s>POsNzrnM9GZ3|tnL$+)OR-FV^bEWLc8YfpCnWz zM(mo=Y#)@R_vlj+@R>rOxB8^D_>h=A(6d)zfmo`l!GVW8Dz1uY0iXb1UZMU#SH-On z3AaUbD%=&@vfa#CxG{gj;SJ5$>ESgkS<2c9KJ6AGB{ZW|OH1`yn%exX32&}DZtc{9 zHRE6mueCER&E0=Eg4YgdeIR@P$IjgSEt!1?+pRv~#maWF#KUV62ic#~snS1MU#79% zu0QVES+F6TPuh)6lUefEcnye3kLl(i=!ct*>Z8l3o{ z8mvE|OYlSGx8oaR>^OhOXQWT)-2zScLW;cw+rP7Oq&)R+<>GraQT{?ReacMxv?NE- z{vEOIL-r6|y6zk2B~MSTJOG~|mV)M=vARWKbmxa{ zX{IXX`VO$EI0qL?SF}UU zxTPhVz}rqWviepaLpscF{*RVu-^VU@dco?AR!kSz+HEbnx!Vho3LjphvP#O$r>suM ztoXavC$ta$?qE_#e+!YteoK?6{0O7|%q6QCebtb$Y={pZk<_xjzUU_=eT(odNnbsE zZPHi2aACv3mavU=LFQ5-zWzulLVuN{a@ySa^)r2q4Zax-3zqq=TQqxc!^~ymEUK9~ zchQ1rjWg!>rY%|)oZ-8nVd1s02KXdo!wh_*(|4VC>!xp3!$RN8`bCX%gVP%4HUxc( z8W+wDV!d)m$mA7O{vYj4=Aw9u8Wt~{QLp?_p?@fs>5Cg18-i>Rz8boC5tCo0ME_-M z#(aLyIpa~ja-E|vi>|3DbVsycSQ;pp{-9PTKJcdrJ@|vQxL<%3Und_y|8VEP$*1Pq zoLK9vRrZgG^w}J*%gW-X8*MplZ&jMjLX*pH$gu`ON0pFHDu(G303^18KZh;pT!^GU ziETC_W*&n73R_IT#XS?!p93C;NJ~V-e~ax}L|OwS{u#D(K}0^l!}lD{3Uy_F0y~aa zB&DQcUjz40oPHZhE8=u@PF_-g=?P*?-30FdTxa54fa#G>tye#bQm0K!rDLksbgT9mgEzXPKAr3|eYE%!zJC5aXJsJ|pek5hHl z=B#aqt%krC6|jxqm?^4|CO)Q6swwVx?1H|`#P0$hVd96u?~ZT}djvdMAdmP^Ph{fA zLLTws*-fSdCz0ToiT?`xbrU}ajtdbL(%Jjq)M;hNV4s3VTc`v3BRDP%RLElAgYVU} zD>?-Ic<6pD08a*A8sWK&9wc7J^Ez77d1eorlWvDO!?jLC(90#(O_eKkjMlF>wI zXBDEa!aaRQkOJ*A7w*eFu6Tjq>FldG`vf}LRG{Lu ziRE+~^P`t-Jwhe1ayBxK)93$mAU_Yp@%I#O4_!98SO&F=3S>{;xuQUw(S>`QVa2Ni z&kC`_aS5J|;}_$22h19EpbV~vt_y~-!OgJ{6*p&&UiDk+R9fo<3-l|^l;oieEe~%vsF>8d`EO|NT0bMOC|$HB{)JQ z>g~%V>K(`>>IKRrwer2oCHkGw0MdIO_0r`)fl3n4FU$_$&CH?z0sUfT0QvstfOy9> zUbYNSgs)1|2gOH^>pdvkzjb0E+QIbk?0?`(;&Z}d=6m@4Zb!z}d8y%f^NL!TK8DSo zYh};j`<)I)_`OGjb2>zuT3Wl{VW$2;)(?>MsKJ~`fjA8BVv<@e7p za*O}!W9R=r{_uD%|J?0ZTxM#JAM^F`#&Gr@)BoP*$2-Jk5cm0U`a*en_@$$*3oyBx zUms*OG#uRZ$ z{h;Y{=g)0i7Jj(e+g-vypnT4>;OzQw^XJZ}AJT~LsRxS2FPs)!G?%87 z5PoBjlh^#(Ryh1$_3`sXyfo3C%bOA%Y2hjLY5Zp+99>%1*3O#WfC(k?pUJaZ;Pr@4 zwQzI__nGD4buLG4_`RoHe06(AMpEE^_u2HEzw_C2@s>t!H+thidN&MH2yGC13Z%X) z;Na(%;jLrpl;Ja}#pz`fKfe=qoxBO+hr)aSy*U^U>9@zye)#2qO~ zbx7S_WmLyIJ!;P_?h27p%|@mG=V2X%0tQaz8Y7^*);O zr;;Ji)K_B~k-g*9&9L$Ers|dQrYb*B;kbfdpu4SC@yr~%$1(wL0|_|NN?mluMJPqo z8RP)_X?lwwZl@MVT!~Gd!c=(KtkeExv&vL%Y|Nf%^^^kTqUGe&HHxHiVyWd+Dzv-! zxmp6<hwD4fVzTq zAi6?(@lKKUyn3(A({8#nN;Mf#jlKNhlenk+nia+Az%LKMP4eS!+EN{Zp>xgTQ!hI_ zSJum9~*@`n{#;^Jib!srItY$kErWMM@WW}6V~#nz}{T`8J;8vtYxyx?ualSl#BdjiXO_U9H|bvjc3p>m2!wUI*MYr0zH$mKI()zgZzF1T z4zQCR-$S6?=o0K-n>=N|8dyIfu!FFYzecze{}9e2YI}zp#1-V# zM-x1q8b~W|o9MD6g8S8ygbTQQAa6O+R?IJ*w%R7Rt|#-@QAZ>w6Jjxi^(##Il$+$P zMNu1_8QFLvr?YWtBRO-9^bOdNjxw&TXU^keKVg%ihj|@T#mhq`&bu$V!MKu^+>Q= zy5S*~EF5+_pT)`RQUQKtzZmuibo}Td(5~`!mT$%A%!BwTn#Hw*x54XjyeT)3vHX0q zHlGUa?II6@EtriQzKmbS>mWm8rFy+dy`9vm-xJo!_5$l?bO>wt z{lF=7Xdw{Rawo9AoTT!XFHVK;1~0D=VwMosXqP!2#2IxIO?3Q>6(e9behh=7(T!)G z#!D()i+K=lpRuOgh=(+~;57~2uHw0i0PO~Z5r{f>8pd?x32V6+8j^Z#kKFZ{QG`vxp3*30!+PM(}`p8D`p2W?$a10}{Nfkuw_kmW7tg3^>#4z=8O=IFkB3F`oN01l7eV`SoYT z79H0MJ!95}d4AB6lN#tP>u1V;5f5Bt%kr46T2YS3B`f{Bu*3gwRU1BVKBIl0d~j{K zxJWJ^IfUgeY?wK%aaumE90K_PKG2m=$@fpO*?3Ej?OHsZGv-q~ra}|T(TLQaDXz7N zr&`2>b8?J4_JNWr=n@er{Q|zKkCB02deRdVxoSunXz>T}DsWhUQ^Iy@PF(0(#A<5)n7-YhO z%IR*9!FWW$k;-p-#-3Q9#CtkK3((e-{AQgTG72B^G0W_p0rW#*bM8%`$X2i^QBCJ*1nd8pxomZJb)$0h$TOFmIT1)x)qE?VHkY9r(data); @@ -216,7 +213,7 @@ static void ExecuteSendMsgToJS(void *data) context = route_transit_callbackContext; break; case MSGCENTER_TYPE_ID_VECTOR_NAVI_REC_POI_SUG_SEARCH: - success = poi_sug_successCallback; + success = poi_sug_successCallback; fail = poi_sug_failCallback; context = poi_sug_callbackContext; break; @@ -315,46 +312,36 @@ static void ExecuteSendMsgToJS(void *data) default: HILOG_ERROR(HILOG_MODULE_ACE, "Invalid command type"); break; - } char *msgBody = params->msgBody; delete params; params = nullptr; - OHOS::ACELite::JSIValue dataInfo = OHOS::ACELite::JSI::CreateObject(); OHOS::ACELite::JSI::SetBooleanProperty(dataInfo, "isFileType", false); OHOS::ACELite::JSI::SetBooleanProperty(dataInfo, "isRegister", false); OHOS::ACELite::JSI::SetStringProperty(dataInfo, "message", msgBody); - if (flag) { - if ((!CheckIsJsValueFunction(success)) || (!CheckIsJsValueDefined(context))) { + HILOG_INFO(HILOG_MODULE_ACE, "ExecuteSendMsgToJS type = %d flag = %d", type, flag); + if (!flag) { + if ((!CheckIsJsValueFunction(fail)) || (!CheckIsJsValueDefined(context))) { HILOG_ERROR(HILOG_MODULE_ACE, "Error in ExecuteSendMsgToJS. Invalid params detected!"); - if (msgBody != nullptr) { - AdapterFree(msgBody); - msgBody = nullptr; - } + AdapterFree(msgBody); return; } - OHOS::ACELite::JSIValue successArgv[OHOS::ACELite::ARGC_ONE] = { dataInfo }; - OHOS::ACELite::JSI::CallFunction(success, context, successArgv, OHOS::ACELite::ARGC_ONE); + OHOS::ACELite::JSIValue failArgv[OHOS::ACELite::ARGC_ONE] = {dataInfo}; + OHOS::ACELite::JSI::CallFunction(fail, context, failArgv, OHOS::ACELite::ARGC_ONE); OHOS::ACELite::JSI::ReleaseValue(dataInfo); } else { - if ((!CheckIsJsValueDefined(context)) || (!CheckIsJsValueFunction(fail))) { + if ((!CheckIsJsValueDefined(context)) || (!CheckIsJsValueFunction(success))) { HILOG_ERROR(HILOG_MODULE_ACE, "Error in ExecuteSendMsgToJS. Invalid params detected!"); - if (msgBody != nullptr) { - AdapterFree(msgBody); - msgBody = nullptr; - } + AdapterFree(msgBody); return; } - OHOS::ACELite::JSIValue failArgv[OHOS::ACELite::ARGC_ONE] = { dataInfo }; - OHOS::ACELite::JSI::CallFunction(fail, context, failArgv, OHOS::ACELite::ARGC_ONE); + OHOS::ACELite::JSIValue successArgv[OHOS::ACELite::ARGC_ONE] = {dataInfo}; + OHOS::ACELite::JSI::CallFunction(success, context, successArgv, OHOS::ACELite::ARGC_ONE); OHOS::ACELite::JSI::ReleaseValue(dataInfo); } - if (msgBody != nullptr) { - AdapterFree(msgBody); - msgBody = nullptr; - } + AdapterFree(msgBody); return; } @@ -379,7 +366,7 @@ static void ReleaseJsValue(OHOS::ACELite::JSIValue &jsValue) static void ReleaseMsgJsValue(uint8_t type) { - HILOG_INFO(HILOG_MODULE_ACE,"ReleasePoiMsgJsValue"); + HILOG_INFO(HILOG_MODULE_ACE, "ReleaseMsgJsValue"); switch (type) { case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI: ReleaseJsValue(poi_callbackContext); @@ -401,7 +388,7 @@ static void ReleaseMsgJsValue(uint8_t type) ReleaseJsValue(route_plan_start_Callback); break; case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI_SUG_SEARCH: - ReleaseJsValue(poi_sug_callbackContext); + ReleaseJsValue(poi_sug_callbackContext); ReleaseJsValue(poi_sug_successCallback); ReleaseJsValue(poi_sug_failCallback); break; @@ -502,141 +489,142 @@ static void ReleaseMsgJsValue(uint8_t type) return; } -bool setCallbackFunction(OHOS::ACELite::JSIValue callback,uint8_t type,bool isSuccess) +bool setCallbackFunction(OHOS::ACELite::JSIValue callback, uint8_t type, bool isSuccess) { if (!OHOS::ACELite::JSI::ValueIsUndefined(callback)) { - if (!OHOS::ACELite::JSI::ValueIsFunction(callback)) { - HILOG_ERROR(HILOG_MODULE_ACE, "Success callback value is not a function"); - ReleaseJsValue(callback); - return false; - } else { - switch (type) { - case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI: - if (isSuccess) { - poi_successCallback = callback; - } else { - poi_failCallback = callback; - } - break; - case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_AUTH_LICENSE: - if (isSuccess) { - auth_successCallback = callback; - } else { - auth_failCallback = callback; - } - break; - case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_INIT: - if (isSuccess) { - nav_successCallback = callback; - } else { - nav_failCallback = callback; - } - break; - case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI_SUG_SEARCH: - if (isSuccess) { - poi_sug_successCallback = callback; - } else { - poi_sug_failCallback = callback; - } - break; - case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GEO_LOCATION: - geo_location_Callback = callback; - break; - case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_START: - route_plan_start_Callback = callback; - break; - case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_SUCC: - route_plan_success_Callback = callback; - break; - case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_FAIL: - route_plan_fail_Callback = callback; - break; - case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_START: - navi_start_Callback = callback; - break; - case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_DESTROY: - navi_destroy_Callback = callback; - break; - case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROAD_GUIDE_TEXT_UPDATE: - road_guide_text_update_Callback = callback; - break; - case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROAD_GUIDE_ICON_UPDATE: - road_guide_icon_update_Callback = callback; - break; - case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REMAIN_TIME_UPDATE: - remain_time_Callback = callback; - break; - case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REMAIN_DISTANCE_UPDATE: - remain_distance_Callback = callback; - break; - case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REMAIN_ROUTE_UPDATE: - remain_route_Callback = callback; - break; - case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GPS_STATUS_CHANGE: - gps_status_Callback = callback; - break; - case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_FARAWAY: - route_far_Callback = callback; - break; - case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_YAWING: - route_plan_yawing_Callback = callback; - break; - case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_RE_ROUTE_COMPLETE: - reroute_Callback = callback; - break; - case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ARRIVE_DSTINATION: - arrivedest_Callback = callback; - break; - case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GEOCODE_SEARCH: - if (isSuccess) { - geocode_search_successCallback = callback; - } else { - geocode_search_failCallback = callback; - } - break; - case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REGEOCODE_SEARCH: - if (isSuccess) { - regeocode_search_successCallback = callback; - } else { - regeocode_search_failCallback = callback; - } - break; - case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_RIDING_SEARCH: - if (isSuccess) { - route_riding_successCallback = callback; - } else { - route_riding_failCallback = callback; - } - break; - case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_WALKING_SEARCH: - if (isSuccess) { - route_walking_successCallback = callback; - } else { - route_walking_failCallback = callback; - } - break; - case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_TRANSIT_SEARCH: - if (isSuccess) { - route_transit_successCallback = callback; - } else { - route_transit_failCallback = callback; - } - break; - case MSGCENTER_TYPE_ID_VECTOR_NAVI_BT_CONNECTED: - if (isSuccess) { - bt_connect_successCallback = callback; - } else { - bt_connect_failCallback = callback; - } - break; - default: - HILOG_ERROR(HILOG_MODULE_ACE, "setCallbackFunction Invalid command type"); - return false; + if (!OHOS::ACELite::JSI::ValueIsFunction(callback)) { + HILOG_INFO(HILOG_MODULE_ACE, "callback is not a function will release function"); + ReleaseJsValue(callback); + callback = nullptr; + return false; + } else { + switch (type) { + case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI: + if (isSuccess) { + poi_successCallback = callback; + } else { + poi_failCallback = callback; + } + break; + case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_AUTH_LICENSE: + if (isSuccess) { + auth_successCallback = callback; + } else { + auth_failCallback = callback; + } + break; + case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_INIT: + if (isSuccess) { + nav_successCallback = callback; + } else { + nav_failCallback = callback; + } + break; + case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI_SUG_SEARCH: + if (isSuccess) { + poi_sug_successCallback = callback; + } else { + poi_sug_failCallback = callback; + } + break; + case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GEO_LOCATION: + geo_location_Callback = callback; + break; + case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_START: + route_plan_start_Callback = callback; + break; + case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_SUCC: + route_plan_success_Callback = callback; + break; + case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_FAIL: + route_plan_fail_Callback = callback; + break; + case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_START: + navi_start_Callback = callback; + break; + case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_DESTROY: + navi_destroy_Callback = callback; + break; + case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROAD_GUIDE_TEXT_UPDATE: + road_guide_text_update_Callback = callback; + break; + case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROAD_GUIDE_ICON_UPDATE: + road_guide_icon_update_Callback = callback; + break; + case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REMAIN_TIME_UPDATE: + remain_time_Callback = callback; + break; + case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REMAIN_DISTANCE_UPDATE: + remain_distance_Callback = callback; + break; + case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REMAIN_ROUTE_UPDATE: + remain_route_Callback = callback; + break; + case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GPS_STATUS_CHANGE: + gps_status_Callback = callback; + break; + case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_FARAWAY: + route_far_Callback = callback; + break; + case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_YAWING: + route_plan_yawing_Callback = callback; + break; + case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_RE_ROUTE_COMPLETE: + reroute_Callback = callback; + break; + case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ARRIVE_DSTINATION: + arrivedest_Callback = callback; + break; + case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GEOCODE_SEARCH: + if (isSuccess) { + geocode_search_successCallback = callback; + } else { + geocode_search_failCallback = callback; + } + break; + case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REGEOCODE_SEARCH: + if (isSuccess) { + regeocode_search_successCallback = callback; + } else { + regeocode_search_failCallback = callback; + } + break; + case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_RIDING_SEARCH: + if (isSuccess) { + route_riding_successCallback = callback; + } else { + route_riding_failCallback = callback; + } + break; + case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_WALKING_SEARCH: + if (isSuccess) { + route_walking_successCallback = callback; + } else { + route_walking_failCallback = callback; + } + break; + case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_TRANSIT_SEARCH: + if (isSuccess) { + route_transit_successCallback = callback; + } else { + route_transit_failCallback = callback; + } + break; + case MSGCENTER_TYPE_ID_VECTOR_NAVI_BT_CONNECTED: + if (isSuccess) { + bt_connect_successCallback = callback; + } else { + bt_connect_failCallback = callback; + } + break; + default: + HILOG_ERROR(HILOG_MODULE_ACE, "setCallbackFunction Invalid command type"); + return false; } - } + } } else { - HILOG_ERROR(HILOG_MODULE_ACE, "Success callback value is undefined"); - return false; + HILOG_ERROR(HILOG_MODULE_ACE, "callback value is undefined"); + return false; } return true; @@ -648,18 +636,19 @@ bool setCallbackFunction(OHOS::ACELite::JSIValue callback,uint8_t type,bool isSu JSIValue BaiduMapComponentModule::poi_nearby_search(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize) { - HILOG_INFO(HILOG_MODULE_ACE,"poi_nearby_search"); + HILOG_INFO(HILOG_MODULE_ACE, "poi_nearby_search"); char *data = JSI::JsonStringify(args[0]); - HILOG_INFO(HILOG_MODULE_ACE,"poi_nearby_search : %s \n",data); - //success Callback & failed Callback + HILOG_INFO(HILOG_MODULE_ACE, "poi_nearby_search : %s \n", data); + // success Callback & failed Callback ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI); poi_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal); OHOS::ACELite::JSIValue successCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_SUCCESS); OHOS::ACELite::JSIValue failCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_FAIL); - bool hasSuccessCallback = setCallbackFunction(successCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI,true); - bool hasFailCallback = setCallbackFunction(failCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI,false); + bool hasSuccessCallback = setCallbackFunction(successCallback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI, true); + bool hasFailCallback = setCallbackFunction(failCallback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI, false); if (hasSuccessCallback || hasFailCallback) { - msg_center_vector_navi_req_poi(MSGCENTER_CMD_VECTOR_NAVI,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI,data,strlen(data)); + msg_center_vector_navi_req_poi( + MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI, data, strlen(data)); } ace_free(data); return JSI::CreateBoolean(true); @@ -667,18 +656,21 @@ JSIValue BaiduMapComponentModule::poi_nearby_search(const JSIValue thisVal, cons JSIValue BaiduMapComponentModule::route_riding_search(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize) { - HILOG_INFO(HILOG_MODULE_ACE,"route_riding_search"); + HILOG_INFO(HILOG_MODULE_ACE, "route_riding_search"); char *data = JSI::JsonStringify(args[0]); - HILOG_INFO(HILOG_MODULE_ACE,"route_riding_search : %s \n",data); - //success Callback & failed Callback + HILOG_INFO(HILOG_MODULE_ACE, "route_riding_search : %s \n", data); + // success Callback & failed Callback ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_RIDING_SEARCH); route_riding_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal); OHOS::ACELite::JSIValue successCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_SUCCESS); OHOS::ACELite::JSIValue failCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_FAIL); - bool hasSuccessCallback = setCallbackFunction(successCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_RIDING_SEARCH,true); - bool hasFailCallback = setCallbackFunction(failCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_RIDING_SEARCH,false); + bool hasSuccessCallback = + setCallbackFunction(successCallback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_RIDING_SEARCH, true); + bool hasFailCallback = + setCallbackFunction(failCallback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_RIDING_SEARCH, false); if (hasSuccessCallback || hasFailCallback) { - msg_center_vector_navi_req_route_riding_search(MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_RIDING_SEARCH,data,strlen(data)); + msg_center_vector_navi_req_route_riding_search( + MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_RIDING_SEARCH, data, strlen(data)); } ace_free(data); return JSI::CreateBoolean(true); @@ -686,18 +678,21 @@ JSIValue BaiduMapComponentModule::route_riding_search(const JSIValue thisVal, co JSIValue BaiduMapComponentModule::route_walking_search(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize) { - HILOG_INFO(HILOG_MODULE_ACE,"route_walking_search"); + HILOG_INFO(HILOG_MODULE_ACE, "route_walking_search"); char *data = JSI::JsonStringify(args[0]); - HILOG_INFO(HILOG_MODULE_ACE,"route_walking_search : %s \n",data); - //success Callback & failed Callback + HILOG_INFO(HILOG_MODULE_ACE, "route_walking_search : %s \n", data); + // success Callback & failed Callback ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_WALKING_SEARCH); route_walking_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal); OHOS::ACELite::JSIValue successCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_SUCCESS); OHOS::ACELite::JSIValue failCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_FAIL); - bool hasSuccessCallback = setCallbackFunction(successCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_WALKING_SEARCH,true); - bool hasFailCallback = setCallbackFunction(failCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_WALKING_SEARCH,false); + bool hasSuccessCallback = + setCallbackFunction(successCallback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_WALKING_SEARCH, true); + bool hasFailCallback = + setCallbackFunction(failCallback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_WALKING_SEARCH, false); if (hasSuccessCallback || hasFailCallback) { - msg_center_vector_navi_req_route_walking_search(MSGCENTER_CMD_VECTOR_NAVI,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_WALKING_SEARCH,data,strlen(data)); + msg_center_vector_navi_req_route_walking_search( + MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_WALKING_SEARCH, data, strlen(data)); } ace_free(data); return JSI::CreateBoolean(true); @@ -705,18 +700,21 @@ JSIValue BaiduMapComponentModule::route_walking_search(const JSIValue thisVal, c JSIValue BaiduMapComponentModule::route_transit_search(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize) { - HILOG_INFO(HILOG_MODULE_ACE,"route_transit_search"); + HILOG_INFO(HILOG_MODULE_ACE, "route_transit_search"); char *data = JSI::JsonStringify(args[0]); - HILOG_INFO(HILOG_MODULE_ACE,"route_transit_search : %s \n",data); - //success Callback & failed Callback + HILOG_INFO(HILOG_MODULE_ACE, "route_transit_search : %s \n", data); + // success Callback & failed Callback ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_TRANSIT_SEARCH); route_transit_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal); OHOS::ACELite::JSIValue successCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_SUCCESS); OHOS::ACELite::JSIValue failCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_FAIL); - bool hasSuccessCallback = setCallbackFunction(successCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_TRANSIT_SEARCH,true); - bool hasFailCallback = setCallbackFunction(failCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_TRANSIT_SEARCH,false); + bool hasSuccessCallback = + setCallbackFunction(successCallback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_TRANSIT_SEARCH, true); + bool hasFailCallback = + setCallbackFunction(failCallback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_TRANSIT_SEARCH, false); if (hasSuccessCallback || hasFailCallback) { - msg_center_vector_navi_req_route_transit_search(MSGCENTER_CMD_VECTOR_NAVI,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_TRANSIT_SEARCH,data,strlen(data)); + msg_center_vector_navi_req_route_transit_search( + MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_TRANSIT_SEARCH, data, strlen(data)); } ace_free(data); return JSI::CreateBoolean(true); @@ -724,18 +722,20 @@ JSIValue BaiduMapComponentModule::route_transit_search(const JSIValue thisVal, c JSIValue BaiduMapComponentModule::auth_license(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize) { - HILOG_INFO(HILOG_MODULE_ACE,"auth_license"); + HILOG_INFO(HILOG_MODULE_ACE, "auth_license"); char *data = JSI::JsonStringify(args[0]); - HILOG_INFO(HILOG_MODULE_ACE,"auth_license : %s \n",data); - //success Callback & failed Callback + HILOG_INFO(HILOG_MODULE_ACE, "auth_license : %s \n", data); + // success Callback & failed Callback ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_AUTH_LICENSE); auth_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal); OHOS::ACELite::JSIValue successCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_SUCCESS); OHOS::ACELite::JSIValue failCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_FAIL); - bool hasSuccessCallback = setCallbackFunction(successCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_AUTH_LICENSE,true); - bool hasFailCallback = setCallbackFunction(failCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_AUTH_LICENSE,false); + bool hasSuccessCallback = + setCallbackFunction(successCallback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_AUTH_LICENSE, true); + bool hasFailCallback = setCallbackFunction(failCallback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_AUTH_LICENSE, false); if (hasSuccessCallback || hasFailCallback) { - msg_center_vector_navi_req_auth_license(MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_AUTH_LICENSE,data,strlen(data)); + msg_center_vector_navi_req_auth_license( + MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_AUTH_LICENSE, data, strlen(data)); } ace_free(data); return JSI::CreateBoolean(true); @@ -743,15 +743,16 @@ JSIValue BaiduMapComponentModule::auth_license(const JSIValue thisVal, const JSI JSIValue BaiduMapComponentModule::getGeolocation(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize) { - HILOG_INFO(HILOG_MODULE_ACE,"getGeolocation"); + HILOG_INFO(HILOG_MODULE_ACE, "getGeolocation"); char *data = JSI::JsonStringify(args[0]); - HILOG_INFO(HILOG_MODULE_ACE,"getGeolocation : %s \n",data); + HILOG_INFO(HILOG_MODULE_ACE, "getGeolocation : %s \n", data); ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GEO_LOCATION); geo_location_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal); OHOS::ACELite::JSIValue Callback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_CALLBACK); - bool hasCallback = setCallbackFunction(Callback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GEO_LOCATION,true); + bool hasCallback = setCallbackFunction(Callback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GEO_LOCATION, true); if (hasCallback) { - msg_center_vector_navi_req_geo_location(MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GEO_LOCATION,data,strlen(data)); + msg_center_vector_navi_req_geo_location( + MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GEO_LOCATION, data, strlen(data)); } ace_free(data); return JSI::CreateBoolean(true); @@ -759,18 +760,19 @@ JSIValue BaiduMapComponentModule::getGeolocation(const JSIValue thisVal, const J JSIValue BaiduMapComponentModule::naviInit(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize) { - HILOG_INFO(HILOG_MODULE_ACE,"naviInit"); + HILOG_INFO(HILOG_MODULE_ACE, "naviInit"); char *data = JSI::JsonStringify(args[0]); - HILOG_INFO(HILOG_MODULE_ACE,"naviInit : %s \n",data); - //success Callback & failed Callback + HILOG_INFO(HILOG_MODULE_ACE, "naviInit : %s \n", data); + // success Callback & failed Callback ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_INIT); nav_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal); OHOS::ACELite::JSIValue successCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_SUCCESS); OHOS::ACELite::JSIValue failCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_FAIL); - bool hasSuccessCallback = setCallbackFunction(successCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_INIT,true); - bool hasFailCallback = setCallbackFunction(failCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_INIT,false); + bool hasSuccessCallback = setCallbackFunction(successCallback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_INIT, true); + bool hasFailCallback = setCallbackFunction(failCallback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_INIT, false); if (hasSuccessCallback || hasFailCallback) { - msg_center_vector_navi_req_navi_init(MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_INIT,data,strlen(data)); + msg_center_vector_navi_req_navi_init( + MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_INIT, data, strlen(data)); } ace_free(data); return JSI::CreateBoolean(true); @@ -778,169 +780,172 @@ JSIValue BaiduMapComponentModule::naviInit(const JSIValue thisVal, const JSIValu JSIValue BaiduMapComponentModule::onRoutePlanStart(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize) { - HILOG_INFO(HILOG_MODULE_ACE,"onRoutePlanStart"); + HILOG_INFO(HILOG_MODULE_ACE, "onRoutePlanStart"); OHOS::ACELite::JSIValue Callback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_CALLBACK); ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_START); route_plan_start_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal); - setCallbackFunction(Callback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_START,true); + setCallbackFunction(Callback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_START, true); return JSI::CreateBoolean(true); } JSIValue BaiduMapComponentModule::onRoutePlanSuccess(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize) { - HILOG_INFO(HILOG_MODULE_ACE,"onRoutePlanSuccess"); + HILOG_INFO(HILOG_MODULE_ACE, "onRoutePlanSuccess"); OHOS::ACELite::JSIValue Callback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_CALLBACK); ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_SUCC); route_plan_success_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal); - setCallbackFunction(Callback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_SUCC,true); + setCallbackFunction(Callback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_SUCC, true); return JSI::CreateBoolean(true); } JSIValue BaiduMapComponentModule::onRoutePlanFail(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize) { - HILOG_INFO(HILOG_MODULE_ACE,"onRoutePlanFail"); + HILOG_INFO(HILOG_MODULE_ACE, "onRoutePlanFail"); OHOS::ACELite::JSIValue Callback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_CALLBACK); ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_FAIL); route_plan_fail_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal); - setCallbackFunction(Callback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_FAIL,true); + setCallbackFunction(Callback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_FAIL, true); return JSI::CreateBoolean(true); } JSIValue BaiduMapComponentModule::onNaviStart(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize) { - HILOG_INFO(HILOG_MODULE_ACE,"onNaviStart"); + HILOG_INFO(HILOG_MODULE_ACE, "onNaviStart"); OHOS::ACELite::JSIValue Callback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_CALLBACK); ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_START); navi_start_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal); - setCallbackFunction(Callback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_START,true); + setCallbackFunction(Callback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_START, true); return JSI::CreateBoolean(true); } JSIValue BaiduMapComponentModule::onNaviDestroy(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize) { - HILOG_INFO(HILOG_MODULE_ACE,"onNaviDestroy"); + HILOG_INFO(HILOG_MODULE_ACE, "onNaviDestroy"); OHOS::ACELite::JSIValue Callback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_CALLBACK); ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_DESTROY); navi_destroy_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal); - setCallbackFunction(Callback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_DESTROY,true); + setCallbackFunction(Callback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_DESTROY, true); return JSI::CreateBoolean(true); } JSIValue BaiduMapComponentModule::onRoadGuideTextUpdate(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize) { - HILOG_INFO(HILOG_MODULE_ACE,"onRoadGuideTextUpdate"); + HILOG_INFO(HILOG_MODULE_ACE, "onRoadGuideTextUpdate"); OHOS::ACELite::JSIValue Callback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_CALLBACK); ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROAD_GUIDE_TEXT_UPDATE); road_guide_text_update_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal); - setCallbackFunction(Callback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROAD_GUIDE_TEXT_UPDATE,true); + setCallbackFunction(Callback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROAD_GUIDE_TEXT_UPDATE, true); return JSI::CreateBoolean(true); } JSIValue BaiduMapComponentModule::onRouteGuideIconUpdate(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize) { - HILOG_INFO(HILOG_MODULE_ACE,"onRouteGuideIconUpdate"); + HILOG_INFO(HILOG_MODULE_ACE, "onRouteGuideIconUpdate"); OHOS::ACELite::JSIValue Callback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_CALLBACK); ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROAD_GUIDE_ICON_UPDATE); road_guide_icon_update_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal); - setCallbackFunction(Callback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROAD_GUIDE_ICON_UPDATE,true); + setCallbackFunction(Callback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROAD_GUIDE_ICON_UPDATE, true); return JSI::CreateBoolean(true); } JSIValue BaiduMapComponentModule::onRemainTimeUpdate(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize) { - HILOG_INFO(HILOG_MODULE_ACE,"onRemainTimeUpdate"); + HILOG_INFO(HILOG_MODULE_ACE, "onRemainTimeUpdate"); OHOS::ACELite::JSIValue Callback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_CALLBACK); ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REMAIN_TIME_UPDATE); remain_time_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal); - setCallbackFunction(Callback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REMAIN_TIME_UPDATE,true); + setCallbackFunction(Callback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REMAIN_TIME_UPDATE, true); return JSI::CreateBoolean(true); } JSIValue BaiduMapComponentModule::onRemainDistanceUpdate(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize) { - HILOG_INFO(HILOG_MODULE_ACE,"onRemainDistanceUpdate"); + HILOG_INFO(HILOG_MODULE_ACE, "onRemainDistanceUpdate"); OHOS::ACELite::JSIValue Callback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_CALLBACK); ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REMAIN_DISTANCE_UPDATE); remain_distance_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal); - setCallbackFunction(Callback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REMAIN_DISTANCE_UPDATE,true); + setCallbackFunction(Callback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REMAIN_DISTANCE_UPDATE, true); return JSI::CreateBoolean(true); } JSIValue BaiduMapComponentModule::onRemainRouteUpdate(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize) { - HILOG_INFO(HILOG_MODULE_ACE,"onRemainRouteUpdate"); + HILOG_INFO(HILOG_MODULE_ACE, "onRemainRouteUpdate"); OHOS::ACELite::JSIValue Callback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_CALLBACK); ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REMAIN_ROUTE_UPDATE); remain_route_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal); - setCallbackFunction(Callback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REMAIN_ROUTE_UPDATE,true); + setCallbackFunction(Callback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REMAIN_ROUTE_UPDATE, true); return JSI::CreateBoolean(true); } JSIValue BaiduMapComponentModule::onGpsStatusChange(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize) { - HILOG_INFO(HILOG_MODULE_ACE,"onGpsStatusChange"); + HILOG_INFO(HILOG_MODULE_ACE, "onGpsStatusChange"); OHOS::ACELite::JSIValue Callback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_CALLBACK); ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GPS_STATUS_CHANGE); gps_status_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal); - setCallbackFunction(Callback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GPS_STATUS_CHANGE,true); + setCallbackFunction(Callback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GPS_STATUS_CHANGE, true); return JSI::CreateBoolean(true); } JSIValue BaiduMapComponentModule::onRouteFarAway(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize) { - HILOG_INFO(HILOG_MODULE_ACE,"onRouteFarAway"); + HILOG_INFO(HILOG_MODULE_ACE, "onRouteFarAway"); OHOS::ACELite::JSIValue Callback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_CALLBACK); ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_FARAWAY); route_far_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal); - setCallbackFunction(Callback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_FARAWAY,true); + setCallbackFunction(Callback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_FARAWAY, true); return JSI::CreateBoolean(true); } JSIValue BaiduMapComponentModule::onRoutePlanYawing(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize) { - HILOG_INFO(HILOG_MODULE_ACE,"onRoutePlanYawing"); + HILOG_INFO(HILOG_MODULE_ACE, "onRoutePlanYawing"); OHOS::ACELite::JSIValue Callback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_CALLBACK); ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_YAWING); route_plan_yawing_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal); - setCallbackFunction(Callback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_YAWING,true); - //msg_center_vector_navi_req_route_plan_yawing(MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_YAWING,Callback,1); + setCallbackFunction(Callback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_YAWING, true); + // msg_center_vector_navi_req_route_plan_yawing(MSGCENTER_CMD_VECTOR_NAVI, + // MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_YAWING,Callback,1); return JSI::CreateBoolean(true); } JSIValue BaiduMapComponentModule::onReRouteComplete(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize) { - HILOG_INFO(HILOG_MODULE_ACE,"onReRouteComplete"); + HILOG_INFO(HILOG_MODULE_ACE, "onReRouteComplete"); OHOS::ACELite::JSIValue Callback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_CALLBACK); ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_RE_ROUTE_COMPLETE); reroute_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal); - setCallbackFunction(Callback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_RE_ROUTE_COMPLETE,true); + setCallbackFunction(Callback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_RE_ROUTE_COMPLETE, true); return JSI::CreateBoolean(true); } JSIValue BaiduMapComponentModule::onArriveDest(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize) { - HILOG_INFO(HILOG_MODULE_ACE,"onArriveDest"); + HILOG_INFO(HILOG_MODULE_ACE, "onArriveDest"); OHOS::ACELite::JSIValue Callback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_CALLBACK); ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ARRIVE_DSTINATION); arrivedest_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal); - setCallbackFunction(Callback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ARRIVE_DSTINATION,true); + setCallbackFunction(Callback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ARRIVE_DSTINATION, true); return JSI::CreateBoolean(true); } JSIValue BaiduMapComponentModule::poi_sug_search(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize) { - HILOG_INFO(HILOG_MODULE_ACE,"poi_sug_search"); + HILOG_INFO(HILOG_MODULE_ACE, "poi_sug_search"); char *data = JSI::JsonStringify(args[0]); - HILOG_INFO(HILOG_MODULE_ACE,"poi_sug_search : %s \n",data); + HILOG_INFO(HILOG_MODULE_ACE, "poi_sug_search : %s \n", data); ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI_SUG_SEARCH); poi_sug_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal); OHOS::ACELite::JSIValue successCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_SUCCESS); OHOS::ACELite::JSIValue failCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_FAIL); - bool hasSuccessCallback = setCallbackFunction(successCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI_SUG_SEARCH,true); - bool hasFailCallback = setCallbackFunction(failCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI_SUG_SEARCH,false); + bool hasSuccessCallback = + setCallbackFunction(successCallback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI_SUG_SEARCH, true); + bool hasFailCallback = setCallbackFunction(failCallback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI_SUG_SEARCH, false); if (hasSuccessCallback || hasFailCallback) { - msg_center_vertor_navi_req_poi_sug_search(MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI_SUG_SEARCH,data,strlen(data)); + msg_center_vertor_navi_req_poi_sug_search( + MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI_SUG_SEARCH, data, strlen(data)); } ace_free(data); return JSI::CreateBoolean(true); @@ -951,16 +956,16 @@ JSIValue BaiduMapComponentModule::poi_sug_search(const JSIValue thisVal, const J */ JSIValue BaiduMapComponentModule::Location_WGS84ToGCJ02(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize) { - HILOG_INFO(HILOG_MODULE_ACE,"WGS84ToGCJ02"); + HILOG_INFO(HILOG_MODULE_ACE, "WGS84ToGCJ02"); double lon = OHOS::ACELite::JSI::GetNumberProperty(args[0], LON); double lat = OHOS::ACELite::JSI::GetNumberProperty(args[0], LAT); - HILOG_INFO(HILOG_MODULE_ACE,"WGS84ToGCJ02 befor lon: %lf \s",lon); - HILOG_INFO(HILOG_MODULE_ACE,"WGS84ToGCJ02 befor lat: %lf \s",lat); + HILOG_INFO(HILOG_MODULE_ACE, "WGS84ToGCJ02 befor lon: %lf \s", lon); + HILOG_INFO(HILOG_MODULE_ACE, "WGS84ToGCJ02 befor lat: %lf \s", lat); JSCoordinate params = {0}; WGS84ToGCJ02(lon, lat, params); - HILOG_INFO(HILOG_MODULE_ACE,"WGS84ToGCJ02 after lon: %lf \s",params.lon); - HILOG_INFO(HILOG_MODULE_ACE,"WGS84ToGCJ02 after lat: %lf \s",params.lat); + HILOG_INFO(HILOG_MODULE_ACE, "WGS84ToGCJ02 after lon: %lf \s", params.lon); + HILOG_INFO(HILOG_MODULE_ACE, "WGS84ToGCJ02 after lat: %lf \s", params.lat); JSIValue result = JSI::CreateObject(); JSI::SetNumberProperty(result, "lon", params.lon); JSI::SetNumberProperty(result, "lat", params.lat); @@ -969,16 +974,16 @@ JSIValue BaiduMapComponentModule::Location_WGS84ToGCJ02(const JSIValue thisVal, JSIValue BaiduMapComponentModule::Location_GCJ02ToBD09(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize) { - HILOG_INFO(HILOG_MODULE_ACE,"GCJ02ToBD09"); + HILOG_INFO(HILOG_MODULE_ACE, "GCJ02ToBD09"); double lon = OHOS::ACELite::JSI::GetNumberProperty(args[0], LON); double lat = OHOS::ACELite::JSI::GetNumberProperty(args[0], LAT); - HILOG_INFO(HILOG_MODULE_ACE,"GCJ02ToBD09 befor lon: %lf \s",lon); - HILOG_INFO(HILOG_MODULE_ACE,"GCJ02ToBD09 befor lat: %lf \s",lat); + HILOG_INFO(HILOG_MODULE_ACE, "GCJ02ToBD09 befor lon: %lf \s", lon); + HILOG_INFO(HILOG_MODULE_ACE, "GCJ02ToBD09 befor lat: %lf \s", lat); JSCoordinate params = {0}; GCJ02ToBD09(lon, lat, params); - HILOG_INFO(HILOG_MODULE_ACE,"GCJ02ToBD09 after lon: %lf \s",params.lon); - HILOG_INFO(HILOG_MODULE_ACE,"GCJ02ToBD09 after lat: %lf \s",params.lat); + HILOG_INFO(HILOG_MODULE_ACE, "GCJ02ToBD09 after lon: %lf \s", params.lon); + HILOG_INFO(HILOG_MODULE_ACE, "GCJ02ToBD09 after lat: %lf \s", params.lat); JSIValue result = JSI::CreateObject(); JSI::SetNumberProperty(result, "lon", params.lon); JSI::SetNumberProperty(result, "lat", params.lat); @@ -987,16 +992,16 @@ JSIValue BaiduMapComponentModule::Location_GCJ02ToBD09(const JSIValue thisVal, c JSIValue BaiduMapComponentModule::Location_WGS84ToBD09(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize) { - HILOG_INFO(HILOG_MODULE_ACE,"WGS84ToBD09"); + HILOG_INFO(HILOG_MODULE_ACE, "WGS84ToBD09"); double lon = OHOS::ACELite::JSI::GetNumberProperty(args[0], LON); double lat = OHOS::ACELite::JSI::GetNumberProperty(args[0], LAT); - HILOG_INFO(HILOG_MODULE_ACE,"WGS84ToBD09 befor lon: %lf \s",lon); - HILOG_INFO(HILOG_MODULE_ACE,"WGS84ToBD09 befor lat: %lf \s",lat); + HILOG_INFO(HILOG_MODULE_ACE, "WGS84ToBD09 befor lon: %lf \s", lon); + HILOG_INFO(HILOG_MODULE_ACE, "WGS84ToBD09 befor lat: %lf \s", lat); JSCoordinate params = {0}; WGS84ToBD09(lon, lat, params); - HILOG_INFO(HILOG_MODULE_ACE,"WGS84ToBD09 after lon: %lf \s",params.lon); - HILOG_INFO(HILOG_MODULE_ACE,"WGS84ToBD09 after lat: %lf \s",params.lat); + HILOG_INFO(HILOG_MODULE_ACE, "WGS84ToBD09 after lon: %lf \s", params.lon); + HILOG_INFO(HILOG_MODULE_ACE, "WGS84ToBD09 after lat: %lf \s", params.lat); JSIValue result = JSI::CreateObject(); JSI::SetNumberProperty(result, "lon", params.lon); JSI::SetNumberProperty(result, "lat", params.lat); @@ -1005,16 +1010,16 @@ JSIValue BaiduMapComponentModule::Location_WGS84ToBD09(const JSIValue thisVal, c JSIValue BaiduMapComponentModule::Location_BD09ToGCJ02(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize) { - HILOG_INFO(HILOG_MODULE_ACE,"BD09ToGCJ02"); + HILOG_INFO(HILOG_MODULE_ACE, "BD09ToGCJ02"); double lon = OHOS::ACELite::JSI::GetNumberProperty(args[0], LON); double lat = OHOS::ACELite::JSI::GetNumberProperty(args[0], LAT); - HILOG_INFO(HILOG_MODULE_ACE,"BD09ToGCJ02 befor lon: %lf \s",lon); - HILOG_INFO(HILOG_MODULE_ACE,"BD09ToGCJ02 befor lat: %lf \s",lat); + HILOG_INFO(HILOG_MODULE_ACE, "BD09ToGCJ02 befor lon: %lf \s", lon); + HILOG_INFO(HILOG_MODULE_ACE, "BD09ToGCJ02 befor lat: %lf \s", lat); JSCoordinate params = {0}; BD09ToGCJ02(lon, lat, params); - HILOG_INFO(HILOG_MODULE_ACE,"BD09ToGCJ02 after lon: %lf \s",params.lon); - HILOG_INFO(HILOG_MODULE_ACE,"BD09ToGCJ02 after lat: %lf \s",params.lat); + HILOG_INFO(HILOG_MODULE_ACE, "BD09ToGCJ02 after lon: %lf \s", params.lon); + HILOG_INFO(HILOG_MODULE_ACE, "BD09ToGCJ02 after lat: %lf \s", params.lat); JSIValue result = JSI::CreateObject(); JSI::SetNumberProperty(result, "lon", params.lon); JSI::SetNumberProperty(result, "lat", params.lat); @@ -1026,40 +1031,43 @@ JSIValue BaiduMapComponentModule::Location_BD09ToGCJ02(const JSIValue thisVal, c */ JSIValue BaiduMapComponentModule::Geocode_search(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize) { - HILOG_INFO(HILOG_MODULE_ACE,"Geocode_search"); + HILOG_INFO(HILOG_MODULE_ACE, "Geocode_search"); char *data = JSI::JsonStringify(args[0]); - HILOG_INFO(HILOG_MODULE_ACE,"Geocode_search : %s \n",data); - //success Callback & failed Callback + HILOG_INFO(HILOG_MODULE_ACE, "Geocode_search : %s \n", data); + // success Callback & failed Callback ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GEOCODE_SEARCH); geocode_search_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal); OHOS::ACELite::JSIValue successCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_SUCCESS); OHOS::ACELite::JSIValue failCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_FAIL); - bool hasSuccessCallback = setCallbackFunction(successCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GEOCODE_SEARCH,true); - bool hasFailCallback = setCallbackFunction(failCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GEOCODE_SEARCH,false); + bool hasSuccessCallback = + setCallbackFunction(successCallback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GEOCODE_SEARCH, true); + bool hasFailCallback = setCallbackFunction(failCallback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GEOCODE_SEARCH, false); if (hasSuccessCallback || hasFailCallback) { - msg_center_vector_navi_req_geocode_search(MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GEOCODE_SEARCH,data,strlen(data)); + msg_center_vector_navi_req_geocode_search( + MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GEOCODE_SEARCH, data, strlen(data)); } - ace_free(data); + ace_free(data); return JSI::CreateBoolean(true); - } JSIValue BaiduMapComponentModule::Regeocode_search(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize) { - HILOG_INFO(HILOG_MODULE_ACE,"Regeocode_search"); + HILOG_INFO(HILOG_MODULE_ACE, "Regeocode_search"); char *data = JSI::JsonStringify(args[0]); - HILOG_INFO(HILOG_MODULE_ACE,"Regeocode_search : %s \n",data); - //success Callback & failed Callback + HILOG_INFO(HILOG_MODULE_ACE, "Regeocode_search : %s \n", data); + // success Callback & failed Callback ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REGEOCODE_SEARCH); regeocode_search_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal); OHOS::ACELite::JSIValue successCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_SUCCESS); OHOS::ACELite::JSIValue failCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_FAIL); - bool hasSuccessCallback = setCallbackFunction(successCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REGEOCODE_SEARCH,true); - bool hasFailCallback = setCallbackFunction(failCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REGEOCODE_SEARCH,false); + bool hasSuccessCallback = + setCallbackFunction(successCallback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REGEOCODE_SEARCH, true); + bool hasFailCallback = setCallbackFunction(failCallback, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REGEOCODE_SEARCH, false); if (hasSuccessCallback || hasFailCallback) { - msg_center_vector_navi_req_regeocode_search(MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REGEOCODE_SEARCH,data,strlen(data)); + msg_center_vector_navi_req_regeocode_search( + MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REGEOCODE_SEARCH, data, strlen(data)); } - ace_free(data); + ace_free(data); return JSI::CreateBoolean(true); } @@ -1068,11 +1076,12 @@ JSIValue BaiduMapComponentModule::Regeocode_search(const JSIValue thisVal, const */ JSIValue BaiduMapComponentModule::Destroy_page(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize) { - HILOG_INFO(HILOG_MODULE_ACE,"Destroy_page"); + HILOG_INFO(HILOG_MODULE_ACE, "Destroy_page"); char *data = JSI::JsonStringify(args[0]); - HILOG_INFO(HILOG_MODULE_ACE,"Destroy_page : %s \n",data); - msg_center_vector_navi_req_destroy_page(MSGCENTER_CMD_VECTOR_NAVI,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_DESTROY_PAGE,data,strlen(data)); - ace_free(data); + HILOG_INFO(HILOG_MODULE_ACE, "Destroy_page : %s \n", data); + msg_center_vector_navi_req_destroy_page( + MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_DESTROY_PAGE, data, strlen(data)); + ace_free(data); return JSI::CreateBoolean(true); } @@ -1081,17 +1090,17 @@ JSIValue BaiduMapComponentModule::Destroy_page(const JSIValue thisVal, const JSI */ JSIValue BaiduMapComponentModule::onBTConnect(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize) { - HILOG_INFO(HILOG_MODULE_ACE,"onBTConnect"); + HILOG_INFO(HILOG_MODULE_ACE, "onBTConnect"); char *data = JSI::JsonStringify(args[0]); - HILOG_INFO(HILOG_MODULE_ACE,"onBTConnect : %s \n",data); - //success Callback & failed Callback + HILOG_INFO(HILOG_MODULE_ACE, "onBTConnect : %s \n", data); + // success Callback & failed Callback ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_BT_CONNECTED); bt_connect_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal); OHOS::ACELite::JSIValue connectCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CONNECT); OHOS::ACELite::JSIValue disconnectCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], DISCONNECT); - setCallbackFunction(connectCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_BT_CONNECTED,true); - setCallbackFunction(disconnectCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_BT_CONNECTED,false); - ace_free(data); + setCallbackFunction(connectCallback, MSGCENTER_TYPE_ID_VECTOR_NAVI_BT_CONNECTED, true); + setCallbackFunction(disconnectCallback, MSGCENTER_TYPE_ID_VECTOR_NAVI_BT_CONNECTED, false); + ace_free(data); return JSI::CreateBoolean(true); } @@ -1100,12 +1109,13 @@ JSIValue BaiduMapComponentModule::onBTConnect(const JSIValue thisVal, const JSIV */ JSIValue BaiduMapComponentModule::NaviDestroy(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize) { - HILOG_INFO(HILOG_MODULE_ACE,"exitNavigation"); - char *data = JSI::JsonStringify(args[0]); - HILOG_INFO(HILOG_MODULE_ACE,"exitNavigation : %s \n",data); - msg_center_vector_navi_req_destroy_from_watch(MSGCENTER_CMD_VECTOR_NAVI,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_DESTROY_FROM_WATCH,data,strlen(data)); - ace_free(data); - return JSI::CreateBoolean(true); + HILOG_INFO(HILOG_MODULE_ACE, "exitNavigation"); + char *data = JSI::JsonStringify(args[0]); + HILOG_INFO(HILOG_MODULE_ACE, "exitNavigation : %s \n", data); + msg_center_vector_navi_req_destroy_from_watch( + MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_DESTROY_FROM_WATCH, data, strlen(data)); + ace_free(data); + return JSI::CreateBoolean(true); } /** @@ -1113,104 +1123,248 @@ JSIValue BaiduMapComponentModule::NaviDestroy(const JSIValue thisVal, const JSIV */ JSIValue BaiduMapComponentModule::StopAnswer(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize) { - HILOG_INFO(HILOG_MODULE_ACE,"StopAnswer"); - char *data = JSI::JsonStringify(args[0]); - HILOG_INFO(HILOG_MODULE_ACE,"StopAnswer : %s \n",data); - msg_center_xiaodu_send_stop_answer(MSGCENTER_CMD_XIAODU,MSGCENTER_TYPE_ID_XIAODU_SEND_JS_EXIT,data,strlen(data)); - ace_free(data); - return JSI::CreateBoolean(true); + HILOG_INFO(HILOG_MODULE_ACE, "StopAnswer"); + char *data = JSI::JsonStringify(args[0]); + HILOG_INFO(HILOG_MODULE_ACE, "StopAnswer : %s \n", data); + msg_center_xiaodu_send_stop_answer(MSGCENTER_CMD_XIAODU, MSGCENTER_TYPE_ID_XIAODU_SEND_JS_EXIT, data, strlen(data)); + ace_free(data); + return JSI::CreateBoolean(true); +} + +JSIValue BaiduMapComponentModule::MapInit(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize) +{ + HILOG_INFO(HILOG_MODULE_ACE, "MapInit"); + // poi_nearby_search + poi_successCallback = nullptr; + poi_failCallback = nullptr; + poi_callbackContext = nullptr; + // route_riding_search + route_riding_successCallback = nullptr; + route_riding_failCallback = nullptr; + route_riding_callbackContext = nullptr; + // route_walking_search + route_walking_successCallback = nullptr; + route_walking_failCallback = nullptr; + route_walking_callbackContext = nullptr; + // route_transit_search + route_transit_successCallback = nullptr; + route_transit_failCallback = nullptr; + route_transit_callbackContext = nullptr; + // auth_license + auth_successCallback = nullptr; + auth_failCallback = nullptr; + auth_callbackContext = nullptr; + // naviInit + nav_successCallback = nullptr; + nav_failCallback = nullptr; + nav_callbackContext = nullptr; + // getGeolocation + geo_location_Callback = nullptr; + geo_location_callbackContext = nullptr; + // onRoutePlanStart + route_plan_start_Callback = nullptr; + route_plan_start_callbackContext = nullptr; + // onRoutePlanSuccess + route_plan_success_Callback = nullptr; + route_plan_success_callbackContext = nullptr; + // onRoutePlanFail + route_plan_fail_Callback = nullptr; + route_plan_fail_callbackContext = nullptr; + // onNaviStart + navi_start_Callback = nullptr; + navi_start_callbackContext = nullptr; + // onNaviDestroy + navi_destroy_Callback = nullptr; + navi_destroy_callbackContext = nullptr; + // onRoadGuideTextUpdate + road_guide_text_update_Callback = nullptr; + road_guide_text_update_callbackContext = nullptr; + // onRouteGuideIconUpdate + road_guide_icon_update_Callback = nullptr; + road_guide_icon_update_callbackContext = nullptr; + // onRemainTimeUpdate + remain_time_Callback = nullptr; + remain_time_callbackContext = nullptr; + // onRemainDistanceUpdate + remain_distance_Callback = nullptr; + remain_distance_callbackContext = nullptr; + // onRemainRouteUpdate + remain_route_Callback = nullptr; + remain_route_callbackContext = nullptr; + // onGpsStatusChange + gps_status_Callback = nullptr; + gps_status_callbackContext = nullptr; + // onRouteFarAway + route_far_Callback = nullptr; + route_far_callbackContext = nullptr; + // onRoutePlanYawing + route_plan_yawing_Callback = nullptr; + route_plan_yawing_callbackContext = nullptr; + // onReRouteComplete + reroute_Callback = nullptr; + reroute_callbackContext = nullptr; + // onArriveDest + arrivedest_Callback = nullptr; + arrivedest_callbackContext = nullptr; + // poi_sug_search + poi_sug_successCallback = nullptr; + poi_sug_failCallback = nullptr; + poi_sug_callbackContext = nullptr; + // geocode_search + geocode_search_successCallback = nullptr; + geocode_search_failCallback = nullptr; + geocode_search_callbackContext = nullptr; + // regeocode_search + regeocode_search_successCallback = nullptr; + regeocode_search_failCallback = nullptr; + regeocode_search_callbackContext = nullptr; + // BT_connect + bt_connect_successCallback = nullptr; + bt_connect_failCallback = nullptr; + bt_connect_callbackContext = nullptr; + return JSI::CreateBoolean(true); } void BaiduMapComponentModule::OnDestroy() { HILOG_INFO(HILOG_MODULE_ACE, "BaiduMapComponent OnDestroy\n"); - //poi_nearby_search + // poi_nearby_search ReleaseJsValue(poi_successCallback); ReleaseJsValue(poi_failCallback); ReleaseJsValue(poi_callbackContext); - //route_riding_search + poi_successCallback = nullptr; + poi_failCallback = nullptr; + poi_callbackContext = nullptr; + // route_riding_search ReleaseJsValue(route_riding_successCallback); ReleaseJsValue(route_riding_failCallback); ReleaseJsValue(route_riding_callbackContext); - //route_walking_search + route_riding_successCallback = nullptr; + route_riding_failCallback = nullptr; + route_riding_callbackContext = nullptr; + // route_walking_search ReleaseJsValue(route_walking_successCallback); ReleaseJsValue(route_walking_failCallback); ReleaseJsValue(route_walking_callbackContext); - //route_transit_search + route_walking_successCallback = nullptr; + route_walking_failCallback = nullptr; + route_walking_callbackContext = nullptr; + // route_transit_search ReleaseJsValue(route_transit_successCallback); ReleaseJsValue(route_transit_failCallback); ReleaseJsValue(route_transit_callbackContext); - //auth_license + route_transit_successCallback = nullptr; + route_transit_failCallback = nullptr; + route_transit_callbackContext = nullptr; + // auth_license ReleaseJsValue(auth_successCallback); ReleaseJsValue(auth_failCallback); ReleaseJsValue(auth_callbackContext); - //onRoutePlanStart + auth_successCallback = nullptr; + auth_failCallback = nullptr; + auth_callbackContext = nullptr; + // onRoutePlanStart ReleaseJsValue(route_plan_start_Callback); ReleaseJsValue(route_plan_start_callbackContext); - //onRoutePlanSuccess + route_plan_start_Callback = nullptr; + route_plan_start_callbackContext = nullptr; + // onRoutePlanSuccess ReleaseJsValue(route_plan_success_Callback); ReleaseJsValue(route_plan_success_callbackContext); - //onRoutePlanFail + route_plan_success_Callback = nullptr; + route_plan_success_callbackContext = nullptr; + // onRoutePlanFail ReleaseJsValue(route_plan_fail_Callback); ReleaseJsValue(route_plan_fail_callbackContext); - //onNaviStart + route_plan_fail_Callback = nullptr; + route_plan_fail_callbackContext = nullptr; + // onNaviStart ReleaseJsValue(navi_start_Callback); ReleaseJsValue(navi_start_callbackContext); - //onNaviDestroy + navi_start_Callback = nullptr; + navi_start_callbackContext = nullptr; + // onNaviDestroy ReleaseJsValue(navi_destroy_Callback); ReleaseJsValue(navi_destroy_callbackContext); - //onRoadGuideTextUpdate + navi_destroy_Callback = nullptr; + navi_destroy_callbackContext = nullptr; + // onRoadGuideTextUpdate ReleaseJsValue(road_guide_text_update_Callback); ReleaseJsValue(road_guide_text_update_callbackContext); - //onRouteGuideIconUpdate + road_guide_text_update_Callback = nullptr; + road_guide_text_update_callbackContext = nullptr; + // onRouteGuideIconUpdate ReleaseJsValue(road_guide_icon_update_Callback); ReleaseJsValue(road_guide_icon_update_callbackContext); - //onRemainTimeUpdate + road_guide_icon_update_Callback = nullptr; + road_guide_icon_update_callbackContext = nullptr; + // onRemainTimeUpdate ReleaseJsValue(remain_time_Callback); ReleaseJsValue(remain_time_callbackContext); - //onRemainDistanceUpdate + remain_time_Callback = nullptr; + remain_time_callbackContext = nullptr; + // onRemainDistanceUpdate ReleaseJsValue(remain_distance_Callback); ReleaseJsValue(remain_distance_callbackContext); - //onRemainRouteUpdate + remain_distance_Callback = nullptr; + remain_distance_callbackContext = nullptr; + // onRemainRouteUpdate ReleaseJsValue(remain_route_Callback); ReleaseJsValue(remain_route_callbackContext); - //onGpsStatusChange + remain_route_Callback = nullptr; + remain_route_callbackContext = nullptr; + // onGpsStatusChange ReleaseJsValue(gps_status_Callback); ReleaseJsValue(gps_status_callbackContext); - //onRouteFarAway + gps_status_Callback = nullptr; + gps_status_callbackContext = nullptr; + // onRouteFarAway ReleaseJsValue(route_far_Callback); ReleaseJsValue(route_far_callbackContext); - //onRoutePlanYawing + route_far_Callback = nullptr; + route_far_callbackContext = nullptr; + // onRoutePlanYawing ReleaseJsValue(route_plan_yawing_Callback); ReleaseJsValue(route_plan_yawing_callbackContext); - //onReRouteComplete + route_plan_yawing_Callback = nullptr; + route_plan_yawing_callbackContext = nullptr; + // onReRouteComplete ReleaseJsValue(reroute_Callback); ReleaseJsValue(reroute_callbackContext); - //onArriveDest + reroute_Callback = nullptr; + reroute_callbackContext = nullptr; + // onArriveDest ReleaseJsValue(arrivedest_Callback); ReleaseJsValue(arrivedest_callbackContext); - //poi_sug_search + arrivedest_Callback = nullptr; + arrivedest_callbackContext = nullptr; + // poi_sug_search ReleaseJsValue(poi_sug_successCallback); ReleaseJsValue(poi_sug_failCallback); ReleaseJsValue(poi_sug_callbackContext); - //geocode_search + poi_sug_successCallback = nullptr; + poi_sug_failCallback = nullptr; + poi_sug_callbackContext = nullptr; + // geocode_search ReleaseJsValue(geocode_search_successCallback); ReleaseJsValue(geocode_search_failCallback); ReleaseJsValue(geocode_search_callbackContext); - //regeocode_search + geocode_search_successCallback = nullptr; + geocode_search_failCallback = nullptr; + geocode_search_callbackContext = nullptr; + // regeocode_search ReleaseJsValue(regeocode_search_successCallback); ReleaseJsValue(regeocode_search_failCallback); ReleaseJsValue(regeocode_search_callbackContext); - //BT_connect - ReleaseJsValue(bt_connect_successCallback); - ReleaseJsValue(bt_connect_failCallback); - ReleaseJsValue(bt_connect_callbackContext); + regeocode_search_successCallback = nullptr; + regeocode_search_failCallback = nullptr; + regeocode_search_callbackContext = nullptr; } void InitBaiduMapComponentModule(JSIValue exports) { - HILOG_INFO(HILOG_MODULE_ACE,"InitBaiduMapComponentModule"); + HILOG_INFO(HILOG_MODULE_ACE, "InitBaiduMapComponentModule"); /** * MsgCenter interface */ @@ -1270,35 +1424,41 @@ void InitBaiduMapComponentModule(JSIValue exports) */ JSI::SetModuleAPI(exports, "stopAnswer", BaiduMapComponentModule::StopAnswer); /** + * mapInit + */ + JSI::SetModuleAPI(exports, "mapInit", BaiduMapComponentModule::MapInit); + /** * destroy */ JSI::SetOnDestroy(exports, BaiduMapComponentModule::OnDestroy); } -} // namespace ACELite -} // namespace OHOS +} // namespace ACELite +} // namespace OHOS -int32_t BaidumapSendMsgToJS(const char *msgBody,uint8_t type) +int32_t BaidumapSendMsgToJS(const char *msgBody, uint8_t type) { BaiduMapAsyncMsgParams *params = new BaiduMapAsyncMsgParams(); if (params == nullptr) { - HILOG_ERROR(HILOG_MODULE_ACE,"Failed to allocate memory for params"); + HILOG_ERROR(HILOG_MODULE_ACE, "Failed to allocate memory for params"); return -1; } params->type = type; params->flag = true; - int32_t copyRet = OHOS::ACELite::DmsLiteCpoyStr(¶ms->msgBody, msgBody); + int32_t copyRet = OHOS::ACELite::DmsLiteCopyStr(¶ms->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(params)); + bool ret = + OHOS::ACELite::JsAsyncWork::DispatchAsyncWork(OHOS::ACELite::ExecuteSendMsgToJS, static_cast(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(¶ms->msgBody, msgBody); + int32_t copyRet = OHOS::ACELite::DmsLiteCopyStr(¶ms->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(params)); + bool ret = + OHOS::ACELite::JsAsyncWork::DispatchAsyncWork(OHOS::ACELite::ExecuteSendMsgToJS, static_cast(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) -{ - -} +{} diff --git a/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/modules/baidumapcomponent/baidumap.h b/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/modules/baidumapcomponent/baidumap.h index f3d0e4599..8e498b5bd 100644 --- a/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/modules/baidumapcomponent/baidumap.h +++ b/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/modules/baidumapcomponent/baidumap.h @@ -1,9 +1,9 @@ /* -* Copyright (c) CompanyNameMagicTag. 2021-2021. All rights reserved. -* Description: audio capture wrapper -* Author: Media Software Group -* Create: 2021-09-13 -*/ + * Copyright (c) CompanyNameMagicTag. 2024-2025. All rights reserved. + * Description: baidumap sdk wrapper + * Author: SoftwarePlatform Group + * Create: 2024-03-02 + */ #ifndef BAIDUMAPCOMPONENT_MODULE_H #define BAIDUMAPCOMPONENT_MODULE_H @@ -112,6 +112,11 @@ public: */ static JSIValue StopAnswer(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize); + /** + * mapInit + */ + static JSIValue MapInit(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize); + /** * destroy */ @@ -119,9 +124,9 @@ public: }; void InitBaiduMapComponentModule(JSIValue exports); -} -} -int32_t BaidumapSendMsgToJS(const char *msgBody,uint8_t type); -int32_t BaidumapFailSendMsgToJS(const char *msgBody,uint8_t type); +} // namespace ACELite +} // namespace OHOS +int32_t BaidumapSendMsgToJS(const char *msgBody, uint8_t type); +int32_t BaidumapFailSendMsgToJS(const char *msgBody, uint8_t type); #endif diff --git a/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/modules/keyinput/keyinput.cpp b/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/modules/keyinput/keyinput.cpp new file mode 100644 index 000000000..6019eed54 --- /dev/null +++ b/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/modules/keyinput/keyinput.cpp @@ -0,0 +1,292 @@ +/* + * Copyright (c) 2020 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "keyinput.h" +#include "js_async_work.h" +#include "adapter.h" +#include "js_ability_impl.h" +#include "ace_log.h" + +typedef struct : public OHOS::HeapBase { + char *msgBody; + uint16_t status; +} KeyMsgParams; + +typedef struct : public OHOS::HeapBase { + int16_t rotate; +} RotateMsgParams; + +namespace OHOS { +namespace ACELite { + +OHOS::ACELite::JSIValue key_successCallback = nullptr; +OHOS::ACELite::JSIValue key_callbackContext = nullptr; +OHOS::ACELite::JSIValue rotate_successCallback = nullptr; +OHOS::ACELite::JSIValue rotate_callbackContext = nullptr; + +static bool CheckIsJsValueDefined(OHOS::ACELite::JSIValue jsValue) +{ + if (jsValue == nullptr) { + return false; + } + + if (OHOS::ACELite::JSI::ValueIsUndefined(jsValue)) { + return false; + } + + return true; +} + +static void ReleaseJsValue(OHOS::ACELite::JSIValue &jsValue) +{ + if (CheckIsJsValueDefined(jsValue)) { + OHOS::ACELite::JSI::ReleaseValue(jsValue); + jsValue = OHOS::ACELite::JSI::CreateUndefined(); + } + return; +} + +static int32_t ACECopyStr(char **destStr, const char *srcStr) +{ + if (destStr == nullptr || srcStr == nullptr) { + return -1; + } + + uint32_t length = strlen(srcStr) + 1; + *destStr = static_cast(AdapterMalloc(length)); + if (*destStr == nullptr) { + HILOG_ERROR(HILOG_MODULE_ACE, "Failed to allocate memory for destination string"); + return -1; + } + + if (memset_s(*destStr, length, 0, length) != EOK) { + HILOG_ERROR(HILOG_MODULE_ACE, "Failed to set memory for destination string"); + AdapterFree(*destStr); + return -1; + } + if (memcpy_s(*destStr, length, srcStr, length) != EOK) { + HILOG_ERROR(HILOG_MODULE_ACE, "Failed to copy source string to destination string"); + AdapterFree(*destStr); + return -1; + } + + return 0; +} + +static void ExecuteSendKeyMsgToJS(void *data) +{ + KeyMsgParams *params = static_cast(data); + if (params == nullptr) { + return; + } + + char *msgBody = params->msgBody; + uint16_t status = params->status; + OHOS::ACELite::JSIValue callback = key_successCallback; + OHOS::ACELite::JSIValue context = key_callbackContext; + + OHOS::ACELite::JSIValue dataInfo = OHOS::ACELite::JSI::CreateObject(); + OHOS::ACELite::JSI::SetStringProperty(dataInfo, "button", msgBody); + OHOS::ACELite::JSI::SetNumberProperty(dataInfo, "status", status); + OHOS::ACELite::JSIValue callbackArgv[OHOS::ACELite::ARGC_ONE] = {dataInfo}; + OHOS::ACELite::JSI::CallFunction(callback, context, callbackArgv, OHOS::ACELite::ARGC_ONE); + OHOS::ACELite::JSI::ReleaseValue(dataInfo); + + AdapterFree(msgBody); + delete params; + params = nullptr; + return; +} + +static void ExecuteSendRotateMsgToJS(void *data) +{ + RotateMsgParams *params = static_cast(data); + if (params == nullptr) { + return; + } + + int16_t rotate = params->rotate; + delete params; + params = nullptr; + OHOS::ACELite::JSIValue callback = rotate_successCallback; + OHOS::ACELite::JSIValue context = rotate_callbackContext; + OHOS::ACELite::JSIValue dataInfo = OHOS::ACELite::JSI::CreateObject(); + OHOS::ACELite::JSI::SetNumberProperty(dataInfo, "rotate", rotate); + OHOS::ACELite::JSIValue callbackArgv[OHOS::ACELite::ARGC_ONE] = {dataInfo}; + OHOS::ACELite::JSI::CallFunction(callback, context, callbackArgv, OHOS::ACELite::ARGC_ONE); + OHOS::ACELite::JSI::ReleaseValue(dataInfo); + return; +} + +JSIValue KeyInputModule::setKeyListener(const JSIValue thisVal, const JSIValue *args, uint8_t argsNum) +{ + ReleaseJsValue(key_callbackContext); + ReleaseJsValue(key_successCallback); + if (argsNum > 0) { + key_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal); + key_successCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_CALLBACK); + KeyListener::GetInstance()->SetRegister(true); + } else { + key_callbackContext = nullptr; + key_successCallback = nullptr; + } + return JSI::CreateBoolean(true); +} + +JSIValue KeyInputModule::setRotateListener(const JSIValue thisVal, const JSIValue *args, uint8_t argsNum) +{ + ReleaseJsValue(rotate_successCallback); + ReleaseJsValue(rotate_callbackContext); + if (argsNum > 0) { + rotate_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal); + rotate_successCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_CALLBACK); + RotateListener::GetInstance()->SetRegister(true); + } else { + key_callbackContext = nullptr; + key_successCallback = nullptr; + } + return JSI::CreateBoolean(true); +} + +void KeyInputModule::OnDestroy() +{ + OHOS::ACELite::KeyListener::GetInstance()->SetRegister(false); + OHOS::ACELite::RotateListener::GetInstance()->SetRegister(false); +} + +void InitKeyInputModule(JSIValue exports) +{ + JSI::SetModuleAPI(exports, "setKeyListener", KeyInputModule::setKeyListener); + JSI::SetModuleAPI(exports, "setRotateListener", KeyInputModule::setRotateListener); + JSI::SetOnDestroy(exports, KeyInputModule::OnDestroy); +} + +} // namespace ACELite +} // namespace OHOS + +void OHOS::ACELite::KeyListener::OnKeyEvent(const KeyEvent &event) +{ + if (OHOS::ACELite::KeyListener::hasRegister()) { + char *type; + switch (event.GetKeyId()) { + case static_cast(ZliteKeyCode::ZLITE_KEY_POWER): + type = "POWER"; + break; + default: + type = "UNKNOWN"; + break; + } + int32_t ret = KeySendMsgToJS(type, event.GetState()); + if (ret != 0) { + HILOG_ERROR(HILOG_MODULE_ACE, "KeyListener: OnKeyEvent send event error"); + } + } else { + switch (event.GetState()) { + case InputDevice::STATE_PRESS: + isPress_ = true; + break; + case InputDevice::STATE_LONG_PRESS: + isLongPress_ = true; + OnKeyLongPress(event); + break; + case InputDevice::STATE_RELEASE: + onRelease(event); + break; + default: + break; + } + } +} + +void OHOS::ACELite::KeyListener::onRelease(const KeyEvent &event) +{ + if (isPress_ && !isLongPress_) { + if (event.GetKeyId() == static_cast(ZliteKeyCode::ZLITE_KEY_POWER)) { + JsAppContext::GetInstance()->TerminateAbility(); + } + } + isPress_ = false; +} + +void OHOS::ACELite::KeyListener::OnKeyLongPress(const KeyEvent &event) +{ + if (isLongPress_) { + if (event.GetKeyId() == static_cast(ZliteKeyCode::ZLITE_KEY_POWER)) { + NativeAbility::GetInstance().ChangeSlice(VIEW_REBOOT); + } + } + // we don't handle isLongPress & isRelease, so reset isLongPress_ to false here. + isLongPress_ = false; +} + +void OHOS::ACELite::RotateListener::OnRotateEvent(const RotateEvent &event) +{ + if (OHOS::ACELite::RotateListener::hasRegister()) { + int ret = RotateSendMsgToJS(event.GetRotate()); + if (ret != 0) { + HILOG_ERROR(HILOG_MODULE_ACE, "RotateListener: OnRotateEvent send event error"); + } + } +} + +int32_t KeySendMsgToJS(const char *msgBody, uint16_t status) +{ + KeyMsgParams *params = new KeyMsgParams(); + if (params == nullptr) { + HILOG_ERROR(HILOG_MODULE_ACE, "Failed to allocate memory for params"); + return -1; + } + params->status = status; + int32_t copyRet = OHOS::ACELite::ACECopyStr(¶ms->msgBody, msgBody); + + if (copyRet != 0) { + HILOG_ERROR(HILOG_MODULE_ACE, "Failed to copy msgBody"); + AdapterFree(params->msgBody); + delete params; + params = nullptr; + return copyRet; + } + + bool ret = OHOS::ACELite::JsAsyncWork::DispatchAsyncWork( + OHOS::ACELite::ExecuteSendKeyMsgToJS, static_cast(params)); + if (!ret) { + HILOG_ERROR(HILOG_MODULE_ACE, "Failed to dispatch async work"); + AdapterFree(params->msgBody); + delete params; + params = nullptr; + return -1; + } + + return 0; +} + +int32_t RotateSendMsgToJS(int16_t rotate) +{ + RotateMsgParams *params = new RotateMsgParams(); + if (params == nullptr) { + HILOG_ERROR(HILOG_MODULE_ACE, "Failed to allocate memory for params"); + return -1; + } + params->rotate = rotate; + bool ret = OHOS::ACELite::JsAsyncWork::DispatchAsyncWork( + OHOS::ACELite::ExecuteSendRotateMsgToJS, static_cast(params)); + if (!ret) { + HILOG_ERROR(HILOG_MODULE_ACE, "Failed to dispatch async work"); + delete params; + params = nullptr; + return -1; + } + return 0; +} diff --git a/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/modules/keyinput/keyinput.h b/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/modules/keyinput/keyinput.h index 526762557..76d595aa9 100644 --- a/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/modules/keyinput/keyinput.h +++ b/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/modules/keyinput/keyinput.h @@ -1,16 +1,8 @@ /* - * Copyright (c) 2020 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Copyright (c) CompanyNameMagicTag. 2024-2025. All rights reserved. + * Description: keyinput wrapper + * Author: SoftwarePlatform Group + * Create: 2024-09-29 */ #ifndef OHOS_ACELITE_KEYINPUT_MODULE_H @@ -26,7 +18,6 @@ namespace OHOS { namespace ACELite { class KeyInputModule : public MemoryHeap { public: - KeyInputModule() = default; ~KeyInputModule() = default; static JSIValue setKeyListener(const JSIValue thisVal, const JSIValue *args, uint8_t argsNum); @@ -38,7 +29,7 @@ void InitKeyInputModule(JSIValue exports); class KeyListener { public: - static KeyListener* GetInstance() + static KeyListener *GetInstance() { static KeyListener instance; return &instance; @@ -46,16 +37,17 @@ public: void OnKeyEvent(const KeyEvent &event); - bool hasRegister() + bool hasRegister() { return isRegister_; } - void SetRegister(bool isRegister) + void SetRegister(bool isRegister) { isRegister_ = isRegister; } + private: - KeyListener():isRegister_(false),isPress_(false),isLongPress_(false){}; + KeyListener() : isRegister_(false), isPress_(false), isLongPress_(false){}; ~KeyListener() = default; void onRelease(const KeyEvent &event); void OnKeyLongPress(const KeyEvent &event); @@ -66,7 +58,7 @@ private: class RotateListener { public: - static RotateListener* GetInstance() + static RotateListener *GetInstance() { static RotateListener instance; return &instance; @@ -74,22 +66,23 @@ public: void OnRotateEvent(const RotateEvent &event); - bool hasRegister() + bool hasRegister() { return isRegister_; } - void SetRegister(bool isRegister) + void SetRegister(bool isRegister) { isRegister_ = isRegister; } + private: - RotateListener():isRegister_(false){}; + RotateListener() : isRegister_(false){}; ~RotateListener() = default; bool isRegister_; }; -} // namespace ACELite -} // namespace OHOS -int32_t KeySendMsgToJS(const char *msgBody,uint16_t type); +} // namespace ACELite +} // namespace OHOS +int32_t KeySendMsgToJS(const char *msgBody, uint16_t type); int32_t RotateSendMsgToJS(int16_t rotate); #endif diff --git a/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/modules/network_module.h b/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/modules/network_module.h index f7e8733f8..176cf91ce 100644 --- a/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/modules/network_module.h +++ b/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/modules/network_module.h @@ -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: network wrapper + * Author: SoftwarePlatform Group + * Create: 2024-08-10 + */ #ifndef NET_CONNECT_MODULE_H #define NET_CONNECT_MODULE_H @@ -19,7 +19,7 @@ #ifdef __cplusplus extern "C" { #endif -void net_connect_status_change(uint8_t netConnectStatus,uint8_t type); +void net_connect_status_change(uint8_t netConnectStatus, uint8_t type); #ifdef __cplusplus }; #endif @@ -28,7 +28,7 @@ namespace OHOS { namespace ACELite { #define MAX_STATUS_LENGTH 128 // 网络类型枚举 -typedef enum { +typedef enum { NETWORK_TYPE_WIFI = 0, NETWORK_TYPE_BLUETOOTH, NETWORK_TYPE_UNKNOWN @@ -47,7 +47,7 @@ struct NetParam { uint8_t net_type = -1; }; -struct NetCallBack { +struct NetCallBack { JSIValue net_connect_callback = nullptr; JSIValue net_connect_thisVal = nullptr; NetParam netParam; @@ -73,9 +73,7 @@ void InitNetWorkModule(JSIValue exports) JSI::SetModuleAPI(exports, "getConnectState", NetWorkModule::GetConnectState); } - -} -} - +} // namespace ACELite +} // namespace OHOS #endif diff --git a/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-auto-ota-cli/libbms.a b/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-auto-ota-cli/libbms.a index 57749f7c4b49169b05433017927f52dbc845ef39..d31affb9d22ceb0ce79e8fcbdebe119dddb19bf7 100644 GIT binary patch delta 52581 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 O8P2~8JJOso@0`d}qFzP5mc&H3A7?D98l^tG+ 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 diff --git a/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-auto-ota-ser/libbms.a b/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-auto-ota-ser/libbms.a index 18572f93a1e3d7dc0e95a1c14e5d0d97ad08e182..f39f40fedce8fcd36aaf62d607e1dc41aa707dee 100644 GIT binary patch delta 52542 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 RBF_t&LHxVW^X%i5>%Xpyu}S~{ delta 50745 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 U1G=hh7;w1Z41=ZMc-pP_57DKz(f|Me diff --git a/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-native-js/libbms.a b/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-native-js/libbms.a index f17ae822609ad55963b864c6fb64de59d9d8d788..fefcdf2e39199d7343a52da00ef3e15498da5e8b 100644 GIT binary patch delta 52583 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 diff --git a/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-xts/libbms.a b/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-xts/libbms.a index 3d102fa801983eda2b87d709066b412cef0e8e04..ea35faa1810b6201b9e415c040f50d4b6156e5c0 100644 GIT binary patch delta 52577 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
if the scan operation is successfully initiated; returns false 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. diff --git a/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/include/appexecfwk/appexecfwk_lite/services/bundlemgr_lite/include/gt_bundle_installer.h b/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/include/appexecfwk/appexecfwk_lite/services/bundlemgr_lite/include/gt_bundle_installer.h index f30418e2e..7afeaf57d 100644 --- a/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/include/appexecfwk/appexecfwk_lite/services/bundlemgr_lite/include/gt_bundle_installer.h +++ b/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/include/appexecfwk/appexecfwk_lite/services/bundlemgr_lite/include/gt_bundle_installer.h @@ -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, diff --git a/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-auto-ota-cli/libjerryscript.a b/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-auto-ota-cli/libjerryscript.a index e296fe27aa601bcbd6310fb2ab5eab7f8ced9174..251087f836fa0949ea19cba0f3cd448fb4848f91 100644 GIT binary patch delta 3873 zcmZ8ke{dA_6`#G^z5VX}zAWK3DFn=n&YiHmQpHSNRhliAS1Tgf`~<6BpsRorZBV(Az@6-WJ2iozI*%q?%tpK z+0T35&wJnZ-oE{KbkWD7i(0bLLxn|!b3>8ucIAc+$oj(^yu8X5gq{sjsc`7{hnY5p zcWkw3hekR(k8uLBIyBe&#;Yq*$eRI+sZ=Bd&d(}5bCOI6**RDu*sJ2FzCuS zIpD}vTgQV8D)KmpVXy7sRt8bl*>Za`cTb_lH|&`UtgNoT+KXfc#RZ23!k6}43WGW} z5M9SE+K*;1h@QBmSS=OcpM!RVXP3SZZ`o&0v2vfYi#2vDv@9W42>8?^q7UXHk@*PY zZMPB0vQwP1A!QK8@eEmm=c6#dR-bQVD2eY z*eTs+LFugMH`04dmJW@LOPe^fb}wm^oq}VV%a9P(JL5@@W7=$nC3U>UWQCK`R|&1h zc1^+Wub1NRB@*)leDJ6^4}X85BVaOH=-BZi{^(6Onz)zN$^#lCx*W^cWn$V{(Fs?% zexv&~bvt<6^yTgz$1~Gd+_Y5!7aS|+S)rX7azC#c+7~U^@}!@!Ncm?$;sJR9&mrvy z{|oZVTn>d=Bvc{5e|{*7T#D&M)e8P1f=3X_hRxOTU86iAn3S;wdu!x7M%Gi%iM4X3 zloFJJMr-AJ4A~J=Ww#E!ui*Q}U2zz;xmF6eF)jxTOIptd;_}t0R%C~q?J^L&xL?rV z+Hd8RMr;v%?D}o!d7-s-w-=fts8hgAf0WCa5gp9>Wh6Rf1s*#f-!(cbWlu)KYVML2 z`OPl*N-_7*OX~jSH?m~RMSgG4+#JTK)C^`$6C;whp~o)<|hMS2iVXQCQokVN!O z>z|J9h^e}ZgkT^SxsA_AB!nyXE0yr{{V2gHxUY;%>zo2~!)Q=q<_#m(i{x=@6s-~V z*&abgyXurRLTmdTUowG10{(dv`S`g>3!~o2xvLkFqMNY*{mf_yg7x*FN*Mb9b(^$I zeoZRo%t3U6YX-ubA~DZ6Nx_8jB9!-`Eu5#v7X8c;8zH|2HJ_upbY96hGY<%F&_pS( z^k#wUGP;#6E&Ce!n~9gBIKMdpzP`){MzW+oXX*DHmY>@gX57A$&4`IdJ| za*E-)4sto4{90+^w@jzovNmPhN(Dk4u(GzFLnUx*zml*rvHNq99i5@-pXQkd4FcE!ammyK^0HbgK0)gU)LrYmyBS=0#dY!>M&n6>spCW>CvW_( zU4#6?jxqtZ-f{7U4Fhqr#lwlzYpKV5;a40RXd~a(c{|+G6^6maO8F%LKHK9qpF)Wv zzjKc)VMM&Kovb#tN%w9xN5XiZETHZCMD#qtXynruOzx*7i?d=L$)ue6j4krSj1O`o zjLGI2gdJjg|%SO09;`?Sa+2mZ{<` z02T4kk&Jg=HnWI`nW~rV4f^)g5>~HT5*>t=ht+?iL2o^(UQdI_U&b?O(8S~FKpI4R z)eG>`r_^P9{^_}mspV-|dvUp18?*`@u2XZ3{|I`USup!8m8=BD5Tw4AG^>uZtTpUZ z_ZX{v%J9)Ys58?H8$MK*&M^BTzbU8H>a;}GomWp;!qQ;*MfJGFmj?3&)J8t|sIH6u QQlB){V)E*uLu!-z|EvaP#sB~S delta 3884 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 diff --git a/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-auto-ota-ser/libjerryscript.a b/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-auto-ota-ser/libjerryscript.a index 267114c078cfb73e6902a349e9b84175e0871c44..19c5bebed492e4a42ffe245cc9d11582002ebc68 100644 GIT binary patch delta 3937 zcmZWsdr(x@8K1LzALs6q<)SPbCCb=#H1b%~Ff=tqh6JdBHI0;-`anw>Xdp4uP=SK1 zu@l>hLTGX{qbRhgrZphZ@S%WXY?4;1O=2~XPGrz2PBJ48na~P@+OucxJ$LWzpZB-F z@B4n=^WHr>x%%wn>ZSl*k`_$M3@!SHD2Xu@NJ3 zXpb!b^T$wIss?QAwFO9HP<#Yj58I|a2ATj1Qf!Yd)#3-!TQ(e<4cj)`iV`_QS|2$5 zFxp@{<~FeUGlCyZ@39?Ttod5)5CTx$Ys+lWHROr`__Wa8xKsl=E5wJO{uO&%PBf$I zulAs<0o#!j0Q9l_prQk@asu>Sv!B)z+a3mXXRG-LuHUvRwrHL(W>1fc2A;MH<@RV` zQ-@rH$c4uQFRZ|VqBkO#5l%54${fP7T7w^e{$B|Txwdd*p;5T()r*h;g9n7&m_HKw z7!SXGOHdpJ7Va2QcWIE-~~iRdjt$MeZmaVRE%NDd;N^i zpR55JmpKBk^|o*?M{9mMDcNj`Cqs$0#n2NJr#&2R+hg;S^A%z)_*aNK^!Z6AVH{57 ziuVK)6|SxlCk<9fuPq+F{DF8bfwRI8`6NrsgP6)_hm3ms=i;;aKvGR%YYJ^b6K2{k6DHvS8EG zVuK-n>sxd@_amvjU@@u@1!1fh8!kdE-)i+jV+QU-vghvZGrvio?tg_ef98;rtuZq91%$rLyH5qAZ$ptUMqaP%Ty06p-)7 za46`O5}@M|Imak8yH7FC$VLaDZiBp)%MU-jh@fO!(n*gF`p%u*dB{s)^Oqx!#CU2u+bRQ=T==S1 zC=H6MQ3A8{+C>JTV6QTzyI;bNHmPn?*2B5qDGhoI4X4yxIC?;N*USgXziy$jB>Uc0 zc#@h6mgKDtg(n%op{`ruORi}>*{cNfanx8Ne^ILSGo-P0BFAg`E^Dl1sv~46#TCE9 zqrYGxhTZ9ob^4NOcGb%q{VUA%YNG3fTHg4hk6(}H5E&muVq9re$@3{&QeN0xo*K;1 zKE@)iyh}9>zF91mAMS)4^Yx3W=}v2PROy?mK_A?9q{Nxy#~^2v%J3Ul`zZNTbSnCi zYvy-lXL*2|v$t<3$$3NHLM_SALg#u*ab{ASr&Vsqf?UaVj()=o4L#?)u-6Q+>cH%2 zC%-qE6#9B8GK$MQo_ye}(hr)(%5%Fu`;FP-clNmw6*CkG@=?3X8f5$ru8CsKW%;7} zt~N`)?+b2}%UMjy&`NiqMct~^?n3?6YwCK|x&NcT%rxlY&)k)ksuVZ7KeG&J!JF=d zmIZme)t#Upc&!hYhTK#6To+ZJ0Jj!-K1hy+{BXXQe!Q5W(hZ&w!#zvr#Vwwi1Dq9x z-oxJZA`=3CEAoDnWQJ&)@)5Z=<#oV=8n4|lPxI=$RkdaV`lUrbh^fI`gUbq^Ipcl8 zSWE^T%#88nnawYTVs0AUWvolTjrnk;nRWd0nC>5%p`EF|LSxBU&f{6WTSmv2ugO)u zWTT{vmGy?N(lXi?-}coQhK%)-_k91bK;M7gm*O{zI56N#ahahnhkdi7bcH`g=ls{_ z>E$e@EC1ct0^>Zgh$m0QzV<9@}uf}lc68#-cf(_Fpn5%@I|%MQpjyr)C)#hj8$???KgZeX!)R8 WXWRv*>)OB7?-{empsZ1~!Sz2SAbKnS delta 3845 zcmZXXdvH|M9mnVF-p9H7N^Wk*?p;D;GOaT}NZ1&(&|*U-ny6%h719i9c*!f}Q5~Cx z@X9Kks%{ks!pPfUD2J3Iix1L#pnPGp>6?3{%Iu;whPa3&Pd;Q<{^okRHp%PYaLOY3_F{w^aSa!^;u_TDX;4K+!->Puy~n6@BY%+q9mIV z|AxLZ&Lg%OH<8RuC0aRxe_e4ZW;+-65~VQgEX*`R<6wbPs7e$HBp5?OpKuegRFMoh055+a^iSu}lUIastF1)kH!kEj z^5AetwC#C3+BmjOEQ7#Y@fmZnLI%y+QzniJeAch$iKCp#58pi^ex&m%lJHoHij=j| znLG-inUGU2Znk}{|GBglfp3e59X8E2aioBK8arxb9q#H7hf6KCwZ$8Nk`Zx_l)}cw z#6}wnA5sIb7fH=-OP8~aOwEH{DZ7v{AU>Y9*&;62qG;c1na1lI#RzetemITj1=QgnDVL;gm#*azp3A9e=i@pOyP%G#&Nr3J~suXG7Iq(3UJG(Av2 zM+z=4mIZUtY=5nw-l~;vNp^7bNjZyCjMT}w=4@N3qeHJN#+_sC2*e!j zHOSZ!kyU$|{So&6P z4%;IGFsWBqh~Schg_KpWf+f+e^+TQyOEQnEzdn6ZM zw~ksI?f!}==TF7$Daz~ud^x#aK>D!(MYp!e(Zy{ZAf=337YeO2QNXR)q<}={lOcQC zw77f-8NV&Y)~#oY86%fyO3~S+xNa3+At~n;@6U+!;~JRSh5yJmBT;#F&ux_x{bgQC zD=+@+w#q$!!>4&=_gDCO%JM{115cg7^}G`B1$-?<+SwuGLFpiF;icVI@e6EkqdyGz z;hk$Z{CmFe%myVmfkVcUeM&j(dQo{VWtsX`r3OCQr8M%(0MU=}QXtavyo&as?_DKj z3JhB2rFJE?%+1|OkeN@Mh=aXK(3-*@FnMcS{aD#JhjS0xk?SRuM@5?JnUq|o0xqBR zBVmq91%mKhE{`=XbdilSUHx;-j6mKvD^PUzpHy~dtVTv`2#J|1>Xxp}U!K2VS#3e+ zp2U+VWY7$MZ*YmM9dsvR5m#=unUj(kEv`CtYAN~TiYq_U)Fjr08i(6vk9g5xM~PO3 z;H2nQm~RrU!l3e1mHjh<3 zRmI-&T&p%!i6YT0Pisn%9|~Sn##H7jl|0X;RCq<++Pq3{*lkMb5{DOgucve5#IL;T z`F>RI^qx)`&5FI=Db}f=y?(jHtCyIWl9O@4d*cBf4NmoaYQ3Fk;IV4*6tPtQ#z9zB zD|BN z$o2v?%uX^*6f0IQvCT;s7@en1XAPvH;@#?cetu89t2VGOs(Ip&`h}eY;NcI|=>cx} zeP`8t4@bTmRI^M&g+}Wl^46R5U)9@diV}_z=ICr_TcSG&YWd_(EspU)5tyLq2>o+l(x1A?a>(w4Bzqsmx?7UmoE*ix;| z&)JIAYq{3XD%oEh3ZK(38%CO_x=EAxPHlcgYqS2y(Xe~p(I)d@n-6Gd{+Q`&J>PC~TwjMmRGCD5Gn+7@=^si!mFY7erRqojC9YxMjdiG`l< diff --git a/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-native-js/libjerryscript.a b/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-native-js/libjerryscript.a index 3622bd81db0d205984f982989f0bda3b86c1ebc8..6c78627891e4109d20e389f37bb0b5478fd9e4b6 100644 GIT binary patch delta 3912 zcmZvfe^6A{702i8z8`mgvpi+rQbC4kGGkPJNyVjO2B-#&f=!!H$2wckV3by?Z9*wZ z0>+F^Dg>p;)sB)tn>4n{j~F>5D5JKq(U3HaCec(=;uOcuAVNk`VGw)w?tAy{-RYnE zdEfKno_p`PXHSo>Iz7IsITUtR_3ywE#ad{P_xcfmdX$&rUs1E+m3oz zDh-L60q-=~+U7B|?R7Z-HGQ`H77=}1YH!LF(T?ZsNlQf3^*4JCuL$vFfb@6!VTY(X zdD;GMqKQIy450w*Ez(Int_|BAR*B6I@@;$03{m^IU9Pf=sJufflkkP_%04JWGWXFk z_DKLXI^~7iWAz4{dO@CJ5N4N4i2HYaJ5rzWe%YM z6CIuPra=(0PK0{;wB52#Ne9tOuD6#}Rm};8`z1hm7 zmnkF0`21$27>q(?r**tSnDC$UEK_=9K?$F(RK~feVx27jH-D&{4KfvtO#GdXQ*}M9 zY+!4_)R3TZ3GePy_d;5&Qp*=azxHld!rXwk4Z_0bl&hIyr0h;*jI9yV;DvXTgFHAz z6O&2)1uShrdspde(NP#@=r`g*Nb{lP5eiy#C1pQ@V{i|AmYc7+`nObwfp zwdn+|YO)z{Y_7JH7q0s*$?G73UvH#?!>w-Zt0Eq}Q77n*rdTa9gsn)V z=BaIdOln>aA0v65guktzQf5hWOz9(`;D(CixF`+>Qh2>+;Q3ypuzKOK`(6Vcn~65@ zc0*NHQqVnqktrHaM==+fBF95$oU5`ussSmP=s$eZA`cOyEk>ZARqtQRDibfI&XeNO@`S^&@Z223f$j|!f^M` zs7K~(`g79UKI%d@HO7GGW+?0@jz}<(tcB8kw3q8}_=qD61?NzQ=y}-N z)d6uj93v?WdxPK_M7Kp(1|$!m_hWRax-$s&TWB}my2qU4MLY5}D%s6ahUs5BvSzY_ zK%dl-mmCv(LkLR7+uIyJhO@tQ)bmY`NHLKX!<&a3Z;5&!`hUhr$u<|m$s>*qE{(j_ z*!=-1^^Fck4cF6Gd`FKXnWs)4;}d<3AU|SMHT)MxE$>Yf?UJ1PSx>PGlS#c;L$E{RqdF2g1YYQ7CJUSvNGb*bqewML5^D#P`zE*f4ca*aF?MY&ngsb_Gb>%vQ-idF}b zCS5VNlm;o7a+Spu_wD9C(SXGV+$q)oW|lJ=R9tY&$PQeZn>vrkF8h`MaJ1uAvps|R(VRy9&UN>UE}%2eBdlJ@Kev0xT37y=lRS$ zqfr&{^*hfT^Uz!9l zz}EHN+C#Cv0w<8Ky-XnRewpuFx`@awEtl}U37-@0*ZS;cr;P?8Ex68CZBC*VBC`}3 ze2GDdpfw;g+^)3ABkvJroYs@ z<5nu81^yd+$EdIImHzocNdr*uihqlFvMs}bBmP=$Nay({PxwD#h>Wo0bvxsqZ&*3d zx%|)-e}-EiH;4R5EGep)^L}G?}Ui7*)@$FGsr}R1~4X(8YiM?X#*{7brK3F z)HP;eS~W!4TupEzv{sWSA5l3X!l;dHwZYUFCfY$qGQp`+L`Y>ysMy|j*>~^0P5<2A z`<-)t=i{Dx_Vn1Y(__o(la;LR1Vfp@(ERqa;9+^{$0NAC$g4x=CNUQs?LLxZLC zesr|8NoL4$r{F)@1`EDnL0(oagK`<=NDK{wphMYJRA6V&r9qz#ef=mskwKYmDFA7A z(EfQ0y7Y|bhZ`xjSzZQ(6J;G9%&>)m45F;6b+)1u1`(DYhPK#R+|d{x3F5jQqT=K( z+y1#Gtzq;NKU8(u7BrX$9yq7yaH-I~le?!-?aTJ0C#p+om8!t5BGUBs=hQ}~3Zw8Vh!HVTyrGo;Y=1A@~Tg@U-9lphBM zm4~3eRfw1lgFuQ~Yf21aTI!iy!gCyIuMl^*Y8 z?24$f!QaVcW*bJKii2`V9CZ6Vc|{y_O(H6A-B+>%r&{GiGu{wxT1xK7?RI$}haH~j zb`j{VEV>y)p9yjj>4=mjA0|290)JD4xd=ZXDrQ^61`IbPMc}6x^8_3YMKtq8xCWH& zQAD0Ek_a7^Cn;s-Y@+hkKx&H8Auuge@mQKNW|o7pl0luL{40(%bDnaGv5etWfg0+X z<%TuQE~9VQB?_@owgSQZ1u@E_MsGFKMjJ->7ukwAOf6OuWIpqF&wQcjF!KrJCG(y| zBN>1HYmxM}DYtkENN{UlMrS+=6V_@d>```DsLAl3b6*SE{a2;W%EBZyiy`;2(qhdI zCe+oi@rqK#`Sf9S-cUw3mCkhX7@X%U3ZdJ|YrLNHVLtSwQur#X6osbMIFgeXMBNv@ z?ijba$JI@a)o}JVjxGEQgNg}t2^?y4d|>4R;a`iRI_D@$;MBX0m>>%7M}W(xOT@7*M>6j{%DVkWN3}V$NWqO&V;gerHir#`bO>qAaGbACb*Cr5;x-IB zvYe~lVkPk5KdDE*qxh_7oM%I7P*$;VY?qDGt^FvVbGJK3bWWx9Qm*6hk+N=^RJuE zp|)5qMKFCrb=f$t?w@uYGLB362zE`X3jYGc!wz#FG~zcL=DA&czv9N%8_C>VxW_fq zT;oE~L;lq4iamt#Mt|=bUCC|hB5oaQ_g(wV)qRDvJS(`DGFn6NVZX5p=OUP0 z;1;<&OnnwCa~G(LjC=Z#A39gL#}Z<&9HP7T$L@*;IYw=td&AwQaLkiI*1CeX+_TLM zDHH^v@!=d!G33F;8}9KuhQY--p8j<96B93FVOr_g%&P^3#U6pTHeH5(zTQ*QXcmTU zPsbH+a}o1H!#-c+J(tEHOe@t=?R}Qt0O~8X)?2xW(I7JJ-E3j#@Yp@?VtxbZ2DR_8 z1Ya&Qno4GGIAMSl(h#LX@2?ZiJ!#PiZJ#A{eBTOfo98R!*O`hM$@bmkFE8~qmhVf? zvl?c<>HDc>g+6-MS7R~s!w-)8F2+Gmo$+PpR>Q`tz6_TY`p2MeI@3j$!WsYedAedr zI^=zjSit8X6@RQVarX~nSwuss=Hbf)W!2BuKDQ*=5A_SQzsEt_AJ=ZiL1Y#@9S7Z8 ztX+?Th_4z18=utH@<(whwFO#XT+*H|(JK8`!6Q{#8h>VqVF0qWYh+h2#~$^ya;GN6 zC2jLwt=arP5i+_U0FNKiQsWFaAJJBQGuD?5V;^ayafz(@RJ&jaONWvxTDQfQ4hyeq XwS3-DU01%)zGrDgKV%PUTU`GGXHuIS diff --git a/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-xts/libjerryscript.a b/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-xts/libjerryscript.a index 5e88915099f76b70b094c4a97300dd82f7070017..22d22434fbc99fc2a0105570e1eb1f6f1e6fdae2 100644 GIT binary patch delta 3834 zcmZ8ke{fXA9iMmi-o1VIGnW^*cUQoe8Jxj3f#fcv*uo?k#6!rTRcOqZK+qJSO={?n zhWwzMR!dugKp0j!A#zkiD~3cQUw&qU7TX5FiYU;*3~`J@#}E^S*fbNcdwaLL_wwg{ z-sk(>&-b&t-`)5A=(6`mmu(NA;GEn!KP(6pbY+DOsfj_}k@7eZC(gpLr$3k8lxdbDZq^E2QXe~cvz}jn4iAV%J*QJH&jDSZF@Wxn4dsZ627-VL3rqxjG*C^ zJRzBL?COzwvN=?HfK2}UpnQ+HNhdd;C0Cg_N#ef>m0q@U5)yIe+bG-}R=Q=Lj}~)z zsq(Fv2{)fm&iXkkJ}V~q!jM*@yuhgt1-V+n?q)>;Po1K&1qr5nz%L)RwLoTr(je+0 zVFny;RLZ##IQEF*hq=E|uCskh?5ZYE-eF}}luB3z6x~twa0&511O7LzL4b#3Wf9|St|1J)ZPsI+D0V`A0atg!ks7N z`FQyvo0lh|)4jCF7G1+38a}hb#y20SCO+LeUA9V5GljB`+LjB5==8z9W4516H@ z7^=y&S}m2})=E|4E1J+xK0IX->p%E%m8$S5`^U**99XB`6^oJUviad`t(q~3HCm_M zpCZ4J1WrF0_j~9y4L>mMh{CYNu~x#((G+#DMqZ%m=an`NBs44D8(^Vg=>QHM0i$H|crS=z#8RM+MJF1N}#~`MGX%@8F z6zGHP3Mw-}251^mgcUS>wi_wJ3YzP&DQKN&FO+p{I=U;)Ermw2(5P^lLfV69bP{X& zZ1f)!%LkeBQJDmr3Xs#1yncfDu&oe1FCDb}2&G`|xddx%-|va$(Q*h5QQ~_geqi$JX@v9FmcA}f2=rhyNN|<(>(74UyCNuDbPE-z& z9<)_ZM`jUf;RmS0Oa<3@^r>Kxi)bZ;KS^at1IUlv=h4%!{wk^$RC+;aH_(VkSlglb zAuxdcF^MJJLcbS_NAHF=Z==ZXxM+GqWi)7kDM=_quM51YO$)=WSG0H897()Brd7b% zUD{?gQ340TA2(BhQ2WfR-JhT^oO(;+P9&2$&lAtT>d<(N$)ru)T7aofLhqf_0&Jg! zFuhy`|Ee{xR+D7?RGl^yE*f~*u)Eon5rWE?vr2+U(C%bCB$VjY8}sd_ zi?}N zu`a;#(zX}Pa`dxf7QzW=mZMylM4Q({j^l*R18W!P0k~4^_<`A9zLz{rFYq4EEegvPi#*Nbtda zXNnP&JN&xyc4=z30n$BZOw>zQ2Aq*y(j%!X^6*^ZiU@Ty*V1LK2y52Kd5@L3zGW9z z68iAxu9``%lp(S-7G-%>AWG&fvhi#Y}tA9P>O z=0ohxA+OWkQg@TWF^E*SWiiA{WI?RHcr8PZL;sE=83If)zX*wKUa9pWeL)z zudN1jZ1gkN*L{+4 z;y*P8EPgk=gdccHdhdAp&Yv+7MV`&n-Rx-)qR95S`WI&Vw?Cx++l*{kpnt^?ykj2u zgW6WCKgJ=NXyReL&y0{n4HB$hqOal|jxvW!^awxV6nVN*uk)FN4%h2h?71FF{Iun5 z(aAF)+2d$fX^U<%8`ZQ&-|uFeMA(8i^-ObE(>r?EeW@e^MnBZ6%-+>s)_Zw534<%I f>Zf_81T?=-Z{}y5YP$NR{wUva6e%3iH#`3ihCFb0 delta 3938 zcmZ8kdvH`&8K1LzA7}UOBby8C-3XLsrkw$rKq4`_5u5~(1R+aNiI6FjK%s!9T1GP= zJj~jnR2vFJduS(38?;Kbd6k9_2r#7znwDCNM4=WWOvAKJNE0Se5<~Iq*}do7d;i?u z{hi~k6LK(4D`o(VzKdRO&y^B1Y=ri5Gd zu2w&XhW~|WSo>Tp4_Tow)ONdy8aZ^}HV(sI8??5vJIx${LXlB{Fz zyPG|B(y7btlOjYW_3T2OrsL{>+auD!K1iRr^CzW`M@a&t2voSG&2GEmx;C`}k$1i< z1)&5>Tq6oAyi)lNe!QhrHsJIgX{PC7lyp|hVUQZ6i$Ts}&`6V1gYD4XS0%643K=BQ zk7vV2?NYN4Y}r9=ya3Wh)5R!Z(6nx8wScG%1Aci%I-O$`jKH=5X~Iltl=O|uVRC)C z>mfLvC-YJ>+#o&Gaw!-k@{i4n6(xCoB?2c)I$4O}cS-DsVaiNj}egpO_RuYeMsH(+ByR1#wA_8PkYo}6WgCdaI zrF=_3!s9; zqR4Fg_Ww$?WSv3Pzf~<+rx8YA@OP>u>x^|(q17h4$5aJQwX2yt{N!|{6R}h6TgZ(k zrz_kVQDt*TM%lQ|aN+g5mJHc1<4TUC=Cs#?C6Nv$o)f?_PX{^sF%@4i8E+Ajg|f2X zpVRRFEG?V#YBU>LTlO4&6ds<1+Z?QEbMU9UCd{oF3veZZ-G$i4!!+HkK=64H7S%WT zmJX*6Mi^*hlsZlaDVHGZ!_-B%Msz~*y&)$`=@7c}dwfhd#@?a#I`F3=Zb6-T!bv5R zx(4EB@UwP4jGe=y4pslVxYy1io>{mQ%Km1}46{b5Yhc@DTx;ip=Q{>g_fNrIx~xCeIso zK2ZKuL8Z1M#5)TwhEuP3EagZ26c4^w~oF0xBlSS zZkasEAfHCwgM4BT#wyUg38BT_>t1>Q3yJUI-a7b}h$pZ`sW zPlL^f3=JZA(#D#q@8)jE{oeYmbMgvPJ6ANdV_c~7Dk2+9W+>s!7DJRlbDO<2al5fU z4tR6L;=ouLNOO9b+B-gwHL)|K?A}qetyy-(`fTk6Z?+Vxex|n8Oiql@Wg`p|x!OrR zeJ~AOTBr>^V1*3m+pP6G$054b7(f?>{Jy{cjO(&ZX8s}HbaMfV@m+)}o9qh>}7 zI4k*4DQB_mX3G^+hG1s7pRcoNhn6k($IUq&V+#!&uk`=Ne9O|%h41*E5E)7!#emfZ z{JrLdWh?{AU-Zv3nEa-)MbwRhN8&jRJ zD_CPLrRfCFMT_pg^uRO+H#!kqY&K~uwKz4!GBV4!J*Idek#R%RI0gMY0qA1V&r6cuAyBg;a$BBcx}em?YsxaKK~uZ8Ly2OsMS{Y5~1D%~Gf zoDJm|b|;#ygmQg$=#&1?6o+3^{~HQ)+gW9AWX8?mkoNw~6PX7$*;$Xx&;#ank!J1x zl77Q{yiKS`|Ih*L{fd5*LqKC(hoJYXIv*A3lM`RluW?$cMEi^MIt1I6>gyck94go2 zj=s8Z=$jmwti7ba;|OcrW&MmpYyLHTw-^u1ugf3nUw2%_;z7OM_kS>3sZ;;} diff --git a/code/sdk/tools/pkg/bin/brandy/bt.bin b/code/sdk/tools/pkg/bin/brandy/bt.bin index fdc53beefee11a7fa8f63d7937b341f03699fd65..e16c476780ed555811e79a63baafaf231b49d04a 100644 GIT binary patch delta 147532 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 delta 146234 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

D)Mm~v~QV}K~%tAOCA?&53w_SIm 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 YZDVBEUgyf1D9T*7ux0zBC{{m40G?K&>i_@% delta 472 zcmdn6Lv#ZWb?^!(SST177@05_8Cn^eTN#-*&){vJ!OIB5OhC*G#4Ouq@Uq_46=hMG z%l_gpGY7XbGlw9M76)Rs?H$&v(TtIA4l}d7cV=e!3Y41z6jub&%YkBlfV9qm*KO&w6o0?6J4WbXsA9e{KTkl%BdnZpK1p90b@KNOQ1Nn1-crg&KJj~3p zaeIOT>viUOQ6S$}5~zm(3d|ZA7JmHuL4jcr7X#misKh?K!o~xu8aAw2ut0I|Iw3*YG~TT#cBJ2k6{AuMQ&z?xKpyC4!x&#+bzDkm$feX#&h*} zr(}VPIsZK$^LA>H>*iQKC(+P$M?FRd*$;|)zsP=&{h+t;ZlrVF!DUaI zW0DjZ{Msai9eNv-8uT7=?qm&65>VeKzOeuE#!LSjCw#6u#A0&cx}xE?3Ddv3u(mO> VY_D@=O%!F$TiCk&Q535mBLGFEi6~u1dL1+j0}uS7!1v=Oiio|Ew?{$V~O7{%389X?Zshc z4jyM_4j~{d0mSUvBiLA@86)2wW@h=|%*^r)C^r`;)7*I-Q4uRfg?g*?+!udfW9lSdTK< z1_9Mv0m|I~>Wu^9y+HmnvjBz$AUhl=ehDr<;9}l?&&Pb9 z6&)vCV`ivZ9QC?6mM=*(v|W$ULH2{<-7k)^A7nr1ZM+-lTz63US#wO1B7q_9J8 zgHnUuL(ZM70ZIbu`{Wm%{k-wY|HgBl>khG)T)3XM_}260SVjMD6Brn#ALnOnV`SLw UC%}4Al%;NA`^D|jYOKDD0Ac!{Q~&?~ delta 462 zcmaEHPUOWok%kt=7N!>FEi6~u1QaY3j0}uS7>o?9jLoeKO}0OAV~O7{%2KkP?Zshc z4sK^=4nZI-4#aHRBiLA@86)2uW@dTs%*^r?C^rWvt_Y-;1I7LTX&r%eV133weg#lX z9Z<{y$le8H?*p@0eAm3LKsD}Xx%o-UMe*F7EfngCB1K)?J#6G>k#sjMwHmq8(NQ)sg_rD!OqU~w1 zRV<6N1cKK8(UXd5XxhZZY5ReXVFK?(Zf1wLQ?jBCy{C5DExx;#wJ!S3bM<(qWPyu0 z|2-e`eO7dwbd8yzZgJ%6=2*T2(a?5BJw^xF4~n43kOaB|se6BmhVshcSqW`xE(~tABwlT77_Y+_} RDaw+!km1sHX*E_~MgaKno7MmT diff --git a/code/sdk/tools/pkg/bin/brandy/dsp/normal/dsp_main.bin b/code/sdk/tools/pkg/bin/brandy/dsp/normal/dsp_main.bin index 29e6059cc520c510be31f45bfae9d943996f3a1e..f86e85d0cfcc44f7669bff1b94430beeb85c8fa8 100644 GIT binary patch delta 494 zcmX@nCwih!bi)b{0V5LyBLgE7219czQ&TGgv*sNh?K?aeftU%1nYZuoV7Yu(l=Vv@ z`-{WO96Zj<96~@^0*KkSFHmERW~_gEn3?5+Gc(IKpxj)bxDt?F0TlZSq;)4Gfc2RG z`ISI5^*}L8AbU5Ey&uSS1k$ZQe(zys4qG678c4eWu@_MMs97V!!YyC@wihw{+1z;c zXPqO9iNm$Tj{mkFR+ZwAd_`MOp$iNA;wl8k#n7aoT?1W0=5unVZ=m z?v$*kL+`2Gc8l-sWvz?8`&>QVDOuoR-ha=>e4iB^CtYJ^s9PNMx;d6FNi?)wkI_N) zgW}yUj||8|hqkQ2AMNOp+plUz?<`LvMppgWf~VovZ;$0_ywZ7oPpR@yh?k xbD!%Dv6x)Ap11hc^X6DZ|8El*7^d?Zu(mNWY@cSpnkdR#x3FdVFIQGSMgXyp>>lK%nl+KwZ~?rp5yC9w2|JSpY)= zkR1jTzYF9)0kYE%Gjn7E`E!AIF%Yjj%*?WJdxbXZb>@0eAm3LKsD}XxKrZ