patch_602_0911_to_1009 1155/1 1155/head
authorSnickerSun <snickersun@163.com>
Fri, 11 Oct 2024 03:59:40 +0000 (11:59 +0800)
committerSnickerSun <snickersun@163.com>
Fri, 11 Oct 2024 03:59:40 +0000 (11:59 +0800)
285 files changed:
code/sdk/application/wearable/fd230app/nativeui/main/include/MainPresenterSample.h
code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialVideoView.h
code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialViewGroup.h
code/sdk/application/wearable/fd230app/nativeui/main/src/MainPresenterSample.cpp
code/sdk/application/wearable/fd230app/nativeui/main/src/MainViewSample.cpp
code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialVideoView.cpp
code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialViewGroup.cpp
code/sdk/application/wearable/fd230app/nativeui/phoneservice/src/PhoneService.cpp
code/sdk/application/wearable/nativeapp/nativeui/applist/include/ApplistModel.h
code/sdk/application/wearable/nativeapp/nativeui/main/include/MainPresenterSample.h
code/sdk/application/wearable/nativeapp/nativeui/main/include/dial/DialVideoView.h
code/sdk/application/wearable/nativeapp/nativeui/main/include/dial/DialViewGroup.h
code/sdk/application/wearable/nativeapp/nativeui/main/src/MainPresenterSample.cpp
code/sdk/application/wearable/nativeapp/nativeui/main/src/MainViewSample.cpp
code/sdk/application/wearable/nativeapp/nativeui/main/src/dial/DialVideoView.cpp
code/sdk/application/wearable/nativeapp/nativeui/main/src/dial/DialViewGroup.cpp
code/sdk/application/wearable/nativeapp/nativeui/phoneservice/src/PhoneService.cpp
code/sdk/application/wearable/service/msg_center/brandy-auto-ota-cli/libmsg_center.a
code/sdk/application/wearable/service/msg_center/brandy-auto-ota-ser/libmsg_center.a
code/sdk/application/wearable/service/msg_center/brandy-native-js-autoota/libmsg_center.a
code/sdk/application/wearable/service/msg_center/brandy-native-js-autootacli/libmsg_center.a
code/sdk/application/wearable/service/msg_center/brandy-native-js-cm/libmsg_center.a
code/sdk/application/wearable/service/msg_center/brandy-native-js-ct/libmsg_center.a
code/sdk/application/wearable/service/msg_center/brandy-native-js-fd230/libmsg_center.a
code/sdk/application/wearable/service/msg_center/brandy-native-js-leakcheck/libmsg_center.a
code/sdk/application/wearable/service/msg_center/brandy-native-js-obu/libmsg_center.a
code/sdk/application/wearable/service/msg_center/brandy-native-js-user/libmsg_center.a [new file with mode: 0644]
code/sdk/application/wearable/service/msg_center/brandy-native-js-z1/libmsg_center.a
code/sdk/application/wearable/service/msg_center/brandy-native-js/libmsg_center.a
code/sdk/application/wearable/service/msg_center/brandy-xts/libmsg_center.a
code/sdk/application/wearable/service/msg_center/src/vendor_app/baidu/baidu_app.cpp
code/sdk/application/wstp/at_service/ohosfwk/CMakeLists.txt
code/sdk/application/wstp/at_service/ohosfwk/ohosfwk_at_process.cpp
code/sdk/drivers/chips/brandy/clocks_core/drivers/acore/clocks_switch_priv.c
code/sdk/drivers/chips/brandy/clocks_core/drivers/acore/clocks_switch_priv.h
code/sdk/drivers/chips/brandy/pmu/drivers/acore/pmu_cmu.c
code/sdk/drivers/chips/brandy/pmu/drivers/acore/pmu_cmu.h
code/sdk/drivers/chips/brandy/pmu/hal/hal_pmu_cmu.c
code/sdk/drivers/chips/brandy/pmu/hal/hal_pmu_cmu.h
code/sdk/drivers/chips/brandy/pmu/hal/hal_pmu_vdd.c
code/sdk/drivers/chips/brandy/pmu/hal/hal_pmu_vdd.h
code/sdk/drivers/chips/brandy/porting/systick/systick_porting.c
code/sdk/drivers/drivers/driver/mmc/mmc_init.c
code/sdk/drivers/drivers/hal/reg_config/hal_reg_config.c
code/sdk/drivers/drivers/hal/reg_config/hal_reg_config.h
code/sdk/include/middleware/services/bts/br/bts_a2dp_sink.h
code/sdk/include/middleware/services/bts/br/bts_br_gap.h
code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/a2dp_snk_service.c.xml
code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/gt_bundle_manager_service.cpp.xml
code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/hfp_hf_service.c.xml
code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/js_fwk_common.cpp.xml
code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/local_device_manager.c.xml
code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/mem_util.cpp.xml
code/sdk/interim_binary/brandy/bt/build_hso_cfg/hdb/hdbcfg/mss_prim_db.xml
code/sdk/interim_binary/brandy/bt/build_hso_cfg/hso_database/xml/base/bt_core/bt_ahi_gap.c.xml
code/sdk/interim_binary/brandy/bt/build_hso_cfg/hso_database/xml/base/bt_core/bt_mpc_adpt_gap.c.xml
code/sdk/interim_binary/brandy/bt/build_hso_cfg/hso_database/xml/base/bt_core/patch_bth.c.xml
code/sdk/interim_binary/brandy/bt/build_hso_cfg/hso_database/xml/base/bt_core/sdk_av.c.xml
code/sdk/interim_binary/brandy/bt/build_hso_cfg/hso_database/xml/base/bt_core/sdk_hlp.c.xml
code/sdk/interim_binary/brandy/libs/bt/evb_standard/freertos/br/libbt_host_audio_manager_wrapper.a
code/sdk/interim_binary/brandy/libs/bt/evb_standard/freertos/br/libbt_host_brandy_service.a
code/sdk/interim_binary/brandy/libs/bt/evb_standard/freertos/br/libbt_host_sdk.a
code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/br/libbt_host_audio_manager_wrapper.a
code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/br/libbt_host_brandy_service.a
code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/br/libbt_host_sdk.a
code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/mini/br/libbt_host_audio_manager_wrapper.a
code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/mini/br/libbt_host_brandy_service.a
code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/mini/br/libbt_host_sdk.a
code/sdk/middleware/services/gpu/api/rm/CMakeLists.txt
code/sdk/middleware/services/gpu/api/rm/brandy-auto-ota-cli/libgfx_rm.a
code/sdk/middleware/services/gpu/api/rm/brandy-auto-ota-ser/libgfx_rm.a
code/sdk/middleware/services/gpu/api/rm/brandy-native-js-autoota/libgfx_rm.a
code/sdk/middleware/services/gpu/api/rm/brandy-native-js-autootacli/libgfx_rm.a
code/sdk/middleware/services/gpu/api/rm/brandy-native-js-cm/libgfx_rm.a
code/sdk/middleware/services/gpu/api/rm/brandy-native-js-ct/libgfx_rm.a
code/sdk/middleware/services/gpu/api/rm/brandy-native-js-fd230/libgfx_rm.a
code/sdk/middleware/services/gpu/api/rm/brandy-native-js-leakcheck/libgfx_rm.a
code/sdk/middleware/services/gpu/api/rm/brandy-native-js-obu/libgfx_rm.a
code/sdk/middleware/services/gpu/api/rm/brandy-native-js-r/libgfx_rm.a
code/sdk/middleware/services/gpu/api/rm/brandy-native-js-user/libgfx_rm.a [new file with mode: 0644]
code/sdk/middleware/services/gpu/api/rm/brandy-native-js-z1/libgfx_rm.a
code/sdk/middleware/services/gpu/api/rm/brandy-native-js/libgfx_rm.a
code/sdk/middleware/services/gpu/api/rm/brandy-target1-r/libgfx_rm.a
code/sdk/middleware/services/gpu/api/rm/brandy-target1/libgfx_rm.a
code/sdk/middleware/services/gpu/api/rm/brandy-target3-r/libgfx_rm.a
code/sdk/middleware/services/gpu/api/rm/brandy-target3/libgfx_rm.a
code/sdk/middleware/services/gpu/api/rm/brandy-target4-r/libgfx_rm.a
code/sdk/middleware/services/gpu/api/rm/brandy-target4/libgfx_rm.a
code/sdk/middleware/services/gpu/api/rm/brandy-target5-r/libgfx_rm.a
code/sdk/middleware/services/gpu/api/rm/brandy-target5/libgfx_rm.a
code/sdk/middleware/services/gpu/api/rm/brandy-xts/libgfx_rm.a
code/sdk/middleware/services/gpu/api/rm/testsuite-brandy-sdk/libgfx_rm.a
code/sdk/middleware/services/gui/hal/display/brandy-auto-ota-cli/libdisplay_gfx.a
code/sdk/middleware/services/gui/hal/display/brandy-auto-ota-ser/libdisplay_gfx.a
code/sdk/middleware/services/gui/hal/display/brandy-native-js-autoota/libdisplay_gfx.a
code/sdk/middleware/services/gui/hal/display/brandy-native-js-autootacli/libdisplay_gfx.a
code/sdk/middleware/services/gui/hal/display/brandy-native-js-cm/libdisplay_gfx.a
code/sdk/middleware/services/gui/hal/display/brandy-native-js-ct/libdisplay_gfx.a
code/sdk/middleware/services/gui/hal/display/brandy-native-js-fd230/libdisplay_gfx.a
code/sdk/middleware/services/gui/hal/display/brandy-native-js-leakcheck/libdisplay_gfx.a
code/sdk/middleware/services/gui/hal/display/brandy-native-js-obu/libdisplay_gfx.a
code/sdk/middleware/services/gui/hal/display/brandy-native-js-user/libdisplay_gfx.a [new file with mode: 0644]
code/sdk/middleware/services/gui/hal/display/brandy-native-js-z1/libdisplay_gfx.a
code/sdk/middleware/services/gui/hal/display/brandy-native-js/libdisplay_gfx.a
code/sdk/middleware/services/gui/hal/display/brandy-target1/libdisplay_gfx.a
code/sdk/middleware/services/gui/hal/display/brandy-target3/libdisplay_gfx.a
code/sdk/middleware/services/gui/hal/display/brandy-target5/libdisplay_gfx.a
code/sdk/middleware/services/gui/hal/display/brandy-xts/libdisplay_gfx.a
code/sdk/middleware/services/gui/lvgl/brandy-target1/liblvgl_proprietary_mini.a
code/sdk/middleware/services/gui/lvgl/brandy-target5/liblvgl_proprietary.a
code/sdk/middleware/services/gui/uikit/brandy-auto-ota-cli/libuikit_ext.a
code/sdk/middleware/services/gui/uikit/brandy-auto-ota-ser/libuikit_ext.a
code/sdk/middleware/services/gui/uikit/brandy-native-js-autoota/libuikit_ext.a
code/sdk/middleware/services/gui/uikit/brandy-native-js-autootacli/libuikit_ext.a
code/sdk/middleware/services/gui/uikit/brandy-native-js-cm/libuikit_ext.a
code/sdk/middleware/services/gui/uikit/brandy-native-js-ct/libuikit_ext.a
code/sdk/middleware/services/gui/uikit/brandy-native-js-fd230/libuikit_ext.a
code/sdk/middleware/services/gui/uikit/brandy-native-js-leakcheck/libuikit_ext.a
code/sdk/middleware/services/gui/uikit/brandy-native-js-obu/libuikit_ext.a
code/sdk/middleware/services/gui/uikit/brandy-native-js-user/libuikit_ext.a [new file with mode: 0644]
code/sdk/middleware/services/gui/uikit/brandy-native-js-z1/libuikit_ext.a
code/sdk/middleware/services/gui/uikit/brandy-native-js/libuikit_ext.a
code/sdk/middleware/services/gui/uikit/brandy-target3/libuikit_ext.a
code/sdk/middleware/services/gui/uikit/brandy-xts/libuikit_ext.a
code/sdk/middleware/services/gui/uikit/proprietary/include/components/card_swipe.h
code/sdk/middleware/services/gui/uikit/proprietary/include/components/ui_cross_view.h
code/sdk/middleware/services/gui/uikit/proprietary/include/components/ui_transform_group.h
code/sdk/middleware/services/gui/uikit/proprietary/src/ui/frameworks/components/ui_menu_item.cpp
code/sdk/middleware/services/gui/uikit/proprietary/src/ui/frameworks/components_ext/hor_swipe_view.h
code/sdk/middleware/services/gui/uikit/proprietary/src/ui/frameworks/swipe_effect/card_flip_effect.cpp
code/sdk/middleware/services/gui/uikit/proprietary/src/ui/frameworks/swipe_effect/card_flip_effect.h
code/sdk/middleware/services/gui/uikit/proprietary/src/ui/frameworks/swipe_effect/cube_effect.cpp
code/sdk/middleware/services/gui/uikit/proprietary/src/ui/frameworks/swipe_effect/cube_effect.h
code/sdk/middleware/services/gui/uikit/proprietary/src/ui/frameworks/swipe_effect/turn_page_effect.cpp
code/sdk/middleware/services/gui/uikit/proprietary/src/ui/frameworks/swipe_effect/turn_page_effect.h
code/sdk/middleware/services/gui/uikit/proprietary/src/ui/frameworks/swipe_effect/turn_page_view.cpp
code/sdk/middleware/services/gui/uikit/proprietary/src/ui/frameworks/swipe_effect/zoom_effect.cpp
code/sdk/middleware/services/gui/uikit/proprietary/src/ui/frameworks/swipe_effect/zoom_effect.h
code/sdk/middleware/services/gui/uikit/sample/uitest/components/ui_test_clock_dial/ui_test_clock_dial.cpp
code/sdk/middleware/services/gui/uikit/sample/uitest/components/ui_test_clock_dial/ui_test_clock_dial.h
code/sdk/middleware/services/gui/uikit/sample/uitest/components/ui_test_cross/ui_test_cross.cpp
code/sdk/middleware/services/gui/uikit/sample/uitest/components/ui_test_transform_list/scale_item_adapter.cpp
code/sdk/middleware/services/gui/uikit/sample/uitest/components/ui_test_transform_list/scale_item_adapter.h
code/sdk/middleware/services/gui/uikit/sample/uitest/components/ui_test_transform_list/ui_test_scale_list.cpp
code/sdk/middleware/services/gui/uikit/ui/frameworks/common/text.cpp
code/sdk/middleware/services/gui/uikit/ui/frameworks/components/ui_label.cpp
code/sdk/middleware/services/gui/uikit/ui/frameworks/draw/draw_utils.cpp
code/sdk/middleware/services/gui/uikit/ui/interfaces/kits/components/ui_label.h
code/sdk/middleware/services/media/foundation/audiomanager/frameworks/audioservice/src/policymanager/brandy/policy_default_config.h
code/sdk/middleware/services/media/foundation/audiomanager/frameworks/audioservice/src/policymanager/src/interrupt_manager.c
code/sdk/middleware/services/media/foundation/audiomanager/frameworks/audioservice/src/streammanager/include/stream_manager.h
code/sdk/middleware/services/media/foundation/audiomanager/frameworks/audioservice/src/streammanager/src/stream_manager.c
code/sdk/middleware/services/media/foundation/player/interfaces/kits/player_lite/js/builtin/include/audio_module.h
code/sdk/middleware/services/media/foundation/player/interfaces/kits/player_lite/js/builtin/include/audio_player.h
code/sdk/middleware/services/media/foundation/player/interfaces/kits/player_lite/js/builtin/src/audio_module.cpp
code/sdk/middleware/services/media/foundation/player/interfaces/kits/player_lite/js/builtin/src/audio_player.cpp
code/sdk/middleware/services/media/foundation/sample/wrapper/player_sample_wrapper.cpp
code/sdk/middleware/services/media/foundation/sample/wrapper/video_play_wrapper.cpp
code/sdk/middleware/services/media/foundation/sample/wrapper/video_play_wrapper.h
code/sdk/middleware/services/media/foundation/utils/include/media_thread_adapt.h
code/sdk/middleware/services/media/foundation/utils/src/media_thread_adapt.cpp
code/sdk/middleware/services/media/hal/audio/plugins/brandy/primary/primary_sub_port_out.c
code/sdk/middleware/utils/fs/vfs/brandy-auto-ota-cli/libx_vfs_private.a
code/sdk/middleware/utils/fs/vfs/brandy-auto-ota-ser/libx_vfs_private.a
code/sdk/middleware/utils/fs/vfs/brandy-native-js-autoota/libx_vfs_private.a
code/sdk/middleware/utils/fs/vfs/brandy-native-js-autootacli/libx_vfs_private.a
code/sdk/middleware/utils/fs/vfs/brandy-native-js-cm/libx_vfs_private.a
code/sdk/middleware/utils/fs/vfs/brandy-native-js-ct/libx_vfs_private.a
code/sdk/middleware/utils/fs/vfs/brandy-native-js-fd230/libx_vfs_private.a
code/sdk/middleware/utils/fs/vfs/brandy-native-js-leakcheck/libx_vfs_private.a
code/sdk/middleware/utils/fs/vfs/brandy-native-js-obu/libx_vfs_private.a
code/sdk/middleware/utils/fs/vfs/brandy-native-js-r/libx_vfs_private.a
code/sdk/middleware/utils/fs/vfs/brandy-native-js-user/libx_vfs_private.a [new file with mode: 0644]
code/sdk/middleware/utils/fs/vfs/brandy-native-js-z1/libx_vfs_private.a
code/sdk/middleware/utils/fs/vfs/brandy-native-js/libx_vfs_private.a
code/sdk/middleware/utils/fs/vfs/brandy-target1-r/libx_vfs_private.a
code/sdk/middleware/utils/fs/vfs/brandy-target1/libx_vfs_private.a
code/sdk/middleware/utils/fs/vfs/brandy-target3-r/libx_vfs_private.a
code/sdk/middleware/utils/fs/vfs/brandy-target3/libx_vfs_private.a
code/sdk/middleware/utils/fs/vfs/brandy-target4-r/libx_vfs_private.a
code/sdk/middleware/utils/fs/vfs/brandy-target4/libx_vfs_private.a
code/sdk/middleware/utils/fs/vfs/brandy-target5-r/libx_vfs_private.a
code/sdk/middleware/utils/fs/vfs/brandy-target5/libx_vfs_private.a
code/sdk/middleware/utils/fs/vfs/brandy-xts-r/libx_vfs_private.a
code/sdk/middleware/utils/fs/vfs/brandy-xts/libx_vfs_private.a
code/sdk/middleware/utils/fs/vfs/testsuite-brandy-sdk/libx_vfs_private.a
code/sdk/middleware/utils/fs/yaffs2/brandy-auto-ota-cli/libfs_yaffs2.a
code/sdk/middleware/utils/fs/yaffs2/brandy-auto-ota-ser/libfs_yaffs2.a
code/sdk/middleware/utils/fs/yaffs2/brandy-native-js-autoota/libfs_yaffs2.a
code/sdk/middleware/utils/fs/yaffs2/brandy-native-js-autootacli/libfs_yaffs2.a
code/sdk/middleware/utils/fs/yaffs2/brandy-native-js-cm/libfs_yaffs2.a
code/sdk/middleware/utils/fs/yaffs2/brandy-native-js-ct/libfs_yaffs2.a
code/sdk/middleware/utils/fs/yaffs2/brandy-native-js-fd230/libfs_yaffs2.a
code/sdk/middleware/utils/fs/yaffs2/brandy-native-js-leakcheck/libfs_yaffs2.a
code/sdk/middleware/utils/fs/yaffs2/brandy-native-js-obu/libfs_yaffs2.a
code/sdk/middleware/utils/fs/yaffs2/brandy-native-js-r/libfs_yaffs2.a
code/sdk/middleware/utils/fs/yaffs2/brandy-native-js-user/libfs_yaffs2.a [new file with mode: 0644]
code/sdk/middleware/utils/fs/yaffs2/brandy-native-js-z1/libfs_yaffs2.a
code/sdk/middleware/utils/fs/yaffs2/brandy-native-js/libfs_yaffs2.a
code/sdk/middleware/utils/fs/yaffs2/brandy-target1-r/libfs_yaffs2.a
code/sdk/middleware/utils/fs/yaffs2/brandy-target1/libfs_yaffs2.a
code/sdk/middleware/utils/fs/yaffs2/brandy-target3-r/libfs_yaffs2.a
code/sdk/middleware/utils/fs/yaffs2/brandy-target3/libfs_yaffs2.a
code/sdk/middleware/utils/fs/yaffs2/brandy-target4-r/libfs_yaffs2.a
code/sdk/middleware/utils/fs/yaffs2/brandy-target4/libfs_yaffs2.a
code/sdk/middleware/utils/fs/yaffs2/brandy-target5-r/libfs_yaffs2.a
code/sdk/middleware/utils/fs/yaffs2/brandy-target5/libfs_yaffs2.a
code/sdk/middleware/utils/fs/yaffs2/brandy-xts-r/libfs_yaffs2.a
code/sdk/middleware/utils/fs/yaffs2/brandy-xts/libfs_yaffs2.a
code/sdk/middleware/utils/fs/yaffs2/testsuite-brandy-sdk/libfs_yaffs2.a
code/sdk/open_source/openharmony/base/global/resmgr_lite/frameworks/resmgr_lite/src/global.c
code/sdk/open_source/openharmony/base/global/resmgr_lite/frameworks/resmgr_lite/src/global_utils.c
code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-auto-ota-cli/libams.a
code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-auto-ota-ser/libams.a
code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-native-js-autoota/libams.a
code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-native-js-autootacli/libams.a
code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-native-js-cm/libams.a
code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-native-js-ct/libams.a
code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-native-js-fd230/libams.a
code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-native-js-leakcheck/libams.a
code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-native-js-obu/libams.a
code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-native-js-user/libams.a [new file with mode: 0644]
code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-native-js-z1/libams.a
code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-native-js/libams.a
code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-xts/libams.a
code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-auto-ota-cli/libace.a
code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-auto-ota-ser/libace.a
code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-native-js-autoota/libace.a
code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-native-js-autootacli/libace.a
code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-native-js-cm/libace.a
code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-native-js-ct/libace.a
code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-native-js-fd230/libace.a
code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-native-js-leakcheck/libace.a
code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-native-js-obu/libace.a
code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-native-js-user/libace.a [new file with mode: 0644]
code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-native-js-z1/libace.a
code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-native-js/libace.a
code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-xts/libace.a
code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/components/component.cpp
code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/components/picker_view_component.cpp
code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/components/picker_view_component.h
code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/interfaces/base/log.h
code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/interfaces/base/mem_util.h
code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/modules/network_module.cpp
code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/modules/network_module.h
code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/modules/presets/cjson_parser.cpp
code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/modules/presets/image_module.cpp
code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/modules/presets/image_module.h
code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/modules/vibrator_module.cpp
code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-auto-ota-cli/libbms.a
code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-auto-ota-ser/libbms.a
code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-native-js-autoota/libbms.a
code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-native-js-autootacli/libbms.a
code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-native-js-cm/libbms.a
code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-native-js-ct/libbms.a
code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-native-js-fd230/libbms.a
code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-native-js-leakcheck/libbms.a
code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-native-js-obu/libbms.a
code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-native-js-user/libbms.a [new file with mode: 0644]
code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-native-js-z1/libbms.a
code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-native-js/libbms.a
code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-xts/libbms.a
code/sdk/open_source/openharmony/foundation/multimedia/player/interfaces/kits/player_lite/js/builtin/include/audio_module.h
code/sdk/open_source/openharmony/foundation/multimedia/player/interfaces/kits/player_lite/js/builtin/include/audio_player.h
code/sdk/open_source/openharmony/foundation/multimedia/utils/include/media_thread_adapt.h
code/sdk/open_source/openharmony/third_party/jerryscript/brandy-auto-ota-cli/libjerryscript.a
code/sdk/open_source/openharmony/third_party/jerryscript/brandy-auto-ota-ser/libjerryscript.a
code/sdk/open_source/openharmony/third_party/jerryscript/brandy-native-js-autoota/libjerryscript.a
code/sdk/open_source/openharmony/third_party/jerryscript/brandy-native-js-autootacli/libjerryscript.a
code/sdk/open_source/openharmony/third_party/jerryscript/brandy-native-js-cm/libjerryscript.a
code/sdk/open_source/openharmony/third_party/jerryscript/brandy-native-js-ct/libjerryscript.a
code/sdk/open_source/openharmony/third_party/jerryscript/brandy-native-js-fd230/libjerryscript.a
code/sdk/open_source/openharmony/third_party/jerryscript/brandy-native-js-leakcheck/libjerryscript.a
code/sdk/open_source/openharmony/third_party/jerryscript/brandy-native-js-obu/libjerryscript.a
code/sdk/open_source/openharmony/third_party/jerryscript/brandy-native-js-user/libjerryscript.a [new file with mode: 0644]
code/sdk/open_source/openharmony/third_party/jerryscript/brandy-native-js-z1/libjerryscript.a
code/sdk/open_source/openharmony/third_party/jerryscript/brandy-native-js/libjerryscript.a
code/sdk/open_source/openharmony/third_party/jerryscript/brandy-xts/libjerryscript.a
code/sdk/protocol/bt/host/bt/bts/bg_common/include/ahi_common/mpc_code_def.h
code/sdk/protocol/bt/host/bt/bts/bt_sample/br_profile/sample_a2dp_snk_service.c
code/sdk/protocol/bt/host/bt/bts/bt_sample/br_profile/sample_hfp_hf_service.c
code/sdk/protocol/bt/host/bt/bts/bt_sample/bt_core/sample_bts_gap.c
code/sdk/protocol/bt/host/bt/bts/sdk/inc/stack_api/stack_def.h
code/sdk/tools/pkg/bin/brandy/bt.bin
patch_602_0911_to_1009.txt [new file with mode: 0644]

index 2fcb1ea..8db8aa3 100644 (file)
@@ -83,7 +83,6 @@ public:
   void OnSwipe(UISwipeView &view) override;
   void SetPage(int8_t id);
   void SetTaskPeroid(CardId cardId);
-  void setCallback(ZoomEffect *callback) { callback_ = callback; }
 
   void InitCardSettings(void);
   uint8_t GetCardSettingCount(void);
@@ -116,7 +115,6 @@ private:
   void SetCircleProgress(void);
   void SetCompassRotate(void);
   KeyInputListener *keyActListener_{nullptr};
-  ZoomEffect *callback_{nullptr};
   uint8_t state_ = UICheckBox::UICheckBoxState::MAX_STATUS_NUM;
   int64_t playerCurrentTime_{0};
   int64_t playerMusicDuration_{0};
index 7d4c140..6524ecb 100644 (file)
@@ -22,6 +22,7 @@ public:
     bool IsPaused();
     bool IsPlayed();
     bool IsStopped();
+    MediaVideoPlay* GetVideoPlay();
 
 private:
     FILE* fp_ = nullptr;
index 8f139fb..69a46cd 100644 (file)
@@ -114,7 +114,9 @@ public:
     void OnActive(void) override;
        
     void OnInactive(void) override;
-       
+
+    MediaVideoPlay* GetVideoPlay();
+
 private:
     bool resLoadStatus{false};
 
index f836bae..f69dc53 100644 (file)
@@ -279,7 +279,7 @@ namespace OHOS
         /* -------------------------------------------------------------------------- */
 
         CardId cardId = view_->GetHorCurrentCard();
-        callback_->OnSwipe(view);
+        
         SetTaskPeroid(cardId);
         if (cardId == COMPASS)
         {
index dabb123..b43e7ed 100644 (file)
@@ -254,6 +254,7 @@ namespace OHOS
             }
         }
         callback->isNeedClip_ = true;
+               callback->SetContainer(mainSwipeGroup);
         HorizontalViewInit();
         HorViewLoad();
         VerticalViewInit(); // 初始化上下拉界面
@@ -336,7 +337,7 @@ namespace OHOS
                 }
             }
         }
-        presenter_->setCallback(callback);
+        
         mainSwipeGroup->SetOnSwipeListener(presenter_);
         mainSwipeGroup->SetOnLongPressListener(presenter_);
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainViewSample::InitPage over");
index 9472f94..13113cd 100644 (file)
@@ -123,4 +123,9 @@ bool DialVideoView::IsStopped()
     }
     return videoPlayer_->isExited_;
 }
+
+MediaVideoPlay* DialVideoView::GetVideoPlay()
+{
+    return videoPlayer_;
+}
 }
index 2406141..f0839bd 100644 (file)
@@ -516,5 +516,12 @@ namespace OHOS
             kaleidoscope_->StopRotateAnimator();
             kaleidoscope_->ClearFocus();
         }
+}
+MediaVideoPlay* DialViewGroup::GetVideoPlay()
+{
+    if (video_ != nullptr) {
+        return video_->GetVideoPlay();
     }
+    return nullptr;
 }
+}
\ No newline at end of file
index df760d3..fd522a3 100644 (file)
@@ -684,7 +684,8 @@ static void ScoDisconnectPro(void)
     // }
 
     ScoStatusCb(HFP_SCO_STATE_DISCONNECTED);
-    if (g_currCallState == HFP_HF_CALL_STATE_ACTIVE && g_scoFlag == HFP_SCO_STATE_DISCONNECTED) {
+    if ((g_currCallState == HFP_HF_CALL_STATE_ACTIVE && g_scoFlag == HFP_SCO_STATE_DISCONNECTED) ||
+        (g_scoFlag == HFP_SCO_STATE_CONNECT_FAILURE)) {
         // The call is transferred from the watch to the phone. Need to close the call notification view.
         hfp_hf_calls_info_t call = {0};
         HfpIncomingEventPublish(TOPIC_EVENT_HFP_WATCH_TO_PHONE, call);
@@ -728,6 +729,12 @@ static void ScoStateChanged(const bd_addr_t *bdAddr, hfp_sco_connect_state_t sta
             PhoneServiceScreenCtr(0);
             break;
 
+        case HFP_SCO_STATE_CONNECT_FAILURE:
+            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[ScoStateChanged] SCO connect failure!");
+            ScoDisconnectPro();
+            PhoneServiceScreenCtr(0);
+            break;
+
         default:
             break;
     }
index 1648798..e4a513b 100755 (executable)
@@ -54,7 +54,7 @@ private:
     virtual ~ApplistModel();
     ApplistPresenter *presenter{nullptr};
 
-    AppItem applist[APP_MAX_NUM] = { VIEW_INVALID, nullptr, nullptr, nullptr, nullptr };
+    AppItem applist[APP_MAX_NUM] = { VIEW_INVALID, nullptr, nullptr, nullptr, nullptr, nullptr };
     BundleInfo *bundleInfos = nullptr;
     int32 bundleLen = 0;
     uint8 appLen = 0;
index ba48602..d712717 100755 (executable)
@@ -56,10 +56,6 @@ public:
     void OnSwipe(UISwipeView& view) override;
     void SetPage(int8_t id);
     void SetTaskPeroid(CardId cardId);
-    void setCallback(ZoomEffect* callback)
-    {
-        callback_ = callback;
-    }
 
     void InitCardSettings(void);
     uint8_t GetCardSettingCount(void);
@@ -74,7 +70,6 @@ private:
     void SetCircleProgress(void);
     void SetCompassRotate(void);
     KeyInputListener *keyActListener_{nullptr};
-    ZoomEffect* callback_{nullptr};
     uint8_t state_ = UICheckBox::UICheckBoxState::MAX_STATUS_NUM;
     int64_t playerCurrentTime_{0};
     int64_t playerMusicDuration_{0};
index 7d4c140..6524ecb 100644 (file)
@@ -22,6 +22,7 @@ public:
     bool IsPaused();
     bool IsPlayed();
     bool IsStopped();
+    MediaVideoPlay* GetVideoPlay();
 
 private:
     FILE* fp_ = nullptr;
index db348cc..dcec44d 100644 (file)
@@ -113,6 +113,8 @@ public:
 
     void OnInactive(void) override;
 
+    MediaVideoPlay* GetVideoPlay();
+
 private:
     void ProcessData(DialDataType type, DialView* view);
     std::unordered_map<int16_t, DialView*> dataTypeMap_;
index 23ca42c..5b422b8 100755 (executable)
@@ -174,7 +174,6 @@ void MainPresenterSample::OnSwipe(UISwipeView &view)
 {
     UNUSED(view);
     CardId cardId = view_->GetHorCurrentCard();
-    callback_->OnSwipe(view);
     SetTaskPeroid(cardId);
     if (cardId == COMPASS) {
         if (!isCompassSensorOpened_) {
index 54747cd..ec41fa5 100755 (executable)
@@ -126,6 +126,7 @@ void MainViewSample::OnStart()
             return;
         }
     }
+    callback->SetContainer(mainSwipeGroup);
 
     HorizontalViewInit();
     HorViewLoad();
@@ -168,7 +169,6 @@ bool MainViewSample::HorizontalViewInit(void)
             }
         }
     }
-    presenter_->setCallback(callback);
     mainSwipeGroup->SetOnSwipeListener(presenter_);
     mainSwipeGroup->SetOnLongPressListener(presenter_);
     WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainViewSample::InitPage over");
index f8182fd..f18e9ea 100644 (file)
@@ -122,4 +122,9 @@ bool DialVideoView::IsStopped()
     }
     return videoPlayer_->isExited_;
 }
+
+MediaVideoPlay* DialVideoView::GetVideoPlay()
+{
+    return videoPlayer_;
+}
 }
index b32dc39..73f84de 100644 (file)
@@ -409,4 +409,12 @@ void DialViewGroup::OnInactive(void)
         kaleidoscope_->ClearFocus();
     }
 }
+
+MediaVideoPlay* DialViewGroup::GetVideoPlay()
+{
+    if (video_ != nullptr) {
+        return video_->GetVideoPlay();
+    }
+    return nullptr;
 }
+}
\ No newline at end of file
index 091647e..701c9ca 100755 (executable)
@@ -644,7 +644,8 @@ static void ScoDisconnectPro(void)
     WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "[ScoDisconnectPro] start CallState:%d", g_currCallState);
 
     ScoStatusCb(HFP_SCO_STATE_DISCONNECTED);
-    if (g_currCallState == HFP_HF_CALL_STATE_ACTIVE && g_scoFlag == HFP_SCO_STATE_DISCONNECTED) {
+    if ((g_currCallState == HFP_HF_CALL_STATE_ACTIVE && g_scoFlag == HFP_SCO_STATE_DISCONNECTED) ||
+        (g_scoFlag == HFP_SCO_STATE_CONNECT_FAILURE)) {
         // The call is transferred from the watch to the phone. Need to close the call notification view.
         hfp_hf_calls_info_t call = {0};
         HfpIncomingEventPublish(TOPIC_EVENT_HFP_WATCH_TO_PHONE, call);
@@ -686,6 +687,12 @@ static void ScoStateChanged(const bd_addr_t *bdAddr, hfp_sco_connect_state_t sta
             PhoneServiceScreenCtr(0);
             break;
 
+        case HFP_SCO_STATE_CONNECT_FAILURE:
+            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[ScoStateChanged] SCO connect failure!");
+            ScoDisconnectPro();
+            PhoneServiceScreenCtr(0);
+            break;
+
         default:
             break;
     }
index 1587d8f..700ff08 100644 (file)
Binary files a/code/sdk/application/wearable/service/msg_center/brandy-auto-ota-cli/libmsg_center.a and b/code/sdk/application/wearable/service/msg_center/brandy-auto-ota-cli/libmsg_center.a differ
index 23c0b7c..514f93b 100644 (file)
Binary files a/code/sdk/application/wearable/service/msg_center/brandy-auto-ota-ser/libmsg_center.a and b/code/sdk/application/wearable/service/msg_center/brandy-auto-ota-ser/libmsg_center.a differ
index 84ab43b..c802221 100644 (file)
Binary files a/code/sdk/application/wearable/service/msg_center/brandy-native-js-autoota/libmsg_center.a and b/code/sdk/application/wearable/service/msg_center/brandy-native-js-autoota/libmsg_center.a differ
index 84ab43b..c802221 100644 (file)
Binary files a/code/sdk/application/wearable/service/msg_center/brandy-native-js-autootacli/libmsg_center.a and b/code/sdk/application/wearable/service/msg_center/brandy-native-js-autootacli/libmsg_center.a differ
index 84ab43b..c802221 100644 (file)
Binary files a/code/sdk/application/wearable/service/msg_center/brandy-native-js-cm/libmsg_center.a and b/code/sdk/application/wearable/service/msg_center/brandy-native-js-cm/libmsg_center.a differ
index 84ab43b..c802221 100644 (file)
Binary files a/code/sdk/application/wearable/service/msg_center/brandy-native-js-ct/libmsg_center.a and b/code/sdk/application/wearable/service/msg_center/brandy-native-js-ct/libmsg_center.a differ
index 84ab43b..c802221 100644 (file)
Binary files a/code/sdk/application/wearable/service/msg_center/brandy-native-js-fd230/libmsg_center.a and b/code/sdk/application/wearable/service/msg_center/brandy-native-js-fd230/libmsg_center.a differ
index 84ab43b..c802221 100644 (file)
Binary files a/code/sdk/application/wearable/service/msg_center/brandy-native-js-leakcheck/libmsg_center.a and b/code/sdk/application/wearable/service/msg_center/brandy-native-js-leakcheck/libmsg_center.a differ
index 84ab43b..c802221 100644 (file)
Binary files a/code/sdk/application/wearable/service/msg_center/brandy-native-js-obu/libmsg_center.a and b/code/sdk/application/wearable/service/msg_center/brandy-native-js-obu/libmsg_center.a differ
diff --git a/code/sdk/application/wearable/service/msg_center/brandy-native-js-user/libmsg_center.a b/code/sdk/application/wearable/service/msg_center/brandy-native-js-user/libmsg_center.a
new file mode 100644 (file)
index 0000000..c802221
Binary files /dev/null and b/code/sdk/application/wearable/service/msg_center/brandy-native-js-user/libmsg_center.a differ
index 84ab43b..c802221 100644 (file)
Binary files a/code/sdk/application/wearable/service/msg_center/brandy-native-js-z1/libmsg_center.a and b/code/sdk/application/wearable/service/msg_center/brandy-native-js-z1/libmsg_center.a differ
index 84ab43b..c802221 100755 (executable)
Binary files a/code/sdk/application/wearable/service/msg_center/brandy-native-js/libmsg_center.a and b/code/sdk/application/wearable/service/msg_center/brandy-native-js/libmsg_center.a differ
index a43043a..bac5488 100755 (executable)
Binary files a/code/sdk/application/wearable/service/msg_center/brandy-xts/libmsg_center.a and b/code/sdk/application/wearable/service/msg_center/brandy-xts/libmsg_center.a differ
index 6a079b8..570ae72 100755 (executable)
@@ -486,16 +486,13 @@ static void msg_center_transfer_longbuf(char *data, uint8_t type)
     fclose(fp);\r
     file_content[file_len] = '\0';\r
 \r
-    WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "file_len = %d.\r\n", file_len);\r
-    /* send to JSI */\r
-    if (file_len <= ROUTE_TRANS_MAX_SIZE) {\r
-        BaidumapSendMsgToJS(file_content, type);\r
-        free(file_content);\r
-        file_content = nullptr;\r
-    } else {\r
-        BaidumapFailSendMsgToJS("long distance", type);\r
-    }\r
+    WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "%s: file_len = %d.\r\n", vector_navi_get_str(type), file_len);\r
 \r
+    /* send to JSI */\r
+    BaidumapSendMsgToJS(file_content, type);\r
+    free(file_content);\r
+    file_content = nullptr;\r
+    return;\r
 }\r
 \r
 errcode_t msg_center_vector_navi_pull_up(uint8_t cmd_id, uint8_t type, void *usr_data, uint16_t usr_len)\r
@@ -849,7 +846,12 @@ static errcode_t msg_center_vector_navi_rec_common_proc(uint8_t cmd_id, uint8_t
     WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "%s -- > %s\r\n", vector_navi_get_str(type), tlv_payload);\r
 \r
     if (is_vector_navi_longbuf(type) && payload_len != 1) {\r
-        msg_center_transfer_longbuf(data, type);\r
+        if (payload_len == 2) { // 2,长距离的协议优化,限制为 ROUTE_TRANS_MAX_SIZE, app先读文件过滤,减少无效带宽损耗\r
+            WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "type(%d) exceeds long distance, send fail to JS.\r\n", type);\r
+            BaidumapFailSendMsgToJS(data, type);\r
+        } else {\r
+            msg_center_transfer_longbuf(data, type);\r
+        }\r
     } else if (has_two_callback(type) && payload_len == 1) {\r
         if (strcmp(data, "1") == 0) {\r
             BaidumapSendMsgToJS(data, type);\r
index d036b0a..56b0b0f 100755 (executable)
@@ -19,6 +19,9 @@ set(PRIVATE_HEADER
     ${ROOT_DIR}/open_source/openharmony/third_party/cJSON
     ${ROOT_DIR}/middleware/services/gui/uikit/utils/interfaces/kits
     ${ROOT_DIR}/middleware/services/gui/uikit/utils/interfaces/innerkits
+    ${ROOT_DIR}/open_source/openharmony/base/global/resmgr_lite/interfaces/innerkits/include
+    ${ROOT_DIR}/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/include/appexecfwk/appexecfwk_lite/services/bundlemgr_lite/include
+    ${ROOT_DIR}/application/wearable/nativeapp/nativeui/applist/include
 )
 
 set(PRIVATE_DEFINES
index 1da4f92..5949892 100755 (executable)
@@ -18,6 +18,9 @@
 #include "NativeAbility.h"
 #include "ability_manager.h"
 #include "js_fwk_common.h"
+#include "global.h"
+#include "gt_bundle_manager_service.h"
+#include "ApplistModel.h"
 
 #define ARRAY_COUNT(array) (sizeof(array) / sizeof(array[0]))
 #define OHOSFWK_MAX_ARGC            8
@@ -230,6 +233,32 @@ static uint32_t OhosfwkATCmdDfxJsMemoryInfo(uint8_t *para, uint32_t paraLen, cha
     return ERRCODE_SUCC;
 }
 
+static uint32_t OhosfwkATCmdChangeLanguage(uint8_t *para, uint32_t paraLen, char *strCommonCmd)
+{
+    unused(strCommonCmd);
+
+    uint8_t argv[OHOSFWK_MAX_ARGC][OHOSFWK_MAX_ARGV_LEN] = { 0 };
+    uint32_t argc = 0;
+    int ret = ConvertCmdToParam(para, paraLen, argv, &argc);
+
+    if (ret != OHOSFWK_SUCCESS) {
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "OHOSFWK ATCMD Convert Command Failed\n");
+        return ERRCODE_FAIL;
+    }
+
+    if (argc != 1) {
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "OHOSFWK ATCMD Language Setting Failed\n");
+        return ERRCODE_FAIL;
+    }
+
+    char *languageRegion = (char *)argv[0];
+    GLOBAL_ConfigLanguage(languageRegion);
+
+    WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "Language changed to %s\n", languageRegion);
+
+    return ERRCODE_SUCC;
+}
+
 static const at_cmd_table_t g_ohosfwk_cmd[] = {
     { (char *)"AT^OHOSFWK_AM_EXIT_JSAPP",      OhosfwkATCmdAmExitJsApp, (char *)"00 00 00 00" },
     { (char *)"AT^OHOSFWK_BM_INSTALL",         OhosfwkATCmdBmInstall,   (char *)"00 00 00 01" },
@@ -238,6 +267,7 @@ static const at_cmd_table_t g_ohosfwk_cmd[] = {
     { (char *)"AT^OHOSFWK_AM_CHANGENATIVESLICE", OhosfwkATCmdAmChangeNativeSlice, (char *)"00 00 00 04" },
     { (char *)"AT^OHOSFWK_AM_START_JS_APP",    OhosfwkATCmdAmStartJsApp, (char *)"00 00 00 05" },
     { (char *)"AT^OHOSFWK_DFX_JS_MEMORY_INFO",    OhosfwkATCmdDfxJsMemoryInfo, (char *)"00 00 00 06" },
+    { (char *)"AT^OHOSFWK_CHANGE_LANGUAGE",    OhosfwkATCmdChangeLanguage, (char *)"00 00 00 07" },
 };
 
 at_cmd_table_t *get_ohosfwk_cmd_table(uint32_t *cmd_count)
index 05271a3..66ae49e 100755 (executable)
@@ -6,6 +6,14 @@
 #include "pmu_cmu.h"
 #include "clocks_config_priv.h"
 #include "hal_pmu_vdd.h"
+#include "chip_io.h"
+#if defined(BUILD_APPLICATION_STANDARD) && !defined(BUILD_RECOVERY_IMAGE)
+#ifdef __LITEOS__
+#include "los_exc.h"
+#endif
+#endif
+#include "errcode.h"
+#include "panic.h"
 
 clocks_pll_src_t clocks_pll_veto_type_translation(clocks_clk_src_t clk_src)
 {
@@ -32,14 +40,36 @@ pmu_cmu_core_t clocks_pll_used_init_type_translation(clocks_clk_src_t clk_src)
 void clocks_pll_power_on(clocks_pll_src_t pll_src)
 {
     cmu_pll_config_t pll_cfg;
+    uint32_t sucess_flag = 0;
+    uint32_t left_reinit_times = MAX_PLL_REINIT_TIMES;
     switch (pll_src) {
         case CLOCKS_PLL_SRC_TCXO_COM_DLL2:
             hal_clocks_ccrg_xo_dll2_clk_en((switch_type_t)true);
             break;
         case CLOCKS_PLL_SRC_PLL:
-            pmu_vdd1p0_request_switch(TURN_ON);
-            pll_cfg = clocks_pll_cfg_get();
-            pmu_cmu_pll_reinit(PMU_CMU_PLL, pll_cfg);
+            while (left_reinit_times--) {
+                pmu_vdd1p0_request_switch(TURN_ON);
+                pll_cfg = clocks_pll_cfg_get();
+                errcode_t ret = pmu_cmu_pll_reinit(PMU_CMU_PLL, pll_cfg);
+                if (ret == 0) {
+                    sucess_flag = 1;
+                    break;
+                } else {
+                    clocks_pll_power_off(CLOCKS_PLL_SRC_PLL);
+                }
+            }
+
+            if (sucess_flag != 1) {
+#if defined(BUILD_APPLICATION_STANDARD) && !defined(BUILD_RECOVERY_IMAGE)
+#ifdef __LITEOS__
+                LOS_PANIC("clocks_pll_power_on fail reg_ip0 = %x bit 1\n", hal_pmu_get_simo2_buck_reg());
+#else
+                panic(PANIC_PMU_LDO, hal_pmu_get_simo2_buck_reg());
+#endif
+#else
+                panic(PANIC_PMU_LDO, hal_pmu_get_simo2_buck_reg());
+#endif
+            }
             break;
         default:
             break;
index a99e902..0be8ab4 100755 (executable)
@@ -12,6 +12,7 @@
  * @{
  */
 #define PLL_I2S_CODEC_CLKDIV                    36UL
+#define MAX_PLL_REINIT_TIMES                    3
 
 /**
  * @brief  Modules in the common crg.
index c84ae26..69c80e1 100755 (executable)
@@ -131,11 +131,12 @@ void pmu_cmu_pll_init(void)
     g_pll_used = true;
 }
 
-void pmu_cmu_pll_reinit(pmu_cmu_core_t pll, cmu_pll_config_t pll_cfg)
+errcode_t pmu_cmu_pll_reinit(pmu_cmu_core_t pll, cmu_pll_config_t pll_cfg)
 {
     UNUSED(pll);
+    errcode_t ret = 0;
     if (g_pll_used) {
-        return;
+        return ret;
     }
     uint32_t irq = osal_irq_lock();
     uapi_tcxo_delay_us(120ULL);
@@ -154,10 +155,11 @@ void pmu_cmu_pll_reinit(pmu_cmu_core_t pll, cmu_pll_config_t pll_cfg)
     hal_pmu_cmu_core_pll_cfg_control(CMU_DAC_PD, TURN_OFF);
     hal_pmu_cmu_core_pll_cfg_control(CMU_DSM_PD, TURN_OFF);
     hal_clocks_pll_module_clken(TURN_ON);
-    hal_pmu2_cmu_pll_lock_check();
+    ret = hal_pmu2_cmu_pll_lock_check();
     g_pll_used = true;
     osal_irq_restore(irq);
     uapi_tcxo_delay_us(100ULL);
+    return ret;
 }
 
 void pmu_cmu_pll_deinit(pmu_cmu_core_t pll)
index 34cc7df..0a8f511 100755 (executable)
@@ -10,6 +10,7 @@
 #include "chip_definitions.h"
 #include "platform_core.h"
 #include "hal_pmu_cmu.h"
+#include "errcode.h"
 
 /** @defgroup connectivity_drivers_non_os_pmu_cmu PMU CMU
   * @ingroup  connectivity_drivers_non_os_pmu
@@ -87,7 +88,7 @@ void pmu_cmu_init(void);
  * @brief  Cmu pll reinit.
  * @param  pll_cfg  PLL config.
  */
-void pmu_cmu_pll_reinit(pmu_cmu_core_t pll, cmu_pll_config_t pll_cfg);
+errcode_t pmu_cmu_pll_reinit(pmu_cmu_core_t pll, cmu_pll_config_t pll_cfg);
 
 /**
  * @brief  Cmu pll power off.
index a31e9b3..c0d71b1 100755 (executable)
@@ -294,9 +294,10 @@ void hal_pmu2_cmu_pll_frac_control_select(switch_type_t manual_control)
     hal_reg_config_bit(PMU2_PLL_FRAC_SEL_REG, manual_control, (REG16_POS)PMU2_FRAC_SEL_BIT);
 }
 
-void hal_pmu2_cmu_pll_lock_check(void)
+errcode_t hal_pmu2_cmu_pll_lock_check(void)
 {
-    hal_reg_status_check_timeout(PMU2_PLL_LOCK_STS_REG, PMU2_PLL_LOCK_STS_BIT, TURN_ON, PMU_CMU_PLL_LOCK_DELAY_US);
+    return hal_reg_status_check_timeout_no_panic(
+        PMU2_PLL_LOCK_STS_REG, PMU2_PLL_LOCK_STS_BIT, TURN_ON, PMU_CMU_PLL_LOCK_DELAY_US);
 }
 
 void hal_pmu2_cmu_pll_cfg_valid(switch_type_t valid)
index 8c7ba0c..b6fe0c9 100755 (executable)
@@ -9,6 +9,7 @@
 #include <stdint.h>
 #include "chip_io.h"
 #include "chip_definitions.h"
+#include "errcode.h"
 
 /** @defgroup connectivity_drivers_hal_pmu_cmu PMU CMU
   * @ingroup  connectivity_drivers_hal_pmu
@@ -216,7 +217,7 @@ void hal_pmu2_cmu_pll_frac_control_select(switch_type_t manual_control);
 /**
  * @brief  Get PLL lock status.
  */
-void hal_pmu2_cmu_pll_lock_check(void);
+errcode_t hal_pmu2_cmu_pll_lock_check(void);
 
 /**
  * @brief  PLL fbdiv/frac config valid or not.
index b031dc1..d744a1a 100755 (executable)
@@ -7,6 +7,7 @@
 #include "soc_osal.h"
 #include "hal_reg_config.h"
 #include "platform_core.h"
+#include "chip_io.h"
 #ifdef USE_CMSIS_OS
 #include "cmsis_os2.h"
 #ifdef __LITEOS__
@@ -110,6 +111,11 @@ void hal_pmu_simo_buck_init(void)
     reg16_write(PMU_SIMO2_CFG10_REG, 0x644); /* vdd1p3: 0.9V */
 }
 
+uint16_t hal_pmu_get_simo2_buck_reg(void)
+{
+    return readw(PMU_SIMO2_CFG3_REG);
+}
+
 void hal_pmu_vdd_enable(hal_pmu_vdd_t vdd, switch_type_t type)
 {
     if (vdd == HAL_PMU_VDD0P8 || vdd == HAL_PMU_VDD1P9) {
index f61f8a0..a00a1ab 100755 (executable)
@@ -195,6 +195,11 @@ void hal_ulp_power_on_time_config(ulp_aon_power_on_t ulp_power, uint16_t time_va
  */
 void hal_ulp_wakeup_time_config(ulp_aon_wakeup_t ulp_wakeup, uint16_t time_value);
 
+/**
+ * @brief  simo2 buck reg value
+ * @return reg value
+ */
+uint16_t hal_pmu_get_simo2_buck_reg(void);
 /**
   * @}
   */
index 878077f..43c93e6 100755 (executable)
@@ -7,6 +7,7 @@
  * 2022-08-01, Create file. \n
  */
 #include "systick_porting.h"
+#include "systick.h"
 #include "hal_systick_v150.h"
 #include "platform_core.h"
 
@@ -42,28 +43,34 @@ uint64_t uapi_systick_get_time(systick_time_t time_type)
     volatile uint64_t now_count = 0;
     volatile uint64_t ret_time = 0;
     volatile uint64_t cost_msec = 0;
-    uint64_t pre_count = g_pre_systick_count;
 
+    uint32_t irq_sts = osal_irq_lock();
+    uint64_t pre_count = g_pre_systick_count;
+    uint64_t pre_msec = g_pre_systick_msec;
+    uint64_t rc_clk = CLOCK_32K_CALI_FREQ;
     if (g_pre_systick_count == 0) {
         pre_count = uapi_systick_get_count();
-        g_pre_systick_msec = (pre_count * OS_SYS_MS_PER_SECOND) / CLOCK_32K_CALI_FREQ;
+        pre_msec = (pre_count * OS_SYS_MS_PER_SECOND) / rc_clk;
+        g_pre_systick_count = pre_count;
     } else {
         now_count = uapi_systick_get_count();
-        cost_msec = ((now_count - pre_count) * OS_SYS_MS_PER_SECOND) / CLOCK_32K_CALI_FREQ;
+        cost_msec = ((now_count - pre_count) * OS_SYS_MS_PER_SECOND) / rc_clk;
+        pre_msec = pre_msec + cost_msec;
 
-        g_pre_systick_count = now_count;
-        g_pre_systick_msec = g_pre_systick_msec + cost_msec;
+        g_pre_systick_msec = pre_msec;
+        g_pre_systick_count += (cost_msec * rc_clk / OS_SYS_MS_PER_SECOND);
     }
+    osal_irq_restore(irq_sts);
 
     switch (time_type) {
         case SYSTICK_TIME_S:
-            ret_time = (uint64_t)(g_pre_systick_msec / OS_SYS_MS_PER_SECOND);
+            ret_time = (uint64_t)(pre_msec / OS_SYS_MS_PER_SECOND);
             break;
         case SYSTICK_TIME_US:
-            ret_time = (uint64_t)(g_pre_systick_msec * OS_SYS_US_PER_MS);
+            ret_time = (uint64_t)(pre_msec * OS_SYS_US_PER_MS);
             break;
         default:
-            ret_time = (uint64_t)(g_pre_systick_msec);
+            ret_time = (uint64_t)(pre_msec);
             break;
     }
 
index 2ddec9d..6155f99 100755 (executable)
@@ -53,9 +53,10 @@ extern "C" {
 #define EMMC_MSLEEP_20 20
 #define EMMC_ACCESS_OFFSET 20
 #define EMMC_SECTOR_TO_KB 2
-#define FF_VOLUME_NAME_STRS "/system/", "/user/", "/update/", "/music/"
+#define FF_VOLUME_NAME_STRS "/user/", "/system/", "/update/", "/music/"
 uint32_t g_volume_percent[FF_VOLUMES_NUM] = { 11, 11, 8, 70 };
 static const char * const g_volume_names[FF_VOLUMES_NUM] = { FF_VOLUME_NAME_STRS };
+int32_t g_fail_mount_index = 0;
 
 static struct dpal_resource sdmmc0_resources[] = {
     {
@@ -170,6 +171,7 @@ int emmc_drv_try_mount(void)
 
         ret = mount(dev_name, g_volume_names[index], "vfat", 0, NULL);
         if (ret != OK) {
+            g_fail_mount_index = index;
             printf("%s, mount failed, partition:[%d]\r\n", __FUNCTION__, index);
             return -ENODEV;
         }
@@ -181,10 +183,11 @@ int emmc_drv_try_mount(void)
 int emmc_drv_format(void)
 {
     int ret;
-    int index;
+    int index = g_fail_mount_index;
+    g_fail_mount_index = 0;
     char dev_name[64] = { 0 };
 
-    for (index = 0; index < FF_VOLUMES_NUM; ++index) {
+    for (; index < FF_VOLUMES_NUM; ++index) {
         ret = sprintf_s(dev_name, sizeof(dev_name), "/dev/mmcblk0p%d", index);
         if (ret <= 0) {
             continue;
index 97b8b2b..9158bbc 100755 (executable)
 #include "systick.h"
 #include "debug_print.h"
 #include "panic.h"
+#include "hal_pmu_vdd.h"
+#if defined(BUILD_APPLICATION_STANDARD) && !defined(BUILD_RECOVERY_IMAGE)
+#ifdef __LITEOS__
+#include "los_exc.h"
+#endif
+#endif
+#include "chip_io.h"
 
 #define CHECK_FREQUENCY                         1000
+#define SYSTICK_COUNT_PER_MS                    32
 
 uint32_t g_pmu_check_reg = 0;
 uint32_t g_pmu_check_reg_value = 0;
@@ -19,29 +27,65 @@ uint32_t g_pmu_check_reg_bit = 0;
 
 void hal_reg_status_check_timeout(uint32_t addr, uint16_t offset, switch_type_t on, uint32_t timeout)
 {
-    uint64_t time = uapi_systick_get_ms();
+    uint64_t time = uapi_systick_get_count();
     uint64_t check_frq = CHECK_FREQUENCY;
-
+    uint64_t current_time;
     g_pmu_check_reg = addr;
     g_pmu_check_reg_bit = offset;
     while (reg16_getbit((void *)((uintptr_t)addr), offset) != on) {
         check_frq--;
         if (check_frq == 0) {
-            if ((time + timeout) < uapi_systick_get_ms()) {
+            current_time = uapi_systick_get_count();
+            if ((time + (timeout * SYSTICK_COUNT_PER_MS)) < current_time) {
                 g_pmu_check_reg_value = readl((void *)((uintptr_t)g_pmu_check_reg));
-                PRINT("pmu status timeout!! pmu addr is %x, with value %x\r\n", g_pmu_check_reg, g_pmu_check_reg_value);
+                PRINT("pmu status timeout!! pmu addr is %x, with value %x and ldp power reg readw(0x57004148) %x\r\n",
+                    g_pmu_check_reg,
+                    g_pmu_check_reg_value,
+                    hal_pmu_get_simo2_buck_reg());
+                PRINT("time = %llu , timeout = %d, current_time = %llu \r\n", time, timeout, current_time);
+#if defined(BUILD_APPLICATION_STANDARD) && !defined(BUILD_RECOVERY_IMAGE)
+#ifdef __LITEOS__
+                LOS_PANIC("PANIC_PMU_LDO panic ,reg = %x\n", g_pmu_check_reg);
+#else
+                panic(PANIC_PMU_LDO, g_pmu_check_reg);
+#endif
+#else
                 panic(PANIC_PMU_LDO, g_pmu_check_reg);
+#endif
             } else {
                 check_frq = CHECK_FREQUENCY;
             }
         }
     }
-
     g_pmu_check_reg = 0;
     g_pmu_check_reg_value = 0;
     g_pmu_check_reg_bit = 0;
 }
 
+errcode_t hal_reg_status_check_timeout_no_panic(uint32_t addr, uint16_t offset, switch_type_t on, uint32_t timeout)
+{
+    uint64_t time = uapi_systick_get_count();
+    uint64_t check_frq = CHECK_FREQUENCY;
+    uint64_t current_time;
+    while (reg16_getbit((void *)((uintptr_t)addr), offset) != on) {
+        check_frq--;
+        if (check_frq == 0) {
+            current_time = uapi_systick_get_count();
+            if ((time + (timeout * SYSTICK_COUNT_PER_MS)) < current_time) {
+                PRINT("pmu status timeout!! pmu addr is %x, with value %x and sim02_buck2 reg= %x\r\n",
+                    addr,
+                    readw(addr),
+                    hal_pmu_get_simo2_buck_reg());
+                PRINT("pll power on , time count before = %llu , time count current = %llu", time, current_time);
+                return ERRCODE_FAIL;
+            } else {
+                check_frq = CHECK_FREQUENCY;
+            }
+        }
+    }
+    return ERRCODE_SUCC;
+}
+
 void hal_reg_config_bit(uint32_t addr, switch_type_t on, REG16_POS position)
 {
     unsigned int irq_sts = osal_irq_lock();
index 388b66e..dad8176 100755 (executable)
@@ -9,6 +9,7 @@
 #define SRC_DRIVERS_HAL_REG_CONFIG_H
 
 #include "chip_io.h"
+#include "errcode.h"
 
 /** @defgroup connectivity_drivers_hal_reg_config REG Config
   * @ingroup  connectivity_drivers_hal
  */
 void hal_reg_status_check_timeout(uint32_t addr, uint16_t offset, switch_type_t on, uint32_t timeout);
 
+/**
+ * @brief  Check register value no panic
+ * @param  addr Register addr
+ * @param  offset Register bit offset
+ * @param  on Bit set/clear
+ * @param  timeout Check timeout value
+ * @return check result
+ */
+errcode_t hal_reg_status_check_timeout_no_panic(uint32_t addr, uint16_t offset, switch_type_t on, uint32_t timeout);
+
 /**
  * @brief  Set register value
  * @param  addr Register addr
index 4b1c900..388937d 100644 (file)
@@ -502,6 +502,48 @@ int a2dp_snk_register_callbacks(a2dp_snk_callbacks_t *func);
  */
 int a2dp_snk_deregister_callbacks(a2dp_snk_callbacks_t *func);
 
+/**
+ * @if Eng
+ * @brief  Use this funtion to register A2DP SNK service.
+ * @par Description:
+ *           Use this funtion to register A2DP SNK service.
+ * @param  NULL
+ * @retval #ERRCODE_BT_SUCCESS   Success.
+ * @retval #Other                Failure. For details, see @ref errcode_bt_t
+ * @else
+ * @brief  注册A2DP SNK服务。
+ * @par 说明:
+ *           注册A2DP SNK服务。
+ * @param   NULL
+ * @retval #ERRCODE_BT_SUCCESS   成功。
+ * @retval #Other                失败,参考 @ref errcode_bt_t
+ * @endif
+ * @par Dependency:
+ * @li bts_a2dp_snk_source.h
+ */
+errcode_t a2dp_snk_service_register(void);
+
+/**
+ * @if Eng
+ * @brief  Use this funtion to unregister A2DP SNK service.
+ * @par Description:
+ *           Use this funtion to unregister A2DP SNK service.
+ * @param  NULL
+ * @retval #ERRCODE_BT_SUCCESS   Success.
+ * @retval #Other                Failure. For details, see @ref errcode_bt_t
+ * @else
+ * @brief  去注册A2DP SNK服务。
+ * @par 说明:
+ *           去注册A2DP SNK服务。
+ * @param   NULL
+ * @retval #ERRCODE_BT_SUCCESS   成功。
+ * @retval #Other                失败,参考 @ref errcode_bt_t
+ * @endif
+ * @par Dependency:
+ * @li bts_a2dp_snk_source.h
+ */
+errcode_t a2dp_snk_service_unregister(void);
+
 /**
  * @}
  */
index 416f5b6..a3886af 100755 (executable)
@@ -172,10 +172,11 @@ typedef enum {
  * @endif
  */
 typedef enum {
-    HFP_SCO_STATE_CONNECTING = 0x01,    /*!< @if Eng status of sco is connecting. @else sco正在连接。 @endif */
-    HFP_SCO_STATE_CONNECTED = 0x02,     /*!< @if Eng status of sco is connected. @else sco已连接。 @endif */
-    HFP_SCO_STATE_DISCONNECTING = 0x03, /*!< @if Eng status of sco is disconnecting. @else sco已连接。 @endif */
-    HFP_SCO_STATE_DISCONNECTED = 0x04   /*!< @if Eng status of sco is connected. @else sco已连接。 @endif */
+    HFP_SCO_STATE_CONNECTING = 0x01,     /*!< @if Eng status of sco is connecting. @else sco正在连接。 @endif */
+    HFP_SCO_STATE_CONNECTED = 0x02,      /*!< @if Eng status of sco is connected. @else sco已连接。 @endif */
+    HFP_SCO_STATE_DISCONNECTING = 0x03,  /*!< @if Eng status of sco is disconnecting. @else sco正在断连。 @endif */
+    HFP_SCO_STATE_DISCONNECTED = 0x04,   /*!< @if Eng status of sco is disconnected. @else sco已断开。 @endif */
+    HFP_SCO_STATE_CONNECT_FAILURE = 0x05 /*!< @if Eng status of sco connect is failure. @else sco连接失败。 @endif */
 } hfp_sco_connect_state_t;
 
 /**
@@ -1455,6 +1456,29 @@ int gap_register_callbacks(gap_call_backs_t *func);
  */
 errcode_t gap_reconnect_media_device(const bd_addr_t *addr);
 
+/**
+ * @if Eng
+ * @brief Use this funtion to set bt flow limit.
+ * @par   Use this funtion to set bt flow limit.
+ * @attention NULL
+ * @param  [in] flow_limit flow limit max bytes,range is [3072-10240] bytes.
+ * @retval #true Execute successfully.
+ * @retval #false Execution failed.
+ * @par Dependency:
+ * @li  bts_br_gap.h
+ * @else
+ * @brief  配置流控限制字节数。
+ * @par    配置流控限制字节数。
+ * @attention 无
+ * @param  [in] 流控限制字节数,范围是[3072-10240]字节数。
+ * @retval #true  连接成功。
+ * @retval #false  连接失败。
+ * @par 依赖:
+ * @li  bts_br_gap.h
+ * @endif
+ */
+errcode_t gap_bt_set_flow_limit(uint16_t flow_limit);
+
 /**
  * @}
  */
index 0688a09..5ef1a3a 100644 (file)
@@ -1,60 +1,61 @@
-<MSG_LOG><MSG STRUCTURE="diag_log_msg2" NAME="last_state: %d new_state: %d @a2dp_snk_service.c(73),INFO" ID="0xd80e024d" />
-                       <MSG STRUCTURE="diag_log_msg5" NAME="addr: ****%02x%02x%02x%02x conn_hdl: %x @a2dp_snk_service.c(96),INFO" ID="0xd80e0305" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="disconnect_ret(int): %d @a2dp_snk_service.c(102),INFO" ID="0xd80e0335" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @a2dp_snk_service.c(106),ERROR" ID="0xd80e0352" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="event: %x dev_hdl: %x conn_hdl: %x @a2dp_snk_service.c(125),INFO" ID="0xd80e03ed" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="rmt_hdl: %x seid: %x sc_len: %d sc:  @a2dp_snk_service.c(136),INFO" ID="0xd80e0445" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="%x  @a2dp_snk_service.c(138),INFO" ID="0xd80e0455" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME=" @a2dp_snk_service.c(140),INFO" ID="0xd80e0465" />
-                       <MSG STRUCTURE="diag_log_msg5" NAME="streamMtu:%d, FrameSize: %d, numFrame: %d, stream_hdl: 0x%x, stream_state: %d @a2dp_snk_service.c(159),INFO" ID="0xd80e04fd" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="unexpected state %d @a2dp_snk_service.c(190),WARNING" ID="0xd80e05f3" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="stream_hdl: %x state: %d param_len: %d @a2dp_snk_service.c(198),INFO" ID="0xd80e0635" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="set active device ret: %x @a2dp_snk_service.c(208),INFO" ID="0xd80e0685" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="error: cap_len is bigger! @a2dp_snk_service.c(255),ERROR" ID="0xd80e07fa" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="sbc report inf  @a2dp_snk_service.c(257),INFO" ID="0xd80e080d" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="codec_caps[%u]:%02x  @a2dp_snk_service.c(259),INFO" ID="0xd80e081d" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME=" @a2dp_snk_service.c(261),INFO" ID="0xd80e082d" />
-                       <MSG STRUCTURE="diag_log_msg8" NAME="sbc sampleFreq: %02x chnlMode: %02x blockLen: %02x subBand: %02x allocMtd: %02x Bitpool: %02x %02x payload:%u @a2dp_snk_service.c(284),INFO" ID="0xd80e08e5" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="error: cap_len is bigger! @a2dp_snk_service.c(313),ERROR" ID="0xd80e09ca" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="aac report inf  @a2dp_snk_service.c(315),INFO" ID="0xd80e09dd" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="codec_caps[%u]:%02x  @a2dp_snk_service.c(317),INFO" ID="0xd80e09ed" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME=" @a2dp_snk_service.c(319),INFO" ID="0xd80e09fd" />
-                       <MSG STRUCTURE="diag_log_msg6" NAME="aac sampleFreq: %02x bit_rate: %02x channels: %02x objectType: %02x rfa: %02x vbr: %02x @a2dp_snk_service.c(339),INFO" ID="0xd80e0a9d" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="code_c: %d @a2dp_snk_service.c(347),INFO" ID="0xd80e0add" />
-                       <MSG STRUCTURE="diag_log_msg4" NAME="stream_hdl: %x, role: %x, event: %x, err: %x @a2dp_snk_service.c(370),INFO" ID="0xd80e0b95" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="malloc errr @a2dp_snk_service.c(380),ERROR" ID="0xd80e0be2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s errr @a2dp_snk_service.c(389),ERROR" ID="0xd80e0c2a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="malloc errr @a2dp_snk_service.c(400),ERROR" ID="0xd80e0c82" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s errr @a2dp_snk_service.c(409),ERROR" ID="0xd80e0cca" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="malloc errr @a2dp_snk_service.c(420),ERROR" ID="0xd80e0d22" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s errr @a2dp_snk_service.c(426),ERROR" ID="0xd80e0d52" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="malloc errr @a2dp_snk_service.c(437),ERROR" ID="0xd80e0daa" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s errr @a2dp_snk_service.c(443),ERROR" ID="0xd80e0dda" />
-                       <MSG STRUCTURE="diag_log_msg4" NAME="conn_state:%d dev_hdl: %08x conn_hdl: %08x stream_hdl: %08x @a2dp_snk_service.c(474),INFO" ID="0xd80e0ed5" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="a2dp_snk_set_stream_codec memcpy fail @a2dp_snk_service.c(518),ERROR" ID="0xd80e1032" />
-                       <MSG STRUCTURE="diag_log_msg7" NAME="sbc sF: %02x cM: %02x blockL: %02x sBand: %02x alcM: %02x BitP: %02x %02x @a2dp_snk_service.c(527),INFO" ID="0xd80e107d" />
-                       <MSG STRUCTURE="diag_log_msg6" NAME="aac sF: %02x bit_rate: %02x channel: %02x objType: %02x fa: %02x vbr: %02x @a2dp_snk_service.c(532),INFO" ID="0xd80e10a5" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="is_reconfig: %d stream_hdl: %x ret %x @a2dp_snk_service.c(538),INFO" ID="0xd80e10d5" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="btsdk_disconnect error ret: %x @a2dp_snk_service.c(570),ERROR" ID="0xd80e11d2" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="filter try_report: %d now: %d reported: %d @a2dp_snk_service.c(597),INFO" ID="0xd80e12ad" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="get addr error @a2dp_snk_service.c(604),INFO" ID="0xd80e12e5" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="get addr error @a2dp_snk_service.c(621),INFO" ID="0xd80e136d" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="get addr error @a2dp_snk_service.c(638),INFO" ID="0xd80e13f5" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="get addr error @a2dp_snk_service.c(655),ERROR" ID="0xd80e147a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="malloc error @a2dp_snk_service.c(661),ERROR" ID="0xd80e14aa" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="fill codec error @a2dp_snk_service.c(668),ERROR" ID="0xd80e14e2" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="error sbc sample_frequency %x @a2dp_snk_service.c(698),ERROR" ID="0xd80e15d2" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="error aac sample_frequency %x @a2dp_snk_service.c(720),ERROR" ID="0xd80e1682" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="error codec_type %x @a2dp_snk_service.c(724),ERROR" ID="0xd80e16a2" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="unhandled msg id %x @a2dp_snk_service.c(774),WARNING" ID="0xd80e1833" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="btsdk_connect_ex error ret: %x, %x @a2dp_snk_service.c(847),ERROR" ID="0xd80e1a7a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="a2dp snk disconnect error ret: %x @a2dp_snk_service.c(874),ERROR" ID="0xd80e1b52" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @a2dp_snk_service.c(890),ERROR" ID="0xd80e1bd2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="duplicate register callback @a2dp_snk_service.c(908),INFO" ID="0xd80e1c65" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="malloc error @a2dp_snk_service.c(918),ERROR" ID="0xd80e1cb2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @a2dp_snk_service.c(923),ERROR" ID="0xd80e1cda" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="stream_hdl: %08x stream_status:%u ret: %08x @a2dp_snk_service.c(990),INFO" ID="0xd80e1ef5" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="suspend stream_hdl: %08x ret: %08x @a2dp_snk_service.c(1001),INFO" ID="0xd80e1f4d" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="stop stream_hdl: %08x ret: %08x @a2dp_snk_service.c(1012),INFO" ID="0xd80e1fa5" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="start accept stream_hdl: %08x ret: %08x @a2dp_snk_service.c(1023),INFO" ID="0xd80e1ffd" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg2" NAME="last_state: %d new_state: %d @a2dp_snk_service.c(71),INFO" ID="0xd80e023d" />
+                       <MSG STRUCTURE="diag_log_msg5" NAME="addr: ****%02x%02x%02x%02x conn_hdl: %x @a2dp_snk_service.c(94),INFO" ID="0xd80e02f5" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="disconnect_ret(int): %d @a2dp_snk_service.c(100),INFO" ID="0xd80e0325" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @a2dp_snk_service.c(104),ERROR" ID="0xd80e0342" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="event: %x dev_hdl: %x conn_hdl: %x @a2dp_snk_service.c(123),INFO" ID="0xd80e03dd" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="rmt_hdl: %x seid: %x sc_len: %d sc:  @a2dp_snk_service.c(134),INFO" ID="0xd80e0435" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="%x  @a2dp_snk_service.c(136),INFO" ID="0xd80e0445" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME=" @a2dp_snk_service.c(138),INFO" ID="0xd80e0455" />
+                       <MSG STRUCTURE="diag_log_msg5" NAME="streamMtu:%d, FrameSize: %d, numFrame: %d, stream_hdl: 0x%x, stream_state: %d @a2dp_snk_service.c(157),INFO" ID="0xd80e04ed" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="unexpected state %d @a2dp_snk_service.c(188),WARNING" ID="0xd80e05e3" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="stream_hdl: %x state: %d param_len: %d @a2dp_snk_service.c(196),INFO" ID="0xd80e0625" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="set active device ret: %x @a2dp_snk_service.c(206),INFO" ID="0xd80e0675" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="error: cap_len is bigger! @a2dp_snk_service.c(253),ERROR" ID="0xd80e07ea" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="sbc report inf  @a2dp_snk_service.c(255),INFO" ID="0xd80e07fd" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="codec_caps[%u]:%02x  @a2dp_snk_service.c(257),INFO" ID="0xd80e080d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME=" @a2dp_snk_service.c(259),INFO" ID="0xd80e081d" />
+                       <MSG STRUCTURE="diag_log_msg8" NAME="sbc sampleFreq: %02x chnlMode: %02x blockLen: %02x subBand: %02x allocMtd: %02x Bitpool: %02x %02x payload:%u @a2dp_snk_service.c(282),INFO" ID="0xd80e08d5" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="error: cap_len is bigger! @a2dp_snk_service.c(311),ERROR" ID="0xd80e09ba" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="aac report inf  @a2dp_snk_service.c(313),INFO" ID="0xd80e09cd" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="codec_caps[%u]:%02x  @a2dp_snk_service.c(315),INFO" ID="0xd80e09dd" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME=" @a2dp_snk_service.c(317),INFO" ID="0xd80e09ed" />
+                       <MSG STRUCTURE="diag_log_msg6" NAME="aac sampleFreq: %02x bit_rate: %02x channels: %02x objectType: %02x rfa: %02x vbr: %02x @a2dp_snk_service.c(337),INFO" ID="0xd80e0a8d" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="code_c: %d @a2dp_snk_service.c(345),INFO" ID="0xd80e0acd" />
+                       <MSG STRUCTURE="diag_log_msg4" NAME="stream_hdl: %x, role: %x, event: %x, err: %x @a2dp_snk_service.c(368),INFO" ID="0xd80e0b85" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="malloc errr @a2dp_snk_service.c(378),ERROR" ID="0xd80e0bd2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s errr @a2dp_snk_service.c(387),ERROR" ID="0xd80e0c1a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="malloc errr @a2dp_snk_service.c(398),ERROR" ID="0xd80e0c72" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s errr @a2dp_snk_service.c(407),ERROR" ID="0xd80e0cba" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="malloc errr @a2dp_snk_service.c(418),ERROR" ID="0xd80e0d12" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s errr @a2dp_snk_service.c(424),ERROR" ID="0xd80e0d42" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="malloc errr @a2dp_snk_service.c(435),ERROR" ID="0xd80e0d9a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s errr @a2dp_snk_service.c(441),ERROR" ID="0xd80e0dca" />
+                       <MSG STRUCTURE="diag_log_msg4" NAME="conn_state:%d dev_hdl: %08x conn_hdl: %08x stream_hdl: %08x @a2dp_snk_service.c(472),INFO" ID="0xd80e0ec5" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="a2dp_snk_set_stream_codec memcpy fail @a2dp_snk_service.c(516),ERROR" ID="0xd80e1022" />
+                       <MSG STRUCTURE="diag_log_msg7" NAME="sbc sF: %02x cM: %02x blockL: %02x sBand: %02x alcM: %02x BitP: %02x %02x @a2dp_snk_service.c(525),INFO" ID="0xd80e106d" />
+                       <MSG STRUCTURE="diag_log_msg6" NAME="aac sF: %02x bit_rate: %02x channel: %02x objType: %02x fa: %02x vbr: %02x @a2dp_snk_service.c(530),INFO" ID="0xd80e1095" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="is_reconfig: %d stream_hdl: %x ret %x @a2dp_snk_service.c(536),INFO" ID="0xd80e10c5" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="btsdk_disconnect error ret: %x @a2dp_snk_service.c(568),ERROR" ID="0xd80e11c2" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="filter try_report: %d now: %d reported: %d @a2dp_snk_service.c(595),INFO" ID="0xd80e129d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="get addr error @a2dp_snk_service.c(602),INFO" ID="0xd80e12d5" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="get addr error @a2dp_snk_service.c(619),INFO" ID="0xd80e135d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="get addr error @a2dp_snk_service.c(636),INFO" ID="0xd80e13e5" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="get addr error @a2dp_snk_service.c(653),ERROR" ID="0xd80e146a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="malloc error @a2dp_snk_service.c(659),ERROR" ID="0xd80e149a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="fill codec error @a2dp_snk_service.c(666),ERROR" ID="0xd80e14d2" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="error sbc sample_frequency %x @a2dp_snk_service.c(696),ERROR" ID="0xd80e15c2" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="error aac sample_frequency %x @a2dp_snk_service.c(718),ERROR" ID="0xd80e1672" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="error codec_type %x @a2dp_snk_service.c(722),ERROR" ID="0xd80e1692" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="unhandled msg id %x @a2dp_snk_service.c(772),WARNING" ID="0xd80e1823" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="btsdk_connect_ex error ret: %x, %x @a2dp_snk_service.c(841),ERROR" ID="0xd80e1a4a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="a2dp snk disconnect error ret: %x @a2dp_snk_service.c(864),ERROR" ID="0xd80e1b02" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @a2dp_snk_service.c(880),ERROR" ID="0xd80e1b82" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="duplicate register callback @a2dp_snk_service.c(898),INFO" ID="0xd80e1c15" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="malloc error @a2dp_snk_service.c(908),ERROR" ID="0xd80e1c62" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @a2dp_snk_service.c(913),ERROR" ID="0xd80e1c8a" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="stream_hdl: %08x stream_status:%u ret: %08x @a2dp_snk_service.c(980),INFO" ID="0xd80e1ea5" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="suspend stream_hdl: %08x ret: %08x @a2dp_snk_service.c(991),INFO" ID="0xd80e1efd" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="stop stream_hdl: %08x ret: %08x @a2dp_snk_service.c(1002),INFO" ID="0xd80e1f55" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="start accept stream_hdl: %08x ret: %08x @a2dp_snk_service.c(1013),INFO" ID="0xd80e1fad" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="a2dp snk is connected, service unregister fail. @a2dp_snk_service.c(1030),ERROR" ID="0xd80e2032" />
                        </MSG_LOG>
\ No newline at end of file
index 0b41cd5..bdf50b7 100644 (file)
                        <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] app path is not dir when reload third app! @gt_bundle_manager_service.cpp(513),ERROR" ID="0xe044100a" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] app path is not third bundle path! @gt_bundle_manager_service.cpp(519),INFO" ID="0xe044103d" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] third bundle reload number is to MAX_THIRD_BUNDLE_NUMBER! @gt_bundle_manager_service.cpp(526),INFO" ID="0xe0441075" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] parse bundle attr fail! @gt_bundle_manager_service.cpp(565),ERROR" ID="0xe04411aa" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] bundle has been reloaded! @gt_bundle_manager_service.cpp(588),INFO" ID="0xe0441265" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[BMS] reload bundle info fail!, isSystemApp is %d @gt_bundle_manager_service.cpp(685),ERROR" ID="0xe044156a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] get installRecord fail when restart! @gt_bundle_manager_service.cpp(741),ERROR" ID="0xe044172a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] TransformJsToBcWhenRestart jsEngineVer_ is nullptr! @gt_bundle_manager_service.cpp(748),ERROR" ID="0xe0441762" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] create string object fail when restart! @gt_bundle_manager_service.cpp(756),ERROR" ID="0xe04417a2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] add js engine version record fail when restart! @gt_bundle_manager_service.cpp(771),ERROR" ID="0xe044181a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] refresh js engine version fail when restart! @gt_bundle_manager_service.cpp(779),ERROR" ID="0xe044185a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[BMS] transform js to bc, result is %d @gt_bundle_manager_service.cpp(806),INFO" ID="0xe0441935" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[BMS] delete byte code, result is %d @gt_bundle_manager_service.cpp(809),INFO" ID="0xe044194d" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] add transform result record fail when restart! @gt_bundle_manager_service.cpp(822),ERROR" ID="0xe04419b2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] refresh transform result record fail when restart! @gt_bundle_manager_service.cpp(828),ERROR" ID="0xe04419e2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] parse bundle attr fail! @gt_bundle_manager_service.cpp(567),ERROR" ID="0xe04411ba" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[BMS] reload bundle info fail!, isSystemApp is %d @gt_bundle_manager_service.cpp(682),ERROR" ID="0xe0441552" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] get installRecord fail when restart! @gt_bundle_manager_service.cpp(738),ERROR" ID="0xe0441712" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] TransformJsToBcWhenRestart jsEngineVer_ is nullptr! @gt_bundle_manager_service.cpp(745),ERROR" ID="0xe044174a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] create string object fail when restart! @gt_bundle_manager_service.cpp(753),ERROR" ID="0xe044178a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] add js engine version record fail when restart! @gt_bundle_manager_service.cpp(768),ERROR" ID="0xe0441802" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] refresh js engine version fail when restart! @gt_bundle_manager_service.cpp(776),ERROR" ID="0xe0441842" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[BMS] transform js to bc, result is %d @gt_bundle_manager_service.cpp(803),INFO" ID="0xe044191d" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[BMS] delete byte code, result is %d @gt_bundle_manager_service.cpp(806),INFO" ID="0xe0441935" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] add transform result record fail when restart! @gt_bundle_manager_service.cpp(819),ERROR" ID="0xe044199a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[BMS] refresh transform result record fail when restart! @gt_bundle_manager_service.cpp(825),ERROR" ID="0xe04419ca" />
                        </MSG_LOG>
\ No newline at end of file
index 31d13ce..d09bec4 100644 (file)
                        <MSG STRUCTURE="diag_log_msg1" NAME="len err: %d! @hfp_hf_service.c(305),ERROR" ID="0xd824098a" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="audio conn released. @hfp_hf_service.c(320),INFO" ID="0xd8240a05" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="sco disconnect complete. @hfp_hf_service.c(327),INFO" ID="0xd8240a3d" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="incoming call. inband = %d len = %d  @hfp_hf_service.c(334),INFO" ID="0xd8240a75" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="terminate local ringtone. inband = %d len = %d  @hfp_hf_service.c(344),INFO" ID="0xd8240ac5" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="%d @hfp_hf_service.c(373),INFO" ID="0xd8240bad" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="%d @hfp_hf_service.c(382),INFO" ID="0xd8240bf5" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME=" @hfp_hf_service.c(392),INFO" ID="0xd8240c45" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME=" @hfp_hf_service.c(402),WARNING" ID="0xd8240c93" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME=" @hfp_hf_service.c(412),INFO" ID="0xd8240ce5" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME=" @hfp_hf_service.c(422),INFO" ID="0xd8240d35" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="name: %s, len: %d @hfp_hf_service.c(436),INFO" ID="0xd8240da5" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME=" @hfp_hf_service.c(447),INFO" ID="0xd8240dfd" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME=" @hfp_hf_service.c(457),INFO" ID="0xd8240e4d" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="micvol: %d @hfp_hf_service.c(466),INFO" ID="0xd8240e95" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="spkvol: %d @hfp_hf_service.c(475),INFO" ID="0xd8240edd" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="type: 0x%x, service: 0x%x, num: %s! @hfp_hf_service.c(489),INFO" ID="0xd8240f4d" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="codec: %d @hfp_hf_service.c(499),INFO" ID="0xd8240f9d" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="hfp hf handle call list change fail. @hfp_hf_service.c(506),ERROR" ID="0xd8240fd2" />
-                       <MSG STRUCTURE="diag_log_msg6" NAME="[current call] index: %d, incoming: %d, status: %d, multi: %d, number_len: %d, number: %s @hfp_hf_service.c(510),INFO" ID="0xd8240ff5" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="no empty space! @hfp_hf_service.c(515),ERROR" ID="0xd824101a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="hfp_hf_copy_phone_number fail @hfp_hf_service.c(522),ERROR" ID="0xd8241052" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="hfp hf handle call list result. param %p len %d @hfp_hf_service.c(538),INFO" ID="0xd82410d5" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="malloc fail. @hfp_hf_service.c(545),ERROR" ID="0xd824110a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail. @hfp_hf_service.c(549),ERROR" ID="0xd824112a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="send msg fail. %x @hfp_hf_service.c(555),ERROR" ID="0xd824115a" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="hfp hf handle receive ring tone. tone %d len %d @hfp_hf_service.c(562),INFO" ID="0xd8241195" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="hdl: 0x%x ret: 0x%x @hfp_hf_service.c(569),INFO" ID="0xd82411cd" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="receive CIEV code : %d @hfp_hf_service.c(576),INFO" ID="0xd8241205" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="[total status] call: %d, callsetup: %d, callheld: %d @hfp_hf_service.c(579),INFO" ID="0xd824121d" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="btsdk_hfap_3way_calling_handler ret:0x%x @hfp_hf_service.c(594),INFO" ID="0xd8241295" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="hfp hf event=0x%x. @hfp_hf_service.c(636),INFO" ID="0xd82413e5" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @hfp_hf_service.c(681),ERROR" ID="0xd824154a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="hfp hf disable device fail, addr is not present. @hfp_hf_service.c(706),ERROR" ID="0xd8241612" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="hfp hf disable device fail, dev_handl is not present. @hfp_hf_service.c(711),ERROR" ID="0xd824163a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="hfp hf disable device fail, conn_handl is not present. @hfp_hf_service.c(716),ERROR" ID="0xd8241662" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="first report sco disconnect complete. @hfp_hf_service.c(721),INFO" ID="0xd824168d" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="hfp hf disable device fail, pan context memset error. @hfp_hf_service.c(727),ERROR" ID="0xd82416ba" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="hfp hf conn event: %x dev_hdl: %x conn_hdl: %x @hfp_hf_service.c(739),INFO" ID="0xd824171d" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="ev: 0x%x state: 0x%x @hfp_hf_service.c(752),INFO" ID="0xd8241785" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="g_hfp_hf_ctx_t.sco_hdl: 0x%x @hfp_hf_service.c(764),INFO" ID="0xd82417e5" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="unhandled msg id: 0x%x @hfp_hf_service.c(787),WARNING" ID="0xd824189b" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="empty number! @hfp_hf_service.c(797),ERROR" ID="0xd82418ea" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="hdl: 0x%x ret: 0x%x @hfp_hf_service.c(801),INFO" ID="0xd824190d" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="invalid action_type: %d! @hfp_hf_service.c(810),ERROR" ID="0xd8241952" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="call idx=%d @hfp_hf_service.c(815),INFO" ID="0xd824197d" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="no incoming call right now! @hfp_hf_service.c(817),WARNING" ID="0xd824198b" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="hdl: 0x%x ret: 0x%x @hfp_hf_service.c(838),INFO" ID="0xd8241a35" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="call idx=%d @hfp_hf_service.c(849),INFO" ID="0xd8241a8d" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="hdl: 0x%x ret: 0x%x @hfp_hf_service.c(859),INFO" ID="0xd8241add" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="call idx=%d @hfp_hf_service.c(871),INFO" ID="0xd8241b3d" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="hdl: 0x%x ret: 0x%x @hfp_hf_service.c(882),INFO" ID="0xd8241b95" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="hdl: 0x%x ret: 0x%x @hfp_hf_service.c(890),INFO" ID="0xd8241bd5" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="Volume too large %d, change it to 15 @hfp_hf_service.c(899),WARNING" ID="0xd8241c1b" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="Set speaker volume to %d @hfp_hf_service.c(904),INFO" ID="0xd8241c45" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="Set mic volume to %d @hfp_hf_service.c(907),INFO" ID="0xd8241c5d" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="hdl: 0x%x ret: 0x%x @hfp_hf_service.c(919),INFO" ID="0xd8241cbd" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="wrong code: %c @hfp_hf_service.c(922),ERROR" ID="0xd8241cd2" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="hdl: 0x%x ret: 0x%x @hfp_hf_service.c(931),INFO" ID="0xd8241d1d" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="hdl: 0x%x ret: 0x%x @hfp_hf_service.c(939),INFO" ID="0xd8241d5d" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="g_hfp_rmt_dev: 0x%x @hfp_hf_service.c(947),INFO" ID="0xd8241d9d" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="is_accept=%d ret=0x%x @hfp_hf_service.c(954),INFO" ID="0xd8241dd5" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="No device selected @hfp_hf_service.c(963),ERROR" ID="0xd8241e1a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="hfp already connected @hfp_hf_service.c(967),WARNING" ID="0xd8241e3b" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="g_rmt_dev=0x%x @hfp_hf_service.c(971),INFO" ID="0xd8241e5d" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="finish, hdl:0x%x, result: 0x%x! @hfp_hf_service.c(973),INFO" ID="0xd8241e6d" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="hfp disconnect start g_hfp_hf_ctx_t.conn_hdl=0x%x @hfp_hf_service.c(981),INFO" ID="0xd8241ead" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="hfp is not connected @hfp_hf_service.c(986),WARNING" ID="0xd8241ed3" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="error: 0x%x @hfp_hf_service.c(992),ERROR" ID="0xd8241f02" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="hfp disconnect OK @hfp_hf_service.c(995),INFO" ID="0xd8241f1d" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="g_hfp_hf_ctx_t.conn_hdl:0x%x ret:0x%x @hfp_hf_service.c(1006),INFO" ID="0xd8241f75" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="sco already connected sco_hdl:0x%x @hfp_hf_service.c(1008),WARNING" ID="0xd8241f83" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="g_hfp_hf_ctx_t.conn_hdl:0x%x ret:0x%x @hfp_hf_service.c(1020),INFO" ID="0xd8241fe5" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="no sco connected @hfp_hf_service.c(1022),WARNING" ID="0xd8241ff3" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="invalid codec: %d @hfp_hf_service.c(1033),ERROR" ID="0xd824204a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="audio conn fail. @hfp_hf_service.c(335),INFO" ID="0xd8240a7d" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="incoming call. inband = %d len = %d  @hfp_hf_service.c(342),INFO" ID="0xd8240ab5" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="terminate local ringtone. inband = %d len = %d  @hfp_hf_service.c(352),INFO" ID="0xd8240b05" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="%d @hfp_hf_service.c(381),INFO" ID="0xd8240bed" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="%d @hfp_hf_service.c(390),INFO" ID="0xd8240c35" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME=" @hfp_hf_service.c(400),INFO" ID="0xd8240c85" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME=" @hfp_hf_service.c(410),WARNING" ID="0xd8240cd3" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME=" @hfp_hf_service.c(420),INFO" ID="0xd8240d25" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME=" @hfp_hf_service.c(430),INFO" ID="0xd8240d75" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="name: %s, len: %d @hfp_hf_service.c(444),INFO" ID="0xd8240de5" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME=" @hfp_hf_service.c(455),INFO" ID="0xd8240e3d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME=" @hfp_hf_service.c(465),INFO" ID="0xd8240e8d" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="micvol: %d @hfp_hf_service.c(474),INFO" ID="0xd8240ed5" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="spkvol: %d @hfp_hf_service.c(483),INFO" ID="0xd8240f1d" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="type: 0x%x, service: 0x%x, num: %s! @hfp_hf_service.c(497),INFO" ID="0xd8240f8d" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="codec: %d @hfp_hf_service.c(507),INFO" ID="0xd8240fdd" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="hfp hf handle call list change fail. @hfp_hf_service.c(514),ERROR" ID="0xd8241012" />
+                       <MSG STRUCTURE="diag_log_msg6" NAME="[current call] index: %d, incoming: %d, status: %d, multi: %d, number_len: %d, number: %s @hfp_hf_service.c(518),INFO" ID="0xd8241035" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="no empty space! @hfp_hf_service.c(523),ERROR" ID="0xd824105a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="hfp_hf_copy_phone_number fail @hfp_hf_service.c(530),ERROR" ID="0xd8241092" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="hfp hf handle call list result. param %p len %d @hfp_hf_service.c(546),INFO" ID="0xd8241115" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="malloc fail. @hfp_hf_service.c(553),ERROR" ID="0xd824114a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail. @hfp_hf_service.c(557),ERROR" ID="0xd824116a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="send msg fail. %x @hfp_hf_service.c(563),ERROR" ID="0xd824119a" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="hfp hf handle receive ring tone. tone %d len %d @hfp_hf_service.c(570),INFO" ID="0xd82411d5" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="hdl: 0x%x ret: 0x%x @hfp_hf_service.c(577),INFO" ID="0xd824120d" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="receive CIEV code : %d @hfp_hf_service.c(584),INFO" ID="0xd8241245" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="[total status] call: %d, callsetup: %d, callheld: %d @hfp_hf_service.c(587),INFO" ID="0xd824125d" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="btsdk_hfap_3way_calling_handler ret:0x%x @hfp_hf_service.c(602),INFO" ID="0xd82412d5" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="hfp hf event=0x%x. @hfp_hf_service.c(645),INFO" ID="0xd824142d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @hfp_hf_service.c(690),ERROR" ID="0xd8241592" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="hfp hf disable device fail, addr is not present. @hfp_hf_service.c(715),ERROR" ID="0xd824165a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="hfp hf disable device fail, dev_handl is not present. @hfp_hf_service.c(720),ERROR" ID="0xd8241682" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="hfp hf disable device fail, conn_handl is not present. @hfp_hf_service.c(725),ERROR" ID="0xd82416aa" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="first report sco disconnect complete. @hfp_hf_service.c(730),INFO" ID="0xd82416d5" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="hfp hf disable device fail, pan context memset error. @hfp_hf_service.c(736),ERROR" ID="0xd8241702" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="hfp hf conn event: %x dev_hdl: %x conn_hdl: %x @hfp_hf_service.c(748),INFO" ID="0xd8241765" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="ev: 0x%x state: 0x%x @hfp_hf_service.c(761),INFO" ID="0xd82417cd" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="g_hfp_hf_ctx_t.sco_hdl: 0x%x @hfp_hf_service.c(773),INFO" ID="0xd824182d" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="unhandled msg id: 0x%x @hfp_hf_service.c(796),WARNING" ID="0xd82418e3" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="empty number! @hfp_hf_service.c(806),ERROR" ID="0xd8241932" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="hdl: 0x%x ret: 0x%x @hfp_hf_service.c(810),INFO" ID="0xd8241955" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="invalid action_type: %d! @hfp_hf_service.c(819),ERROR" ID="0xd824199a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="call idx=%d @hfp_hf_service.c(824),INFO" ID="0xd82419c5" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="no incoming call right now! @hfp_hf_service.c(826),WARNING" ID="0xd82419d3" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="hdl: 0x%x ret: 0x%x @hfp_hf_service.c(847),INFO" ID="0xd8241a7d" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="call idx=%d @hfp_hf_service.c(858),INFO" ID="0xd8241ad5" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="hdl: 0x%x ret: 0x%x @hfp_hf_service.c(868),INFO" ID="0xd8241b25" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="call idx=%d @hfp_hf_service.c(880),INFO" ID="0xd8241b85" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="hdl: 0x%x ret: 0x%x @hfp_hf_service.c(891),INFO" ID="0xd8241bdd" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="hdl: 0x%x ret: 0x%x @hfp_hf_service.c(899),INFO" ID="0xd8241c1d" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="Volume too large %d, change it to 15 @hfp_hf_service.c(908),WARNING" ID="0xd8241c63" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="Set speaker volume to %d @hfp_hf_service.c(913),INFO" ID="0xd8241c8d" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="Set mic volume to %d @hfp_hf_service.c(916),INFO" ID="0xd8241ca5" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="hdl: 0x%x ret: 0x%x @hfp_hf_service.c(928),INFO" ID="0xd8241d05" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="wrong code: %c @hfp_hf_service.c(931),ERROR" ID="0xd8241d1a" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="hdl: 0x%x ret: 0x%x @hfp_hf_service.c(940),INFO" ID="0xd8241d65" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="hdl: 0x%x ret: 0x%x @hfp_hf_service.c(948),INFO" ID="0xd8241da5" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="g_hfp_rmt_dev: 0x%x @hfp_hf_service.c(956),INFO" ID="0xd8241de5" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="is_accept=%d ret=0x%x @hfp_hf_service.c(963),INFO" ID="0xd8241e1d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="No device selected @hfp_hf_service.c(972),ERROR" ID="0xd8241e62" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="hfp already connected @hfp_hf_service.c(976),WARNING" ID="0xd8241e83" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="g_rmt_dev=0x%x @hfp_hf_service.c(980),INFO" ID="0xd8241ea5" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="finish, hdl:0x%x, result: 0x%x! @hfp_hf_service.c(982),INFO" ID="0xd8241eb5" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="hfp disconnect start g_hfp_hf_ctx_t.conn_hdl=0x%x @hfp_hf_service.c(990),INFO" ID="0xd8241ef5" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="hfp is not connected @hfp_hf_service.c(995),WARNING" ID="0xd8241f1b" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="error: 0x%x @hfp_hf_service.c(1001),ERROR" ID="0xd8241f4a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="hfp disconnect OK @hfp_hf_service.c(1004),INFO" ID="0xd8241f65" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="g_hfp_hf_ctx_t.conn_hdl:0x%x ret:0x%x @hfp_hf_service.c(1015),INFO" ID="0xd8241fbd" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="sco already connected sco_hdl:0x%x @hfp_hf_service.c(1017),WARNING" ID="0xd8241fcb" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="g_hfp_hf_ctx_t.conn_hdl:0x%x ret:0x%x @hfp_hf_service.c(1029),INFO" ID="0xd824202d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="no sco connected @hfp_hf_service.c(1031),WARNING" ID="0xd824203b" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="invalid codec: %d @hfp_hf_service.c(1042),ERROR" ID="0xd8242092" />
                        </MSG_LOG>
\ No newline at end of file
index c8abf7d..fcf5c9b 100644 (file)
@@ -1,46 +1,47 @@
-<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="js value is not bool. @js_fwk_common.cpp(99),ERROR" ID="0xe064031a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="Failed to set function property cause by empty name. @js_fwk_common.cpp(110),ERROR" ID="0xe0640372" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="Failed to set function property cause by empty handler. @js_fwk_common.cpp(115),ERROR" ID="0xe064039a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="jerry_value_to_string failed, can not continue to generate char buffer @js_fwk_common.cpp(149),ERROR" ID="0xe06404aa" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="malloc buffer for convert jerry string failed @js_fwk_common.cpp(159),ERROR" ID="0xe06404fa" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="jerry string to char buffer failed, target size[%d] @js_fwk_common.cpp(170),ERROR" ID="0xe0640552" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="js value is not bool. @js_fwk_common.cpp(190),ERROR" ID="0xe06405f2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="js number value is out of range. @js_fwk_common.cpp(208),DBG" ID="0xe0640686" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="js number value is out of range. @js_fwk_common.cpp(212),DBG" ID="0xe06406a6" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="cstr is nullptr. @js_fwk_common.cpp(226),ERROR" ID="0xe0640712" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="secLength is too long. @js_fwk_common.cpp(419),ERROR" ID="0xe0640d1a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="append path error @js_fwk_common.cpp(443),ERROR" ID="0xe0640dda" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="error happen when append path @js_fwk_common.cpp(453),ERROR" ID="0xe0640e2a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="input path or fileName is invalid @js_fwk_common.cpp(470),ERROR" ID="0xe0640eb2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="input path or fileName is too long @js_fwk_common.cpp(477),ERROR" ID="0xe0640eea" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="malloc buffer for path failed, needed length[%u] @js_fwk_common.cpp(485),ERROR" ID="0xe0640f2a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="malloc dirPath memory heap failed. @js_fwk_common.cpp(529),ERROR" ID="0xe064108a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="file doesn't exit or it's empty, [%s] @js_fwk_common.cpp(606),ERROR" ID="0xe06412f2" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="realpath handle failed, [%s] @js_fwk_common.cpp(623),ERROR" ID="0xe064137a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="file name too long. @js_fwk_common.cpp(641),ERROR" ID="0xe064140a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="splice trace data failed. @js_fwk_common.cpp(649),ERROR" ID="0xe064144a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="open file[%s] failed for reading. @js_fwk_common.cpp(665),ERROR" ID="0xe06414ca" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="open file[fd: %d] failed for reading @js_fwk_common.cpp(697),ERROR" ID="0xe06415ca" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="open file[path: %s] failed for reading @js_fwk_common.cpp(698),ERROR" ID="0xe06415d2" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="malloc buffer for file content failed, file length[%d] @js_fwk_common.cpp(704),ERROR" ID="0xe0641602" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="read fail, count(%d), length(%u), path(%s) @js_fwk_common.cpp(713),ERROR" ID="0xe064164a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="error index.js file path after locate @js_fwk_common.cpp(742),ERROR" ID="0xe0641732" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="empty index.js file path after locate @js_fwk_common.cpp(747),ERROR" ID="0xe064175a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="malloc buffer for file path calculating from url, file length[%d] @js_fwk_common.cpp(817),ERROR" ID="0xe064198a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="append path error when calculating from url @js_fwk_common.cpp(821),ERROR" ID="0xe06419aa" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="watcher is undefined when inserting a watcher. @js_fwk_common.cpp(857),ERROR" ID="0xe0641aca" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="malloc memory watcher failed. @js_fwk_common.cpp(864),ERROR" ID="0xe0641b02" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="No component binds element. @js_fwk_common.cpp(955),ERROR" ID="0xe0641dda" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="malloc buffer for path failed, needed length[%u] @js_fwk_common.cpp(1187),ERROR" ID="0xe064251a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="use strcpy_s secure function errro(%d) @js_fwk_common.cpp(1194),ERROR" ID="0xe0642552" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="get imagePath failed! @js_fwk_common.cpp(1231),ERROR" ID="0xe064267a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="malloc buffer for path failed, needed length[%u] @js_fwk_common.cpp(1260),ERROR" ID="0xe0642762" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="strcat_s failed! @js_fwk_common.cpp(1267),ERROR" ID="0xe064279a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="the image suffix error, please check! @js_fwk_common.cpp(1273),ERROR" ID="0xe06427ca" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="Failed to parse image src cause by empty source. @js_fwk_common.cpp(1287),ERROR" ID="0xe064283a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="Failed to parse image src cause by empty source. @js_fwk_common.cpp(1291),ERROR" ID="0xe064285a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="Relative path is not allowed in image src. @js_fwk_common.cpp(1298),ERROR" ID="0xe0642892" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="the fontFamily is too long @js_fwk_common.cpp(1347),ERROR" ID="0xe0642a1a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="malloc string failed @js_fwk_common.cpp(1353),ERROR" ID="0xe0642a4a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="copy fontFamily failed @js_fwk_common.cpp(1357),ERROR" ID="0xe0642a6a" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="js value is not bool. @js_fwk_common.cpp(100),ERROR" ID="0xe0640322" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="Failed to set function property cause by empty name. @js_fwk_common.cpp(111),ERROR" ID="0xe064037a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="Failed to set function property cause by empty handler. @js_fwk_common.cpp(116),ERROR" ID="0xe06403a2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="jerry_value_to_string failed, can not continue to generate char buffer @js_fwk_common.cpp(150),ERROR" ID="0xe06404b2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="malloc buffer for convert jerry string failed @js_fwk_common.cpp(160),ERROR" ID="0xe0640502" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="jerry string to char buffer failed, target size[%d] @js_fwk_common.cpp(171),ERROR" ID="0xe064055a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="js value is not bool. @js_fwk_common.cpp(191),ERROR" ID="0xe06405fa" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="js number value is out of range. @js_fwk_common.cpp(209),DBG" ID="0xe064068e" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="js number value is out of range. @js_fwk_common.cpp(213),DBG" ID="0xe06406ae" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="cstr is nullptr. @js_fwk_common.cpp(227),ERROR" ID="0xe064071a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="secLength is too long. @js_fwk_common.cpp(420),ERROR" ID="0xe0640d22" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="append path error @js_fwk_common.cpp(444),ERROR" ID="0xe0640de2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="error happen when append path @js_fwk_common.cpp(454),ERROR" ID="0xe0640e32" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="input path or fileName is invalid @js_fwk_common.cpp(471),ERROR" ID="0xe0640eba" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="input path or fileName is too long @js_fwk_common.cpp(478),ERROR" ID="0xe0640ef2" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="malloc buffer for path failed, needed length[%u] @js_fwk_common.cpp(486),ERROR" ID="0xe0640f32" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="malloc dirPath memory heap failed. @js_fwk_common.cpp(530),ERROR" ID="0xe0641092" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="file doesn't exit or it's empty, [%s] @js_fwk_common.cpp(607),ERROR" ID="0xe06412fa" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="realpath handle failed, [%s] @js_fwk_common.cpp(625),ERROR" ID="0xe064138a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="file name too long. @js_fwk_common.cpp(643),ERROR" ID="0xe064141a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="splice trace data failed. @js_fwk_common.cpp(651),ERROR" ID="0xe064145a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="open file[%s] failed for reading. @js_fwk_common.cpp(667),ERROR" ID="0xe06414da" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="open file[fd: %d] failed for reading @js_fwk_common.cpp(699),ERROR" ID="0xe06415da" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="open file[path: %s] failed for reading @js_fwk_common.cpp(700),ERROR" ID="0xe06415e2" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="malloc buffer for file content failed, file length[%d] @js_fwk_common.cpp(706),ERROR" ID="0xe0641612" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="read fail, count(%d), length(%u), path(%s) @js_fwk_common.cpp(715),ERROR" ID="0xe064165a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="error index.js file path after locate @js_fwk_common.cpp(744),ERROR" ID="0xe0641742" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="empty index.js file path after locate @js_fwk_common.cpp(749),ERROR" ID="0xe064176a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="malloc buffer for file path calculating from url, file length[%d] @js_fwk_common.cpp(819),ERROR" ID="0xe064199a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="append path error when calculating from url @js_fwk_common.cpp(823),ERROR" ID="0xe06419ba" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="watcher is undefined when inserting a watcher. @js_fwk_common.cpp(859),ERROR" ID="0xe0641ada" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="malloc memory watcher failed. @js_fwk_common.cpp(866),ERROR" ID="0xe0641b12" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="No component binds element. @js_fwk_common.cpp(957),ERROR" ID="0xe0641dea" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="Failed GetHeapMemoryInfo! @js_fwk_common.cpp(1107),ERROR" ID="0xe064229a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="malloc buffer for path failed, needed length[%u] @js_fwk_common.cpp(1219),ERROR" ID="0xe064261a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="use strcpy_s secure function errro(%d) @js_fwk_common.cpp(1226),ERROR" ID="0xe0642652" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="get imagePath failed! @js_fwk_common.cpp(1263),ERROR" ID="0xe064277a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="malloc buffer for path failed, needed length[%u] @js_fwk_common.cpp(1292),ERROR" ID="0xe0642862" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="strcat_s failed! @js_fwk_common.cpp(1299),ERROR" ID="0xe064289a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="the image suffix error, please check! @js_fwk_common.cpp(1305),ERROR" ID="0xe06428ca" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="Failed to parse image src cause by empty source. @js_fwk_common.cpp(1319),ERROR" ID="0xe064293a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="Failed to parse image src cause by empty source. @js_fwk_common.cpp(1323),ERROR" ID="0xe064295a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="Relative path is not allowed in image src. @js_fwk_common.cpp(1330),ERROR" ID="0xe0642992" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="the fontFamily is too long @js_fwk_common.cpp(1379),ERROR" ID="0xe0642b1a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="malloc string failed @js_fwk_common.cpp(1385),ERROR" ID="0xe0642b4a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="copy fontFamily failed @js_fwk_common.cpp(1389),ERROR" ID="0xe0642b6a" />
                        </MSG_LOG>
\ No newline at end of file
index 24f7bca..241e156 100644 (file)
@@ -1,94 +1,95 @@
-<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="list node create fail! @local_device_manager.c(118),ERROR" ID="0xd80803b2" />
-                       <MSG STRUCTURE="diag_log_msg6" NAME="generate addr: ****%02x%02x%02x%02x name: %s sp-ret: %d @local_device_manager.c(242),INFO" ID="0xd8080795" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="local dev info write error! ret 0x%x @local_device_manager.c(267),ERROR" ID="0xd808085a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="deinit bt stack @local_device_manager.c(303),INFO" ID="0xd808097d" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="adv id is not active, please set param first. @local_device_manager.c(379),ERROR" ID="0xd8080bda" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] ble gap conn state change fail. @local_device_manager.c(398),ERROR" ID="0xd8080c72" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] ble gap conn addr memcpy fail. @local_device_manager.c(407),ERROR" ID="0xd8080cba" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="ble smp can not find connect node by handle @local_device_manager.c(437),ERROR" ID="0xd8080daa" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] ble gap conn addr memcpy fail. @local_device_manager.c(446),ERROR" ID="0xd8080df2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="adv id is not active, please set param first. @local_device_manager.c(467),ERROR" ID="0xd8080e9a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="ble enable err,B core may be not calibration end and not notify A Core  @local_device_manager.c(491),ERROR" ID="0xd8080f5a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt init err ret = %08x @local_device_manager.c(523),ERROR" ID="0xd808105a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="unhandled msg id %x @local_device_manager.c(621),WARNING" ID="0xd808136b" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="inquiry complete @local_device_manager.c(629),INFO" ID="0xd80813ad" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="dev_hdl:0x%08x @local_device_manager.c(636),INFO" ID="0xd80813e5" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="dev_hdl:0x%08x @local_device_manager.c(650),INFO" ID="0xd8081455" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="btsrv_connection_request_ind_callback: memecpy error @local_device_manager.c(664),ERROR" ID="0xd80814c2" />
-                       <MSG STRUCTURE="diag_log_msg4" NAME="addr:****%02x%02x%02x%02x @local_device_manager.c(669),INFO" ID="0xd80814ed" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="dev_hdl:0x%08x @local_device_manager.c(679),INFO" ID="0xd808153d" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s errr @local_device_manager.c(694),ERROR" ID="0xd80815b2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="malloc errr @local_device_manager.c(708),ERROR" ID="0xd8081622" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s errr @local_device_manager.c(714),ERROR" ID="0xd8081652" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="malloc errr @local_device_manager.c(743),ERROR" ID="0xd808173a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s errr @local_device_manager.c(749),ERROR" ID="0xd808176a" />
-                       <MSG STRUCTURE="diag_log_msg8" NAME="conn_hdl: %08x event: %04x role: %x result: %x dev_hdl: %x svc_hdl: %x svc_class: %x duration: %d @local_device_manager.c(763),INFO" ID="0xd80817dd" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="received_bytes: %d sent_bytes: %d @local_device_manager.c(766),INFO" ID="0xd80817f5" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="unhandled service class 0x%x @local_device_manager.c(792),WARNING" ID="0xd80818c3" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="dev_hdl: %08x num_value: %06d @local_device_manager.c(815),INFO" ID="0xd808197d" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="dev_hdl: 0x%08x @local_device_manager.c(822),INFO" ID="0xd80819b5" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="dev_hdl: 0x%08x @local_device_manager.c(829),INFO" ID="0xd80819ed" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="dev_hdl: %08x num_value: %06d @local_device_manager.c(835),INFO" ID="0xd8081a1d" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="dev_hdl: %08x reason: %x @local_device_manager.c(849),INFO" ID="0xd8081a8d" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="white_list_size:%d  @local_device_manager.c(855),INFO" ID="0xd8081abd" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="transmit_power_level:%d  @local_device_manager.c(860),INFO" ID="0xd8081ae5" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="register err id: %x ret: %x @local_device_manager.c(891),ERROR" ID="0xd8081bda" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="bt enable err,B core may be not calibration end and not notify A Core  @local_device_manager.c(926),ERROR" ID="0xd8081cf2" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt_init err ret = %08x @local_device_manager.c(956),ERROR" ID="0xd8081de2" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="buff is't long enough, need length:%d. @local_device_manager.c(1064),ERROR" ID="0xd8082142" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="get local name memcpy fail. @local_device_manager.c(1068),ERROR" ID="0xd8082162" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="name: %s, length: %d @local_device_manager.c(1077),INFO" ID="0xd80821ad" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="failed: bt not enabled @local_device_manager.c(1092),INFO" ID="0xd8082225" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="local name null or length not match, len: %d @local_device_manager.c(1096),INFO" ID="0xd8082245" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="returns error ret: %x @local_device_manager.c(1102),WARNING" ID="0xd8082273" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="set result name: &quot;%s&quot; name_len: %d get_re: %x @local_device_manager.c(1108),INFO" ID="0xd80822a5" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="gap_remove_all_pairs fail @local_device_manager.c(1168),ERROR" ID="0xd8082482" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="gap ble remove all pairs fail @local_device_manager.c(1174),ERROR" ID="0xd80824b2" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="diable_bt_ret(errcode_t): %x @local_device_manager.c(1181),INFO" ID="0xd80824ed" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="disable_ble_ret(errcode_t): %x @local_device_manager.c(1186),INFO" ID="0xd8082515" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="set discovery data pointer is null. @local_device_manager.c(1217),ERROR" ID="0xd808260a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="adv_id(%d) advertising, please stop first. @local_device_manager.c(1235),ERROR" ID="0xd808269a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="adv data alloc faild, length:%d @local_device_manager.c(1248),ERROR" ID="0xd8082702" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[Error] gap_ble_set_adv_data adv data memcpy_s fail @local_device_manager.c(1252),ERROR" ID="0xd8082722" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="scan rsp data alloc faild, length:%d @local_device_manager.c(1261),ERROR" ID="0xd808276a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[Error] gap_ble_set_adv_data scan rsp data memcpy_s fail @local_device_manager.c(1265),ERROR" ID="0xd808278a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="adv_id(%d) advertising, please stop first. @local_device_manager.c(1304),ERROR" ID="0xd80828c2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[Error] gap ble set adv param memcpy_s fail @local_device_manager.c(1316),ERROR" ID="0xd8082922" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[Error] gap ble set adv param memcpy_s fail @local_device_manager.c(1330),ERROR" ID="0xd8082992" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="ble gap set sec param error param NULL @local_device_manager.c(1352),ERROR" ID="0xd8082a42" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="ble gap set sec param error param NULL @local_device_manager.c(1357),ERROR" ID="0xd8082a6a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="bt has page scanning enabled. @local_device_manager.c(1381),ERROR" ID="0xd8082b2a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="bt has an ACL connection. @local_device_manager.c(1387),ERROR" ID="0xd8082b5a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[CTKD] please set ble secure connection enable,current_sc=%d. @local_device_manager.c(1404),ERROR" ID="0xd8082be2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[Error] gap set adv data memcpy_s fail @local_device_manager.c(1427),ERROR" ID="0xd8082c9a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[Error] gap set scan rsp data memcpy_s fail @local_device_manager.c(1434),ERROR" ID="0xd8082cd2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[Error] btsrv_gap_set_adv_param memcpy_s fail @local_device_manager.c(1453),ERROR" ID="0xd8082d6a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[Error] gap set adv param memcpy_s fail @local_device_manager.c(1458),ERROR" ID="0xd8082d92" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="ble gap ext adv rpt memcpy fail @local_device_manager.c(1478),ERROR" ID="0xd8082e32" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="ble gap ext adv rpt memcpy fail @local_device_manager.c(1493),ERROR" ID="0xd8082eaa" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="ble gap adv set terminated cbk param error @local_device_manager.c(1505),ERROR" ID="0xd8082f0a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="ble enable cbk param error @local_device_manager.c(1516),ERROR" ID="0xd8082f62" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="ble read remote rssi cbk param error @local_device_manager.c(1527),ERROR" ID="0xd8082fba" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="ble conn param update cbk param error @local_device_manager.c(1543),ERROR" ID="0xd808303a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="ble gap conn param malloc fail @local_device_manager.c(1557),ERROR" ID="0xd80830aa" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="ble conn param update cbk interval:%x, latency:%x, timeout:%x @local_device_manager.c(1564),INFO" ID="0xd80830e5" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="adv id is not active, please set param first. @local_device_manager.c(1598),ERROR" ID="0xd80831f2" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="adv id(%d) is discoverying, please stop first. @local_device_manager.c(1602),ERROR" ID="0xd8083212" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="adv param alloc fail @local_device_manager.c(1611),ERROR" ID="0xd808325a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="adv id is not active, please set param first. @local_device_manager.c(1644),ERROR" ID="0xd8083362" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="no advertising in progress or advertising for adv_id(%d). No advertising for adv_id(%d). @local_device_manager.c(1650),ERROR" ID="0xd8083392" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="mc sdk ble stop adv atb failed  @local_device_manager.c(1656),ERROR" ID="0xd80833c2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="scanning in process, please stop first. @local_device_manager.c(1690),ERROR" ID="0xd80834d2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="scanning already stopped. @local_device_manager.c(1722),ERROR" ID="0xd80835d2" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="ble stop extern scan ret: %#x @local_device_manager.c(1726),INFO" ID="0xd80835f5" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="ble set phy node == NULL @local_device_manager.c(1751),ERROR" ID="0xd80836ba" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="ble set phy memcpy fail @local_device_manager.c(1757),ERROR" ID="0xd80836ea" />
-                       <MSG STRUCTURE="diag_log_msg5" NAME="ble general set phy hdl:%x all:%x rx:%x tx:%x op:%x. @local_device_manager.c(1763),INFO" ID="0xd808371d" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="ble set phy ret: %#x @local_device_manager.c(1766),ERROR" ID="0xd8083732" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="ble set data length node == NULL @local_device_manager.c(1788),ERROR" ID="0xd80837e2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="ble set data length memcpy fail @local_device_manager.c(1794),ERROR" ID="0xd8083812" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="ble general set len hdl:%x maxoct:%x maxtime:%x @local_device_manager.c(1800),INFO" ID="0xd8083845" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="ble set len ret: %#x @local_device_manager.c(1803),ERROR" ID="0xd808385a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bts sert log type levle:%x @local_device_manager.c(1821),INFO" ID="0xd80838ed" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="g_bts_feature_bitmap bt_auto_reconnect_closed:%d. @local_device_manager.c(1842),ERROR" ID="0xd8083992" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="list node create fail! @local_device_manager.c(121),ERROR" ID="0xd80803ca" />
+                       <MSG STRUCTURE="diag_log_msg6" NAME="generate addr: ****%02x%02x%02x%02x name: %s sp-ret: %d @local_device_manager.c(245),INFO" ID="0xd80807ad" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="local dev info write error! ret 0x%x @local_device_manager.c(270),ERROR" ID="0xd8080872" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="deinit bt stack @local_device_manager.c(306),INFO" ID="0xd8080995" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="adv id is not active, please set param first. @local_device_manager.c(382),ERROR" ID="0xd8080bf2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] ble gap conn state change fail. @local_device_manager.c(401),ERROR" ID="0xd8080c8a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] ble gap conn addr memcpy fail. @local_device_manager.c(410),ERROR" ID="0xd8080cd2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="ble smp can not find connect node by handle @local_device_manager.c(440),ERROR" ID="0xd8080dc2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] ble gap conn addr memcpy fail. @local_device_manager.c(449),ERROR" ID="0xd8080e0a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="adv id is not active, please set param first. @local_device_manager.c(470),ERROR" ID="0xd8080eb2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="ble enable err,B core may be not calibration end and not notify A Core  @local_device_manager.c(494),ERROR" ID="0xd8080f72" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt init err ret = %08x @local_device_manager.c(526),ERROR" ID="0xd8081072" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="unhandled msg id %x @local_device_manager.c(624),WARNING" ID="0xd8081383" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="inquiry complete @local_device_manager.c(632),INFO" ID="0xd80813c5" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="dev_hdl:0x%08x @local_device_manager.c(639),INFO" ID="0xd80813fd" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="dev_hdl:0x%08x @local_device_manager.c(653),INFO" ID="0xd808146d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="btsrv_connection_request_ind_callback: memecpy error @local_device_manager.c(667),ERROR" ID="0xd80814da" />
+                       <MSG STRUCTURE="diag_log_msg4" NAME="addr:****%02x%02x%02x%02x @local_device_manager.c(672),INFO" ID="0xd8081505" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="dev_hdl:0x%08x @local_device_manager.c(682),INFO" ID="0xd8081555" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s errr @local_device_manager.c(697),ERROR" ID="0xd80815ca" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="malloc errr @local_device_manager.c(711),ERROR" ID="0xd808163a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s errr @local_device_manager.c(717),ERROR" ID="0xd808166a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="malloc errr @local_device_manager.c(746),ERROR" ID="0xd8081752" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s errr @local_device_manager.c(752),ERROR" ID="0xd8081782" />
+                       <MSG STRUCTURE="diag_log_msg8" NAME="conn_hdl: %08x event: %04x role: %x result: %x dev_hdl: %x svc_hdl: %x svc_class: %x duration: %d @local_device_manager.c(766),INFO" ID="0xd80817f5" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="received_bytes: %d sent_bytes: %d @local_device_manager.c(769),INFO" ID="0xd808180d" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="unhandled service class 0x%x @local_device_manager.c(795),WARNING" ID="0xd80818db" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="dev_hdl: %08x num_value: %06d @local_device_manager.c(818),INFO" ID="0xd8081995" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="dev_hdl: 0x%08x @local_device_manager.c(825),INFO" ID="0xd80819cd" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="dev_hdl: 0x%08x @local_device_manager.c(832),INFO" ID="0xd8081a05" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="dev_hdl: %08x num_value: %06d @local_device_manager.c(838),INFO" ID="0xd8081a35" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="dev_hdl: %08x reason: %x @local_device_manager.c(852),INFO" ID="0xd8081aa5" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="white_list_size:%d  @local_device_manager.c(858),INFO" ID="0xd8081ad5" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="transmit_power_level:%d  @local_device_manager.c(863),INFO" ID="0xd8081afd" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="register err id: %x ret: %x @local_device_manager.c(894),ERROR" ID="0xd8081bf2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="bt enable err,B core may be not calibration end and not notify A Core  @local_device_manager.c(929),ERROR" ID="0xd8081d0a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt_init err ret = %08x @local_device_manager.c(959),ERROR" ID="0xd8081dfa" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="buff is't long enough, need length:%d. @local_device_manager.c(1067),ERROR" ID="0xd808215a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="get local name memcpy fail. @local_device_manager.c(1071),ERROR" ID="0xd808217a" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="name: %s, length: %d @local_device_manager.c(1080),INFO" ID="0xd80821c5" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="failed: bt not enabled @local_device_manager.c(1095),INFO" ID="0xd808223d" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="local name null or length not match, len: %d @local_device_manager.c(1099),INFO" ID="0xd808225d" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="returns error ret: %x @local_device_manager.c(1105),WARNING" ID="0xd808228b" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="set result name: &quot;%s&quot; name_len: %d get_re: %x @local_device_manager.c(1111),INFO" ID="0xd80822bd" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="gap_remove_all_pairs fail @local_device_manager.c(1171),ERROR" ID="0xd808249a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="gap ble remove all pairs fail @local_device_manager.c(1177),ERROR" ID="0xd80824ca" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="diable_bt_ret(errcode_t): %x @local_device_manager.c(1184),INFO" ID="0xd8082505" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="disable_ble_ret(errcode_t): %x @local_device_manager.c(1189),INFO" ID="0xd808252d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="set discovery data pointer is null. @local_device_manager.c(1220),ERROR" ID="0xd8082622" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="adv_id(%d) advertising, please stop first. @local_device_manager.c(1238),ERROR" ID="0xd80826b2" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="adv data alloc faild, length:%d @local_device_manager.c(1251),ERROR" ID="0xd808271a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[Error] gap_ble_set_adv_data adv data memcpy_s fail @local_device_manager.c(1255),ERROR" ID="0xd808273a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="scan rsp data alloc faild, length:%d @local_device_manager.c(1264),ERROR" ID="0xd8082782" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[Error] gap_ble_set_adv_data scan rsp data memcpy_s fail @local_device_manager.c(1268),ERROR" ID="0xd80827a2" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="adv_id(%d) advertising, please stop first. @local_device_manager.c(1307),ERROR" ID="0xd80828da" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[Error] gap ble set adv param memcpy_s fail @local_device_manager.c(1319),ERROR" ID="0xd808293a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[Error] gap ble set adv param memcpy_s fail @local_device_manager.c(1333),ERROR" ID="0xd80829aa" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="ble gap set sec param error param NULL @local_device_manager.c(1355),ERROR" ID="0xd8082a5a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="ble gap set sec param error param NULL @local_device_manager.c(1360),ERROR" ID="0xd8082a82" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="bt has page scanning enabled. @local_device_manager.c(1384),ERROR" ID="0xd8082b42" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="bt has an ACL connection. @local_device_manager.c(1390),ERROR" ID="0xd8082b72" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[CTKD] please set ble secure connection enable,current_sc=%d. @local_device_manager.c(1407),ERROR" ID="0xd8082bfa" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[BT] flow limit range is [3072-10240] bytes. @local_device_manager.c(1425),ERROR" ID="0xd8082c8a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[Error] gap set adv data memcpy_s fail @local_device_manager.c(1444),ERROR" ID="0xd8082d22" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[Error] gap set scan rsp data memcpy_s fail @local_device_manager.c(1451),ERROR" ID="0xd8082d5a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[Error] btsrv_gap_set_adv_param memcpy_s fail @local_device_manager.c(1470),ERROR" ID="0xd8082df2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[Error] gap set adv param memcpy_s fail @local_device_manager.c(1475),ERROR" ID="0xd8082e1a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="ble gap ext adv rpt memcpy fail @local_device_manager.c(1495),ERROR" ID="0xd8082eba" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="ble gap ext adv rpt memcpy fail @local_device_manager.c(1510),ERROR" ID="0xd8082f32" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="ble gap adv set terminated cbk param error @local_device_manager.c(1522),ERROR" ID="0xd8082f92" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="ble enable cbk param error @local_device_manager.c(1533),ERROR" ID="0xd8082fea" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="ble read remote rssi cbk param error @local_device_manager.c(1544),ERROR" ID="0xd8083042" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="ble conn param update cbk param error @local_device_manager.c(1560),ERROR" ID="0xd80830c2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="ble gap conn param malloc fail @local_device_manager.c(1574),ERROR" ID="0xd8083132" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="ble conn param update cbk interval:%x, latency:%x, timeout:%x @local_device_manager.c(1581),INFO" ID="0xd808316d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="adv id is not active, please set param first. @local_device_manager.c(1615),ERROR" ID="0xd808327a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="adv id(%d) is discoverying, please stop first. @local_device_manager.c(1619),ERROR" ID="0xd808329a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="adv param alloc fail @local_device_manager.c(1628),ERROR" ID="0xd80832e2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="adv id is not active, please set param first. @local_device_manager.c(1661),ERROR" ID="0xd80833ea" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="no advertising in progress or advertising for adv_id(%d). No advertising for adv_id(%d). @local_device_manager.c(1667),ERROR" ID="0xd808341a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="mc sdk ble stop adv atb failed  @local_device_manager.c(1673),ERROR" ID="0xd808344a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="scanning in process, please stop first. @local_device_manager.c(1707),ERROR" ID="0xd808355a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="scanning already stopped. @local_device_manager.c(1739),ERROR" ID="0xd808365a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="ble stop extern scan ret: %#x @local_device_manager.c(1743),INFO" ID="0xd808367d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="ble set phy node == NULL @local_device_manager.c(1768),ERROR" ID="0xd8083742" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="ble set phy memcpy fail @local_device_manager.c(1774),ERROR" ID="0xd8083772" />
+                       <MSG STRUCTURE="diag_log_msg5" NAME="ble general set phy hdl:%x all:%x rx:%x tx:%x op:%x. @local_device_manager.c(1780),INFO" ID="0xd80837a5" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="ble set phy ret: %#x @local_device_manager.c(1783),ERROR" ID="0xd80837ba" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="ble set data length node == NULL @local_device_manager.c(1805),ERROR" ID="0xd808386a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="ble set data length memcpy fail @local_device_manager.c(1811),ERROR" ID="0xd808389a" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="ble general set len hdl:%x maxoct:%x maxtime:%x @local_device_manager.c(1817),INFO" ID="0xd80838cd" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="ble set len ret: %#x @local_device_manager.c(1820),ERROR" ID="0xd80838e2" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bts sert log type levle:%x @local_device_manager.c(1838),INFO" ID="0xd8083975" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="g_bts_feature_bitmap bt_auto_reconnect_closed:%d. @local_device_manager.c(1859),ERROR" ID="0xd8083a1a" />
                        </MSG_LOG>
\ No newline at end of file
index 08d3265..ece4eb0 100644 (file)
@@ -1,2 +1,2 @@
-<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="MemUtils::InitPSRam g_psramMemory = %x @mem_util.cpp(27),DBG" ID="0xe07000de" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="MemUtils::InitPSRam g_psramMemory = %x @mem_util.cpp(28),DBG" ID="0xe07000e6" />
                        </MSG_LOG>
\ No newline at end of file
index 189bb53..fd6d721 100755 (executable)
                        <MSG STRUCTURE="diag_log_msg1" NAME="[WARNING][LD]ld_acl_sniff_trans:acl end for already set end:%d @ld_acl_sniff.c(1298),WARNING" ID="0x89fe2893" />
                        <MSG STRUCTURE="diag_log_msg4" NAME="[WARNING][LD]ld_acl_sniff_trans:acl sched fail extab_prio=%d, acl_ts=0x%x, last_sync=0x%x, lsto=%d @ld_acl_sniff.c(1330),WARNING" ID="0x89fe2993" />
                        <MSG STRUCTURE="diag_log_msg2" NAME="[WARNING][LD]ld_sniff_anchor_point_check:clock 0x%x, sniff_ts:0x%x @ld_acl_sniff.c(1570),WARNING" ID="0x89fe3113" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="a2dp_audio: rpt stream state stream_hdl %p state %d src %d @sdk_av.c(813),ERROR" ID="0x8b86196a" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="a2dp_audio: rpt stream state stream_hdl %p state %d src %d @sdk_av.c(817),ERROR" ID="0x8b86198a" />
                        <MSG STRUCTURE="diag_log_msg4" NAME="[INFO][LLC]llc_le_set_adv_rand_add:conhdl=0x%x, rand_addr=0x%x:0x%x:*:*:*0x%x @llc.c(219),INFO" ID="0x883006dd" />
                        <MSG STRUCTURE="diag_log_msg4" NAME="[INFO][LLC]llc_set_adv_param:interval min=0x%x, max=0x%x, channel map=%d, filter policy=%d @llc.c(285),INFO" ID="0x883008ed" />
                        <MSG STRUCTURE="diag_log_msg2" NAME="[INFO][LLM]llc_set_adv_en:conhd=0x%x, adv_en=%d @llc.c(456),INFO" ID="0x88300e45" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="smp_pair_new_patch @patch_bth.c(52),INFO" ID="0x8d5401a5" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="[AVDTP][GET_SEP_FAIL] Can not get sep info @patch_bth.c(156),WARNING" ID="0x8d5404e3" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="[STACK][RECV_RING_STOP] @patch_bth.c(244),INFO" ID="0x8d5407a5" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="[ATT_GATT] att error rsp opcode:0x%x handle:%d error:0x%x @patch_bth.c(324),ERROR" ID="0x8d540a22" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[SMP]PAIRING_REQ_RECV @patch_bth.c(503),ERROR" ID="0x8d540fba" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="ble add ble white list fail: %d @bt_mpc_adpt_gap.c(52),ERROR" ID="0x8dd401a2" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="ble add ble white list params err! len = %d @bt_mpc_adpt_gap.c(56),ERROR" ID="0x8dd401c2" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="ble remove all ble white list fail: %d @bt_mpc_adpt_gap.c(71),ERROR" ID="0x8dd4023a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="ble remove ble white list fail: %d @bt_mpc_adpt_gap.c(78),ERROR" ID="0x8dd40272" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="ble remove ble white list params err! len = %d @bt_mpc_adpt_gap.c(82),ERROR" ID="0x8dd40292" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set global value: %d @bt_mpc_adpt_gap.c(96),ERROR" ID="0x8dd40302" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set global value err! len = %d @bt_mpc_adpt_gap.c(99),ERROR" ID="0x8dd4031a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc connection params update: %d @bt_mpc_adpt_gap.c(115),ERROR" ID="0x8dd4039a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc connection params update err! len = %d @bt_mpc_adpt_gap.c(119),ERROR" ID="0x8dd403ba" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc get local appearance: ret = %d @bt_mpc_adpt_gap.c(131),ERROR" ID="0x8dd4041a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set local appearance: %d @bt_mpc_adpt_gap.c(146),ERROR" ID="0x8dd40492" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set local appearance err! len = %d @bt_mpc_adpt_gap.c(150),ERROR" ID="0x8dd404b2" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set period advertising: %d @bt_mpc_adpt_gap.c(166),ERROR" ID="0x8dd40532" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set period advertising err! len = %d @bt_mpc_adpt_gap.c(170),ERROR" ID="0x8dd40552" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc dis period advertising: %d @bt_mpc_adpt_gap.c(187),ERROR" ID="0x8dd405da" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc dis period advertising err! len = %d @bt_mpc_adpt_gap.c(191),ERROR" ID="0x8dd405fa" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set period adv list: %d @bt_mpc_adpt_gap.c(209),ERROR" ID="0x8dd4068a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set period adv list err! len = %d @bt_mpc_adpt_gap.c(213),ERROR" ID="0x8dd406aa" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc period adv create sync: %d @bt_mpc_adpt_gap.c(230),ERROR" ID="0x8dd40732" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc period adv create sync err! len = %d @bt_mpc_adpt_gap.c(234),ERROR" ID="0x8dd40752" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc period adv terminate sync: %d @bt_mpc_adpt_gap.c(251),ERROR" ID="0x8dd407da" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc period adv terminate sync err! len = %d @bt_mpc_adpt_gap.c(255),ERROR" ID="0x8dd407fa" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc dis extern adv: %d @bt_mpc_adpt_gap.c(273),ERROR" ID="0x8dd4088a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc dis extern adv err! len = %d @bt_mpc_adpt_gap.c(277),ERROR" ID="0x8dd408aa" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set extern adv: %d @bt_mpc_adpt_gap.c(300),ERROR" ID="0x8dd40962" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set extern adv err! len = %d @bt_mpc_adpt_gap.c(304),ERROR" ID="0x8dd40982" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc remove extern adv: %d @bt_mpc_adpt_gap.c(323),ERROR" ID="0x8dd40a1a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc remove extern adv err! len = %d @bt_mpc_adpt_gap.c(327),ERROR" ID="0x8dd40a3a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc dis extern scan: %d @bt_mpc_adpt_gap.c(342),ERROR" ID="0x8dd40ab2" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set len: %d @bt_mpc_adpt_gap.c(356),ERROR" ID="0x8dd40b22" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set len len err! len = %d @bt_mpc_adpt_gap.c(359),ERROR" ID="0x8dd40b3a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set phy: %d @bt_mpc_adpt_gap.c(372),ERROR" ID="0x8dd40ba2" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set phy len err! len = %d @bt_mpc_adpt_gap.c(375),ERROR" ID="0x8dd40bba" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set extern scan: %d @bt_mpc_adpt_gap.c(390),ERROR" ID="0x8dd40c32" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc remove extern adv err! len = %d @bt_mpc_adpt_gap.c(394),ERROR" ID="0x8dd40c52" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set resolve addr: %d @bt_mpc_adpt_gap.c(410),ERROR" ID="0x8dd40cd2" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set resolve addr err! len = %d @bt_mpc_adpt_gap.c(414),ERROR" ID="0x8dd40cf2" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc get white list: %d @bt_mpc_adpt_gap.c(432),ERROR" ID="0x8dd40d82" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[CONN]ble core:AppConnectBleWhiteList @bt_mpc_adpt_gap.c(443),INFO" ID="0x8dd40ddd" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc connect white list fail ret=%d @bt_mpc_adpt_gap.c(447),ERROR" ID="0x8dd40dfa" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc passkey response: %d @bt_mpc_adpt_gap.c(460),ERROR" ID="0x8dd40e62" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc passkey response err! len = %d @bt_mpc_adpt_gap.c(463),ERROR" ID="0x8dd40e7a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set connect param: %d @bt_mpc_adpt_gap.c(491),ERROR" ID="0x8dd40f5a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set connect param err! len = %d @bt_mpc_adpt_gap.c(494),ERROR" ID="0x8dd40f72" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set hci le event mask: %d @bt_mpc_adpt_gap.c(505),ERROR" ID="0x8dd40fca" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="bt mpc set hci le event mask error! len = %d, stru_len: %d @bt_mpc_adpt_gap.c(509),ERROR" ID="0x8dd40fea" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc read remote rssi: %d @bt_mpc_adpt_gap.c(522),ERROR" ID="0x8dd41052" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc read remote rssi err! len = %d @bt_mpc_adpt_gap.c(525),ERROR" ID="0x8dd4106a" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="[ATT_GATT] att error rsp opcode:0x%x handle:%d error:0x%x @patch_bth.c(327),ERROR" ID="0x8d540a3a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[SMP]PAIRING_REQ_RECV @patch_bth.c(506),ERROR" ID="0x8d540fd2" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="ble add ble white list fail: %d @bt_mpc_adpt_gap.c(53),ERROR" ID="0x8dd401aa" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="ble add ble white list params err! len = %d @bt_mpc_adpt_gap.c(57),ERROR" ID="0x8dd401ca" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="ble remove all ble white list fail: %d @bt_mpc_adpt_gap.c(72),ERROR" ID="0x8dd40242" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="ble remove ble white list fail: %d @bt_mpc_adpt_gap.c(79),ERROR" ID="0x8dd4027a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="ble remove ble white list params err! len = %d @bt_mpc_adpt_gap.c(83),ERROR" ID="0x8dd4029a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set global value: %d @bt_mpc_adpt_gap.c(98),ERROR" ID="0x8dd40312" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set global value err! len = %d @bt_mpc_adpt_gap.c(101),ERROR" ID="0x8dd4032a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc connection params update: %d @bt_mpc_adpt_gap.c(117),ERROR" ID="0x8dd403aa" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc connection params update err! len = %d @bt_mpc_adpt_gap.c(121),ERROR" ID="0x8dd403ca" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc get local appearance: ret = %d @bt_mpc_adpt_gap.c(133),ERROR" ID="0x8dd4042a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set local appearance: %d @bt_mpc_adpt_gap.c(148),ERROR" ID="0x8dd404a2" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set local appearance err! len = %d @bt_mpc_adpt_gap.c(152),ERROR" ID="0x8dd404c2" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set period advertising: %d @bt_mpc_adpt_gap.c(168),ERROR" ID="0x8dd40542" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set period advertising err! len = %d @bt_mpc_adpt_gap.c(172),ERROR" ID="0x8dd40562" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc dis period advertising: %d @bt_mpc_adpt_gap.c(189),ERROR" ID="0x8dd405ea" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc dis period advertising err! len = %d @bt_mpc_adpt_gap.c(193),ERROR" ID="0x8dd4060a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set period adv list: %d @bt_mpc_adpt_gap.c(211),ERROR" ID="0x8dd4069a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set period adv list err! len = %d @bt_mpc_adpt_gap.c(215),ERROR" ID="0x8dd406ba" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc period adv create sync: %d @bt_mpc_adpt_gap.c(232),ERROR" ID="0x8dd40742" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc period adv create sync err! len = %d @bt_mpc_adpt_gap.c(236),ERROR" ID="0x8dd40762" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc period adv terminate sync: %d @bt_mpc_adpt_gap.c(253),ERROR" ID="0x8dd407ea" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc period adv terminate sync err! len = %d @bt_mpc_adpt_gap.c(257),ERROR" ID="0x8dd4080a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc dis extern adv: %d @bt_mpc_adpt_gap.c(275),ERROR" ID="0x8dd4089a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc dis extern adv err! len = %d @bt_mpc_adpt_gap.c(279),ERROR" ID="0x8dd408ba" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set extern adv: %d @bt_mpc_adpt_gap.c(302),ERROR" ID="0x8dd40972" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set extern adv err! len = %d @bt_mpc_adpt_gap.c(306),ERROR" ID="0x8dd40992" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc remove extern adv: %d @bt_mpc_adpt_gap.c(325),ERROR" ID="0x8dd40a2a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc remove extern adv err! len = %d @bt_mpc_adpt_gap.c(329),ERROR" ID="0x8dd40a4a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc dis extern scan: %d @bt_mpc_adpt_gap.c(344),ERROR" ID="0x8dd40ac2" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set len: %d @bt_mpc_adpt_gap.c(358),ERROR" ID="0x8dd40b32" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set len len err! len = %d @bt_mpc_adpt_gap.c(361),ERROR" ID="0x8dd40b4a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set phy: %d @bt_mpc_adpt_gap.c(374),ERROR" ID="0x8dd40bb2" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set phy len err! len = %d @bt_mpc_adpt_gap.c(377),ERROR" ID="0x8dd40bca" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set extern scan: %d @bt_mpc_adpt_gap.c(392),ERROR" ID="0x8dd40c42" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc remove extern adv err! len = %d @bt_mpc_adpt_gap.c(396),ERROR" ID="0x8dd40c62" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set resolve addr: %d @bt_mpc_adpt_gap.c(412),ERROR" ID="0x8dd40ce2" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set resolve addr err! len = %d @bt_mpc_adpt_gap.c(416),ERROR" ID="0x8dd40d02" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc get white list: %d @bt_mpc_adpt_gap.c(434),ERROR" ID="0x8dd40d92" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[CONN]ble core:AppConnectBleWhiteList @bt_mpc_adpt_gap.c(445),INFO" ID="0x8dd40ded" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc connect white list fail ret=%d @bt_mpc_adpt_gap.c(449),ERROR" ID="0x8dd40e0a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc passkey response: %d @bt_mpc_adpt_gap.c(462),ERROR" ID="0x8dd40e72" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc passkey response err! len = %d @bt_mpc_adpt_gap.c(465),ERROR" ID="0x8dd40e8a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set connect param: %d @bt_mpc_adpt_gap.c(493),ERROR" ID="0x8dd40f6a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set connect param err! len = %d @bt_mpc_adpt_gap.c(496),ERROR" ID="0x8dd40f82" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set hci le event mask: %d @bt_mpc_adpt_gap.c(507),ERROR" ID="0x8dd40fda" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="bt mpc set hci le event mask error! len = %d, stru_len: %d @bt_mpc_adpt_gap.c(511),ERROR" ID="0x8dd40ffa" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc read remote rssi: %d @bt_mpc_adpt_gap.c(524),ERROR" ID="0x8dd41062" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc read remote rssi err! len = %d @bt_mpc_adpt_gap.c(527),ERROR" ID="0x8dd4107a" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="[ECC]release semaphore fail @ecc_p256.c(1857),INFO" ID="0x89463a0d" />
                        <MSG STRUCTURE="diag_log_msg4" NAME="[HCI] remove remote exceed upper limit %d addr:%02x:%02x:xx:xx:xx:%02x! @hci_hlp_ram.c(524),ERROR" ID="0x8ba81062" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="[HCI]memcpy_s&#160;error @hci_hlp_ram.c(544),ERROR" ID="0x8ba81102" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="[WARNING][LLC][PHY]hci_le_set_phy_cmd_handler:llc is in disconnected state @llc_hci.c(1500),WARNING" ID="0x88322ee3" />
                        <MSG STRUCTURE="diag_log_msg4" NAME="[INFO][LLC][PHY]hci_le_set_phy_cmd_handler:current_txphy=%d, current_rxphy=%d, txphyoption=%d, rxphyoption=%d @llc_hci.c(1545),INFO" ID="0x8832304d" />
                        <MSG STRUCTURE="diag_log_msg2" NAME="[CHR]handle %d action %d  @llc_hci.c(2463),INFO" ID="0x88324cfd" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="stack gap set discovery mode result = 0x%x, mode = 0x%x  @bt_ahi_gap.c(84),INFO" ID="0x8c9e02a5" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="stack gap get discovery mode result = 0x%x, mode = 0x%x  @bt_ahi_gap.c(98),INFO" ID="0x8c9e0315" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="stack gap stop discovery result = 0x%x, mode = 0x%x  @bt_ahi_gap.c(108),INFO" ID="0x8c9e0365" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="stack gap create acl result = 0x%x, dev_hdl = 0x%x, link type = %d  @bt_ahi_gap.c(122),INFO" ID="0x8c9e03d5" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="memory copy failed @bt_ahi_gap.c(135),ERROR" ID="0x8c9e043a" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="stack gap create acl cfm cbk result = 0x%x, acl_hdl = 0x%x, link type = %d  @bt_ahi_gap.c(140),INFO" ID="0x8c9e0465" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="stack gap create acla result = 0x%x @bt_ahi_gap.c(149),INFO" ID="0x8c9e04ad" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="stack gap reconnect phone result = 0x%x, dev_hdl = 0x%x  @bt_ahi_gap.c(160),INFO" ID="0x8c9e0505" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="stack gap get rmt dev handle result = 0x%x @bt_ahi_gap.c(172),INFO" ID="0x8c9e0565" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="stack gap device is connected result = 0x%x, dev_hdl = 0x%x  @bt_ahi_gap.c(184),INFO" ID="0x8c9e05c5" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="btsdk disconnect acl by handle result = 0x%x @bt_ahi_gap.c(195),INFO" ID="0x8c9e061d" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="stack gap pair device result = 0x%x, dev_hdl = 0x%x  @bt_ahi_gap.c(207),INFO" ID="0x8c9e067d" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="stack gap add rmt device rsp.result = %x @bt_ahi_gap.c(224),INFO" ID="0x8c9e0705" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="stack gap update rmt device name result = 0x%x, name = %s  @bt_ahi_gap.c(244),INFO" ID="0x8c9e07a5" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="memory copy failed @bt_ahi_gap.c(258),ERROR" ID="0x8c9e0812" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="stack gap update rmt device name cfm cbk result = 0x%x, opindex = 0x%x, size = %d  @bt_ahi_gap.c(266),INFO" ID="0x8c9e0855" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="stack gap update rmt device name async result = 0x%x @bt_ahi_gap.c(276),INFO" ID="0x8c9e08a5" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="stack gap get local name result = 0x%x, length = %d, name = %s  @bt_ahi_gap.c(312),INFO" ID="0x8c9e09c5" />
-                       <MSG STRUCTURE="diag_log_msg4" NAME="stack gap get rmt dev addr result = 0x%x, addr[%02x:**:**:**:%02x:%02x] @bt_ahi_gap.c(337),INFO" ID="0x8c9e0a8d" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="stack gap browse rmt service overflow, max_count = %d, svc_count = %d @bt_ahi_gap.c(359),ERROR" ID="0x8c9e0b3a" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="stack gap browse rmt service result = 0x%x, svc_count = %d, svc_hdl[0] = 0x%x @bt_ahi_gap.c(365),INFO" ID="0x8c9e0b6d" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="hfp enable sco:scohdl=0x%x inid=0x%x outid=0x%x @bt_ahi_gap.c(386),INFO" ID="0x8c9e0c15" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="hfp disable sco:scohdl=0x%x @bt_ahi_gap.c(390),INFO" ID="0x8c9e0c35" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="result = 0x%x, handle = 0x%x, service_class = %02x  @bt_ahi_gap.c(423),ERROR" ID="0x8c9e0d3a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="stack gap init, res = 0x%x  @bt_ahi_gap.c(435),INFO" ID="0x8c9e0d9d" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="set bt tx power, hdl=0x%x, power=%d, ret=0x%x @bt_ahi_gap.c(448),INFO" ID="0x8c9e0e05" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="br gap read rssi, hdl=0x%x, rssi=%d, ret=0x%x @bt_ahi_gap.c(456),INFO" ID="0x8c9e0e45" />
-                       <MSG STRUCTURE="diag_log_msg4" NAME="set active scene scene = %d, bitrate = %d, delay = %d, ret=0x%x @bt_ahi_gap.c(472),INFO" ID="0x8c9e0ec5" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="set inquiry scan param interval = %d, window = %d @bt_ahi_gap.c(480),INFO" ID="0x8c9e0f05" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="memory copy failed @bt_ahi_gap.c(491),ERROR" ID="0x8c9e0f5a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="stack gap restore rmt device rsp.result = %x @bt_ahi_gap.c(495),INFO" ID="0x8c9e0f7d" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="br gap get link mode, hdl=0x%x, mode=%d, ret=0x%x @bt_ahi_gap.c(504),INFO" ID="0x8c9e0fc5" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="mpc param null! @bt_ahi_gap.c(520),ERROR" ID="0x8c9e1042" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="mpc pkt_ptr is null! @bt_ahi_gap.c(525),ERROR" ID="0x8c9e106a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[AHI]set br secure param secure=%d. @bt_ahi_gap.c(529),ERROR" ID="0x8c9e108a" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="stack gap set discovery mode result = 0x%x, mode = 0x%x  @bt_ahi_gap.c(87),INFO" ID="0x8c9e02bd" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="stack gap get discovery mode result = 0x%x, mode = 0x%x  @bt_ahi_gap.c(101),INFO" ID="0x8c9e032d" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="stack gap stop discovery result = 0x%x, mode = 0x%x  @bt_ahi_gap.c(111),INFO" ID="0x8c9e037d" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="stack gap create acl result = 0x%x, dev_hdl = 0x%x, link type = %d  @bt_ahi_gap.c(125),INFO" ID="0x8c9e03ed" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="memory copy failed @bt_ahi_gap.c(138),ERROR" ID="0x8c9e0452" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="stack gap create acl cfm cbk result = 0x%x, acl_hdl = 0x%x, link type = %d  @bt_ahi_gap.c(143),INFO" ID="0x8c9e047d" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="stack gap create acla result = 0x%x @bt_ahi_gap.c(152),INFO" ID="0x8c9e04c5" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="stack gap reconnect phone result = 0x%x, dev_hdl = 0x%x  @bt_ahi_gap.c(163),INFO" ID="0x8c9e051d" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="stack gap get rmt dev handle result = 0x%x @bt_ahi_gap.c(175),INFO" ID="0x8c9e057d" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="stack gap device is connected result = 0x%x, dev_hdl = 0x%x  @bt_ahi_gap.c(187),INFO" ID="0x8c9e05dd" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="btsdk disconnect acl by handle result = 0x%x @bt_ahi_gap.c(198),INFO" ID="0x8c9e0635" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="stack gap pair device result = 0x%x, dev_hdl = 0x%x  @bt_ahi_gap.c(210),INFO" ID="0x8c9e0695" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="stack gap add rmt device rsp.result = %x @bt_ahi_gap.c(227),INFO" ID="0x8c9e071d" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="stack gap update rmt device name result = 0x%x, name = %s  @bt_ahi_gap.c(247),INFO" ID="0x8c9e07bd" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="memory copy failed @bt_ahi_gap.c(261),ERROR" ID="0x8c9e082a" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="stack gap update rmt device name cfm cbk result = 0x%x, opindex = 0x%x, size = %d  @bt_ahi_gap.c(269),INFO" ID="0x8c9e086d" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="stack gap update rmt device name async result = 0x%x @bt_ahi_gap.c(279),INFO" ID="0x8c9e08bd" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="stack gap get local name result = 0x%x, length = %d, name = %s  @bt_ahi_gap.c(315),INFO" ID="0x8c9e09dd" />
+                       <MSG STRUCTURE="diag_log_msg4" NAME="stack gap get rmt dev addr result = 0x%x, addr[%02x:**:**:**:%02x:%02x] @bt_ahi_gap.c(340),INFO" ID="0x8c9e0aa5" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="stack gap browse rmt service overflow, max_count = %d, svc_count = %d @bt_ahi_gap.c(362),ERROR" ID="0x8c9e0b52" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="stack gap browse rmt service result = 0x%x, svc_count = %d, svc_hdl[0] = 0x%x @bt_ahi_gap.c(368),INFO" ID="0x8c9e0b85" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="hfp enable sco:scohdl=0x%x inid=0x%x outid=0x%x @bt_ahi_gap.c(389),INFO" ID="0x8c9e0c2d" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="hfp disable sco:scohdl=0x%x @bt_ahi_gap.c(393),INFO" ID="0x8c9e0c4d" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="result = 0x%x, handle = 0x%x, service_class = %02x  @bt_ahi_gap.c(426),ERROR" ID="0x8c9e0d52" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="stack gap init, res = 0x%x  @bt_ahi_gap.c(438),INFO" ID="0x8c9e0db5" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="set bt tx power, hdl=0x%x, power=%d, ret=0x%x @bt_ahi_gap.c(451),INFO" ID="0x8c9e0e1d" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="br gap read rssi, hdl=0x%x, rssi=%d, ret=0x%x @bt_ahi_gap.c(459),INFO" ID="0x8c9e0e5d" />
+                       <MSG STRUCTURE="diag_log_msg4" NAME="set active scene scene = %d, bitrate = %d, delay = %d, ret=0x%x @bt_ahi_gap.c(475),INFO" ID="0x8c9e0edd" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="set inquiry scan param interval = %d, window = %d @bt_ahi_gap.c(483),INFO" ID="0x8c9e0f1d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="memory copy failed @bt_ahi_gap.c(494),ERROR" ID="0x8c9e0f72" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="stack gap restore rmt device rsp.result = %x @bt_ahi_gap.c(498),INFO" ID="0x8c9e0f95" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="br gap get link mode, hdl=0x%x, mode=%d, ret=0x%x @bt_ahi_gap.c(507),INFO" ID="0x8c9e0fdd" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="mpc param null! @bt_ahi_gap.c(523),ERROR" ID="0x8c9e105a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="mpc pkt_ptr is null! @bt_ahi_gap.c(528),ERROR" ID="0x8c9e1082" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[AHI]set br secure param secure=%d. @bt_ahi_gap.c(532),ERROR" ID="0x8c9e10a2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="mpc param null! @bt_ahi_gap.c(539),ERROR" ID="0x8c9e10da" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="mpc pkt_ptr is null! @bt_ahi_gap.c(544),ERROR" ID="0x8c9e1102" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="[BTH][QOS]set bth flow limit max=%d high=%d low=%d. @bt_ahi_gap.c(552),ERROR" ID="0x8c9e1142" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="[GAP]memset failed @gap_ui.c(1251),ERROR" ID="0x8b5c271a" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="[GAP]memcpy failed @gap_ui.c(1255),ERROR" ID="0x8b5c273a" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="[GAP]memcpy failed @gap_ui.c(1259),ERROR" ID="0x8b5c275a" />
                        <MSG STRUCTURE="diag_log_msg1" NAME="%02x @bt_dft_bdi.c(957),WARNING" ID="0x8d0c1deb" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="bt dft get bdi @bt_dft_bdi.c(964),INFO" ID="0x8d0c1e25" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="bt dft get bdi err @bt_dft_bdi.c(966),INFO" ID="0x8d0c1e35" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="[BTH][QOS]default flow limit max=%u line_high=%u line_low=%u @sdk_hlp.c(71),ERROR" ID="0x8b7a023a" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="[BTH][QOS]overflow ipc:%u fsm_tx:%u. @sdk_hlp.c(93),ERROR" ID="0x8b7a02ea" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="[BTH][QOS]overflow hci_rx:%u hci_qos:%u. @sdk_hlp.c(94),ERROR" ID="0x8b7a02f2" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="[BTH][QOS]warning ipc:%u fsm_tx:%u. @sdk_hlp.c(106),ERROR" ID="0x8b7a0352" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="[BTH][QOS]warning hci_rx:%u hci_qos:%u. @sdk_hlp.c(107),ERROR" ID="0x8b7a035a" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="[BTH][QOS]release ipc:%u fsm_tx:%u. @sdk_hlp.c(118),ERROR" ID="0x8b7a03b2" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="[BTH][QOS]release hci_rx:%u hci_qos:%u. @sdk_hlp.c(119),ERROR" ID="0x8b7a03ba" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="[SDK][GAP] CTKD BR link key report, addr=0x%02x:**:**:**:0x%02x:0x%02x @sdk_hlp.c(895),WARNING" ID="0x8b7a1bfb" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[SDK][GAP] paired phone exist, dev_handle=0x%x @sdk_hlp.c(901),WARNING" ID="0x8b7a1c2b" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="hlp_link_key_req_cbk no source addr:0x%x @sdk_hlp.c(996),INFO" ID="0x8b7a1f25" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="hlp_connection_ev_cbk_dis_conn hdl:0x%x status:%d @sdk_hlp.c(2151),INFO" ID="0x8b7a433d" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="[SDK] connect event cbk connected: %d, reason: %d link_type:%d! @sdk_hlp.c(2173),ERROR" ID="0x8b7a43ea" />
-                       <MSG STRUCTURE="diag_log_msg4" NAME="[SDK] connect event cbk cap:%d addr:%02x******%02x%02x @sdk_hlp.c(2188),ERROR" ID="0x8b7a4462" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="[SDK] connect event cbk status:%d dev_hdl:0x%x @sdk_hlp.c(2191),ERROR" ID="0x8b7a447a" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="[BTH][QOS]default flow limit max=%u line_high=%u line_low=%u @sdk_hlp.c(75),ERROR" ID="0x8b7a025a" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="[BTH][QOS]overflow ipc:%u fsm_tx:%u. @sdk_hlp.c(104),ERROR" ID="0x8b7a0342" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="[BTH][QOS]overflow hci_rx:%u hci_qos:%u. @sdk_hlp.c(105),ERROR" ID="0x8b7a034a" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="[BTH][QOS]warning ipc:%u fsm_tx:%u. @sdk_hlp.c(117),ERROR" ID="0x8b7a03aa" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="[BTH][QOS]warning hci_rx:%u hci_qos:%u. @sdk_hlp.c(118),ERROR" ID="0x8b7a03b2" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="[BTH][QOS]release ipc:%u fsm_tx:%u. @sdk_hlp.c(129),ERROR" ID="0x8b7a040a" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="[BTH][QOS]release hci_rx:%u hci_qos:%u. @sdk_hlp.c(130),ERROR" ID="0x8b7a0412" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="[SDK][GAP] CTKD BR link key report, addr=0x%02x:**:**:**:0x%02x:0x%02x @sdk_hlp.c(906),WARNING" ID="0x8b7a1c53" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[SDK][GAP] paired phone exist, dev_handle=0x%x @sdk_hlp.c(912),WARNING" ID="0x8b7a1c83" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="hlp_link_key_req_cbk no source addr:0x%x @sdk_hlp.c(1007),INFO" ID="0x8b7a1f7d" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="hlp_connection_ev_cbk_dis_conn hdl:0x%x status:%d @sdk_hlp.c(2162),INFO" ID="0x8b7a4395" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="[SDK] connect event cbk connected: %d, reason: %d link_type:%d! @sdk_hlp.c(2184),ERROR" ID="0x8b7a4442" />
+                       <MSG STRUCTURE="diag_log_msg4" NAME="[SDK] connect event cbk cap:%d addr:%02x******%02x%02x @sdk_hlp.c(2199),ERROR" ID="0x8b7a44ba" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="[SDK] connect event cbk status:%d dev_hdl:0x%x @sdk_hlp.c(2202),ERROR" ID="0x8b7a44d2" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="gdk message post, failed retry later. @gdk_msg.c(46),ERROR" ID="0x8cb40172" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="gdk message timer cback @gdk_msg.c(74),DBG" ID="0x8cb40256" />
                        <MSG STRUCTURE="diag_log_msg2" NAME="gdk message add itor_msgid:0x%x, itor_ts:0x%lld @gdk_msg.c(107),DBG" ID="0x8cb4035e" />
index 3aef8ab..391e552 100755 (executable)
@@ -1,36 +1,39 @@
-<MSG_LOG><MSG STRUCTURE="diag_log_msg2" NAME="stack gap set discovery mode result = 0x%x, mode = 0x%x  @bt_ahi_gap.c(84),INFO" ID="0x8c9e02a5" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="stack gap get discovery mode result = 0x%x, mode = 0x%x  @bt_ahi_gap.c(98),INFO" ID="0x8c9e0315" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="stack gap stop discovery result = 0x%x, mode = 0x%x  @bt_ahi_gap.c(108),INFO" ID="0x8c9e0365" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="stack gap create acl result = 0x%x, dev_hdl = 0x%x, link type = %d  @bt_ahi_gap.c(122),INFO" ID="0x8c9e03d5" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="memory copy failed @bt_ahi_gap.c(135),ERROR" ID="0x8c9e043a" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="stack gap create acl cfm cbk result = 0x%x, acl_hdl = 0x%x, link type = %d  @bt_ahi_gap.c(140),INFO" ID="0x8c9e0465" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="stack gap create acla result = 0x%x @bt_ahi_gap.c(149),INFO" ID="0x8c9e04ad" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="stack gap reconnect phone result = 0x%x, dev_hdl = 0x%x  @bt_ahi_gap.c(160),INFO" ID="0x8c9e0505" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="stack gap get rmt dev handle result = 0x%x @bt_ahi_gap.c(172),INFO" ID="0x8c9e0565" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="stack gap device is connected result = 0x%x, dev_hdl = 0x%x  @bt_ahi_gap.c(184),INFO" ID="0x8c9e05c5" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="btsdk disconnect acl by handle result = 0x%x @bt_ahi_gap.c(195),INFO" ID="0x8c9e061d" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="stack gap pair device result = 0x%x, dev_hdl = 0x%x  @bt_ahi_gap.c(207),INFO" ID="0x8c9e067d" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="stack gap add rmt device rsp.result = %x @bt_ahi_gap.c(224),INFO" ID="0x8c9e0705" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="stack gap update rmt device name result = 0x%x, name = %s  @bt_ahi_gap.c(244),INFO" ID="0x8c9e07a5" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="memory copy failed @bt_ahi_gap.c(258),ERROR" ID="0x8c9e0812" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="stack gap update rmt device name cfm cbk result = 0x%x, opindex = 0x%x, size = %d  @bt_ahi_gap.c(266),INFO" ID="0x8c9e0855" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="stack gap update rmt device name async result = 0x%x @bt_ahi_gap.c(276),INFO" ID="0x8c9e08a5" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="stack gap get local name result = 0x%x, length = %d, name = %s  @bt_ahi_gap.c(312),INFO" ID="0x8c9e09c5" />
-                       <MSG STRUCTURE="diag_log_msg4" NAME="stack gap get rmt dev addr result = 0x%x, addr[%02x:**:**:**:%02x:%02x] @bt_ahi_gap.c(337),INFO" ID="0x8c9e0a8d" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="stack gap browse rmt service overflow, max_count = %d, svc_count = %d @bt_ahi_gap.c(359),ERROR" ID="0x8c9e0b3a" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="stack gap browse rmt service result = 0x%x, svc_count = %d, svc_hdl[0] = 0x%x @bt_ahi_gap.c(365),INFO" ID="0x8c9e0b6d" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="hfp enable sco:scohdl=0x%x inid=0x%x outid=0x%x @bt_ahi_gap.c(386),INFO" ID="0x8c9e0c15" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="hfp disable sco:scohdl=0x%x @bt_ahi_gap.c(390),INFO" ID="0x8c9e0c35" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="result = 0x%x, handle = 0x%x, service_class = %02x  @bt_ahi_gap.c(423),ERROR" ID="0x8c9e0d3a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="stack gap init, res = 0x%x  @bt_ahi_gap.c(435),INFO" ID="0x8c9e0d9d" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="set bt tx power, hdl=0x%x, power=%d, ret=0x%x @bt_ahi_gap.c(448),INFO" ID="0x8c9e0e05" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="br gap read rssi, hdl=0x%x, rssi=%d, ret=0x%x @bt_ahi_gap.c(456),INFO" ID="0x8c9e0e45" />
-                       <MSG STRUCTURE="diag_log_msg4" NAME="set active scene scene = %d, bitrate = %d, delay = %d, ret=0x%x @bt_ahi_gap.c(472),INFO" ID="0x8c9e0ec5" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="set inquiry scan param interval = %d, window = %d @bt_ahi_gap.c(480),INFO" ID="0x8c9e0f05" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="memory copy failed @bt_ahi_gap.c(491),ERROR" ID="0x8c9e0f5a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="stack gap restore rmt device rsp.result = %x @bt_ahi_gap.c(495),INFO" ID="0x8c9e0f7d" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="br gap get link mode, hdl=0x%x, mode=%d, ret=0x%x @bt_ahi_gap.c(504),INFO" ID="0x8c9e0fc5" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="mpc param null! @bt_ahi_gap.c(520),ERROR" ID="0x8c9e1042" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="mpc pkt_ptr is null! @bt_ahi_gap.c(525),ERROR" ID="0x8c9e106a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[AHI]set br secure param secure=%d. @bt_ahi_gap.c(529),ERROR" ID="0x8c9e108a" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg2" NAME="stack gap set discovery mode result = 0x%x, mode = 0x%x  @bt_ahi_gap.c(87),INFO" ID="0x8c9e02bd" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="stack gap get discovery mode result = 0x%x, mode = 0x%x  @bt_ahi_gap.c(101),INFO" ID="0x8c9e032d" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="stack gap stop discovery result = 0x%x, mode = 0x%x  @bt_ahi_gap.c(111),INFO" ID="0x8c9e037d" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="stack gap create acl result = 0x%x, dev_hdl = 0x%x, link type = %d  @bt_ahi_gap.c(125),INFO" ID="0x8c9e03ed" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="memory copy failed @bt_ahi_gap.c(138),ERROR" ID="0x8c9e0452" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="stack gap create acl cfm cbk result = 0x%x, acl_hdl = 0x%x, link type = %d  @bt_ahi_gap.c(143),INFO" ID="0x8c9e047d" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="stack gap create acla result = 0x%x @bt_ahi_gap.c(152),INFO" ID="0x8c9e04c5" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="stack gap reconnect phone result = 0x%x, dev_hdl = 0x%x  @bt_ahi_gap.c(163),INFO" ID="0x8c9e051d" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="stack gap get rmt dev handle result = 0x%x @bt_ahi_gap.c(175),INFO" ID="0x8c9e057d" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="stack gap device is connected result = 0x%x, dev_hdl = 0x%x  @bt_ahi_gap.c(187),INFO" ID="0x8c9e05dd" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="btsdk disconnect acl by handle result = 0x%x @bt_ahi_gap.c(198),INFO" ID="0x8c9e0635" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="stack gap pair device result = 0x%x, dev_hdl = 0x%x  @bt_ahi_gap.c(210),INFO" ID="0x8c9e0695" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="stack gap add rmt device rsp.result = %x @bt_ahi_gap.c(227),INFO" ID="0x8c9e071d" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="stack gap update rmt device name result = 0x%x, name = %s  @bt_ahi_gap.c(247),INFO" ID="0x8c9e07bd" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="memory copy failed @bt_ahi_gap.c(261),ERROR" ID="0x8c9e082a" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="stack gap update rmt device name cfm cbk result = 0x%x, opindex = 0x%x, size = %d  @bt_ahi_gap.c(269),INFO" ID="0x8c9e086d" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="stack gap update rmt device name async result = 0x%x @bt_ahi_gap.c(279),INFO" ID="0x8c9e08bd" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="stack gap get local name result = 0x%x, length = %d, name = %s  @bt_ahi_gap.c(315),INFO" ID="0x8c9e09dd" />
+                       <MSG STRUCTURE="diag_log_msg4" NAME="stack gap get rmt dev addr result = 0x%x, addr[%02x:**:**:**:%02x:%02x] @bt_ahi_gap.c(340),INFO" ID="0x8c9e0aa5" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="stack gap browse rmt service overflow, max_count = %d, svc_count = %d @bt_ahi_gap.c(362),ERROR" ID="0x8c9e0b52" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="stack gap browse rmt service result = 0x%x, svc_count = %d, svc_hdl[0] = 0x%x @bt_ahi_gap.c(368),INFO" ID="0x8c9e0b85" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="hfp enable sco:scohdl=0x%x inid=0x%x outid=0x%x @bt_ahi_gap.c(389),INFO" ID="0x8c9e0c2d" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="hfp disable sco:scohdl=0x%x @bt_ahi_gap.c(393),INFO" ID="0x8c9e0c4d" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="result = 0x%x, handle = 0x%x, service_class = %02x  @bt_ahi_gap.c(426),ERROR" ID="0x8c9e0d52" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="stack gap init, res = 0x%x  @bt_ahi_gap.c(438),INFO" ID="0x8c9e0db5" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="set bt tx power, hdl=0x%x, power=%d, ret=0x%x @bt_ahi_gap.c(451),INFO" ID="0x8c9e0e1d" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="br gap read rssi, hdl=0x%x, rssi=%d, ret=0x%x @bt_ahi_gap.c(459),INFO" ID="0x8c9e0e5d" />
+                       <MSG STRUCTURE="diag_log_msg4" NAME="set active scene scene = %d, bitrate = %d, delay = %d, ret=0x%x @bt_ahi_gap.c(475),INFO" ID="0x8c9e0edd" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="set inquiry scan param interval = %d, window = %d @bt_ahi_gap.c(483),INFO" ID="0x8c9e0f1d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="memory copy failed @bt_ahi_gap.c(494),ERROR" ID="0x8c9e0f72" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="stack gap restore rmt device rsp.result = %x @bt_ahi_gap.c(498),INFO" ID="0x8c9e0f95" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="br gap get link mode, hdl=0x%x, mode=%d, ret=0x%x @bt_ahi_gap.c(507),INFO" ID="0x8c9e0fdd" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="mpc param null! @bt_ahi_gap.c(523),ERROR" ID="0x8c9e105a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="mpc pkt_ptr is null! @bt_ahi_gap.c(528),ERROR" ID="0x8c9e1082" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[AHI]set br secure param secure=%d. @bt_ahi_gap.c(532),ERROR" ID="0x8c9e10a2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="mpc param null! @bt_ahi_gap.c(539),ERROR" ID="0x8c9e10da" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="mpc pkt_ptr is null! @bt_ahi_gap.c(544),ERROR" ID="0x8c9e1102" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="[BTH][QOS]set bth flow limit max=%d high=%d low=%d. @bt_ahi_gap.c(552),ERROR" ID="0x8c9e1142" />
                        </MSG_LOG>
\ No newline at end of file
index 0040f1f..488e335 100755 (executable)
@@ -1,49 +1,49 @@
-<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="ble add ble white list fail: %d @bt_mpc_adpt_gap.c(52),ERROR" ID="0x8dd401a2" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="ble add ble white list params err! len = %d @bt_mpc_adpt_gap.c(56),ERROR" ID="0x8dd401c2" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="ble remove all ble white list fail: %d @bt_mpc_adpt_gap.c(71),ERROR" ID="0x8dd4023a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="ble remove ble white list fail: %d @bt_mpc_adpt_gap.c(78),ERROR" ID="0x8dd40272" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="ble remove ble white list params err! len = %d @bt_mpc_adpt_gap.c(82),ERROR" ID="0x8dd40292" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set global value: %d @bt_mpc_adpt_gap.c(96),ERROR" ID="0x8dd40302" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set global value err! len = %d @bt_mpc_adpt_gap.c(99),ERROR" ID="0x8dd4031a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc connection params update: %d @bt_mpc_adpt_gap.c(115),ERROR" ID="0x8dd4039a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc connection params update err! len = %d @bt_mpc_adpt_gap.c(119),ERROR" ID="0x8dd403ba" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc get local appearance: ret = %d @bt_mpc_adpt_gap.c(131),ERROR" ID="0x8dd4041a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set local appearance: %d @bt_mpc_adpt_gap.c(146),ERROR" ID="0x8dd40492" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set local appearance err! len = %d @bt_mpc_adpt_gap.c(150),ERROR" ID="0x8dd404b2" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set period advertising: %d @bt_mpc_adpt_gap.c(166),ERROR" ID="0x8dd40532" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set period advertising err! len = %d @bt_mpc_adpt_gap.c(170),ERROR" ID="0x8dd40552" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc dis period advertising: %d @bt_mpc_adpt_gap.c(187),ERROR" ID="0x8dd405da" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc dis period advertising err! len = %d @bt_mpc_adpt_gap.c(191),ERROR" ID="0x8dd405fa" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set period adv list: %d @bt_mpc_adpt_gap.c(209),ERROR" ID="0x8dd4068a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set period adv list err! len = %d @bt_mpc_adpt_gap.c(213),ERROR" ID="0x8dd406aa" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc period adv create sync: %d @bt_mpc_adpt_gap.c(230),ERROR" ID="0x8dd40732" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc period adv create sync err! len = %d @bt_mpc_adpt_gap.c(234),ERROR" ID="0x8dd40752" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc period adv terminate sync: %d @bt_mpc_adpt_gap.c(251),ERROR" ID="0x8dd407da" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc period adv terminate sync err! len = %d @bt_mpc_adpt_gap.c(255),ERROR" ID="0x8dd407fa" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc dis extern adv: %d @bt_mpc_adpt_gap.c(273),ERROR" ID="0x8dd4088a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc dis extern adv err! len = %d @bt_mpc_adpt_gap.c(277),ERROR" ID="0x8dd408aa" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set extern adv: %d @bt_mpc_adpt_gap.c(300),ERROR" ID="0x8dd40962" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set extern adv err! len = %d @bt_mpc_adpt_gap.c(304),ERROR" ID="0x8dd40982" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc remove extern adv: %d @bt_mpc_adpt_gap.c(323),ERROR" ID="0x8dd40a1a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc remove extern adv err! len = %d @bt_mpc_adpt_gap.c(327),ERROR" ID="0x8dd40a3a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc dis extern scan: %d @bt_mpc_adpt_gap.c(342),ERROR" ID="0x8dd40ab2" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set len: %d @bt_mpc_adpt_gap.c(356),ERROR" ID="0x8dd40b22" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set len len err! len = %d @bt_mpc_adpt_gap.c(359),ERROR" ID="0x8dd40b3a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set phy: %d @bt_mpc_adpt_gap.c(372),ERROR" ID="0x8dd40ba2" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set phy len err! len = %d @bt_mpc_adpt_gap.c(375),ERROR" ID="0x8dd40bba" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set extern scan: %d @bt_mpc_adpt_gap.c(390),ERROR" ID="0x8dd40c32" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc remove extern adv err! len = %d @bt_mpc_adpt_gap.c(394),ERROR" ID="0x8dd40c52" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set resolve addr: %d @bt_mpc_adpt_gap.c(410),ERROR" ID="0x8dd40cd2" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set resolve addr err! len = %d @bt_mpc_adpt_gap.c(414),ERROR" ID="0x8dd40cf2" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc get white list: %d @bt_mpc_adpt_gap.c(432),ERROR" ID="0x8dd40d82" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[CONN]ble core:AppConnectBleWhiteList @bt_mpc_adpt_gap.c(443),INFO" ID="0x8dd40ddd" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc connect white list fail ret=%d @bt_mpc_adpt_gap.c(447),ERROR" ID="0x8dd40dfa" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc passkey response: %d @bt_mpc_adpt_gap.c(460),ERROR" ID="0x8dd40e62" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc passkey response err! len = %d @bt_mpc_adpt_gap.c(463),ERROR" ID="0x8dd40e7a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set connect param: %d @bt_mpc_adpt_gap.c(491),ERROR" ID="0x8dd40f5a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set connect param err! len = %d @bt_mpc_adpt_gap.c(494),ERROR" ID="0x8dd40f72" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set hci le event mask: %d @bt_mpc_adpt_gap.c(505),ERROR" ID="0x8dd40fca" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="bt mpc set hci le event mask error! len = %d, stru_len: %d @bt_mpc_adpt_gap.c(509),ERROR" ID="0x8dd40fea" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc read remote rssi: %d @bt_mpc_adpt_gap.c(522),ERROR" ID="0x8dd41052" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc read remote rssi err! len = %d @bt_mpc_adpt_gap.c(525),ERROR" ID="0x8dd4106a" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="ble add ble white list fail: %d @bt_mpc_adpt_gap.c(53),ERROR" ID="0x8dd401aa" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="ble add ble white list params err! len = %d @bt_mpc_adpt_gap.c(57),ERROR" ID="0x8dd401ca" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="ble remove all ble white list fail: %d @bt_mpc_adpt_gap.c(72),ERROR" ID="0x8dd40242" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="ble remove ble white list fail: %d @bt_mpc_adpt_gap.c(79),ERROR" ID="0x8dd4027a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="ble remove ble white list params err! len = %d @bt_mpc_adpt_gap.c(83),ERROR" ID="0x8dd4029a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set global value: %d @bt_mpc_adpt_gap.c(98),ERROR" ID="0x8dd40312" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set global value err! len = %d @bt_mpc_adpt_gap.c(101),ERROR" ID="0x8dd4032a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc connection params update: %d @bt_mpc_adpt_gap.c(117),ERROR" ID="0x8dd403aa" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc connection params update err! len = %d @bt_mpc_adpt_gap.c(121),ERROR" ID="0x8dd403ca" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc get local appearance: ret = %d @bt_mpc_adpt_gap.c(133),ERROR" ID="0x8dd4042a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set local appearance: %d @bt_mpc_adpt_gap.c(148),ERROR" ID="0x8dd404a2" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set local appearance err! len = %d @bt_mpc_adpt_gap.c(152),ERROR" ID="0x8dd404c2" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set period advertising: %d @bt_mpc_adpt_gap.c(168),ERROR" ID="0x8dd40542" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set period advertising err! len = %d @bt_mpc_adpt_gap.c(172),ERROR" ID="0x8dd40562" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc dis period advertising: %d @bt_mpc_adpt_gap.c(189),ERROR" ID="0x8dd405ea" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc dis period advertising err! len = %d @bt_mpc_adpt_gap.c(193),ERROR" ID="0x8dd4060a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set period adv list: %d @bt_mpc_adpt_gap.c(211),ERROR" ID="0x8dd4069a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set period adv list err! len = %d @bt_mpc_adpt_gap.c(215),ERROR" ID="0x8dd406ba" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc period adv create sync: %d @bt_mpc_adpt_gap.c(232),ERROR" ID="0x8dd40742" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc period adv create sync err! len = %d @bt_mpc_adpt_gap.c(236),ERROR" ID="0x8dd40762" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc period adv terminate sync: %d @bt_mpc_adpt_gap.c(253),ERROR" ID="0x8dd407ea" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc period adv terminate sync err! len = %d @bt_mpc_adpt_gap.c(257),ERROR" ID="0x8dd4080a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc dis extern adv: %d @bt_mpc_adpt_gap.c(275),ERROR" ID="0x8dd4089a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc dis extern adv err! len = %d @bt_mpc_adpt_gap.c(279),ERROR" ID="0x8dd408ba" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set extern adv: %d @bt_mpc_adpt_gap.c(302),ERROR" ID="0x8dd40972" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set extern adv err! len = %d @bt_mpc_adpt_gap.c(306),ERROR" ID="0x8dd40992" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc remove extern adv: %d @bt_mpc_adpt_gap.c(325),ERROR" ID="0x8dd40a2a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc remove extern adv err! len = %d @bt_mpc_adpt_gap.c(329),ERROR" ID="0x8dd40a4a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc dis extern scan: %d @bt_mpc_adpt_gap.c(344),ERROR" ID="0x8dd40ac2" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set len: %d @bt_mpc_adpt_gap.c(358),ERROR" ID="0x8dd40b32" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set len len err! len = %d @bt_mpc_adpt_gap.c(361),ERROR" ID="0x8dd40b4a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set phy: %d @bt_mpc_adpt_gap.c(374),ERROR" ID="0x8dd40bb2" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set phy len err! len = %d @bt_mpc_adpt_gap.c(377),ERROR" ID="0x8dd40bca" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set extern scan: %d @bt_mpc_adpt_gap.c(392),ERROR" ID="0x8dd40c42" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc remove extern adv err! len = %d @bt_mpc_adpt_gap.c(396),ERROR" ID="0x8dd40c62" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set resolve addr: %d @bt_mpc_adpt_gap.c(412),ERROR" ID="0x8dd40ce2" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set resolve addr err! len = %d @bt_mpc_adpt_gap.c(416),ERROR" ID="0x8dd40d02" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc get white list: %d @bt_mpc_adpt_gap.c(434),ERROR" ID="0x8dd40d92" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[CONN]ble core:AppConnectBleWhiteList @bt_mpc_adpt_gap.c(445),INFO" ID="0x8dd40ded" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc connect white list fail ret=%d @bt_mpc_adpt_gap.c(449),ERROR" ID="0x8dd40e0a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc passkey response: %d @bt_mpc_adpt_gap.c(462),ERROR" ID="0x8dd40e72" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc passkey response err! len = %d @bt_mpc_adpt_gap.c(465),ERROR" ID="0x8dd40e8a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set connect param: %d @bt_mpc_adpt_gap.c(493),ERROR" ID="0x8dd40f6a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set connect param err! len = %d @bt_mpc_adpt_gap.c(496),ERROR" ID="0x8dd40f82" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc set hci le event mask: %d @bt_mpc_adpt_gap.c(507),ERROR" ID="0x8dd40fda" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="bt mpc set hci le event mask error! len = %d, stru_len: %d @bt_mpc_adpt_gap.c(511),ERROR" ID="0x8dd40ffa" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc read remote rssi: %d @bt_mpc_adpt_gap.c(524),ERROR" ID="0x8dd41062" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="bt mpc read remote rssi err! len = %d @bt_mpc_adpt_gap.c(527),ERROR" ID="0x8dd4107a" />
                        </MSG_LOG>
\ No newline at end of file
index 42e965b..f57c77a 100755 (executable)
@@ -1,6 +1,6 @@
 <MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="smp_pair_new_patch @patch_bth.c(52),INFO" ID="0x8d5401a5" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="[AVDTP][GET_SEP_FAIL] Can not get sep info @patch_bth.c(156),WARNING" ID="0x8d5404e3" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="[STACK][RECV_RING_STOP] @patch_bth.c(244),INFO" ID="0x8d5407a5" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="[ATT_GATT] att error rsp opcode:0x%x handle:%d error:0x%x @patch_bth.c(324),ERROR" ID="0x8d540a22" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[SMP]PAIRING_REQ_RECV @patch_bth.c(503),ERROR" ID="0x8d540fba" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="[ATT_GATT] att error rsp opcode:0x%x handle:%d error:0x%x @patch_bth.c(327),ERROR" ID="0x8d540a3a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[SMP]PAIRING_REQ_RECV @patch_bth.c(506),ERROR" ID="0x8d540fd2" />
                        </MSG_LOG>
\ No newline at end of file
index bc290a6..42333d7 100644 (file)
@@ -1,2 +1,2 @@
-<MSG_LOG><MSG STRUCTURE="diag_log_msg3" NAME="a2dp_audio: rpt stream state stream_hdl %p state %d src %d @sdk_av.c(813),ERROR" ID="0x8b86196a" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg3" NAME="a2dp_audio: rpt stream state stream_hdl %p state %d src %d @sdk_av.c(817),ERROR" ID="0x8b86198a" />
                        </MSG_LOG>
\ No newline at end of file
index f883b78..a8b8232 100755 (executable)
@@ -1,15 +1,15 @@
-<MSG_LOG><MSG STRUCTURE="diag_log_msg3" NAME="[BTH][QOS]default flow limit max=%u line_high=%u line_low=%u @sdk_hlp.c(71),ERROR" ID="0x8b7a023a" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="[BTH][QOS]overflow ipc:%u fsm_tx:%u. @sdk_hlp.c(93),ERROR" ID="0x8b7a02ea" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="[BTH][QOS]overflow hci_rx:%u hci_qos:%u. @sdk_hlp.c(94),ERROR" ID="0x8b7a02f2" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="[BTH][QOS]warning ipc:%u fsm_tx:%u. @sdk_hlp.c(106),ERROR" ID="0x8b7a0352" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="[BTH][QOS]warning hci_rx:%u hci_qos:%u. @sdk_hlp.c(107),ERROR" ID="0x8b7a035a" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="[BTH][QOS]release ipc:%u fsm_tx:%u. @sdk_hlp.c(118),ERROR" ID="0x8b7a03b2" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="[BTH][QOS]release hci_rx:%u hci_qos:%u. @sdk_hlp.c(119),ERROR" ID="0x8b7a03ba" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="[SDK][GAP] CTKD BR link key report, addr=0x%02x:**:**:**:0x%02x:0x%02x @sdk_hlp.c(895),WARNING" ID="0x8b7a1bfb" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[SDK][GAP] paired phone exist, dev_handle=0x%x @sdk_hlp.c(901),WARNING" ID="0x8b7a1c2b" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="hlp_link_key_req_cbk no source addr:0x%x @sdk_hlp.c(996),INFO" ID="0x8b7a1f25" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="hlp_connection_ev_cbk_dis_conn hdl:0x%x status:%d @sdk_hlp.c(2151),INFO" ID="0x8b7a433d" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="[SDK] connect event cbk connected: %d, reason: %d link_type:%d! @sdk_hlp.c(2173),ERROR" ID="0x8b7a43ea" />
-                       <MSG STRUCTURE="diag_log_msg4" NAME="[SDK] connect event cbk cap:%d addr:%02x******%02x%02x @sdk_hlp.c(2188),ERROR" ID="0x8b7a4462" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="[SDK] connect event cbk status:%d dev_hdl:0x%x @sdk_hlp.c(2191),ERROR" ID="0x8b7a447a" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg3" NAME="[BTH][QOS]default flow limit max=%u line_high=%u line_low=%u @sdk_hlp.c(75),ERROR" ID="0x8b7a025a" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="[BTH][QOS]overflow ipc:%u fsm_tx:%u. @sdk_hlp.c(104),ERROR" ID="0x8b7a0342" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="[BTH][QOS]overflow hci_rx:%u hci_qos:%u. @sdk_hlp.c(105),ERROR" ID="0x8b7a034a" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="[BTH][QOS]warning ipc:%u fsm_tx:%u. @sdk_hlp.c(117),ERROR" ID="0x8b7a03aa" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="[BTH][QOS]warning hci_rx:%u hci_qos:%u. @sdk_hlp.c(118),ERROR" ID="0x8b7a03b2" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="[BTH][QOS]release ipc:%u fsm_tx:%u. @sdk_hlp.c(129),ERROR" ID="0x8b7a040a" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="[BTH][QOS]release hci_rx:%u hci_qos:%u. @sdk_hlp.c(130),ERROR" ID="0x8b7a0412" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="[SDK][GAP] CTKD BR link key report, addr=0x%02x:**:**:**:0x%02x:0x%02x @sdk_hlp.c(906),WARNING" ID="0x8b7a1c53" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[SDK][GAP] paired phone exist, dev_handle=0x%x @sdk_hlp.c(912),WARNING" ID="0x8b7a1c83" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="hlp_link_key_req_cbk no source addr:0x%x @sdk_hlp.c(1007),INFO" ID="0x8b7a1f7d" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="hlp_connection_ev_cbk_dis_conn hdl:0x%x status:%d @sdk_hlp.c(2162),INFO" ID="0x8b7a4395" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="[SDK] connect event cbk connected: %d, reason: %d link_type:%d! @sdk_hlp.c(2184),ERROR" ID="0x8b7a4442" />
+                       <MSG STRUCTURE="diag_log_msg4" NAME="[SDK] connect event cbk cap:%d addr:%02x******%02x%02x @sdk_hlp.c(2199),ERROR" ID="0x8b7a44ba" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="[SDK] connect event cbk status:%d dev_hdl:0x%x @sdk_hlp.c(2202),ERROR" ID="0x8b7a44d2" />
                        </MSG_LOG>
\ No newline at end of file
index ddc954d..e010b28 100755 (executable)
Binary files a/code/sdk/interim_binary/brandy/libs/bt/evb_standard/freertos/br/libbt_host_audio_manager_wrapper.a and b/code/sdk/interim_binary/brandy/libs/bt/evb_standard/freertos/br/libbt_host_audio_manager_wrapper.a differ
index 11fadca..aa0fdfb 100755 (executable)
Binary files a/code/sdk/interim_binary/brandy/libs/bt/evb_standard/freertos/br/libbt_host_brandy_service.a and b/code/sdk/interim_binary/brandy/libs/bt/evb_standard/freertos/br/libbt_host_brandy_service.a differ
index b31ab9d..becd140 100755 (executable)
Binary files a/code/sdk/interim_binary/brandy/libs/bt/evb_standard/freertos/br/libbt_host_sdk.a and b/code/sdk/interim_binary/brandy/libs/bt/evb_standard/freertos/br/libbt_host_sdk.a differ
index 3d7ba6d..a23ae46 100755 (executable)
Binary files a/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/br/libbt_host_audio_manager_wrapper.a and b/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/br/libbt_host_audio_manager_wrapper.a differ
index f451d2f..77b32fa 100755 (executable)
Binary files a/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/br/libbt_host_brandy_service.a and b/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/br/libbt_host_brandy_service.a differ
index 86a5398..07f39ef 100755 (executable)
Binary files a/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/br/libbt_host_sdk.a and b/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/br/libbt_host_sdk.a differ
index 08d29c5..636ff18 100644 (file)
Binary files a/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/mini/br/libbt_host_audio_manager_wrapper.a and b/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/mini/br/libbt_host_audio_manager_wrapper.a differ
index ddf58f0..c4e279d 100755 (executable)
Binary files a/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/mini/br/libbt_host_brandy_service.a and b/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/mini/br/libbt_host_brandy_service.a differ
index a3c43bf..993e67a 100755 (executable)
Binary files a/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/mini/br/libbt_host_sdk.a and b/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/mini/br/libbt_host_sdk.a differ
index 4598812..c6faaf1 100644 (file)
@@ -23,6 +23,7 @@ set(PUBLIC_DEFINES
 \r
 set(PRIVATE_DEFINES\r
     CONFIG_VG_RUN_LINUX\r
+    CONFIG_VAU_DFX_ERROR\r
 )\r
 \r
 # use this when you want to add ccflags like -include xxx\r
index b561e81..7f6b27e 100644 (file)
Binary files a/code/sdk/middleware/services/gpu/api/rm/brandy-auto-ota-cli/libgfx_rm.a and b/code/sdk/middleware/services/gpu/api/rm/brandy-auto-ota-cli/libgfx_rm.a differ
index ad93d85..38a1bdd 100644 (file)
Binary files a/code/sdk/middleware/services/gpu/api/rm/brandy-auto-ota-ser/libgfx_rm.a and b/code/sdk/middleware/services/gpu/api/rm/brandy-auto-ota-ser/libgfx_rm.a differ
index 4347741..18778c1 100644 (file)
Binary files a/code/sdk/middleware/services/gpu/api/rm/brandy-native-js-autoota/libgfx_rm.a and b/code/sdk/middleware/services/gpu/api/rm/brandy-native-js-autoota/libgfx_rm.a differ
index 4347741..18778c1 100644 (file)
Binary files a/code/sdk/middleware/services/gpu/api/rm/brandy-native-js-autootacli/libgfx_rm.a and b/code/sdk/middleware/services/gpu/api/rm/brandy-native-js-autootacli/libgfx_rm.a differ
index 4347741..18778c1 100644 (file)
Binary files a/code/sdk/middleware/services/gpu/api/rm/brandy-native-js-cm/libgfx_rm.a and b/code/sdk/middleware/services/gpu/api/rm/brandy-native-js-cm/libgfx_rm.a differ
index 4347741..18778c1 100644 (file)
Binary files a/code/sdk/middleware/services/gpu/api/rm/brandy-native-js-ct/libgfx_rm.a and b/code/sdk/middleware/services/gpu/api/rm/brandy-native-js-ct/libgfx_rm.a differ
index 4347741..18778c1 100644 (file)
Binary files a/code/sdk/middleware/services/gpu/api/rm/brandy-native-js-fd230/libgfx_rm.a and b/code/sdk/middleware/services/gpu/api/rm/brandy-native-js-fd230/libgfx_rm.a differ
index 4347741..18778c1 100644 (file)
Binary files a/code/sdk/middleware/services/gpu/api/rm/brandy-native-js-leakcheck/libgfx_rm.a and b/code/sdk/middleware/services/gpu/api/rm/brandy-native-js-leakcheck/libgfx_rm.a differ
index 4347741..18778c1 100644 (file)
Binary files a/code/sdk/middleware/services/gpu/api/rm/brandy-native-js-obu/libgfx_rm.a and b/code/sdk/middleware/services/gpu/api/rm/brandy-native-js-obu/libgfx_rm.a differ
index ccac945..8101de3 100644 (file)
Binary files a/code/sdk/middleware/services/gpu/api/rm/brandy-native-js-r/libgfx_rm.a and b/code/sdk/middleware/services/gpu/api/rm/brandy-native-js-r/libgfx_rm.a differ
diff --git a/code/sdk/middleware/services/gpu/api/rm/brandy-native-js-user/libgfx_rm.a b/code/sdk/middleware/services/gpu/api/rm/brandy-native-js-user/libgfx_rm.a
new file mode 100644 (file)
index 0000000..18778c1
Binary files /dev/null and b/code/sdk/middleware/services/gpu/api/rm/brandy-native-js-user/libgfx_rm.a differ
index 4347741..18778c1 100644 (file)
Binary files a/code/sdk/middleware/services/gpu/api/rm/brandy-native-js-z1/libgfx_rm.a and b/code/sdk/middleware/services/gpu/api/rm/brandy-native-js-z1/libgfx_rm.a differ
index 4347741..18778c1 100644 (file)
Binary files a/code/sdk/middleware/services/gpu/api/rm/brandy-native-js/libgfx_rm.a and b/code/sdk/middleware/services/gpu/api/rm/brandy-native-js/libgfx_rm.a differ
index f82ee73..4d105b6 100644 (file)
Binary files a/code/sdk/middleware/services/gpu/api/rm/brandy-target1-r/libgfx_rm.a and b/code/sdk/middleware/services/gpu/api/rm/brandy-target1-r/libgfx_rm.a differ
index 99705e6..8519b17 100644 (file)
Binary files a/code/sdk/middleware/services/gpu/api/rm/brandy-target1/libgfx_rm.a and b/code/sdk/middleware/services/gpu/api/rm/brandy-target1/libgfx_rm.a differ
index 5730c16..abca2eb 100644 (file)
Binary files a/code/sdk/middleware/services/gpu/api/rm/brandy-target3-r/libgfx_rm.a and b/code/sdk/middleware/services/gpu/api/rm/brandy-target3-r/libgfx_rm.a differ
index 4ce2807..5c37168 100644 (file)
Binary files a/code/sdk/middleware/services/gpu/api/rm/brandy-target3/libgfx_rm.a and b/code/sdk/middleware/services/gpu/api/rm/brandy-target3/libgfx_rm.a differ
index 782640b..0654163 100644 (file)
Binary files a/code/sdk/middleware/services/gpu/api/rm/brandy-target4-r/libgfx_rm.a and b/code/sdk/middleware/services/gpu/api/rm/brandy-target4-r/libgfx_rm.a differ
index 30510b2..79dba85 100644 (file)
Binary files a/code/sdk/middleware/services/gpu/api/rm/brandy-target4/libgfx_rm.a and b/code/sdk/middleware/services/gpu/api/rm/brandy-target4/libgfx_rm.a differ
index 8858311..d079181 100644 (file)
Binary files a/code/sdk/middleware/services/gpu/api/rm/brandy-target5-r/libgfx_rm.a and b/code/sdk/middleware/services/gpu/api/rm/brandy-target5-r/libgfx_rm.a differ
index 6cff651..f249d23 100644 (file)
Binary files a/code/sdk/middleware/services/gpu/api/rm/brandy-target5/libgfx_rm.a and b/code/sdk/middleware/services/gpu/api/rm/brandy-target5/libgfx_rm.a differ
index 47b9d40..b8fac2d 100644 (file)
Binary files a/code/sdk/middleware/services/gpu/api/rm/brandy-xts/libgfx_rm.a and b/code/sdk/middleware/services/gpu/api/rm/brandy-xts/libgfx_rm.a differ
index cd4bc86..6f327fd 100644 (file)
Binary files a/code/sdk/middleware/services/gpu/api/rm/testsuite-brandy-sdk/libgfx_rm.a and b/code/sdk/middleware/services/gpu/api/rm/testsuite-brandy-sdk/libgfx_rm.a differ
index 253ac7e..fe56ad6 100644 (file)
Binary files a/code/sdk/middleware/services/gui/hal/display/brandy-auto-ota-cli/libdisplay_gfx.a and b/code/sdk/middleware/services/gui/hal/display/brandy-auto-ota-cli/libdisplay_gfx.a differ
index 11f9446..2870cd7 100644 (file)
Binary files a/code/sdk/middleware/services/gui/hal/display/brandy-auto-ota-ser/libdisplay_gfx.a and b/code/sdk/middleware/services/gui/hal/display/brandy-auto-ota-ser/libdisplay_gfx.a differ
index 9727828..464b21c 100644 (file)
Binary files a/code/sdk/middleware/services/gui/hal/display/brandy-native-js-autoota/libdisplay_gfx.a and b/code/sdk/middleware/services/gui/hal/display/brandy-native-js-autoota/libdisplay_gfx.a differ
index 9727828..464b21c 100644 (file)
Binary files a/code/sdk/middleware/services/gui/hal/display/brandy-native-js-autootacli/libdisplay_gfx.a and b/code/sdk/middleware/services/gui/hal/display/brandy-native-js-autootacli/libdisplay_gfx.a differ
index 9727828..464b21c 100644 (file)
Binary files a/code/sdk/middleware/services/gui/hal/display/brandy-native-js-cm/libdisplay_gfx.a and b/code/sdk/middleware/services/gui/hal/display/brandy-native-js-cm/libdisplay_gfx.a differ
index 9727828..464b21c 100644 (file)
Binary files a/code/sdk/middleware/services/gui/hal/display/brandy-native-js-ct/libdisplay_gfx.a and b/code/sdk/middleware/services/gui/hal/display/brandy-native-js-ct/libdisplay_gfx.a differ
index 9727828..464b21c 100644 (file)
Binary files a/code/sdk/middleware/services/gui/hal/display/brandy-native-js-fd230/libdisplay_gfx.a and b/code/sdk/middleware/services/gui/hal/display/brandy-native-js-fd230/libdisplay_gfx.a differ
index 9727828..464b21c 100644 (file)
Binary files a/code/sdk/middleware/services/gui/hal/display/brandy-native-js-leakcheck/libdisplay_gfx.a and b/code/sdk/middleware/services/gui/hal/display/brandy-native-js-leakcheck/libdisplay_gfx.a differ
index 9727828..464b21c 100644 (file)
Binary files a/code/sdk/middleware/services/gui/hal/display/brandy-native-js-obu/libdisplay_gfx.a and b/code/sdk/middleware/services/gui/hal/display/brandy-native-js-obu/libdisplay_gfx.a differ
diff --git a/code/sdk/middleware/services/gui/hal/display/brandy-native-js-user/libdisplay_gfx.a b/code/sdk/middleware/services/gui/hal/display/brandy-native-js-user/libdisplay_gfx.a
new file mode 100644 (file)
index 0000000..464b21c
Binary files /dev/null and b/code/sdk/middleware/services/gui/hal/display/brandy-native-js-user/libdisplay_gfx.a differ
index 9727828..464b21c 100644 (file)
Binary files a/code/sdk/middleware/services/gui/hal/display/brandy-native-js-z1/libdisplay_gfx.a and b/code/sdk/middleware/services/gui/hal/display/brandy-native-js-z1/libdisplay_gfx.a differ
index 9727828..464b21c 100755 (executable)
Binary files a/code/sdk/middleware/services/gui/hal/display/brandy-native-js/libdisplay_gfx.a and b/code/sdk/middleware/services/gui/hal/display/brandy-native-js/libdisplay_gfx.a differ
index 2113c20..d07e166 100755 (executable)
Binary files a/code/sdk/middleware/services/gui/hal/display/brandy-target1/libdisplay_gfx.a and b/code/sdk/middleware/services/gui/hal/display/brandy-target1/libdisplay_gfx.a differ
index 655e253..c32afcc 100755 (executable)
Binary files a/code/sdk/middleware/services/gui/hal/display/brandy-target3/libdisplay_gfx.a and b/code/sdk/middleware/services/gui/hal/display/brandy-target3/libdisplay_gfx.a differ
index 220209d..39ebbd2 100755 (executable)
Binary files a/code/sdk/middleware/services/gui/hal/display/brandy-target5/libdisplay_gfx.a and b/code/sdk/middleware/services/gui/hal/display/brandy-target5/libdisplay_gfx.a differ
index b912171..517fcce 100755 (executable)
Binary files a/code/sdk/middleware/services/gui/hal/display/brandy-xts/libdisplay_gfx.a and b/code/sdk/middleware/services/gui/hal/display/brandy-xts/libdisplay_gfx.a differ
index 542fd6b..a88b988 100755 (executable)
Binary files a/code/sdk/middleware/services/gui/lvgl/brandy-target1/liblvgl_proprietary_mini.a and b/code/sdk/middleware/services/gui/lvgl/brandy-target1/liblvgl_proprietary_mini.a differ
index 22fc4d0..37f9bb1 100755 (executable)
Binary files a/code/sdk/middleware/services/gui/lvgl/brandy-target5/liblvgl_proprietary.a and b/code/sdk/middleware/services/gui/lvgl/brandy-target5/liblvgl_proprietary.a differ
index 33533df..089e991 100644 (file)
Binary files a/code/sdk/middleware/services/gui/uikit/brandy-auto-ota-cli/libuikit_ext.a and b/code/sdk/middleware/services/gui/uikit/brandy-auto-ota-cli/libuikit_ext.a differ
index 800ab87..69e38e7 100644 (file)
Binary files a/code/sdk/middleware/services/gui/uikit/brandy-auto-ota-ser/libuikit_ext.a and b/code/sdk/middleware/services/gui/uikit/brandy-auto-ota-ser/libuikit_ext.a differ
index 807b8f2..aa7a1f3 100644 (file)
Binary files a/code/sdk/middleware/services/gui/uikit/brandy-native-js-autoota/libuikit_ext.a and b/code/sdk/middleware/services/gui/uikit/brandy-native-js-autoota/libuikit_ext.a differ
index 807b8f2..aa7a1f3 100644 (file)
Binary files a/code/sdk/middleware/services/gui/uikit/brandy-native-js-autootacli/libuikit_ext.a and b/code/sdk/middleware/services/gui/uikit/brandy-native-js-autootacli/libuikit_ext.a differ
index 807b8f2..aa7a1f3 100644 (file)
Binary files a/code/sdk/middleware/services/gui/uikit/brandy-native-js-cm/libuikit_ext.a and b/code/sdk/middleware/services/gui/uikit/brandy-native-js-cm/libuikit_ext.a differ
index 807b8f2..aa7a1f3 100644 (file)
Binary files a/code/sdk/middleware/services/gui/uikit/brandy-native-js-ct/libuikit_ext.a and b/code/sdk/middleware/services/gui/uikit/brandy-native-js-ct/libuikit_ext.a differ
index 807b8f2..aa7a1f3 100644 (file)
Binary files a/code/sdk/middleware/services/gui/uikit/brandy-native-js-fd230/libuikit_ext.a and b/code/sdk/middleware/services/gui/uikit/brandy-native-js-fd230/libuikit_ext.a differ
index 807b8f2..aa7a1f3 100644 (file)
Binary files a/code/sdk/middleware/services/gui/uikit/brandy-native-js-leakcheck/libuikit_ext.a and b/code/sdk/middleware/services/gui/uikit/brandy-native-js-leakcheck/libuikit_ext.a differ
index 807b8f2..aa7a1f3 100644 (file)
Binary files a/code/sdk/middleware/services/gui/uikit/brandy-native-js-obu/libuikit_ext.a and b/code/sdk/middleware/services/gui/uikit/brandy-native-js-obu/libuikit_ext.a differ
diff --git a/code/sdk/middleware/services/gui/uikit/brandy-native-js-user/libuikit_ext.a b/code/sdk/middleware/services/gui/uikit/brandy-native-js-user/libuikit_ext.a
new file mode 100644 (file)
index 0000000..aa7a1f3
Binary files /dev/null and b/code/sdk/middleware/services/gui/uikit/brandy-native-js-user/libuikit_ext.a differ
index 807b8f2..aa7a1f3 100644 (file)
Binary files a/code/sdk/middleware/services/gui/uikit/brandy-native-js-z1/libuikit_ext.a and b/code/sdk/middleware/services/gui/uikit/brandy-native-js-z1/libuikit_ext.a differ
index 807b8f2..aa7a1f3 100755 (executable)
Binary files a/code/sdk/middleware/services/gui/uikit/brandy-native-js/libuikit_ext.a and b/code/sdk/middleware/services/gui/uikit/brandy-native-js/libuikit_ext.a differ
index 3e30869..30de184 100755 (executable)
Binary files a/code/sdk/middleware/services/gui/uikit/brandy-target3/libuikit_ext.a and b/code/sdk/middleware/services/gui/uikit/brandy-target3/libuikit_ext.a differ
index 3d2a269..45899db 100755 (executable)
Binary files a/code/sdk/middleware/services/gui/uikit/brandy-xts/libuikit_ext.a and b/code/sdk/middleware/services/gui/uikit/brandy-xts/libuikit_ext.a differ
index 535696c..3847daf 100755 (executable)
@@ -9,6 +9,7 @@
 #define UI_CARD_SWIPE_H
 #include "components/ui_card_page.h"
 #include "components/ui_image_view.h"
+#include "components/ui_view_group.h"
 
 namespace OHOS {
 class CardSwipe : public HeapBase {
@@ -28,7 +29,12 @@ public:
      * @since 1.0
      * @version 1.0
      */
-    virtual void CardSwipeAlg(UICardPage* leftCard, UICardPage* rightCard, int16_t xOffset) {}
+    virtual void CardSwipeAlg(UICardPage* leftCard, UICardPage* rightCard, int16_t xOffset)
+    {
+        if (!IsStarted()) {
+            StartEffect();
+        }
+    }
 
     /* *
      * @brief Swipe algorithm when drag card.
@@ -38,9 +44,70 @@ public:
      * @since 1.0
      * @version 1.0
      */
-    virtual void CardSwipeAlg(UIImageView* leftCard, UIImageView* rightCard, int16_t xOffset) {}
+    virtual void CardSwipeAlg(UIImageView* leftCard, UIImageView* rightCard, int16_t xOffset)
+    {
+        if (!IsStarted()) {
+            StartEffect();
+        }
+    }
+
+    /* *
+     * @brief Begin card swipe effect
+     * @since 1.0
+     * @version 1.0
+     */
+    virtual void StartEffect()
+    {
+        isStarted_ = true;
+    };
+
+    /* *
+     * @brief End card swipe effect
+     * @since 1.0
+     * @version 1.0
+     */
+    virtual void StopEffect()
+    {
+        isStarted_ = false;
+    };
+
+    /* *
+     * @brief Return whether swipe effect is started.
+     * @since 1.0
+     * @version 1.0
+     */
+    bool IsStarted()
+    {
+        return isStarted_;
+    }
+
+    /* *
+     * @brief Set container view (UICrossView) which is used to produce effect.
+     * @since 1.0
+     * @version 1.0
+     */
+    void SetContainer(UIViewGroup* view)
+    {
+        container_ = view;
+    }
+
+    /* *
+     * @brief Enable clipping card page into a circle.
+     * @since 1.0
+     * @version 1.0
+     */
+    void EnableClip(bool enable)
+    {
+        isNeedClip_ = enable;
+    }
 
     bool isNeedClip_ = false;
+
+protected:
+    UIViewGroup* container_ = nullptr;
+
+private:
+    bool isStarted_ = false;
 };
 }
 #endif
index 77d459e..e555630 100755 (executable)
@@ -219,6 +219,7 @@ public:
     }
 
 private:
+    using UIViewGroup::Remove;
     uint16_t blurRadius_ = 10;
     void UpdateCardPageIndex();
     static constexpr uint16_t INVALID_VIEW_INDEX = 0xff;
@@ -236,6 +237,7 @@ private:
     UISwipeView::OnSwipeListener *swipeListener_ = nullptr;
     bool isNeedClip_ = false;
     std::shared_ptr<bool> exists_;
+    bool waitProcessRes_ = false;
 
     void RemoveAllInner(UISwipeView& view);
     void ProcessRes(void);
index 6ff2e11..410cbb4 100644 (file)
@@ -71,7 +71,6 @@ public:
 private:\r
     void ReMeasure() override;\r
     void DeleteMirrorView();\r
-    TransformMap labelTextTransMap_;\r
 };\r
 } // namespace OHOS\r
 #endif // GRAPHIC_UI_TRANSFORM_GROUP_H
\ No newline at end of file
index 77679c6..9bd12fb 100755 (executable)
@@ -41,20 +41,25 @@ UIMenuItem::~UIMenuItem()
 void UIMenuItem::SetScaleCenter()\r
 {\r
     int16_t itemOrigX = GetContentRect().GetX();\r
+    int16_t itemOrigY = GetContentRect().GetY();\r
     if (transAlignMode_ == ScaleAlignMode::ALIGN_TEXT_LEFT) {\r
         textScaleCenter_ = Vector2<float>{0.0, textOrigRect_.GetHeight() / 2.0f};\r
-        imgScaleCenter_ = Vector2<float>{textOrigRect_.GetLeft() - imgOrigRect_.GetLeft(), textScaleCenter_.y_};\r
-        itemScaleCenter_ = Vector2<float>{textOrigRect_.GetLeft() - itemOrigX, textScaleCenter_.y_};\r
+        imgScaleCenter_ = Vector2<float>{textOrigRect_.GetLeft() - imgOrigRect_.GetLeft(),\r
+            textOrigRect_.GetTop() + textScaleCenter_.y_ - imgOrigRect_.GetTop()};\r
+        itemScaleCenter_ = Vector2<float>{textOrigRect_.GetLeft() - itemOrigX,\r
+            textOrigRect_.GetTop() + textScaleCenter_.y_ - itemOrigY};\r
     } else if (transAlignMode_ == ScaleAlignMode::ALIGN_IMAGE_LEFT) {\r
         imgScaleCenter_ = Vector2<float>{0.0, imgOrigRect_.GetHeight() / 2.0f};\r
-        textScaleCenter_ = Vector2<float>{imgOrigRect_.GetLeft() - textOrigRect_.GetLeft(), imgScaleCenter_.y_};\r
-        itemScaleCenter_ = Vector2<float>{imgOrigRect_.GetLeft() - itemOrigX, imgScaleCenter_.y_};\r
+        textScaleCenter_ = Vector2<float>{imgOrigRect_.GetLeft() - textOrigRect_.GetLeft(),\r
+            imgOrigRect_.GetTop() + imgScaleCenter_.y_ - textOrigRect_.GetTop()};\r
+        itemScaleCenter_ = Vector2<float>{imgOrigRect_.GetLeft() - itemOrigX,\r
+            imgOrigRect_.GetTop() + imgScaleCenter_.y_ - itemOrigY};\r
     } else if (transAlignMode_ == ScaleAlignMode::ALIGN_ITEM_CENTER) {\r
         itemScaleCenter_ = Vector2<float>{GetWidth() / 2.0f, GetHeight() / 2.0f};\r
         textScaleCenter_ = Vector2<float>{itemOrigX + itemScaleCenter_.x_ - textOrigRect_.GetLeft(),\r
-            itemScaleCenter_.y_};\r
+            itemOrigY + itemScaleCenter_.y_ - textOrigRect_.GetTop()};\r
         imgScaleCenter_ = Vector2<float>{itemOrigX + itemScaleCenter_.x_ - imgOrigRect_.GetLeft(),\r
-            itemScaleCenter_.y_};\r
+            itemOrigY + itemScaleCenter_.y_ - imgOrigRect_.GetTop()};\r
     }\r
 }\r
 \r
@@ -99,7 +104,7 @@ void UIMenuItem::ReMeasure()
     if (label_ != nullptr) {\r
         transMap.SetTransMapRect(textOrigRect_);\r
         transMap.Scale(transMap.GetScaleCoef(), Vector3<float>{textScaleCenter_.x_, textScaleCenter_.y_, 0.0});\r
-        label_->SetTextTransformMap(transMap);\r
+        label_->SetTransformMap(transMap);\r
     }\r
 }\r
 \r
index a672154..6284392 100755 (executable)
@@ -58,6 +58,16 @@ public:
         swipeCallback_ = callback;
     }
 
+    /* *
+     * @brief Return swipe callback.
+     * @since 1.0
+     * @version 1.0
+     */
+    CardSwipe* GetSwipeCallback()
+    {
+        return swipeCallback_;
+    }
+
     /* *
      * @brief Set the start point for drag.
      * @since 1.0
index 2820da3..251cfa2 100755 (executable)
@@ -13,7 +13,7 @@ namespace OHOS {
 static constexpr int16_t CAMERA_DISTANCE = 600;
 static constexpr int16_t EASE_RANGE = 100;
 
-void CardFlipEffect::OnSwipe(UISwipeView& view)
+void CardFlipEffect::StopEffect()
 {
     if (preLeftCard != nullptr) {
         preLeftCard->SetVisible(true);
@@ -23,6 +23,8 @@ void CardFlipEffect::OnSwipe(UISwipeView& view)
         visibleCard_ = nullptr;
         container_->UIViewGroup::Remove(&img_);
     }
+
+    CardSwipe::StopEffect();
 }
 
 void CardFlipEffect::CommonAlg(UIView* leftCard, UIView* rightCard, int16_t xOffset)
@@ -106,11 +108,13 @@ void CardFlipEffect::CommonAlg(UIView* leftCard, UIView* rightCard, int16_t xOff
 
 void CardFlipEffect::CardSwipeAlg(UICardPage* leftCard, UICardPage* rightCard, int16_t xOffset)
 {
+    CardSwipe::CardSwipeAlg(leftCard, rightCard, xOffset);
     CommonAlg(leftCard, rightCard, xOffset);
 }
 
 void CardFlipEffect::CardSwipeAlg(UIImageView* leftCard, UIImageView* rightCard, int16_t xOffset)
 {
+    CardSwipe::CardSwipeAlg(leftCard, rightCard, xOffset);
     CommonAlg(leftCard, rightCard, xOffset);
 }
 }
index 14a06be..cb3a34d 100755 (executable)
 #include "components/ui_cross_view.h"
 
 namespace OHOS {
-class CardFlipEffect : public CardSwipe, public UISwipeView::OnSwipeListener {
+class CardFlipEffect : public CardSwipe {
 public:
     CardFlipEffect(void) {}
     ~CardFlipEffect() override {}
     void CardSwipeAlg(UICardPage* leftCard, UICardPage* rightCard, int16_t xOffset) override;
     void CardSwipeAlg(UIImageView* leftCard, UIImageView* rightCard, int16_t xOffset) override;
-    void OnSwipe(UISwipeView& view) override;
-    void SetContainer(UICrossView* view)
-    {
-        container_ = view;
-    }
+    void StopEffect() override;
 
 private:
     UIImageView img_;
     UIView* visibleCard_ = nullptr;
     UIView* preLeftCard = nullptr;
     UIView* preRightCard = nullptr;
-    UICrossView* container_ = nullptr;
 
     void CommonAlg(UIView* leftCard, UIView* rightCard, int16_t xOffset);
 };
index 748f45e..93ac2ca 100644 (file)
@@ -23,7 +23,7 @@ static constexpr int16_t CAMERA_DISTANCE = 500;
 static constexpr int16_t ROTATE_RANGE_MAX = 90;
 }
 
-void CubeEffect::OnSwipe(UISwipeView& view)
+void CubeEffect::StopEffect()
 {
     if (preLeftCard != nullptr) {
         preLeftCard->ResetTransParameter();
@@ -38,6 +38,8 @@ void CubeEffect::OnSwipe(UISwipeView& view)
         container_->UIViewGroup::Remove(&rightImg_);
         rightImg_.ResetTransParameter();
     }
+
+    CardSwipe::StopEffect();
 }
 
 void CubeEffect::TransformCard(UIView* leftCard, UIView* rightCard, int16_t xOffset)
@@ -152,11 +154,13 @@ void CubeEffect::CommonAlg(UIView* leftCard, UIView* rightCard, int16_t xOffset)
 
 void CubeEffect::CardSwipeAlg(UIImageView* leftCard, UIImageView* rightCard, int16_t xOffset)
 {
+    CardSwipe::CardSwipeAlg(leftCard, rightCard, xOffset);
     CommonAlg(leftCard, rightCard, xOffset);
 }
 
 void CubeEffect::CardSwipeAlg(UICardPage* leftCard, UICardPage* rightCard, int16_t xOffset)
 {
+    CardSwipe::CardSwipeAlg(leftCard, rightCard, xOffset);
     CommonAlg(leftCard, rightCard, xOffset);
 }
 }
index 751d99e..34659ac 100644 (file)
 #include "components/ui_cross_view.h"
 
 namespace OHOS {
-class CubeEffect : public CardSwipe, public UISwipeView::OnSwipeListener {
+class CubeEffect : public CardSwipe {
 public:
     CubeEffect(void) {}
     ~CubeEffect() override {}
     void CardSwipeAlg(UICardPage* leftCard, UICardPage* rightCard, int16_t xOffset) override;
     void CardSwipeAlg(UIImageView* leftCard, UIImageView* rightCard, int16_t xOffset) override;
-    void OnSwipe(UISwipeView& view) override;
-
-    void SetContainer(UICrossView* view)
-    {
-        container_ = view;
-    }
+    void StopEffect() override;
 
 private:
     UIImageView leftImg_;
     UIImageView rightImg_;
     UIView* preLeftCard = nullptr;
     UIView* preRightCard = nullptr;
-    UICrossView* container_ = nullptr;
 
     void CommonAlg(UIView* leftCard, UIView* rightCard, int16_t xOffset);
     void TransformCard(UIView* leftCard, UIView* rightCard, int16_t xOffset);
index 79ac0ce..6469cf9 100755 (executable)
@@ -8,7 +8,7 @@
 #include "imgdecode/image_load.h"
 
 namespace OHOS {
-void TurnPageEffect::OnSwipe(UISwipeView& view)
+void TurnPageEffect::StopEffect()
 {
     if (preLeftCard != nullptr) {
         RemoveFromContainer();
@@ -20,6 +20,8 @@ void TurnPageEffect::OnSwipe(UISwipeView& view)
 
         FreeInfo();
     }
+
+    CardSwipe::StopEffect();
 }
 
 void TurnPageEffect::CommonAlg(UIView* leftCard, UIView* rightCard, int16_t xOffset)
@@ -54,11 +56,13 @@ void TurnPageEffect::CommonAlg(UIView* leftCard, UIView* rightCard, int16_t xOff
 
 void TurnPageEffect::CardSwipeAlg(UICardPage* leftCard, UICardPage* rightCard, int16_t xOffset)
 {
+    CardSwipe::CardSwipeAlg(leftCard, rightCard, xOffset);
     CommonAlg(leftCard, rightCard, xOffset);
 }
 
 void TurnPageEffect::CardSwipeAlg(UIImageView* leftCard, UIImageView* rightCard, int16_t xOffset)
 {
+    CardSwipe::CardSwipeAlg(leftCard, rightCard, xOffset);
     CommonAlg(leftCard, rightCard, xOffset);
 }
 
index 9a21bcf..475a6a9 100755 (executable)
@@ -12,7 +12,7 @@
 #include "components/ui_cross_view.h"
 
 namespace OHOS {
-class TurnPageEffect : public CardSwipe, public UISwipeView::OnSwipeListener {
+class TurnPageEffect : public CardSwipe {
 public:
     TurnPageEffect(void)
     {
@@ -24,11 +24,7 @@ public:
     }
     void CardSwipeAlg(UICardPage* leftCard, UICardPage* rightCard, int16_t xOffset) override;
     void CardSwipeAlg(UIImageView* leftCard, UIImageView* rightCard, int16_t xOffset) override;
-    void OnSwipe(UISwipeView& view) override;
-    void SetContainer(UICrossView* view)
-    {
-        container_ = view;
-    }
+    void StopEffect() override;
 
 private:
     TurnPageView turnPageView_;
@@ -37,7 +33,6 @@ private:
     bool added_ = false;
     UIView* preLeftCard = nullptr;
     UIView* preRightCard = nullptr;
-    UICrossView* container_ = nullptr;
     ImageInfo *leftInfo_ = nullptr;
     ImageInfo *rightInfo_ = nullptr;
     bool lastPage_ = false; // false for left, true for right
index b13870b..17426eb 100644 (file)
@@ -92,7 +92,16 @@ void TurnPageView::DrawPartialRect(BufferInfo& gfxDstBuffer, const Rect& invalid
     opt.opacity = opa;
     src.rect = transform.GetTransMapRect();
 
-    opt.transMap.SetMatrix(transform.GetTransformMatrix());
+    Matrix4<float> matrix = transform.GetTransformMatrix();
+    opt.transMap.SetMatrix(matrix);
+    // adjust src rect using dstRect for only translate matrix
+    if (FloatEqual(matrix[0][0], 1.0f) && FloatEqual(matrix[0][1], 0.0f) &&
+        FloatEqual(matrix[0][3], 0.0f) && FloatEqual(matrix[1][0], 0.0f) && // 3: index
+        FloatEqual(matrix[1][1], 1.0f) && FloatEqual(matrix[1][3], 0.0f) && // 3: index
+        FloatEqual(matrix[3][3], 1.0f)) { // 3: index
+        src.rect.SetWidth(dstRect.GetWidth());
+        src.rect.SetHeight(dstRect.GetHeight());
+    }
     BaseGfxEngine::GetInstance()->Blit(gfxDstBuffer, {0, 0}, src, dstRect, opt);
 }
 
index a775595..8b76b6a 100755 (executable)
@@ -10,7 +10,7 @@
 #include "zoom_effect.h"
 
 namespace OHOS {
-void ZoomEffect::OnSwipe(UISwipeView& view)
+void ZoomEffect::StopEffect()
 {
     if (preLeftCard != nullptr) {
         preLeftCard->ResetTransParameter();
@@ -21,6 +21,8 @@ void ZoomEffect::OnSwipe(UISwipeView& view)
         preRightCard->ResetTransParameter();
         preRightCard = nullptr;
     }
+
+    CardSwipe::StopEffect();
 }
 
 void ZoomEffect::CommonAlg(UIView* leftCard, UIView* rightCard, int16_t xOffset)
@@ -67,11 +69,13 @@ void ZoomEffect::CommonAlg(UIView* leftCard, UIView* rightCard, int16_t xOffset)
 
 void ZoomEffect::CardSwipeAlg(UICardPage* leftCard, UICardPage* rightCard, int16_t xOffset)
 {
+    CardSwipe::CardSwipeAlg(leftCard, rightCard, xOffset);
     CommonAlg(leftCard, rightCard, xOffset);
 }
 
 void ZoomEffect::CardSwipeAlg(UIImageView* leftCard, UIImageView* rightCard, int16_t xOffset)
 {
+    CardSwipe::CardSwipeAlg(leftCard, rightCard, xOffset);
     CommonAlg(leftCard, rightCard, xOffset);
 }
 }
index 2787f1e..64d414a 100755 (executable)
 #include "components/ui_cross_view.h"
 
 namespace OHOS {
-class ZoomEffect : public CardSwipe, public UISwipeView::OnSwipeListener {
+class ZoomEffect : public CardSwipe {
 public:
     ZoomEffect(void) {}
     ~ZoomEffect() override {}
     void CardSwipeAlg(UICardPage* leftCard, UICardPage* rightCard, int16_t xOffset) override;
     void CardSwipeAlg(UIImageView* leftCard, UIImageView* rightCard, int16_t xOffset) override;
-    void OnSwipe(UISwipeView& view) override;
+    void StopEffect() override;
 
 private:
     UIView* preLeftCard = nullptr;
index c3730a2..14f2bc7 100755 (executable)
@@ -41,7 +41,6 @@ void SwipeListener::OnSwipe(UISwipeView& view)
     UNUSED(view);
     int page = UITestClockDial::GetInstance()->GetHorCurrentPage();
     UITestClockDial::GetInstance()->PreLoad(page);
-    calback_->OnSwipe(view);
     return;
 }
 
@@ -65,15 +64,16 @@ void UITestClockDial::SetUp()
         return;
     }
 
-    if (calback == nullptr) {
-        calback = new ZoomEffect();
-        if (calback == nullptr) {
+    if (callback == nullptr) {
+        callback = new ZoomEffect();
+        if (callback == nullptr) {
             delete mainSwipeGroup;
             mainSwipeGroup = nullptr;
-            GRAPHIC_LOGE("SwipeCallback new fail\n");
+            GRAPHIC_LOGE("callback new fail\n");
             return;
         }
     }
+    callback->SetContainer(mainSwipeGroup);
 
     HorizontalViewInit();
     HorViewLoad();
@@ -83,7 +83,7 @@ void UITestClockDial::SetUp()
     mainSwipeGroup->SetAnimatorTime(50); // 50: animator drag time(ms);
     mainSwipeGroup->SetLoopState(true);
     mainSwipeGroup->EnableScreenCap(true);
-    mainSwipeGroup->RegisterSwipeCallback(calback);
+    mainSwipeGroup->RegisterSwipeCallback(callback);
     mainSwipeGroup->SetHorCurrentPage(mainClockView->GetViewIndex());
 }
 
@@ -143,6 +143,11 @@ void UITestClockDial::TearDown()
         delete listener;
         listener = nullptr;
     }
+
+    if (callback != nullptr) {
+        delete callback;
+        callback = nullptr;
+    }
 }
 
 const UIView* UITestClockDial::GetTestView()
@@ -175,7 +180,6 @@ bool UITestClockDial::HorizontalViewInit(void)
         pageStatus[maxPage - 1] = true;
     }
     listener = new SwipeListener();
-    listener->SetCallback(calback);
     mainSwipeGroup->SetOnSwipeListener(listener);
     GRAPHIC_LOGD("UITestClockDial::InitPage over\n");
     return true;
index 00d6e63..5ff88ff 100755 (executable)
@@ -40,13 +40,6 @@ public:
     SwipeListener(void) {}
     ~SwipeListener() override {}
     void OnSwipe(UISwipeView& view) override;
-
-    void SetCallback(ZoomEffect* calback)
-    {
-        calback_ = calback;
-    }
-private:
-    ZoomEffect* calback_{nullptr};
 };
 
 class UITestClockDial : public UITest {
@@ -88,7 +81,7 @@ private:
     bool pageStatus[static_cast<uint32_t>(CardId::MAX_CARD)]{false};
     UICrossView *mainSwipeGroup{nullptr};
     SwipeListener *listener{nullptr};
-    ZoomEffect* calback{nullptr};
+    ZoomEffect* callback{nullptr};
 
     bool HorizontalViewInit(void);
     void VerticalViewInit(void);
index dfbba8e..ecd8083 100755 (executable)
@@ -248,7 +248,6 @@ void UITestCross::SetUp()
     container_->SetLoopState(true);
     container_->EnableScreenCap(true);
     container_->RegisterSwipeCallback(callback_);
-    container_->SetOnSwipeListener(callback_);
 #ifdef _WIN32
     container_->SetHorCurrentPage(card1_->GetViewIndex());
     card1_->SetCoverable(true);
index dff318e..4c487a6 100644 (file)
 namespace OHOS {\r
 class ItemContainer : public UITransformGroup {\r
 public:\r
-    ItemContainer() : image_(nullptr), label_(nullptr)\r
+    ItemContainer() : leftImg_(nullptr), label_(nullptr), rightImg_(nullptr)\r
     {\r
         SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);\r
     }\r
 \r
     ~ItemContainer() override\r
+    {\r
+        ClearRes();\r
+    }\r
+\r
+    void ClearRes()\r
     {\r
         RemoveAll();\r
-        if (image_ != nullptr) {\r
-            delete image_;\r
-            image_ = nullptr;\r
+        if (leftImg_ != nullptr) {\r
+            delete leftImg_;\r
+            leftImg_ = nullptr;\r
         }\r
         if (label_ != nullptr) {\r
             delete label_;\r
             label_ = nullptr;\r
         }\r
+        if (rightImg_ != nullptr) {\r
+            delete rightImg_;\r
+            rightImg_ = nullptr;\r
+        }\r
     }\r
 \r
     bool InitContainer()\r
     {\r
-        if (image_ == nullptr) {\r
-            image_ = new UIImageView();\r
-            if (image_ == nullptr) {\r
+        if (leftImg_ == nullptr) {\r
+            leftImg_ = new UIImageView();\r
+            if (leftImg_ == nullptr) {\r
                 return false;\r
             }\r
         }\r
-        image_->SetResizeMode(UIImageView::ImageResizeMode::CENTER);\r
+        leftImg_->SetResizeMode(UIImageView::ImageResizeMode::CENTER);\r
 \r
         if (label_ == nullptr) {\r
             label_ = new UILabelExt();\r
             if (label_ == nullptr) {\r
-                delete image_;\r
-                image_ = nullptr;\r
+                ClearRes();\r
                 return false;\r
             }\r
         }\r
         label_->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);\r
         label_->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 40);  // 40: item font size\r
 \r
+        if (rightImg_ == nullptr) {\r
+            rightImg_ = new UIImageView();\r
+            if (rightImg_ == nullptr) {\r
+                ClearRes();\r
+                return false;\r
+            }\r
+        }\r
+        rightImg_->SetResizeMode(UIImageView::ImageResizeMode::CENTER);\r
+\r
         Add(label_);\r
-        Add(image_);\r
+        Add(leftImg_);\r
+        Add(rightImg_);\r
         return true;\r
     }\r
 \r
-    UIImageView* GetImageView()\r
+    UIImageView* GetLeftImageView()\r
     {\r
-        return image_;\r
+        return leftImg_;\r
     }\r
 \r
     UILabelExt* GetLabelView()\r
@@ -79,11 +97,18 @@ public:
         return label_;\r
     }\r
 \r
+    UIImageView* GetRightImgView()\r
+    {\r
+        return rightImg_;\r
+    }\r
+\r
     ItemContainer(const ItemContainer &) = delete;\r
     ItemContainer &operator=(const ItemContainer &) = delete;\r
+\r
 private:\r
-    UIImageView* image_;\r
+    UIImageView* leftImg_;\r
     UILabelExt* label_;\r
+    UIImageView* rightImg_;\r
 };\r
 \r
 ScaleItemAdapter::~ScaleItemAdapter()\r
@@ -182,29 +207,43 @@ UIView* ScaleItemAdapter::GetView(UIView* inView, int16_t index)
         }\r
         item->Resize(width_, height_);\r
 \r
-        UIImageView* image = item->GetImageView();\r
-        image->SetPosition(imageRect_.GetX(), imageRect_.GetY(), imageRect_.GetWidth(), imageRect_.GetHeight());\r
+        UIImageView* leftImg = item->GetLeftImageView();\r
+        leftImg->SetPosition(imageRect_.GetX(), imageRect_.GetY(), imageRect_.GetWidth(), imageRect_.GetHeight());\r
 \r
         UILabelExt* label = item->GetLabelView();\r
         label->SetPosition(labelRect_.GetX(), labelRect_.GetY(), labelRect_.GetWidth(), labelRect_.GetHeight());\r
+\r
+        UIImageView* rightImg = item->GetRightImgView();\r
+        rightImg->SetPosition(labelRect_.GetX() + labelRect_.GetWidth(),\r
+            imageRect_.GetY(), imageRect_.GetWidth(), imageRect_.GetHeight());\r
     } else {\r
         item = static_cast<ItemContainer*>(inView);\r
     }\r
 \r
     if (item != nullptr) {\r
-        if (node->data_->imgInfo == nullptr) {\r
-            node->data_->imgInfo = ImageCacheManager::GetInstance().LoadOneInMultiRes(node->data_->resId, LIST_FPS);\r
-        }\r
-        UIImageView* image = item->GetImageView();\r
-        if (image != nullptr) {\r
-            image->SetSrc(node->data_->imgInfo);\r
+        UIImageView* leftImg = item->GetLeftImageView();\r
+        if (leftImg != nullptr) {\r
+            if (node->data_->imgInfo == nullptr) {\r
+                node->data_->imgInfo = ImageCacheManager::GetInstance().LoadOneInMultiRes(node->data_->resId, LIST_FPS);\r
+            }\r
+            leftImg->SetSrc(node->data_->imgInfo);\r
         }\r
+\r
         UILabelExt* label = item->GetLabelView();\r
         if (label != nullptr) {\r
             label->SetText(node->data_->txt);\r
             label->SetLineBreakMode(node->data_->lineBreakMode);\r
             label->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
         }\r
+\r
+        UIImageView* rightImg = item->GetRightImgView();\r
+        if (rightImg != nullptr) {\r
+            if (arrowImg_ == nullptr) {\r
+                arrowImg_ = ImageCacheManager::GetInstance().LoadSingleRes(RES_PATH"left_arrow.bin");\r
+            }\r
+            rightImg->SetSrc(arrowImg_);\r
+        }\r
+\r
         item->SetViewIndex(index);\r
     }\r
     return item;\r
index bd1c5e9..b8053b1 100644 (file)
@@ -28,7 +28,7 @@ struct ItemDataNode {
 \r
 class ScaleItemAdapter : public AbstractAdapter {\r
 public:\r
-    ScaleItemAdapter() : width_(0), height_(0) {}\r
+    ScaleItemAdapter() : width_(0), height_(0), arrowImg_(nullptr) {}\r
     ~ScaleItemAdapter() override;\r
 \r
     UIView* GetView(UIView* inView, int16_t index) override;\r
@@ -46,6 +46,7 @@ private:
     uint16_t height_;\r
     Rect imageRect_;\r
     Rect labelRect_;\r
+    ImageInfo* arrowImg_;\r
 };\r
 } // namespace OHOS\r
 #endif // SCALE_ITEM_ADAPTER_H\r
index 30cef91..1e0005a 100644 (file)
@@ -23,9 +23,9 @@ static const int16_t LIST_WIDTH = 454;
 static const int16_t LIST_HEIGHT = 454;\r
 static const uint16_t ITEM_WIDTH = 400;\r
 static const uint16_t ITEM_HEIGHT = 100;\r
-static const uint16_t IMAGE_WIDTH = 100;\r
-static const uint16_t IMAGE_HEIGHT = 100;\r
-static const uint16_t LABEL_WIDTH = 350;\r
+static const uint16_t IMAGE_WIDTH = 50;\r
+static const uint16_t IMAGE_HEIGHT = 50;\r
+static const uint16_t LABEL_WIDTH = 300;\r
 static const uint16_t LABEL_HEIGHT = 100;\r
 static const uint16_t SCALE_FACTOR = 400;\r
 static ItemDataNode g_itemNode[] = {\r
@@ -116,7 +116,7 @@ void UITestScaleList::UIScaleListTest()
     }\r
     adapter_->ItemResize(ITEM_WIDTH, ITEM_HEIGHT);\r
     adapter_->SetLabelPosition(IMAGE_WIDTH, 0, LABEL_WIDTH, LABEL_HEIGHT);\r
-    adapter_->SetImagePosition(0, 0, IMAGE_WIDTH, IMAGE_HEIGHT);\r
+    adapter_->SetImagePosition(0, 25, IMAGE_WIDTH, IMAGE_HEIGHT); // 25:image start pos y\r
     adapter_->SetData(data_);\r
 \r
     if (list_ == nullptr) {\r
index 4fd1de0..8b94c25 100755 (executable)
@@ -234,11 +234,11 @@ void Text::Draw(BufferInfo& gfxDstBuffer,
     }
     OpacityType opa = DrawUtils::GetMixOpacity(opaScale, style.textOpa_);
     for (int i = 0; i < lineCount; i++) {
-        if (pos.y > mask.GetBottom()) {
+        if (pos.y > coords.GetBottom()) {
             return;
         }
         int16_t nextLine = pos.y + lineHeight;
-        if (nextLine >= mask.GetTop()) {
+        if (nextLine >= coords.GetTop()) {
             pos.x = LineStartPos(coords, textLine_[i].linePixelWidth);
             LabelLineInfo labelLine{pos, offset, mask, lineHeight, textLine_[i].lineBytes,
                                     0, opa, style, &text_[lineBegin], textLine_[i].lineBytes,
index 958253c..b2f1514 100755 (executable)
  * limitations under the License.
  */
 
+#include <cmath>
 #include "hal_tick.h"
 #include "components/ui_label.h"
 #include "font/ui_font.h"
 #include "gfx_utils/graphic_log.h"
 #include "themes/theme_manager.h"
-#include "cmath"
 
 namespace OHOS {
 class LabelAnimator : public Animator, public AnimatorCallback {
@@ -137,7 +137,6 @@ private:
         uint32_t time = HALTick::GetInstance().GetElapseTime(startTime_);
         float x0 = startPos_;
         float x1 = 1.0 * labelWidth_ - textWidth_;
-#if 1
         float factor = 1000; // 1000: slow down the speed
         float v = speed_ / factor;
         v = x1 - x0 > 0 ? v : -v;
@@ -151,31 +150,12 @@ private:
         } else {
             x = -v * (t - t1) + x1;
         }
-#else
-        float factor = 200000; // slow down the speed
-        float t = time * speed_ / factor;
-        float t1 = 1.0;
-        float period = 2.0;
-        while (t < 0) {
-            t += period;
-        }
-        while (t > period) {
-            t -= period;
-        }
-        float x = 0;
-        if (t >=0 && t < t1) {
-            x = (x1 - x0) * t / t1 + x0;
-        } else {
-            x = (x0 - x1) * (t - t1) / t1 + x1;
-        }
-#endif
 
         UILabel *label = dynamic_cast<UILabel*>(view);
         if (label != nullptr) {
             label->offsetX_ = MATH_ROUND(x);
             label->Invalidate();
         }
-        // printf("offsetX: %d time %d\n", label->offsetX_, time);
     }
 
     static constexpr uint8_t ANIM_WAIT_COUNT = 50;
@@ -351,13 +331,6 @@ void UILabel::SetHeight(int16_t height)
         RefreshLabel();
     }
 }
-
-void UILabel::SetTextTransformMap(TransformMap& transMap)
-{
-    InitLabelText();
-    labelText_->SetTransformMap(transMap);
-}
-
 void UILabel::RefreshLabel()
 {
     Invalidate();
@@ -488,11 +461,20 @@ void UILabel::SetRollSpeed(uint16_t speed)
 void UILabel::OnDraw(BufferInfo& gfxDstBuffer, const Rect& invalidatedArea)
 {
     InitLabelText();
-    UIView::OnDraw(gfxDstBuffer, invalidatedArea);
+    uint8_t opa = GetMixOpaScale();
+    BaseGfxEngine::GetInstance()->DrawRect(gfxDstBuffer, GetRect(), invalidatedArea, *style_, opa);
     Style style = GetStyleConst();
     style.textColor_ = GetTextColor();
-    OpacityType opa = GetMixOpaScale();
+    Rect origContentRect = GetOrigRect();
+    if (transMap_ != nullptr) {
+        transMap_->SetTransMapRect(origContentRect);
+        labelText_->SetTransformMap(*transMap_);
+    }
+    origContentRect.SetX(origContentRect.GetX() + style_->paddingLeft_ + style_->borderWidth_);
+    origContentRect.SetY(origContentRect.GetY() + style_->paddingTop_ + style_->borderWidth_);
+    origContentRect.SetWidth(GetWidth());
+    origContentRect.SetHeight(GetHeight());
     labelText_->OnDraw(gfxDstBuffer, invalidatedArea, GetOrigRect(),
-                       GetContentRect(), offsetX_, style, ellipsisIndex_, opa);
+                       origContentRect, offsetX_, style, ellipsisIndex_, opa);
 }
 } // namespace OHOS
\ No newline at end of file
index 943688d..3a10115 100755 (executable)
@@ -303,7 +303,12 @@ void DrawUtils::DrawLetterVectorPath(BufferInfo& gfxDstBuffer, const LabelLetter
         originX = originX - path.advance;
         posX = posX - path.advance;
     }
-    if ((posX + letterW < letterInfo.mask.GetLeft()) || (posX > letterInfo.mask.GetRight()) ||
+
+    if (letterInfo.transMap != nullptr) {
+        if (!letterInfo.transMap->GetBoxRect().IsIntersect(letterInfo.mask)) {
+            return;
+        }
+    } else if ((posX + letterW < letterInfo.mask.GetLeft()) || (posX > letterInfo.mask.GetRight()) ||
         (posY + letterH < letterInfo.mask.GetTop()) || (posY > letterInfo.mask.GetBottom())) {
         return;
     }
index b3c67eb..af4e3c7 100755 (executable)
@@ -410,15 +410,6 @@ public:
      */
     void SetHeight(int16_t height) override;
 
-    /**
-     * @brief Sets the transform for this label text.
-     *
-     * @param transMap Indicates the transformation matrix.
-     * @since 1.0
-     * @version 1.0
-     */
-    void SetTextTransformMap(TransformMap& transMap);
-
     void ReMeasure() override;
 
     std::string GetGuiInfo() const override;
index e3ea34f..382a069 100755 (executable)
@@ -232,28 +232,28 @@ static StrategyConfig g_defaultInputStrategies[] = {
 };
 
 static AudioStrategy g_defaultPriorityToStrategies[][OUTPUT_STRATEGY_MAP_COLUMN_SIZE] = {
-    {STRATEGY_NONE,         STRATEGY_REJECT,    STRATEGY_REJECT,    STRATEGY_REJECT,    STRATEGY_REJECT,
+    {STRATEGY_NONE,         STRATEGY_REJECT,    STRATEGY_MIX,       STRATEGY_REJECT,    STRATEGY_REJECT,
         STRATEGY_REJECT,    STRATEGY_REJECT,    STRATEGY_REJECT,    STRATEGY_REJECT,    STRATEGY_DELAY, STRATEGY_DELAY},
     {STRATEGY_EXCLUSIVE,    STRATEGY_NONE,      STRATEGY_MIX,       STRATEGY_REJECT,    STRATEGY_REJECT,
         STRATEGY_REJECT,    STRATEGY_REJECT,    STRATEGY_MIX,       STRATEGY_MIX,       STRATEGY_DELAY, STRATEGY_DELAY},
-    {STRATEGY_EXCLUSIVE,    STRATEGY_EXCLUSIVE, STRATEGY_NONE,      STRATEGY_REJECT,    STRATEGY_REJECT,
+    {STRATEGY_EXCLUSIVE,    STRATEGY_MIX,       STRATEGY_NONE,      STRATEGY_REJECT,    STRATEGY_REJECT,
         STRATEGY_MIX,       STRATEGY_REJECT,    STRATEGY_MIX,       STRATEGY_MIX,       STRATEGY_DELAY, STRATEGY_DELAY},
     {STRATEGY_EXCLUSIVE,    STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE, STRATEGY_NONE,      STRATEGY_REJECT,
         STRATEGY_MIX,       STRATEGY_REJECT,    STRATEGY_MIX,       STRATEGY_MIX,       STRATEGY_DELAY, STRATEGY_DELAY},
     {STRATEGY_EXCLUSIVE,    STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE, STRATEGY_NONE,
-        STRATEGY_MIX,       STRATEGY_REJECT,    STRATEGY_MIX,       STRATEGY_MIX,       STRATEGY_MIX, STRATEGY_MIX},
+        STRATEGY_MIX,       STRATEGY_REJECT,    STRATEGY_MIX,       STRATEGY_MIX,       STRATEGY_MIX,   STRATEGY_MIX},
     {STRATEGY_EXCLUSIVE,    STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE,
-        STRATEGY_NONE,      STRATEGY_REJECT,    STRATEGY_MIX,       STRATEGY_MIX,      STRATEGY_REJECT, STRATEGY_DELAY},
+        STRATEGY_NONE,      STRATEGY_REJECT,    STRATEGY_MIX,       STRATEGY_MIX,    STRATEGY_REJECT, STRATEGY_DELAY},
+    {STRATEGY_EXCLUSIVE,    STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE,
+        STRATEGY_EXCLUSIVE, STRATEGY_NONE,      STRATEGY_MIX,       STRATEGY_MIX,    STRATEGY_REJECT, STRATEGY_DELAY},
     {STRATEGY_EXCLUSIVE,    STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE,
-        STRATEGY_EXCLUSIVE, STRATEGY_NONE,      STRATEGY_MIX,       STRATEGY_MIX,      STRATEGY_REJECT, STRATEGY_DELAY},
-    {STRATEGY_EXCLUSIVE,    STRATEGY_MIX, STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE,
         STRATEGY_EXCLUSIVE, STRATEGY_MIX,       STRATEGY_NONE,      STRATEGY_MIX,       STRATEGY_MIX,   STRATEGY_MIX},
     {STRATEGY_EXCLUSIVE,    STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE,
         STRATEGY_EXCLUSIVE, STRATEGY_MIX,       STRATEGY_MIX,       STRATEGY_NONE,      STRATEGY_MIX,   STRATEGY_MIX},
     {STRATEGY_EXCLUSIVE,    STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE,
-        STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE, STRATEGY_MIX,   STRATEGY_MIX,  STRATEGY_NONE,  STRATEGY_EXCLUSIVE},
+     STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE, STRATEGY_MIX,       STRATEGY_MIX,       STRATEGY_NONE, STRATEGY_EXCLUSIVE},
     {STRATEGY_EXCLUSIVE,    STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE,
-        STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE, STRATEGY_MIX,       STRATEGY_MIX,      STRATEGY_REJECT, STRATEGY_NONE},
+        STRATEGY_EXCLUSIVE, STRATEGY_EXCLUSIVE, STRATEGY_MIX,       STRATEGY_MIX,       STRATEGY_REJECT, STRATEGY_NONE},
 };
 
 static AudioStrategy g_defaultInputPriorityToStrategies[][INPUT_STRATEGY_MAP_COLUMN_SIZE] = {
index ee97596..ccc6cc1 100755 (executable)
@@ -668,6 +668,11 @@ static int32_t GetRoutedDeviceForStream(AudioRoutedStreamDescriptor *routedStrea
 \r
 static void GetMixWeight(InterruptElement *interruptEl, float materStreamTypeVolume)\r
 {\r
+    // 如果是来电铃声则不进行声音的削弱,保证和通话都同时混音存在\r
+    if (interruptEl->routedStreamDesc.streamDesc.streamType == AUDIO_STREAM_RING) {\r
+        interruptEl->routedStreamDesc.mixWeight = 1;\r
+        return;\r
+    }\r
     float curStreamTypeVolume = interruptEl->routedStreamDesc.streamDesc.streamTypeVolume;\r
     if (!StreamMgrGetTypeVolume(interruptEl->streamType, &curStreamTypeVolume)) {\r
         ALOGI("get nv volume failed!, streamType:%x", interruptEl->streamType);\r
@@ -731,7 +736,9 @@ static void DeleteDelayStreamFromList(const InterruptElement *interruptEl, List
 {\r
     for (ListIterator it = ListIterBegin(list); it != ListIterEnd(list);) {\r
         InterruptElement *curInterruptEl = (InterruptElement *)ListIterData(it);\r
-        if (curInterruptEl->streamType ==  interruptEl->streamType) {\r
+        // 判断当前的流类型是否已经创建了流,如果已经创建了流则不进行焦点的删除,没有则需要进行焦点的删除\r
+        if (curInterruptEl->streamType ==  interruptEl->streamType &&\r
+            !StreamMgrIsCreateStreamByType(curInterruptEl->streamType)) {\r
             it = ListIterErase(list, it);\r
             break;\r
         } else {\r
index 0f5f1fe..645d27a 100755 (executable)
@@ -185,6 +185,8 @@ int32_t StreamManagerSetParam(AudioLinkDirection direction, const char *param, u
 
 int32_t StreamManagerGetParam(AudioLinkDirection direction, char *param, uint32_t len);
 
+bool StreamMgrIsCreateStreamByType(AudioStreamType streamType);
+
 #ifdef __cplusplus
 #if __cplusplus
 }
index 5ce62d5..ee7b0c5 100755 (executable)
@@ -577,6 +577,10 @@ static bool IsCurrentStreamMute(AudioStreamType streamType)
 
 static bool IsAllStreamDestroyed(AudioStreamType streamType)
 {
+    if (streamType != AUDIO_STREAM_VOICE_CALL_BT_SCO &&
+        streamType != AUDIO_STREAM_VOICE_CALL_VOIP) {
+        return true;
+    }
     for (int32_t i = 0; i < CONCURRENT_ACTIVE_STREAM_MAX_NUM; i++) {
         StreamSimpleInfo curStreamInfo = g_streamMgrContext.simpleInfos[i];
         if (curStreamInfo.streamType != streamType) {\r
@@ -1331,6 +1335,30 @@ int32_t StreamManagerGetParam(AudioLinkDirection direction, char *param, uint32_
     return ret;
 }
 
+bool StreamMgrIsCreateStreamByType(AudioStreamType streamType)
+{
+    bool isFound = false;
+    for (uint32_t i = 0; i < MAX_STREAM_IN_NUM; i++) {
+        StreamSimpleInfo curStreamInfo = g_streamMgrContext.curInputStreamInfo[i];
+        if (curStreamInfo.streamType == streamType &&
+            curStreamInfo.streamId != -1) {
+            isFound = true;
+            break;
+        }
+    }
+    if (!isFound) {
+        for (uint32_t i = 0; i < CONCURRENT_ACTIVE_STREAM_MAX_NUM; i++) {
+            StreamSimpleInfo curStreamInfo = g_streamMgrContext.simpleInfos[i];
+            if (curStreamInfo.streamType == streamType &&
+                curStreamInfo.streamId != -1) {
+                isFound = true;
+                break;
+            }
+        }
+    }
+    return isFound;
+}
+
 #ifdef __cplusplus
 #if __cplusplus
 }
index 23c96bb..2b83b50 100755 (executable)
@@ -376,6 +376,24 @@ public:
      */
     static JSIValue OnTimeUpdateSetter(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize);
 
+     /**
+     * the getter of stream type
+     *
+     * @param thisVal Indicates function execute context
+     * @param args Indicates the function arguments
+     * @param argsSize Indicates the size of function arguments
+     */
+    static JSIValue StreamTypeGetter(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize);
+
+    /**
+     * the setter of stream type
+     *
+     * @param thisVal Indicates function execute context
+     * @param args Indicates the function arguments
+     * @param argsSize Indicates the size of function arguments
+     */
+    static JSIValue StreamTypeSetter(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize);
+
 private:
     static JSIValue GetEventCallback(const AudioEventListener *listener);
 
index 3010548..1f061c4 100755 (executable)
@@ -18,6 +18,7 @@
 
 #include "jsi.h"
 #include "player.h"
+#include "audio_base_type.h"
 #include "media_thread_adapt.h"
 
 namespace OHOS {
@@ -117,6 +118,8 @@ public:
 
     bool SetVolume(double volume);
 
+    bool SetStreamType(AudioStreamType streamType);
+
     bool SetMuted(bool muted);
 
     int32_t SetAudioSessionId(uint32_t sessionId);
@@ -179,6 +182,7 @@ private:
     bool isRunning_;
     bool isSysSrc_;
     MediaThreadIdHandle updateTimeProcess_;
+    AudioStreamType streamType_ = AUDIO_STREAM_MUSIC;
 };
 } // namespace ACELite
 } // namespace OHOS
index 174b29f..98a0e8b 100755 (executable)
@@ -28,6 +28,7 @@ static Audio::AudioManager& g_amInstance = Audio::AudioManager::GetInstance();
 
 static bool recordPlayerStatus = false;
 
+static AudioStreamType g_streamType = AUDIO_STREAM_MUSIC;
 static int *interruptType;
 
 void AudioModule::ActivateAudioInterrupt()
@@ -35,7 +36,7 @@ void AudioModule::ActivateAudioInterrupt()
     if (interrupt == nullptr) {
         interruptType = new int;
         interrupt = new Audio::AudioInterrupt();
-        interrupt->streamType = AUDIO_STREAM_MUSIC;
+        interrupt->streamType = g_streamType;
         interrupt->sessionID = g_amInstance.MakeSessionId();
         interrupt->interruptListener = std::make_shared<PlayerInterruptListener>();
         g_amInstance.ActivateAudioInterrupt(*interrupt);
@@ -55,6 +56,7 @@ void AudioModule::DeactivateAudioInterrupt()
         delete interruptType;
         interruptType = nullptr;
     }
+    g_streamType = AUDIO_STREAM_MUSIC;
 }
 
 void InterruptAsyncExecuteCallback(void *arg)
@@ -196,6 +198,7 @@ JSIValue AudioModule::SrcSetter(const JSIValue thisVal, const JSIValue *args, ui
     char *src = JSI::ValueToString(args[0]);
     bool autoPlay = AudioPlayer::GetInstance()->GetAutoPlay();
     bool ret = AudioPlayer::GetInstance()->SetSrc(src, false);
+    AudioPlayer::GetInstance()->SetStreamType(g_streamType);
     AudioPlayer::GetInstance()->SetAudioSessionId(interrupt->sessionID);
     if (autoPlay) {
         AudioPlayer::GetInstance()->Play();
@@ -213,6 +216,7 @@ JSIValue AudioModule::SrcInnerSetter(const JSIValue thisVal, const JSIValue *arg
     char *src = JSI::ValueToString(args[0]);
     bool autoPlay = AudioPlayer::GetInstance()->GetAutoPlay();
     bool ret = AudioPlayer::GetInstance()->SetSrc(src, true);
+    AudioPlayer::GetInstance()->SetStreamType(g_streamType);
     AudioPlayer::GetInstance()->SetAudioSessionId(interrupt->sessionID);
     if (autoPlay) {
         AudioPlayer::GetInstance()->Play();
@@ -413,6 +417,23 @@ JSIValue AudioModule::OnTimeUpdateSetter(const JSIValue thisVal, const JSIValue
     return JSI::CreateBoolean(true);
 }
 
+JSIValue AudioModule::StreamTypeGetter(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
+{
+    
+    return JSI::CreateNumber((double)g_streamType);
+}
+
+JSIValue AudioModule::StreamTypeSetter(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
+{
+    if (argsSize < 1) {
+        MEDIA_ERR_LOG("1 argument is required.");
+        return JSI::CreateBoolean(false);
+    }
+    double streamType = JSI::ValueToNumber(args[0]);
+    g_streamType = (AudioStreamType)streamType;
+    return JSI::CreateBoolean(true);
+}
+
 JSIValue AudioModule::GetEventCallback(const AudioEventListener *listener)
 {
     return (listener == nullptr) ? JSI::CreateUndefined() : listener->GetCallback();
@@ -458,6 +479,7 @@ void InitAudioModule(JSIValue exports)
     JSI::SetModuleAPI(exports, "reset", AudioModule::Reset);
     JSI::SetModuleAPI(exports, "getPlayState", AudioModule::GetPlayState);
 
+    AudioModule::DefineProperty(exports, "streamType", AudioModule::StreamTypeGetter, AudioModule::StreamTypeSetter);
     AudioModule::DefineProperty(exports, "src", AudioModule::SrcGetter, AudioModule::SrcSetter);
     AudioModule::DefineProperty(exports, "srcInner", AudioModule::SrcInnerGetter, AudioModule::SrcInnerSetter);
     AudioModule::DefineProperty(exports, "currentTime", AudioModule::CurrentTimeGetter, AudioModule::CurrentTimeSetter);
index ac804a0..0f6a2b5 100755 (executable)
@@ -233,10 +233,10 @@ bool AudioPlayer::CreatePlayer()
         return false;
     }
     if (muted_) {
-        g_amInstance.SetVolume(AUDIO_STREAM_MUSIC, 0);
+        g_amInstance.SetVolume(streamType_, 0);
     } else {
         double volume = GetVolume() * MAX_VOLUME;
-        if (!g_amInstance.SetVolume(AUDIO_STREAM_MUSIC, volume)) {
+        if (!g_amInstance.SetVolume(streamType_, volume)) {
             MEDIA_ERR_LOG("fail to reset volume");
         }
     }
@@ -406,7 +406,7 @@ const char *AudioPlayer::GetStatus() const
 
 double AudioPlayer::GetVolume()
 {
-    int32_t volume = g_amInstance.GetVolume(AUDIO_STREAM_MUSIC);
+    int32_t volume = g_amInstance.GetVolume(streamType_);
     volume_ = static_cast<double>(volume) / MAX_VOLUME;
     return volume_;
 }
@@ -506,7 +506,7 @@ bool AudioPlayer::SetVolume(double volume)
         return false;
     }
     float parsedVolume = static_cast<float>(volume * MAX_VOLUME);
-    bool succ = g_amInstance.SetVolume(AUDIO_STREAM_MUSIC, parsedVolume);
+    bool succ = g_amInstance.SetVolume(streamType_, parsedVolume);
     if (!succ) {
         MEDIA_ERR_LOG("fail to set volume.");
         return false;
@@ -515,10 +515,20 @@ bool AudioPlayer::SetVolume(double volume)
     return true;
 }
 
+bool AudioPlayer::SetStreamType(AudioStreamType streamType)
+{
+    if (player_->SetAudioStreamType(streamType) != 0) {
+        MEDIA_ERR_LOG("fail to SetAudioStreamType streamType = %x.", streamType);
+        return false;
+    }
+    streamType_ = streamType;
+    return true;
+}
+
 bool AudioPlayer::SetMuted(bool muted)
 {
     double volume = muted ? 0.0 : (GetVolume() * MAX_VOLUME);
-    if (!g_amInstance.SetVolume(AUDIO_STREAM_MUSIC, volume)) {
+    if (!g_amInstance.SetVolume(streamType_, volume)) {
         MEDIA_ERR_LOG("fail to set volume.");
         return false;
     }
index 22b1dea..01d4d04 100755 (executable)
@@ -683,6 +683,9 @@ static void PlayerStreamExit(SampleParam *sampleParam)
     MediaMutexDestroy(&sampleParam->testSample.mutex);\r
     MediaThreadCondDestroy(&sampleParam->testSample.cond);\r
     sampleParam->taskAlive.store(false);\r
+    if (!sampleParam->testSample.isStop) {\r
+        MediaThreadSetDetach(sampleParam->playTask, true);\r
+    }\r
 }\r
 \r
 void WaitPlayCompletedOrStop(SampleParam *sampleParam)\r
@@ -961,6 +964,7 @@ static int32_t PlaySampleSwitchSong(SampleParam *sampleParam)
     MediaThreadCondSignal(sampleParam->testSample.cond);\r
     MediaMutexUnLock(sampleParam->testSample.mutex);\r
     WaitPlayerTaskEnd(sampleParam);\r
+    sampleParam->taskAlive.store(true);\r
     if (strncmp(sampleParam->control, "prevsong", strlen("prevsong")) == 0) {\r
         if (g_currentSongIndex == 0) {\r
             g_currentSongIndex = g_totalSongEntries - 1;\r
@@ -1170,7 +1174,8 @@ static void WaitPlayerTaskEnd(SampleParam *sampleParam)
             continue;\r
         }\r
         if (sampleParam->playTask == g_playerTask[i].playTask &&\r
-            sampleParam->streamType == g_playerTask[i].streamType) {\r
+            sampleParam->streamType == g_playerTask[i].streamType &&\r
+            sampleParam->testSample.isStop) {\r
             MediaMutexUnLock(g_playerTaskMutex);\r
             MediaThreadJoin(&sampleParam->playTask);\r
             MediaMutexLock(g_playerTaskMutex);\r
@@ -1216,7 +1221,7 @@ static void StorePlayerTaskInfo(SampleParam *sampleParam)
 \r
 int32_t PlayerSample(int32_t argc, const char** argv)\r
 {\r
-    SourceType sourceType = SourceType::SOURCE_TYPE_FD;\r
+    SourceType sourceType = SourceType::SOURCE_TYPE_URI;\r
     int32_t ret = PlayerSampleInit(&g_sampleParam, argc, argv, sourceType);\r
     if (ret != 0) {\r
         return ret;\r
@@ -1225,8 +1230,6 @@ int32_t PlayerSample(int32_t argc, const char** argv)
         argv[0], strlen(argv[0]) + 1) != EOK) {\r
         MEDIA_ERR_LOG("memcpy_s failed, g_sampleParam->control:%s", g_sampleParam->control);\r
     }\r
-    MEDIA_INFO_LOG("argv[0]:%s", argv[0]);\r
-    /* todo :Modifying playback keywords */\r
     if (strncmp(g_sampleParam->control, "xx", strlen("xx")) == 0) {\r
         if (g_sampleParam->taskAlive.load()) {\r
             MEDIA_ERR_LOG("playerTask exists, Enter the stop command first");\r
@@ -1276,7 +1279,7 @@ FREE:
 \r
 int32_t TonePlayerSampleTest(int32_t argc, const char *argv[])\r
 {\r
-    SourceType sourceType = SourceType::SOURCE_TYPE_FD;\r
+    SourceType sourceType = SourceType::SOURCE_TYPE_URI;\r
     int32_t ret = PlayerSampleInit(&g_tonePlayersampleParam, argc, argv, sourceType);\r
     if (ret != 0) {\r
         return ret;\r
@@ -1285,8 +1288,6 @@ int32_t TonePlayerSampleTest(int32_t argc, const char *argv[])
         argv[0], strlen(argv[0]) + 1) != EOK) {\r
         MEDIA_ERR_LOG("memcpy_s failed, g_tonePlayersampleParam->control:%s", g_tonePlayersampleParam->control);\r
     }\r
-    MEDIA_INFO_LOG("argv[0]:%s", argv[0]);\r
-    /* todo :Modifying playback keywords */\r
     if (strncmp(g_tonePlayersampleParam->control, "xx", strlen("xx")) == 0) {\r
         if (g_tonePlayersampleParam->taskAlive.load()) {\r
             MEDIA_ERR_LOG("playerTask exists, Enter the stop command first");\r
index 62a4c95..f8c0b90 100644 (file)
@@ -172,11 +172,6 @@ static bool InitPlayerResources(MediaVideoPlay *videoPlay)
     }\r
 \r
     videoPlay->player_ = player;\r
-\r
-    videoPlay->isPlaybackCompleted_ = false;\r
-    videoPlay->interruptHintStop_ = false;\r
-    videoPlay->playError_ = false;\r
-\r
     return true;\r
 }\r
 \r
@@ -366,20 +361,22 @@ void *MediaVideoPlay::VideoPlayThread(void *arg)
         MEDIA_ERR_LOG("requset audio focus failed\n");\r
         return nullptr;\r
     }\r
-\r
     int32_t ret = RunVideoPlay(videoPlay);\r
     if (ret != 0) {\r
         MEDIA_ERR_LOG("run video play failed\n");\r
-        (void)ReleaseAudioFocus(videoPlay);\r
-        return nullptr;\r
     }\r
 \r
     success = ReleaseAudioFocus(videoPlay);\r
     if (!success) {\r
         MEDIA_ERR_LOG("release audio focus failed\n");\r
-        return nullptr;\r
     }\r
-    MEDIA_ERR_LOG("exit all!\n");\r
+    MediaMutexLock(videoPlay->mutex_);\r
+    if (!videoPlay->isPlaybackStopped_ && videoPlay->IsSyncExitMode()) {\r
+        videoPlay->SetSyncExitMode(false);\r
+        MediaThreadSetDetach(videoPlay->threadHandle_, true);\r
+    }\r
+    MediaMutexUnLock(videoPlay->mutex_);\r
+    MEDIA_INFO_LOG("exit all!\n");\r
     return nullptr;\r
 }\r
 \r
@@ -406,22 +403,34 @@ MediaVideoPlay::~MediaVideoPlay()
     play = nullptr;\r
 }\r
 \r
+void MediaVideoPlay::ResetVideoPlayState(void)\r
+{\r
+    isExited_ = false;\r
+    isPlaybackCompleted_ = false;\r
+    isPlaybackStopped_ = false;\r
+    interruptHintStop_ = false;\r
+    playError_ = false;\r
+    isSyncExitMode_ = true;\r
+    isPause_ = false;\r
+    isPlayed_ = false;\r
+}\r
+\r
 int32_t MediaVideoPlay::StartVideoPlay(void)\r
 {\r
     if (isEntered_) {\r
         MEDIA_INFO_LOG("video play is not stop, can not start!");\r
         return MEDIA_OK;\r
     }\r
-    isExited_ = false;\r
     isEntered_ = true;\r
+    ResetVideoPlayState();\r
     MediaThreadattr attr = { "VideoPlayThread", 0x2000, THREAD_SCHED_INVALID, 0, true };\r
     if (isSyncExitMode_) {\r
-        MediaThreadJoin(&threadHandle_);\r
         attr.detached = false;\r
     }\r
     threadHandle_ = MediaThreadCreate(VideoPlayThread, this, &attr);\r
-    if (threadHandle_ == NULL) {\r
+    if (threadHandle_ == nullptr) {\r
         MEDIA_ERR_LOG("create thread failed\n");\r
+        isEntered_ = false;\r
         return MEDIA_ERR;\r
     }\r
     play = this;\r
@@ -496,7 +505,6 @@ int32_t MediaVideoPlay::GetDumpInfo(PlayerDebugInfo *playerInfo)
 \r
 int32_t MediaVideoPlay::StopVideoPlay(void)\r
 {\r
-    MEDIA_ERR_LOG("StopVideoPlay start!");\r
     MediaMutexLock(mutex_);\r
     if (isPlaybackStopped_ || isPlaybackCompleted_ || interruptHintStop_) {\r
         if (isLoop_) {\r
@@ -513,12 +521,14 @@ int32_t MediaVideoPlay::StopVideoPlay(void)
     }\r
     isPlaybackStopped_ = true;\r
     MediaThreadCondSignal(cond_);\r
-    MediaMutexUnLock(mutex_);\r
     if (isSyncExitMode_) {\r
+        MediaMutexUnLock(mutex_);\r
         MediaThreadJoin(&threadHandle_);\r
-        isPlaybackStopped_ = false;\r
         dynamic_cast<LiteSurface*>(surface_)->ClearBuffers(); // clear buffers safely in sync mode to reduce peak memory\r
+        play = nullptr;\r
+        return MEDIA_OK;\r
     }\r
+    MediaMutexUnLock(mutex_);\r
     play = nullptr;\r
     return MEDIA_OK;\r
 }\r
@@ -537,25 +547,21 @@ void MediaVideoPlay::SetVideoPlayLoop(bool isLoop)
 \r
 void MediaVideoPlay::SetSyncExitMode(bool isSyncExitMode)\r
 {\r
-    MediaMutexLock(mutex_);\r
     if (!isEntered_) {\r
         isSyncExitMode_ = isSyncExitMode;\r
     }\r
-    MediaMutexUnLock(mutex_);\r
+}\r
+\r
+bool MediaVideoPlay::IsSyncExitMode()\r
+{\r
+    return isSyncExitMode_;\r
 }\r
 \r
 void MediaVideoPlay::DestroyVideoPlaySource(void)\r
 {\r
-    needSendBackgroundFrame_ = false;\r
-    StopVideoPlay();\r
-    uint32_t count = 0;\r
-    while (!IsExitCompletely()) {\r
-        count++;\r
-        if (count == WAIT_VIDEO_EXIT_MAX_RETRY_COUNT) {\r
-            MEDIA_ERR_LOG("media video play exit timeout\n");\r
-            break;\r
-        }\r
-        usleep(WAIT_VIDEO_EXIT_SUCCESS_US);\r
+    if (isEntered_) {\r
+        needSendBackgroundFrame_ = false;\r
+        StopVideoPlay();\r
     }\r
 }\r
 };\r
index 2643ad4..549ec22 100644 (file)
@@ -37,6 +37,7 @@ public:
     int32_t GetDumpInfo(PlayerDebugInfo *playerInfo);\r
     void SetVideoPlayLoop(bool isLoop);\r
     void SetSyncExitMode(bool isSyncExitMode);\r
+    bool IsSyncExitMode(void);\r
     bool IsExitCompletely(void);\r
     Surface *surface_ = nullptr;\r
     AudioInterrupt interrupt_;\r
@@ -63,6 +64,7 @@ public:
     static MediaVideoPlay *play;\r
 private:\r
     bool isSyncExitMode_ = true;\r
+    void ResetVideoPlayState(void);\r
     static void *VideoPlayThread(void *arg);\r
     void DestroyVideoPlaySource(void);\r
 };\r
index 0bebc54..6f8c93f 100755 (executable)
@@ -79,6 +79,8 @@ void MediaThreadCondTimeWait(MediaThreadCondHandle condHandle, MediaMutexHandle
  */
 void MediaThreadCondDestroy(MediaThreadCondHandle *condHandle);
 
+void MediaThreadSetDetach(MediaThreadIdHandle thdId, bool detach);
+
 #ifdef __cplusplus
 };
 #endif
index f44abc9..328dd5d 100755 (executable)
@@ -243,40 +243,40 @@ static uint32_t MediaGetThreadManagerIdxFromIdHandle(MediaThreadIdHandle id)
 }
 
 #define THREAD_EVENT_EXIT_FLAG 0x45584954U /* EXIT ascii */
+#ifdef CMSIS_SUPPORT
+static void MediaThreadFunc(void *arg)
+#else
 static void *MediaThreadFunc(void *arg)
+#endif
 {
     if (arg == nullptr) {
+#ifdef CMSIS_SUPPORT
+        return;
+#else
         return nullptr;
+#endif
     }
-
+    MediaThreadMember *member = (MediaThreadMember *)arg;
+    member->process(member->argument);
     MediaMutexLock(g_mediaThreadManagerLock);
-    MediaThreadMember member = {};
-    if (memcpy_s(&member, sizeof(MediaThreadMember), arg, sizeof(MediaThreadMember)) != EOK) {
-        MediaMutexUnLock(g_mediaThreadManagerLock);
-        return nullptr;
+    if (member->detached) {
+        uint32_t idx = MediaGetThreadManagerIdxFromIdHandle(member->subId);
+        if (idx < THREAD_MANAGER_MAX_CNT) {
+            g_mediaThreadManager[idx] = nullptr;
+        }
+        free(arg);
     }
-    MediaMutexUnLock(g_mediaThreadManagerLock);
-
-    member.process(member.argument);
-
 #ifdef CMSIS_SUPPORT
 #ifndef CMSIS_SUPPORT_JOIN
-    if (!member.detached) {
-        osThreadFlagsSet(member.mainId, THREAD_EVENT_EXIT_FLAG);
+    else {
+        osThreadFlagsSet(member->mainId, THREAD_EVENT_EXIT_FLAG);
     }
 #endif
 #endif
-    if (member.detached) {
-        MediaMutexLock(g_mediaThreadManagerLock);
-        uint32_t idx = MediaGetThreadManagerIdxFromIdHandle(member.subId);
-        if (idx < THREAD_MANAGER_MAX_CNT) {
-            g_mediaThreadManager[idx] = nullptr;
-        }
-        free(arg);
-        MediaMutexUnLock(g_mediaThreadManagerLock);
-    }
-
+    MediaMutexUnLock(g_mediaThreadManagerLock);
+#ifndef CMSIS_SUPPORT
     return nullptr;
+#endif
 }
 
 static int32_t MediaDoCreateThread(MediaThreadMember *member, const MediaThreadattr *attr)
@@ -294,8 +294,6 @@ static int32_t MediaDoCreateThread(MediaThreadMember *member, const MediaThreada
         osThreadAttr_t taskAttr = {
             attr->name, attrBits, nullptr, 0, nullptr, attr->stackSize, osPriorityNormal, 0, 0
         };
-        // Allocate the memory of the thread to the psram.
-        // taskAttr.stack_mem = memalign(0x10, attr->stackSize);
         MediaSetCmsisThreadPriorityAttr(&taskAttr, attr->prioty);
         subId = osThreadNew((osThreadFunc_t)MediaThreadFunc, member, &taskAttr);
     }
@@ -492,6 +490,17 @@ void MediaThreadCondDestroy(MediaThreadCondHandle *condHandle)
 #endif
 }
 
+void MediaThreadSetDetach(MediaThreadIdHandle thdId, bool detach)
+{
+    MediaMutexLock(g_mediaThreadManagerLock);
+    uint32_t idx = MediaGetThreadManagerIdxFromIdHandle(thdId);
+    if (idx < THREAD_MANAGER_MAX_CNT) {
+        MediaThreadMember *member = g_mediaThreadManager[idx];
+        member->detached = detach;
+    }
+    MediaMutexUnLock(g_mediaThreadManagerLock);
+}
+
 #ifdef __cplusplus
 };
 #endif
index 0ea8664..20f831e 100755 (executable)
@@ -105,6 +105,7 @@ typedef struct SubPortOutContext {
     /* record track context */
     SubPortTrackOutContext *portTrack[AO_DEV_MAX_TRACK_NUM];
 #endif
+    MediaHalMutexHandle createTrackMutex;
 } SubPortOutContext;
 
 typedef struct {
@@ -272,41 +273,54 @@ static int32_t SubPortTrackOutManagerFreeTrack(int32_t trackId)
     return MEDIA_HAL_ERR;
 }
 
-static void SubPortTrackOutInit(SubPortTrackOutContext *portTrackOutCtx, const struct PortPluginAttr *inputAttr)
+static int32_t SubPortTrackOutInit(SubPortTrackOutContext **portTrackOutCtx, const struct PortPluginAttr *inputAttr)
 {
+    SubPortTrackOutContext *subPortTrackOutCtx = (SubPortTrackOutContext *)malloc(sizeof(SubPortTrackOutContext));
+    if (subPortTrackOutCtx == NULL) {
+        MEDIA_HAL_LOGE(MODULE_NAME, "malloc failed");
+        return MEDIA_HAL_NO_MEM;
+    }
+
+    if (memset_s(subPortTrackOutCtx, sizeof(SubPortTrackOutContext), 0, sizeof(SubPortTrackOutContext)) != EOK) {
+        MEDIA_HAL_LOGE(MODULE_NAME, "memset_s failed");
+        free(subPortTrackOutCtx);
+        return MEDIA_HAL_ERR;
+    }
 #ifdef AUDIO_SDK_SUPPORT
-    portTrackOutCtx->inputAttr = *inputAttr;
+    subPortTrackOutCtx->inputAttr = *inputAttr;
 
     /* The default bit width is 16 bits. The 24-bit width is processed separately. */
-    portTrackOutCtx->inputAttr.bitWidth = AUDIO_BIT_WIDTH_16_BIT;
-
-    portTrackOutCtx->common.audioPin = PIN_OUT_SPEAKER;
-    portTrackOutCtx->common.GetFrameCount = NULL;
-    portTrackOutCtx->common.GetLatency = AudioPrimarySubPortOutGetLatency;
-    portTrackOutCtx->common.EnableTrack = AudioPrimarySubPortOutEnableTrack;
-    portTrackOutCtx->common.DisableTrack = AudioPrimarySubPortOutDisableTrack;
-    portTrackOutCtx->common.PauseTrack = AudioPrimarySubPortOutPauseTrack;
-    portTrackOutCtx->common.ResumeTrack = AudioPrimarySubPortOutResumeTrack;
-    portTrackOutCtx->common.FlushTrack = AudioPrimarySubPortOutFlushTrack;
-    portTrackOutCtx->common.AcquireFrame = NULL;
-    portTrackOutCtx->common.SendFrame = AudioPrimarySubPortOutSendFrame;
-    portTrackOutCtx->common.GetPosition = AudioPrimarySubPortOutGetPosition;
-    portTrackOutCtx->common.SetMute = AudioPrimarySubPortOutTrackSetMute;
-    portTrackOutCtx->common.GetMute = AudioPrimarySubPortOutTrackGetMute;
-    portTrackOutCtx->common.SetVolume = AudioPrimarySubPortOutTrackSetVolume;
-    portTrackOutCtx->common.GetVolume = AudioPrimarySubPortOutTrackGetVolume;
-    portTrackOutCtx->common.Invoke = AudioPrimarySubPortOutInvoke;
-    portTrackOutCtx->common.RegCallback = AudioPrimarySubPortOutRegCallback;
-    portTrackOutCtx->volumeToggleConfig.toggle_valid = false;
-    portTrackOutCtx->volumeToggleConfig.toggle_count = 0;
-    portTrackOutCtx->notifyToggleConfig.toggle_valid = false;
-    portTrackOutCtx->notifyToggleConfig.toggle_count = 0;
+    subPortTrackOutCtx->inputAttr.bitWidth = AUDIO_BIT_WIDTH_16_BIT;
+
+    subPortTrackOutCtx->common.audioPin = PIN_OUT_SPEAKER;
+    subPortTrackOutCtx->common.GetFrameCount = NULL;
+    subPortTrackOutCtx->common.GetLatency = AudioPrimarySubPortOutGetLatency;
+    subPortTrackOutCtx->common.EnableTrack = AudioPrimarySubPortOutEnableTrack;
+    subPortTrackOutCtx->common.DisableTrack = AudioPrimarySubPortOutDisableTrack;
+    subPortTrackOutCtx->common.PauseTrack = AudioPrimarySubPortOutPauseTrack;
+    subPortTrackOutCtx->common.ResumeTrack = AudioPrimarySubPortOutResumeTrack;
+    subPortTrackOutCtx->common.FlushTrack = AudioPrimarySubPortOutFlushTrack;
+    subPortTrackOutCtx->common.AcquireFrame = NULL;
+    subPortTrackOutCtx->common.SendFrame = AudioPrimarySubPortOutSendFrame;
+    subPortTrackOutCtx->common.GetPosition = AudioPrimarySubPortOutGetPosition;
+    subPortTrackOutCtx->common.SetMute = AudioPrimarySubPortOutTrackSetMute;
+    subPortTrackOutCtx->common.GetMute = AudioPrimarySubPortOutTrackGetMute;
+    subPortTrackOutCtx->common.SetVolume = AudioPrimarySubPortOutTrackSetVolume;
+    subPortTrackOutCtx->common.GetVolume = AudioPrimarySubPortOutTrackGetVolume;
+    subPortTrackOutCtx->common.Invoke = AudioPrimarySubPortOutInvoke;
+    subPortTrackOutCtx->common.RegCallback = AudioPrimarySubPortOutRegCallback;
+    subPortTrackOutCtx->volumeToggleConfig.toggle_valid = false;
+    subPortTrackOutCtx->volumeToggleConfig.toggle_count = 0;
+    subPortTrackOutCtx->notifyToggleConfig.toggle_valid = false;
+    subPortTrackOutCtx->notifyToggleConfig.toggle_count = 0;
 
     MEDIA_HAL_LOGD(MODULE_NAME, "success");
 #else
     MEDIA_HAL_UNUSED(portTrackOutCtx);
     MEDIA_HAL_UNUSED(inputAttr);
 #endif
+    *portTrackOutCtx = subPortTrackOutCtx;
+    return MEDIA_HAL_OK;
 }
 
 #ifdef AUDIO_SDK_SUPPORT
@@ -325,9 +339,10 @@ static uapi_snd_aef_profile ConvertAudioCategoryToAudioEffectProfile(const enum
 static int32_t AODevOpen(SubPortOutContext *portOutCtx, const enum AudioCategory audioCategory)
 {
 #ifdef AUDIO_SDK_SUPPORT
+       MediaHalInitStaticMutexLock(&g_subPortTrackOutLock);
     MediaHalMutexLock(g_subPortTrackOutLock);
     if (g_subPortTrackOutSndRefCount == 0) {
-        int32_t ret;
+        int32_t ret = MEDIA_HAL_OK;
         uapi_snd_attr sndAttr = {};
         MEDIA_HAL_DOFUNC_TIME(ret = uapi_snd_get_default_attr(portOutCtx->sndDevId, &sndAttr));
         if (ret != MEDIA_HAL_OK) {
@@ -704,6 +719,7 @@ int32_t AudioPrimarySubPortOutPauseTrack(AudioHandle trackHandle)
 
     int32_t ret;
 #ifdef MINI_MEMORY_SUPPORT
+    MediaHalMutexLock(portTrackOutCtx->subPortCtx->createTrackMutex);
     ret = AudioSDKStopInternal(portTrackOutCtx);
     CHK_FAILED_NO_RETURN(ret, MEDIA_HAL_OK, "audio stop failed");
     ret = AudioSDKDetachInternal(portTrackOutCtx);
@@ -711,6 +727,7 @@ int32_t AudioPrimarySubPortOutPauseTrack(AudioHandle trackHandle)
     ret = AudioSDKCloseInternal(portTrackOutCtx);
     CHK_FAILED_NO_RETURN(ret, MEDIA_HAL_OK, "audio close failed");
     portTrackOutCtx->isReleased = true;
+    MediaHalMutexUnLock(portTrackOutCtx->subPortCtx->createTrackMutex);
 #else
     MEDIA_HAL_DOFUNC_TIME(ret = uapi_snd_track_pause(portTrackOutCtx->trackHandle));
     CHK_FAILED_RETURN(ret, MEDIA_HAL_OK, ret, "sound track pause failed");
@@ -806,8 +823,13 @@ int32_t AudioPrimarySubPortOutResumeTrack(AudioHandle trackHandle)
 
     int32_t ret;
 #ifdef MINI_MEMORY_SUPPORT
+    MediaHalMutexLock(portTrackOutCtx->subPortCtx->createTrackMutex);
     ret = AudioSDKOpenInternal(portTrackOutCtx);
-    CHK_FAILED_RETURN(ret, MEDIA_HAL_OK, ret, "audio open failed");
+    if (ret != MEDIA_HAL_OK) {
+        MEDIA_HAL_LOGE(MODULE_NAME, "audio open failed");
+        MediaHalMutexUnLock(portTrackOutCtx->subPortCtx->createTrackMutex);
+        return ret;
+    }
     ret = AudioSDKAttachInternal(portTrackOutCtx);
     if (ret != MEDIA_HAL_OK) {
         MEDIA_HAL_LOGE(MODULE_NAME, "audio attach failed");
@@ -826,6 +848,7 @@ int32_t AudioPrimarySubPortOutResumeTrack(AudioHandle trackHandle)
         MEDIA_HAL_LOGE(MODULE_NAME, "register adp event failed");
         goto AUDIO_STOP;
     }
+    MediaHalMutexUnLock(portTrackOutCtx->subPortCtx->createTrackMutex);
 #else
     MEDIA_HAL_DOFUNC_TIME(ret = uapi_snd_track_resume(portTrackOutCtx->trackHandle));
     CHK_FAILED_RETURN(ret, MEDIA_HAL_OK, ret, "sound track resume failed");
@@ -834,8 +857,6 @@ int32_t AudioPrimarySubPortOutResumeTrack(AudioHandle trackHandle)
 #else
     MEDIA_HAL_UNUSED(trackHandle);
 #endif
-
-    MEDIA_HAL_LOGD(MODULE_NAME, "success");
     return MEDIA_HAL_OK;
 
 #ifdef MINI_MEMORY_SUPPORT
@@ -845,6 +866,7 @@ AUDIO_DETACH:
     (void)AudioSDKDetachInternal(portTrackOutCtx);
 AUDIO_CLOSE:
     (void)AudioSDKCloseInternal(portTrackOutCtx);
+    MediaHalMutexUnLock(portTrackOutCtx->subPortCtx->createTrackMutex);
     return ret;
 #endif
 }
@@ -1006,12 +1028,12 @@ int32_t AudioPrimarySubPortOutTrackSetVolume(AudioHandle trackHandle, float volu
     CHK_FAILED_RETURN(ret, MEDIA_HAL_OK, ret, "uapi_snd_set_track_volume failed");
 
     portTrackOutCtx->volume = volume;
+    MEDIA_HAL_LOGI(MODULE_NAME, "set volume %d success", tmpVolume);
 #else
     MEDIA_HAL_UNUSED(trackHandle);
     MEDIA_HAL_UNUSED(volume);
 #endif
 
-    MEDIA_HAL_LOGI(MODULE_NAME, "set volume %f success", volume);
     return MEDIA_HAL_OK;
 }
 
@@ -1152,7 +1174,11 @@ int32_t AudioPrimarySubPortOutCreate(AudioHandle *portHandle)
         ret = MEDIA_HAL_ERR;
         goto FREE_PORT;
     }
-
+    portOutCtx->createTrackMutex = MediaHalMutexCreate(NULL);
+    if (portOutCtx->createTrackMutex == NULL) {
+        MEDIA_HAL_LOGE(MODULE_NAME, "create mutex failed");
+        goto FREE_PORT;
+    }
     portOutCtx->sndDevId = sndDevId;
     *portHandle = portOutCtx;
 #else
@@ -1179,6 +1205,8 @@ int32_t AudioPrimarySubPortOutDestroy(AudioHandle portHandle)
 
     (void)SubPortTrackOutManagerDeInit();
 
+    MediaHalMutexDestroy(&portOutCtx->createTrackMutex);
+
     free(portOutCtx);
 #else
     MEDIA_HAL_UNUSED(portHandle);
@@ -1200,26 +1228,18 @@ int32_t AudioPrimarySubPortOutCreateTrack(AudioHandle portHandle, const struct P
     AudioHandle *trackHandle)
 {
     SubPortOutContext *portOutCtx = (SubPortOutContext *)portHandle;
-
+    MediaHalMutexLock(portOutCtx->createTrackMutex);
     int32_t sndTrackId = SubPortTrackOutManagerGetFreeTrack();
-    CHK_COND_RETURN(sndTrackId == INVALID_ID, MEDIA_HAL_INVALID_PARAM, "no free sound track");
-
-    int32_t ret;
-    SubPortTrackOutContext *portTrackOutCtx = (SubPortTrackOutContext *)malloc(sizeof(SubPortTrackOutContext));
-    if (portTrackOutCtx == NULL) {
-        MEDIA_HAL_LOGI(MODULE_NAME, "malloc failed");
-        ret = MEDIA_HAL_NO_MEM;
-        goto FREE_TRACK;
+    if (sndTrackId == INVALID_ID) {
+        MEDIA_HAL_LOGE(MODULE_NAME, "no free sound track");
+        MediaHalMutexUnLock(portOutCtx->createTrackMutex);
+        return MEDIA_HAL_INVALID_PARAM;
     }
-
-    if (memset_s(portTrackOutCtx, sizeof(SubPortTrackOutContext), 0, sizeof(SubPortTrackOutContext)) != EOK) {
-        MEDIA_HAL_LOGE(MODULE_NAME, "memset_s failed");
-        ret = MEDIA_HAL_ERR;
-        goto FREE_TRACK_CTX;
+    SubPortTrackOutContext *portTrackOutCtx = NULL;
+    int32_t ret = SubPortTrackOutInit(&portTrackOutCtx, inputAttr);
+    if (ret != MEDIA_HAL_OK || portTrackOutCtx == NULL) {
+        goto FREE_TRACK;
     }
-
-    SubPortTrackOutInit(portTrackOutCtx, inputAttr);
-
 #ifdef AUDIO_SDK_SUPPORT
     ret = AODevOpen(portOutCtx, portTrackOutCtx->inputAttr.type);
     if (ret != MEDIA_HAL_OK) {
@@ -1240,7 +1260,7 @@ int32_t AudioPrimarySubPortOutCreateTrack(AudioHandle portHandle, const struct P
     portOutCtx->portTrack[sndTrackId] = portTrackOutCtx;
     *trackHandle = &portTrackOutCtx->common;
 #endif
-    MEDIA_HAL_LOGD(MODULE_NAME, "success");
+    MediaHalMutexUnLock(portOutCtx->createTrackMutex);
     return MEDIA_HAL_OK;
 
 AO_DEV_CLOSE:
@@ -1253,6 +1273,7 @@ FREE_TRACK:
 #ifdef AUDIO_SDK_SUPPORT
     (void)SubPortTrackOutManagerFreeTrack(sndTrackId);
 #endif
+    MediaHalMutexUnLock(portOutCtx->createTrackMutex);
     return ret;
 }
 
@@ -1275,9 +1296,12 @@ int32_t AudioPrimarySubPortOutDestroyTrack(AudioHandle portHandle, AudioHandle t
 {
     SubPortOutContext *portOutCtx = (SubPortOutContext *)portHandle;
     SubPortTrackOutContext *portTrackOutCtx = (SubPortTrackOutContext *)trackHandle;
-
-    bool isValid = PrimaryPortIsValidTrack(portOutCtx, portTrackOutCtx);
-    CHK_FAILED_RETURN(isValid, true, MEDIA_HAL_INVALID_PARAM, "track is invalid");
+    MediaHalMutexLock(portOutCtx->createTrackMutex);
+    if (!PrimaryPortIsValidTrack(portOutCtx, portTrackOutCtx)) {
+        MEDIA_HAL_LOGE(MODULE_NAME, "track is invalid");
+        MediaHalMutexUnLock(portOutCtx->createTrackMutex);
+        return MEDIA_HAL_INVALID_PARAM;
+    }
 
 #ifdef AUDIO_SDK_SUPPORT
     int32_t ret = MEDIA_HAL_ERR;
@@ -1298,7 +1322,7 @@ int32_t AudioPrimarySubPortOutDestroyTrack(AudioHandle portHandle, AudioHandle t
     ret = SubPortTrackOutManagerFreeTrack(portTrackOutCtx->sndTrackId);
     CHK_FAILED_NO_RETURN(ret, MEDIA_HAL_OK, "SubPortTrackOutManagerFreeTrack failed");
 #endif
-
+    MediaHalMutexUnLock(portOutCtx->createTrackMutex);
     if (portTrackOutCtx->inputAttr.extraData != NULL) {
         free(portTrackOutCtx->inputAttr.extraData);
         portTrackOutCtx->inputAttr.extraData = NULL;
index ef880f2..fab1f8b 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/vfs/brandy-auto-ota-cli/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/brandy-auto-ota-cli/libx_vfs_private.a differ
index 9b01f98..4119048 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/vfs/brandy-auto-ota-ser/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/brandy-auto-ota-ser/libx_vfs_private.a differ
index 54aaff3..e94333a 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/vfs/brandy-native-js-autoota/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/brandy-native-js-autoota/libx_vfs_private.a differ
index 54aaff3..e94333a 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/vfs/brandy-native-js-autootacli/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/brandy-native-js-autootacli/libx_vfs_private.a differ
index 54aaff3..e94333a 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/vfs/brandy-native-js-cm/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/brandy-native-js-cm/libx_vfs_private.a differ
index 54aaff3..e94333a 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/vfs/brandy-native-js-ct/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/brandy-native-js-ct/libx_vfs_private.a differ
index 54aaff3..e94333a 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/vfs/brandy-native-js-fd230/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/brandy-native-js-fd230/libx_vfs_private.a differ
index 54aaff3..e94333a 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/vfs/brandy-native-js-leakcheck/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/brandy-native-js-leakcheck/libx_vfs_private.a differ
index 54aaff3..e94333a 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/vfs/brandy-native-js-obu/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/brandy-native-js-obu/libx_vfs_private.a differ
index bcb9c68..423debc 100755 (executable)
Binary files a/code/sdk/middleware/utils/fs/vfs/brandy-native-js-r/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/brandy-native-js-r/libx_vfs_private.a differ
diff --git a/code/sdk/middleware/utils/fs/vfs/brandy-native-js-user/libx_vfs_private.a b/code/sdk/middleware/utils/fs/vfs/brandy-native-js-user/libx_vfs_private.a
new file mode 100644 (file)
index 0000000..e94333a
Binary files /dev/null and b/code/sdk/middleware/utils/fs/vfs/brandy-native-js-user/libx_vfs_private.a differ
index 54aaff3..e94333a 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/vfs/brandy-native-js-z1/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/brandy-native-js-z1/libx_vfs_private.a differ
index 54aaff3..e94333a 100755 (executable)
Binary files a/code/sdk/middleware/utils/fs/vfs/brandy-native-js/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/brandy-native-js/libx_vfs_private.a differ
index 2099720..872b5e6 100755 (executable)
Binary files a/code/sdk/middleware/utils/fs/vfs/brandy-target1-r/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/brandy-target1-r/libx_vfs_private.a differ
index f860b0b..7ac9d59 100755 (executable)
Binary files a/code/sdk/middleware/utils/fs/vfs/brandy-target1/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/brandy-target1/libx_vfs_private.a differ
index b4bba35..cf99d93 100755 (executable)
Binary files a/code/sdk/middleware/utils/fs/vfs/brandy-target3-r/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/brandy-target3-r/libx_vfs_private.a differ
index f273319..aa577d5 100755 (executable)
Binary files a/code/sdk/middleware/utils/fs/vfs/brandy-target3/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/brandy-target3/libx_vfs_private.a differ
index a086e05..2602c3c 100755 (executable)
Binary files a/code/sdk/middleware/utils/fs/vfs/brandy-target4-r/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/brandy-target4-r/libx_vfs_private.a differ
index 075398e..5574999 100755 (executable)
Binary files a/code/sdk/middleware/utils/fs/vfs/brandy-target4/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/brandy-target4/libx_vfs_private.a differ
index 618de3f..b5e9494 100755 (executable)
Binary files a/code/sdk/middleware/utils/fs/vfs/brandy-target5-r/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/brandy-target5-r/libx_vfs_private.a differ
index 9d753ef..7f2fb94 100755 (executable)
Binary files a/code/sdk/middleware/utils/fs/vfs/brandy-target5/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/brandy-target5/libx_vfs_private.a differ
index b610a44..207600e 100755 (executable)
Binary files a/code/sdk/middleware/utils/fs/vfs/brandy-xts-r/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/brandy-xts-r/libx_vfs_private.a differ
index 0f5adb4..7379611 100755 (executable)
Binary files a/code/sdk/middleware/utils/fs/vfs/brandy-xts/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/brandy-xts/libx_vfs_private.a differ
index fcf3d99..bc04e2b 100755 (executable)
Binary files a/code/sdk/middleware/utils/fs/vfs/testsuite-brandy-sdk/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/testsuite-brandy-sdk/libx_vfs_private.a differ
index 1cf0bc6..4a272df 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/brandy-auto-ota-cli/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/brandy-auto-ota-cli/libfs_yaffs2.a differ
index a74ab73..b7524ed 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/brandy-auto-ota-ser/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/brandy-auto-ota-ser/libfs_yaffs2.a differ
index 5ae1a87..5d415bd 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/brandy-native-js-autoota/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/brandy-native-js-autoota/libfs_yaffs2.a differ
index 5ae1a87..5d415bd 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/brandy-native-js-autootacli/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/brandy-native-js-autootacli/libfs_yaffs2.a differ
index 5ae1a87..5d415bd 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/brandy-native-js-cm/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/brandy-native-js-cm/libfs_yaffs2.a differ
index 5ae1a87..5d415bd 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/brandy-native-js-ct/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/brandy-native-js-ct/libfs_yaffs2.a differ
index 5ae1a87..5d415bd 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/brandy-native-js-fd230/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/brandy-native-js-fd230/libfs_yaffs2.a differ
index 5ae1a87..5d415bd 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/brandy-native-js-leakcheck/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/brandy-native-js-leakcheck/libfs_yaffs2.a differ
index 5ae1a87..5d415bd 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/brandy-native-js-obu/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/brandy-native-js-obu/libfs_yaffs2.a differ
index 41f28ea..b71cd15 100755 (executable)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/brandy-native-js-r/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/brandy-native-js-r/libfs_yaffs2.a differ
diff --git a/code/sdk/middleware/utils/fs/yaffs2/brandy-native-js-user/libfs_yaffs2.a b/code/sdk/middleware/utils/fs/yaffs2/brandy-native-js-user/libfs_yaffs2.a
new file mode 100644 (file)
index 0000000..5d415bd
Binary files /dev/null and b/code/sdk/middleware/utils/fs/yaffs2/brandy-native-js-user/libfs_yaffs2.a differ
index 5ae1a87..5d415bd 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/brandy-native-js-z1/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/brandy-native-js-z1/libfs_yaffs2.a differ
index 5ae1a87..5d415bd 100755 (executable)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/brandy-native-js/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/brandy-native-js/libfs_yaffs2.a differ
index a084637..8364650 100755 (executable)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/brandy-target1-r/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/brandy-target1-r/libfs_yaffs2.a differ
index ec9c604..1215af7 100755 (executable)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/brandy-target1/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/brandy-target1/libfs_yaffs2.a differ
index 3709bc3..0501401 100755 (executable)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/brandy-target3-r/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/brandy-target3-r/libfs_yaffs2.a differ
index 9272dca..c34a141 100755 (executable)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/brandy-target3/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/brandy-target3/libfs_yaffs2.a differ
index 68aaae6..97a5e66 100755 (executable)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/brandy-target4-r/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/brandy-target4-r/libfs_yaffs2.a differ
index abe70ce..0205ed2 100755 (executable)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/brandy-target4/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/brandy-target4/libfs_yaffs2.a differ
index 2e6dc12..7c32b88 100755 (executable)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/brandy-target5-r/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/brandy-target5-r/libfs_yaffs2.a differ
index 43186e7..ad5e09d 100755 (executable)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/brandy-target5/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/brandy-target5/libfs_yaffs2.a differ
index 32c2de0..4a0c3da 100755 (executable)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/brandy-xts-r/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/brandy-xts-r/libfs_yaffs2.a differ
index da076b7..a798bda 100755 (executable)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/brandy-xts/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/brandy-xts/libfs_yaffs2.a differ
index 4d9a96a..d3ab2f3 100755 (executable)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/testsuite-brandy-sdk/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/testsuite-brandy-sdk/libfs_yaffs2.a differ
index fd0febd..1f2aef8 100755 (executable)
@@ -120,40 +120,31 @@ void GLOBAL_ValueFree(void *value)
     }
 }
 
-int32_t GLOBAL_GetValueById(uint32_t id, const char *path, char **value)
+static int32_t GLOBAL_GetValueByIdInternal(uint32_t id, const char *path, const char *locale, char **value)
 {
-    if (path == NULL || path[0] == '\0' || value == NULL) {
-        return MC_FAILURE;
-    }
-
-    char tempLocale[MAX_LOCALE_LENGTH] = {'\0'};
-    int32_t ret = strcpy_s(tempLocale, MAX_LOCALE_LENGTH, g_locale);
-    if (ret != EOK) {
-        return MC_FAILURE;
-    }
-
     char realResourcePath[PATH_MAX] = {'\0'};
     GlobalUtilsImpl *utilsImpl = GetGlobalUtilsImpl();
     if (utilsImpl->CheckFilePath(path, realResourcePath, PATH_MAX) == MC_FAILURE) {
         return MC_FAILURE;
     }
 
-    uint32_t idHeaderOffset = utilsImpl->GetOffsetByLocale(realResourcePath, tempLocale, MAX_LOCALE_LENGTH);
+    uint32_t idHeaderOffset = utilsImpl->GetOffsetByLocale(realResourcePath, locale, MAX_LOCALE_LENGTH);
     IdHeader idHeader = {0, NULL};
     int32_t file = open(realResourcePath, O_RDONLY, S_IRUSR | S_IRGRP | S_IROTH);
     if (file < 0) {
         return MC_FAILURE;
     }
-    ret = utilsImpl->GetIdHeaderByOffset(file, idHeaderOffset, &idHeader);
+    int32_t ret = utilsImpl->GetIdHeaderByOffset(file, idHeaderOffset, &idHeader);
     if (ret != MC_SUCCESS) {
         close(file);
         return ret;
     }
 
+    int32_t result = MC_FAILURE;
     IdItem idItem = {0, INVALID_RES_TYPE, 0, 0, NULL, 0, NULL};
     for (uint32_t i = 0; i < idHeader.count; i++) {
         if (idHeader.idParams[i].id == id) {
-            int32_t ret = utilsImpl->GetIdItem(file, idHeader.idParams[i].offset, &idItem);
+            ret = utilsImpl->GetIdItem(file, idHeader.idParams[i].offset, &idItem);
             if (ret != MC_SUCCESS) {
                 close(file);
                 free(idHeader.idParams);
@@ -167,18 +158,19 @@ int32_t GLOBAL_GetValueById(uint32_t id, const char *path, char **value)
                 FreeValue(value);
                 return MC_FAILURE;
             }
+            result = MC_SUCCESS;
             break;
         }
     }
     close(file);
     free(idHeader.idParams);
     FreeIdItem(&idItem);
-    return MC_SUCCESS;
+    return result;
 }
 
-int32_t GLOBAL_GetValueByName(const char *name, const char *path, char **value)
+int32_t GLOBAL_GetValueById(uint32_t id, const char *path, char **value)
 {
-    if (name == NULL || strlen(name) == 0 || path == NULL || strlen(path) == 0 || value == NULL) {
+    if (path == NULL || path[0] == '\0' || value == NULL) {
         return MC_FAILURE;
     }
 
@@ -187,26 +179,39 @@ int32_t GLOBAL_GetValueByName(const char *name, const char *path, char **value)
     if (ret != EOK) {
         return MC_FAILURE;
     }
+
+    char *locales[] = {tempLocale, ""};
+    for (int i = 0; i < 2; i++) { // 2 current language and the default.
+        if (GLOBAL_GetValueByIdInternal(id, path, locales[i], value) == MC_SUCCESS) {
+            return MC_SUCCESS;
+        }
+    }
+    return MC_FAILURE;
+}
+
+static int32_t GLOBAL_GetValueByNameInternal(const char *name, const char *path, const char *locale, char **value)
+{
     char realResourcePath[PATH_MAX] = {'\0'};
     GlobalUtilsImpl *utilsImpl = GetGlobalUtilsImpl();
     if (utilsImpl->CheckFilePath(path, realResourcePath, PATH_MAX) == MC_FAILURE) {
         return MC_FAILURE;
     }
-    uint32_t idHeaderOffset = utilsImpl->GetOffsetByLocale(realResourcePath, tempLocale, MAX_LOCALE_LENGTH);
+    uint32_t idHeaderOffset = utilsImpl->GetOffsetByLocale(realResourcePath, locale, MAX_LOCALE_LENGTH);
     IdHeader idHeader = {0, NULL};
     int32_t file = open(realResourcePath, O_RDONLY, S_IRUSR | S_IRGRP | S_IROTH);
     if (file < 0) {
         return MC_FAILURE;
     }
-    ret = utilsImpl->GetIdHeaderByOffset(file, idHeaderOffset, &idHeader);
+    int32_t ret = utilsImpl->GetIdHeaderByOffset(file, idHeaderOffset, &idHeader);
     if (ret != MC_SUCCESS) {
         close(file);
         return ret;
     }
 
+    int32_t result = MC_FAILURE;
     IdItem idItem = {0, INVALID_RES_TYPE, 0, 0, NULL, 0, NULL};
     for (uint32_t i = 0; i < idHeader.count; i++) {
-        int32_t ret = utilsImpl->GetIdItem(file, idHeader.idParams[i].offset, &idItem);
+        ret = utilsImpl->GetIdItem(file, idHeader.idParams[i].offset, &idItem);
         if (ret != MC_SUCCESS) {
             close(file);
             free(idHeader.idParams);
@@ -224,11 +229,33 @@ int32_t GLOBAL_GetValueByName(const char *name, const char *path, char **value)
             FreeValue(value);
             return MC_FAILURE;
         }
+        result = MC_SUCCESS;
         break;
     }
 
     close(file);
     free(idHeader.idParams);
     FreeIdItem(&idItem);
-    return MC_SUCCESS;
+    return result;
+}
+
+int32_t GLOBAL_GetValueByName(const char *name, const char *path, char **value)
+{
+    if (name == NULL || strlen(name) == 0 || path == NULL || strlen(path) == 0 || value == NULL) {
+        return MC_FAILURE;
+    }
+
+    char tempLocale[MAX_LOCALE_LENGTH] = {'\0'};
+    int32_t ret = strcpy_s(tempLocale, MAX_LOCALE_LENGTH, g_locale);
+    if (ret != EOK) {
+        return MC_FAILURE;
+    }
+
+    char *locales[] = {tempLocale, ""};
+    for (int i = 0; i < 2; i++) { // 2 current language and the default.
+        if (GLOBAL_GetValueByNameInternal(name, path, locales[i], value) == MC_SUCCESS) {
+            return MC_SUCCESS;
+        }
+    }
+    return MC_FAILURE;
 }
index fa75416..8aed6dd 100755 (executable)
@@ -487,6 +487,7 @@ static uint32_t GetIdHeaderOffsetByLocale(const char *locale, const Key *keys, u
         (void)Split(locale, "_", resConfig, &count);
     } else {
         resConfig[0] = (char *)locale;
+        count = 1;
     }
     return GetIdHeaderOffsetByCount(resConfig, keys, configNum, count);
 }
index 11942bd..8199982 100644 (file)
Binary files a/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-auto-ota-cli/libams.a and b/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-auto-ota-cli/libams.a differ
index addd26e..9bc8af1 100644 (file)
Binary files a/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-auto-ota-ser/libams.a and b/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-auto-ota-ser/libams.a differ
index fd47414..911e68a 100644 (file)
Binary files a/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-native-js-autoota/libams.a and b/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-native-js-autoota/libams.a differ
index fd47414..911e68a 100644 (file)
Binary files a/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-native-js-autootacli/libams.a and b/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-native-js-autootacli/libams.a differ
index fd47414..911e68a 100644 (file)
Binary files a/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-native-js-cm/libams.a and b/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-native-js-cm/libams.a differ
index fd47414..911e68a 100644 (file)
Binary files a/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-native-js-ct/libams.a and b/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-native-js-ct/libams.a differ
index fd47414..911e68a 100644 (file)
Binary files a/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-native-js-fd230/libams.a and b/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-native-js-fd230/libams.a differ
index fd47414..911e68a 100644 (file)
Binary files a/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-native-js-leakcheck/libams.a and b/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-native-js-leakcheck/libams.a differ
index fd47414..911e68a 100644 (file)
Binary files a/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-native-js-obu/libams.a and b/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-native-js-obu/libams.a differ
diff --git a/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-native-js-user/libams.a b/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-native-js-user/libams.a
new file mode 100644 (file)
index 0000000..911e68a
Binary files /dev/null and b/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-native-js-user/libams.a differ
index fd47414..911e68a 100644 (file)
Binary files a/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-native-js-z1/libams.a and b/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-native-js-z1/libams.a differ
index fd47414..911e68a 100755 (executable)
Binary files a/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-native-js/libams.a and b/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-native-js/libams.a differ
index ecee409..ff8e68d 100755 (executable)
Binary files a/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-xts/libams.a and b/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-xts/libams.a differ
index ab19c8d..d356252 100644 (file)
Binary files a/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-auto-ota-cli/libace.a and b/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-auto-ota-cli/libace.a differ
index 99c4b38..43b0a6b 100644 (file)
Binary files a/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-auto-ota-ser/libace.a and b/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-auto-ota-ser/libace.a differ
index c090187..5cd4368 100644 (file)
Binary files a/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-native-js-autoota/libace.a and b/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-native-js-autoota/libace.a differ
index c090187..5cd4368 100644 (file)
Binary files a/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-native-js-autootacli/libace.a and b/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-native-js-autootacli/libace.a differ
index c090187..5cd4368 100644 (file)
Binary files a/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-native-js-cm/libace.a and b/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-native-js-cm/libace.a differ
index c090187..5cd4368 100644 (file)
Binary files a/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-native-js-ct/libace.a and b/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-native-js-ct/libace.a differ
index c090187..5cd4368 100644 (file)
Binary files a/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-native-js-fd230/libace.a and b/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-native-js-fd230/libace.a differ
index c090187..5cd4368 100644 (file)
Binary files a/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-native-js-leakcheck/libace.a and b/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-native-js-leakcheck/libace.a differ
index c090187..5cd4368 100644 (file)
Binary files a/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-native-js-obu/libace.a and b/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-native-js-obu/libace.a differ
diff --git a/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-native-js-user/libace.a b/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-native-js-user/libace.a
new file mode 100644 (file)
index 0000000..5cd4368
Binary files /dev/null and b/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-native-js-user/libace.a differ
index c090187..5cd4368 100644 (file)
Binary files a/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-native-js-z1/libace.a and b/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-native-js-z1/libace.a differ
index c090187..5cd4368 100755 (executable)
Binary files a/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-native-js/libace.a and b/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-native-js/libace.a differ
index 4d3eb24..abc3557 100755 (executable)
Binary files a/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-xts/libace.a and b/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-xts/libace.a differ
index c5dded9..cb9d8a2 100755 (executable)
@@ -1315,7 +1315,7 @@ bool Component::RegisterCommonEventListener(UIView &view,
 void Component::ReleaseCommonEventListeners()
 {
     RootView *rootView = RootView::GetInstance();
-    if (rootView != nullptr) {
+    if (rootView != nullptr && rootView->GetOnKeyActListener() == onKeyInputListener_) {
         rootView->ClearOnKeyActListener();
     }
     ACE_DELETE(onKeyInputListener_);
index 655f789..1033718 100755 (executable)
@@ -100,6 +100,7 @@ PickerViewComponent::PickerViewComponent(jerry_value_t options, jerry_value_t ch
       selectedColor_(Color::White()),
       selectedFontSize_(PICKER_SELECTED_FONT_SIZE),
       selectedFontFamily_(nullptr),
+      pickerItemHeight_(PICKER_ITEM_HEIGHT),
       textSelected_(0),
       pTextArray_(nullptr),
       textArraySize_(0),
@@ -189,7 +190,7 @@ bool PickerViewComponent::CreateTextPicker()
         uiPicker = nullptr;
         return false;
     }
-    uiPicker->SetItemHeight(PICKER_ITEM_HEIGHT);
+    uiPicker->SetItemHeight(pickerItemHeight_);
     pickerView_ = static_cast<UIView *>(uiPicker);
     return true;
 }
@@ -211,7 +212,7 @@ bool PickerViewComponent::CreateTimePicker()
         uiTimePicker = nullptr;
         return false;
     }
-    uiTimePicker->SetItemHeight(PICKER_ITEM_HEIGHT);
+    uiTimePicker->SetItemHeight(pickerItemHeight_);
     pickerView_ = static_cast<UIView *>(uiTimePicker);
     return true;
 }
@@ -231,7 +232,7 @@ bool PickerViewComponent::CreateImagePicker()
         uiImagePicker = nullptr;
         return false;
     }
-    uiImagePicker->SetItemHeight(PICKER_ITEM_HEIGHT);
+    uiImagePicker->SetItemHeight(pickerItemHeight_);
     uiImagePicker->SetItemWidth(PICKER_ITEM_WIDTH);
     pickerView_ = uiImagePicker;
     return true;
@@ -253,7 +254,7 @@ bool PickerViewComponent::CreateDatePicker()
         uiDatePicker = nullptr;
         return false;
     }
-    uiDatePicker->SetItemHeight(PICKER_ITEM_HEIGHT);
+    uiDatePicker->SetItemHeight(pickerItemHeight_);
     pickerView_ = static_cast<UIView *>(uiDatePicker);
     return true;
 }
@@ -410,12 +411,10 @@ void PickerViewComponent::UpdatePickerStyles() const
     switch (pickerType_) {
         case PickerType::TEXT: {
             UIPicker *textPicker = reinterpret_cast<UIPicker *>(pickerView_);
-            if (PICKER_ITEM_HEIGHT < selectedFontSize_) {
-                textPicker->SetItemHeight(selectedFontSize_);
-            }
             textPicker->SetBackgroundFont(fontFamily_, fontSize_);
             textPicker->SetHighlightFont(selectedFontFamily_, selectedFontSize_);
             textPicker->SetTextColor(color_, selectedColor_);
+            textPicker->SetItemHeight(pickerItemHeight_);
             break;
         }
         case PickerType::TIME: {
@@ -423,6 +422,7 @@ void PickerViewComponent::UpdatePickerStyles() const
             timePicker->SetBackgroundFont(fontFamily_, fontSize_);
             timePicker->SetHighlightFont(selectedFontFamily_, selectedFontSize_);
             timePicker->SetTextColor(color_, selectedColor_);
+            timePicker->SetItemHeight(pickerItemHeight_);
             break;
         }
 #ifdef FEATURE_COMPONENT_DATE_PICKER
@@ -553,6 +553,10 @@ bool PickerViewComponent::ApplyPrivateStyle(const AppStyleItem *styleItem)
             break;
         case K_FONT_SIZE:
             fontSize_ = GetStylePixelValue(styleItem);
+            // reset picker item height if fontSize is larger than PICKER_SELECTED_FONT_SIZE.
+            if (fontSize_ > PICKER_SELECTED_FONT_SIZE) {
+                pickerItemHeight_ = fontSize_ + PICKER_ITEM_HEIGHT_GAP;
+            }
             break;
         case K_FONT_FAMILY:
             CopyFontFamily(fontFamily_, GetStyleStrValue(styleItem));
@@ -565,6 +569,10 @@ bool PickerViewComponent::ApplyPrivateStyle(const AppStyleItem *styleItem)
             break;
         case K_SELECTED_FONT_SIZE:
             selectedFontSize_ = GetStylePixelValue(styleItem);
+            // reset picker item height if selectedFontSize is larger than PICKER_SELECTED_FONT_SIZE.
+            if (selectedFontSize_ > PICKER_SELECTED_FONT_SIZE) {
+                pickerItemHeight_ = selectedFontSize_ + PICKER_ITEM_HEIGHT_GAP;
+            }
             break;
         case K_SELECTED_FONT_FAMILY:
             CopyFontFamily(selectedFontFamily_, GetStyleStrValue(styleItem));
index 649d060..cdbf943 100755 (executable)
@@ -45,6 +45,8 @@ static constexpr char DATE_PICKER_DAY[] = "day";
 #endif // FEATURE_COMPONENT_DATE_PICKER
 static constexpr int16_t PICKER_ITEM_HEIGHT = 50; // default picker item height
 static constexpr uint8_t PICKER_SELECTED_FONT_SIZE = 38; // F_HYQIHEI_65S_38_4
+// the gap size add with font size to calculate picker item height.
+static constexpr int16_t PICKER_ITEM_HEIGHT_GAP = 25;
 
 /**
  * @brief listener class for text picker onchange event.
@@ -229,6 +231,7 @@ private:
     ColorType selectedColor_;
     uint8_t selectedFontSize_;
     char* selectedFontFamily_;
+    uint16_t pickerItemHeight_;
 
     // text picker-view attributes
     uint16_t textSelected_;
index 64c73ab..f3f0c36 100755 (executable)
@@ -68,8 +68,8 @@ typedef enum {
     HILOG_MODULE_MAX\r
 } HiLogModuleType;\r
 \r
-#ifndef HSO_SUPPORT\r
-#if HILOG_DEBUG_ENABLE\r
+// #ifndef HSO_SUPPORT\r
+// #if HILOG_DEBUG_ENABLE\r
 #define HILOG_DEBUG(mod, format, ...)                                \\r
     do                                                               \\r
     {                                                                \\r
@@ -109,12 +109,12 @@ typedef enum {
         printf("R " format "\n", ##__VA_ARGS__);                      \\r
     } while (0)\r
 \r
-#else\r
-#define HILOG_DEBUG(mod, format, ...) uapi_diag_debug_log(0, format, ##__VA_ARGS__)\r
-#define HILOG_ERROR(mod, format, ...) uapi_diag_error_log(0, format, ##__VA_ARGS__)\r
-#define HILOG_FATAL(mod, format, ...) uapi_diag_error_log(0, format, ##__VA_ARGS__)\r
-#define HILOG_INFO(mod, format, ...) uapi_diag_info_log(0, format, ##__VA_ARGS__)\r
-#define HILOG_WARN(mod, format, ...) uapi_diag_warning_log(0, format, ##__VA_ARGS__)\r
-#define HILOG_RACE(mod, format, ...)\r
-#endif\r
-#endif // OHOS_AAFWK_BASE_LOG_H\r
+// #else\r
+// #define HILOG_DEBUG(mod, format, ...) uapi_diag_debug_log(0, format, ##__VA_ARGS__)\r
+// #define HILOG_ERROR(mod, format, ...) uapi_diag_error_log(0, format, ##__VA_ARGS__)\r
+// #define HILOG_FATAL(mod, format, ...) uapi_diag_error_log(0, format, ##__VA_ARGS__)\r
+// #define HILOG_INFO(mod, format, ...) uapi_diag_info_log(0, format, ##__VA_ARGS__)\r
+// #define HILOG_WARN(mod, format, ...) uapi_diag_warning_log(0, format, ##__VA_ARGS__)\r
+// #define HILOG_RACE(mod, format, ...)\r
+// #endif\r
+// #endif // OHOS_AAFWK_BASE_LOG_H\r
index 67c99af..cb1ae2e 100755 (executable)
@@ -31,6 +31,7 @@ extern "C" {
 void *PSRAM_Malloc(uint32_t size);
 void *PSRAM_Calloc(uint32_t nitems, uint32_t size);
 void PSRAM_Free(void *buffer);
+void AceMemInfoPrint(void);
 
 #ifdef __cplusplus
 #if __cplusplus
index 2cd2d4a..d1da394 100644 (file)
@@ -26,18 +26,10 @@ namespace OHOS {
 namespace ACELite {\r
 NetCallBack NetWorkModule::callback_;\r
 \r
-void NetWorkModule::TriggerCallbackListener(char *netConnectStatus, uint32_t Len)\r
+void NetWorkModule::TriggerCallbackListener(uint8_t netConnectStatus, uint8_t type)\r
 {\r
-    if (netConnectStatus != nullptr) {\r
-        callback_.netParam.Len = Len;\r
-        char *newData = (char *)realloc(callback_.netParam.status, Len + 1);\r
-        memset_s(newData, Len + 1, 0, Len + 1);\r
-        if (newData != nullptr) {\r
-            callback_.netParam.status = newData;\r
-            memcpy_s(callback_.netParam.status, Len, netConnectStatus, Len);\r
-        }\r
-    }\r
-    callback_.netParam.Len = Len;\r
+    callback_.netParam.status = netConnectStatus;\r
+    callback_.netParam.net_type = type;\r
     if (!JsAsyncWork::DispatchAsyncWork(AsyncExecuteCallback, const_cast<NetParam *>(&callback_.netParam))) {\r
         MEDIA_ERR_LOG("dispatch async work failed.");\r
     }\r
@@ -48,11 +40,50 @@ static bool ValidJsValue(JSIValue value)
     return (value != nullptr) && (!JSI::ValueIsUndefined(value));\r
 }\r
 \r
+const char* GetNetworkStatusString(uint8_t type, uint8_t status) {\r
+    // 网络类型\r
+    const char *networkType;\r
+    switch (type) {\r
+        case NETWORK_TYPE_WIFI:\r
+            networkType = "WIFI";\r
+            break;\r
+        case NETWORK_TYPE_BLUETOOTH:\r
+            networkType = "Bluetooth";\r
+            break;\r
+        default:\r
+            networkType = "Unknown Network Type";\r
+            break;\r
+    }\r
+\r
+    // 连接状态\r
+    const char *connectionStatus;\r
+    switch (status) {\r
+        case CONNECTION_STATUS_CONNECTING:\r
+            connectionStatus = "Connecting";\r
+            break;\r
+        case CONNECTION_STATUS_CONNECTED:\r
+            connectionStatus = "Connected";\r
+            break;\r
+        case CONNECTION_STATUS_DISCONNECTED:\r
+            connectionStatus = "Disconnected";\r
+            break;\r
+        default:\r
+            connectionStatus = "Unknown Status";\r
+            break;\r
+    }\r
+\r
+    // 静态字符串缓冲区,用于返回结果\r
+    static char result[MAX_STATUS_LENGTH];\r
+    snprintf(result, sizeof(result), "%s: %s", networkType, connectionStatus);\r
+\r
+    return result;\r
+}\r
+\r
 void NetWorkModule::AsyncExecuteCallback(void *arg)\r
 {\r
     NetParam *netParam = static_cast<NetParam *>(arg);\r
     if (ValidJsValue(callback_.net_connect_callback) && netParam != nullptr) {\r
-        JSIValue result = JSI::CreateString(static_cast<char *>(netParam->status));\r
+        JSIValue result = JSI::CreateString(const_cast<char *>(GetNetworkStatusString(netParam->net_type, netParam->status)));\r
         JSIValue argv[ARGC_ONE] = {result};\r
         JSI::CallFunction(callback_.net_connect_callback, callback_.net_connect_thisVal, argv, ARGC_ONE);\r
         JSI::ReleaseValue(result);\r
@@ -66,11 +97,8 @@ JSIValue NetWorkModule::RegisterConnectListener(const JSIValue thisVal, const JS
         return JSI::CreateUndefined();\r
     }\r
 \r
-    if (callback_.net_connect_callback != nullptr) {\r
-        HILOG_WARN(HILOG_MODULE_ACE, "net connection callback already registered");\r
-        return JSI::CreateUndefined();\r
-    }\r
-\r
+    JSI::ReleaseValue(callback_.net_connect_thisVal);\r
+    JSI::ReleaseValue(callback_.net_connect_callback);\r
     callback_.net_connect_thisVal = JSI::AcquireValue(thisVal);\r
     callback_.net_connect_callback = JSI::AcquireValue(args[0]);\r
     if (callback_.net_connect_callback == nullptr) {\r
@@ -79,7 +107,7 @@ JSIValue NetWorkModule::RegisterConnectListener(const JSIValue thisVal, const JS
     }\r
 \r
     // 可以在注册回调后执行其他必要的操作\r
-    net_connect_status_change("test", strlen("test"));\r
+    net_connect_status_change(CONNECTION_STATUS_DISCONNECTED, NETWORK_TYPE_BLUETOOTH);\r
 \r
     return JSI::CreateUndefined();\r
 }\r
@@ -101,7 +129,7 @@ JSIValue NetWorkModule::UnregisterConnectListener(const JSIValue thisVal, const
 JSIValue NetWorkModule::GetConnectState(const JSIValue thisVal, const JSIValue *args, uint8_t argsNum)\r
 {\r
 \r
-    return JSI::CreateString(callback_.netParam.status);\r
+    return JSI::CreateString(const_cast<char *>(GetNetworkStatusString(callback_.netParam.net_type, callback_.netParam.status)));\r
 }\r
 \r
 }\r
@@ -111,9 +139,9 @@ JSIValue NetWorkModule::GetConnectState(const JSIValue thisVal, const JSIValue *
 extern "C" {\r
 #endif\r
 \r
-void net_connect_status_change(char *netConnectStatus, uint32_t Len)\r
+void net_connect_status_change(uint8_t netConnectStatus,uint8_t type)\r
 {\r
-    OHOS::ACELite::NetWorkModule::TriggerCallbackListener(netConnectStatus, Len);\r
+    OHOS::ACELite::NetWorkModule::TriggerCallbackListener(netConnectStatus, type);\r
 }\r
 \r
 #ifdef __cplusplus\r
index 2ddad88..e7d8f04 100644 (file)
 #ifdef __cplusplus\r
 extern "C" {\r
 #endif\r
-void net_connect_status_change(char *netConnectStatus, uint32_t Len);\r
+void net_connect_status_change(uint8_t netConnectStatus,uint8_t type);\r
 #ifdef __cplusplus\r
 };\r
 #endif\r
 \r
 namespace OHOS {\r
 namespace ACELite {\r
+#define MAX_STATUS_LENGTH 128\r
+// ÍøÂçÀàÐÍö¾Ù\r
+typedef enum {\r
+    NETWORK_TYPE_WIFI = 0,\r
+    NETWORK_TYPE_BLUETOOTH,\r
+    NETWORK_TYPE_UNKNOWN\r
+} NetworkType;\r
+\r
+// Á¬½Ó״̬ö¾Ù\r
+typedef enum {\r
+    CONNECTION_STATUS_CONNECTING = 0,\r
+    CONNECTION_STATUS_CONNECTED,\r
+    CONNECTION_STATUS_DISCONNECTED,\r
+    CONNECTION_STATUS_UNKNOWN\r
+} ConnectionStatus;\r
 \r
 struct NetParam {\r
-    char *status = nullptr;\r
-    uint32_t Len = 0;\r
+    uint8_t status;\r
+    uint8_t net_type = -1;\r
 };\r
 \r
 struct  NetCallBack {\r
@@ -48,7 +63,7 @@ public:
     static JSIValue UnregisterConnectListener(const JSIValue thisVal, const JSIValue *args, uint8_t argsNum);\r
     static JSIValue GetConnectState(const JSIValue thisVal, const JSIValue *args, uint8_t argsNum);\r
     static void AsyncExecuteCallback(void *arg);\r
-    static void TriggerCallbackListener(char *netConnectStatus, uint32_t Len);\r
+    static void TriggerCallbackListener(uint8_t netConnectStatus, uint8_t type);\r
 };\r
 \r
 void InitNetWorkModule(JSIValue exports)\r
index f71b8fb..1fb1af0 100755 (executable)
@@ -391,7 +391,7 @@ bool CJSONParser::CacheFile()
         return false;
     }
     cJSON *json = cJSON_Parse(content);
-    ace_free(content);
+    free(content);
     content = nullptr;
     if (json == nullptr) {
         return false;
@@ -519,7 +519,7 @@ jerry_value_t CJSONParser::GetValueFromFile(const char *key,
     uint8_t keyCount = Split(key, '.', *&keys);
     char *content = ReadJSFile(filePath_, languageFile);
     cJSON *fileJson = cJSON_Parse(content);
-    ACE_FREE(content);
+    free(content);
     cJSON *curJsonItem = fileJson;
     uint8_t curKeyIndex = 0;
     do {
index 5e4dbe0..63d49f2 100644 (file)
@@ -121,7 +121,7 @@ jerry_value_t ImageModule::OnLoadSetter(const jerry_value_t func,
     }\r
     if (argsNum == 1 && jerry_value_is_function(args[0])) {\r
         jerry_release_value(imageModel->onLoadFunc_);\r
-        imageModel->onLoadFunc_ = args[0];\r
+        imageModel->onLoadFunc_ = jerry_acquire_value(args[0]);\r
     } else {\r
         return jerry_create_error(JERRY_ERROR_EVAL,\r
                                   reinterpret_cast<const jerry_char_t *>("set imageModel onload arg fail"));\r
@@ -160,7 +160,7 @@ jerry_value_t ImageModule::OnErrorSetter(const jerry_value_t func,
     }\r
     if (argsNum >= 1 && jerry_value_is_function(args[0])) {\r
         jerry_release_value(imageModel->onErrorFunc_);\r
-        imageModel->onErrorFunc_ = args[0];\r
+        imageModel->onErrorFunc_ = jerry_acquire_value(args[0]);\r
     } else {\r
         return jerry_create_error(JERRY_ERROR_EVAL,\r
                                   reinterpret_cast<const jerry_char_t *>("set imageModel onload arg fail"));\r
index 867ebc2..3c663e9 100644 (file)
@@ -50,20 +50,16 @@ public:
                                                 const char *attributeName,\r
                                                 jerry_external_handler_t setterHandler,\r
                                                 jerry_external_handler_t getterHandler);\r
-#if (defined(ENABLED_DELETE_MODULE_IAMGE) && (ENABLED_DELETE_MODULE_IAMGE == 1))\r
     static void DeleteImage(void* ptr)\r
     {\r
         ImageModule* image = reinterpret_cast<ImageModule*>(ptr);\r
         ACE_DELETE(image);\r
     }\r
-#endif\r
 \r
     static void OnCallBack(const jerry_value_t context, const ImageModule *imageModule, bool isSucess, const char* msg);\r
     // the handle to release the native value when the js value number format object is not needed.\r
     static constexpr jerry_object_native_info_t gcCallback = {\r
-#if ENABLED_DELETE_MODULE_IAMGE\r
         .free_cb = DeleteImage\r
-#endif\r
     };\r
     static const char * const attrOnload;\r
     static const char * const attrOnError;\r
index 421f4c7..ff05e1c 100644 (file)
@@ -60,6 +60,7 @@ void VibratorModule::ExecuteVibrate(void* data)
     JSIValue args = params->args;\r
     JSIValue thisVal = params->thisVal;\r
     JSIValue result = JSI::CreateObject();\r
+    JSI::SetStringProperty(result, "result", "success");\r
     char* mode = JSI::GetStringProperty(args, VIBTATOR_MODE);\r
     if (strcmp(mode, "long") == 0|| strcmp(mode, "short") == 0) {\r
         SuccessCallBack(thisVal, args, result);\r
index 5fd9ba6..5aa11e8 100644 (file)
Binary files a/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-auto-ota-cli/libbms.a and b/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-auto-ota-cli/libbms.a differ
index 0bdbf22..985e5b5 100644 (file)
Binary files a/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-auto-ota-ser/libbms.a and b/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-auto-ota-ser/libbms.a differ
index 5cf8f15..2c35a7e 100644 (file)
Binary files a/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-native-js-autoota/libbms.a and b/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-native-js-autoota/libbms.a differ
index 5cf8f15..2c35a7e 100644 (file)
Binary files a/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-native-js-autootacli/libbms.a and b/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-native-js-autootacli/libbms.a differ
index 5cf8f15..2c35a7e 100644 (file)
Binary files a/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-native-js-cm/libbms.a and b/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-native-js-cm/libbms.a differ
index 5cf8f15..2c35a7e 100644 (file)
Binary files a/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-native-js-ct/libbms.a and b/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-native-js-ct/libbms.a differ
index 5cf8f15..2c35a7e 100644 (file)
Binary files a/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-native-js-fd230/libbms.a and b/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-native-js-fd230/libbms.a differ
index 5cf8f15..2c35a7e 100644 (file)
Binary files a/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-native-js-leakcheck/libbms.a and b/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-native-js-leakcheck/libbms.a differ
index 5cf8f15..2c35a7e 100644 (file)
Binary files a/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-native-js-obu/libbms.a and b/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-native-js-obu/libbms.a differ
diff --git a/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-native-js-user/libbms.a b/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-native-js-user/libbms.a
new file mode 100644 (file)
index 0000000..2c35a7e
Binary files /dev/null and b/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-native-js-user/libbms.a differ
index 5cf8f15..2c35a7e 100644 (file)
Binary files a/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-native-js-z1/libbms.a and b/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-native-js-z1/libbms.a differ
index 5cf8f15..2c35a7e 100755 (executable)
Binary files a/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-native-js/libbms.a and b/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-native-js/libbms.a differ
index 2096170..6397f56 100755 (executable)
Binary files a/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-xts/libbms.a and b/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-xts/libbms.a differ
index 23c96bb..2b83b50 100755 (executable)
@@ -376,6 +376,24 @@ public:
      */
     static JSIValue OnTimeUpdateSetter(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize);
 
+     /**
+     * the getter of stream type
+     *
+     * @param thisVal Indicates function execute context
+     * @param args Indicates the function arguments
+     * @param argsSize Indicates the size of function arguments
+     */
+    static JSIValue StreamTypeGetter(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize);
+
+    /**
+     * the setter of stream type
+     *
+     * @param thisVal Indicates function execute context
+     * @param args Indicates the function arguments
+     * @param argsSize Indicates the size of function arguments
+     */
+    static JSIValue StreamTypeSetter(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize);
+
 private:
     static JSIValue GetEventCallback(const AudioEventListener *listener);
 
index 3010548..1f061c4 100755 (executable)
@@ -18,6 +18,7 @@
 
 #include "jsi.h"
 #include "player.h"
+#include "audio_base_type.h"
 #include "media_thread_adapt.h"
 
 namespace OHOS {
@@ -117,6 +118,8 @@ public:
 
     bool SetVolume(double volume);
 
+    bool SetStreamType(AudioStreamType streamType);
+
     bool SetMuted(bool muted);
 
     int32_t SetAudioSessionId(uint32_t sessionId);
@@ -179,6 +182,7 @@ private:
     bool isRunning_;
     bool isSysSrc_;
     MediaThreadIdHandle updateTimeProcess_;
+    AudioStreamType streamType_ = AUDIO_STREAM_MUSIC;
 };
 } // namespace ACELite
 } // namespace OHOS
index 0bebc54..6f8c93f 100755 (executable)
@@ -79,6 +79,8 @@ void MediaThreadCondTimeWait(MediaThreadCondHandle condHandle, MediaMutexHandle
  */
 void MediaThreadCondDestroy(MediaThreadCondHandle *condHandle);
 
+void MediaThreadSetDetach(MediaThreadIdHandle thdId, bool detach);
+
 #ifdef __cplusplus
 };
 #endif
index ee2bb8a..4a119b2 100644 (file)
Binary files a/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-auto-ota-cli/libjerryscript.a and b/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-auto-ota-cli/libjerryscript.a differ
index 9268431..f236f6e 100644 (file)
Binary files a/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-auto-ota-ser/libjerryscript.a and b/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-auto-ota-ser/libjerryscript.a differ
index 75cadbf..4c6839d 100644 (file)
Binary files a/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-native-js-autoota/libjerryscript.a and b/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-native-js-autoota/libjerryscript.a differ
index 75cadbf..4c6839d 100644 (file)
Binary files a/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-native-js-autootacli/libjerryscript.a and b/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-native-js-autootacli/libjerryscript.a differ
index 75cadbf..4c6839d 100644 (file)
Binary files a/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-native-js-cm/libjerryscript.a and b/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-native-js-cm/libjerryscript.a differ
index 75cadbf..4c6839d 100644 (file)
Binary files a/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-native-js-ct/libjerryscript.a and b/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-native-js-ct/libjerryscript.a differ
index 75cadbf..4c6839d 100644 (file)
Binary files a/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-native-js-fd230/libjerryscript.a and b/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-native-js-fd230/libjerryscript.a differ
index 75cadbf..4c6839d 100644 (file)
Binary files a/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-native-js-leakcheck/libjerryscript.a and b/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-native-js-leakcheck/libjerryscript.a differ
index 75cadbf..4c6839d 100644 (file)
Binary files a/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-native-js-obu/libjerryscript.a and b/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-native-js-obu/libjerryscript.a differ
diff --git a/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-native-js-user/libjerryscript.a b/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-native-js-user/libjerryscript.a
new file mode 100644 (file)
index 0000000..4c6839d
Binary files /dev/null and b/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-native-js-user/libjerryscript.a differ
index 75cadbf..4c6839d 100644 (file)
Binary files a/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-native-js-z1/libjerryscript.a and b/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-native-js-z1/libjerryscript.a differ
index 75cadbf..4c6839d 100755 (executable)
Binary files a/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-native-js/libjerryscript.a and b/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-native-js/libjerryscript.a differ
index 5bcadaa..ac4a96e 100755 (executable)
Binary files a/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-xts/libjerryscript.a and b/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-xts/libjerryscript.a differ
index 3278af0..e20f7e0 100644 (file)
@@ -314,7 +314,8 @@ typedef enum {
     GAP_IF_SET_INQUIRY_SCAN_PARAM,
     GAP_IF_RESTORE_REMOTE_DEVICE,
     GAP_IF_GET_LINK_MODE,
-    GAP_IF_SET_BR_SECURE_PARAM
+    GAP_IF_SET_BR_SECURE_PARAM,
+    GAP_IF_SET_BTH_FLOW_LIMIT,
 } mpc_bt_stack_gap_opcode;
 
 /* service_id: MC_BT_SRV_A2DP */
index ee11723..200e7e1 100644 (file)
@@ -20,6 +20,7 @@
 
 osal_timer g_a2dp_stream_accept_timer = {0};
 #define A2DP_STREAM_ACCEPT_TIMER_PERIOD 500
+static bool g_a2dp_snk_active_disconnect = false;
 
 static void sample_a2dp_snk_accept_timer_stop(void)
 {
@@ -98,6 +99,11 @@ static void sample_a2dp_snk_connect_state_changed_callback(const bd_addr_t *bd_a
 {
     bts_sample_log_with_func("addr: ****%02x%02x%02x%02x conn_state: %x\n",
         bd_addr->addr[3], bd_addr->addr[2], bd_addr->addr[1], bd_addr->addr[0], conn_state); /* 3 2 1 0 idx */
+    /* 主动断开service,断开事件上报后才能去注册server否则状态无法上报 */
+    if (g_a2dp_snk_active_disconnect == true && conn_state == PROFILE_STATE_DISCONNECTED) {
+        a2dp_snk_service_unregister();
+        g_a2dp_snk_active_disconnect = false;
+    }
 }
 
 static void sample_a2dp_snk_start_stream_request_callback(const bd_addr_t *bd_addr)
@@ -199,6 +205,8 @@ int wstp_a2dp_snk_get_playing_state(const bd_addr_t *bd_addr)
 /* 与设备建立A2DP连接 */
 int wstp_a2dp_snk_connect(const bd_addr_t *bd_addr)
 {
+    /* 连接service前要注册server否则状态无法上报 */
+    a2dp_snk_service_register();
     int ret = a2dp_snk_connect(bd_addr);
     bts_sample_log("a2dp_snk_connect ret(int): %x\n", ret);
     return ret;
@@ -207,6 +215,11 @@ int wstp_a2dp_snk_connect(const bd_addr_t *bd_addr)
 /* 与设备断开A2DP连接 */
 int wstp_a2dp_snk_disconnect(const bd_addr_t *bd_addr)
 {
+    if (a2dp_snk_get_device_connect_state(bd_addr) != PROFILE_STATE_CONNECTED) {
+        bts_sample_log("a2dp_snk_disconnect not connected\n");
+        return EXT_ERR_FAILURE;
+    }
+    g_a2dp_snk_active_disconnect = true;
     int ret = a2dp_snk_disconnect(bd_addr);
     bts_sample_log("a2dp_snk_disconnect ret(int): %x\n", ret);
     return ret;
index 4bb78f6..9a4a551 100755 (executable)
@@ -520,6 +520,7 @@ static void sample_handle_sco_state_changed(const bd_addr_t *bd_addr, hfp_sco_co
             break;
 
         case HFP_SCO_STATE_DISCONNECTED:
+        case HFP_SCO_STATE_CONNECT_FAILURE:
             task_body = sample_audio_deinit_task_body;
             break;
 
index 3689a56..70cbdc6 100755 (executable)
@@ -65,6 +65,7 @@ typedef enum {
 
     BTSRV_SAMPLE_GAP_SET_INQUIRY_PARAM,         /* 35 设置搜到参数 */
     BTSRV_SAMPLE_GAP_SET_SERVICE_TASK_PRIORITY, /* 36 设置BT_SERVICE_TASK优先级 */
+    BTSRV_SAMPLE_GAP_SET_FLOW_LIMIT,            /* 37 设置流控限制字节数 */
 } btsrv_gap_sample_cmd_id;
 
 typedef enum {
@@ -1217,6 +1218,17 @@ static void btsrv_sample_cmd_set_service_task_priority(const char **params, int3
     bts_sample_log("bts set service task priority ret:0x%x priority:%d\n", ret, task_priority);
 }
 
+static void btsrv_sample_cmd_set_flow_limit(const char **params, int32_t params_cnt)
+{
+    if (params_cnt != 1) { /* 1:参数个数 */
+        bts_sample_log("params_cnt error! need one param!\n");
+        return;
+    }
+    uint16_t flow_limit = (uint16_t)atoi(params[0]);
+    errcode_t ret = gap_bt_set_flow_limit(flow_limit);
+    bts_sample_log("bts set flow limit ret:0x%x limit:%d\n", ret, flow_limit);
+}
+
 btsrv_sample_cmd_hdl_info g_btsrv_gap_sample_hdls[] = {
     /* 0 */
     { BTSRV_SAMPLE_GAP_ENABLE_BLE,  btsrv_sample_cmd_enable_ble },
@@ -1270,7 +1282,8 @@ btsrv_sample_cmd_hdl_info g_btsrv_gap_sample_hdls[] = {
 
     /* 35 */
     { BTSRV_SAMPLE_GAP_SET_INQUIRY_PARAM, btsrv_sample_cmd_set_filter_device_class },
-    { BTSRV_SAMPLE_GAP_SET_SERVICE_TASK_PRIORITY, btsrv_sample_cmd_set_service_task_priority}
+    { BTSRV_SAMPLE_GAP_SET_SERVICE_TASK_PRIORITY, btsrv_sample_cmd_set_service_task_priority},
+    { BTSRV_SAMPLE_GAP_SET_FLOW_LIMIT, btsrv_sample_cmd_set_flow_limit},
 };
 
 void btsrv_gap_sample_cmd(uint32_t cmd_id, const char **params, int32_t params_cnt)
index 4430d75..38529a4 100755 (executable)
@@ -586,6 +586,7 @@ enum btsdk_hfp_app_event_code_enum {
                                       Other values to respond later with btsdk_agap_set_cur_indicator_val */
     BTSDK_HFP_EV_CODEC_CHANGED_IND,   /* Codec changed by the latest Codec Negotiation procedure. Parameter: uint8_t -
                                         Codec ID, e.g. BTSDK_SCO_CODEC_CVSD */
+    BTSDK_HFP_EV_AUDIO_CONNECT_FAILURE_IND, /* 69 Fails to create the audio connection. UINT8* to return the reason */
     BTSDK_HFP_EV_INBANDRING_IND = 74,   /* 74 +BSIR=<supported>, +BRSF(inband ring feature)
                                                                     AG notify the HF inband ring supported or not,
                                                                     uint8_t * - inbandring supported (0,1) */
index 41c634d..6f450c1 100755 (executable)
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:1c2c6e827eb257e312c39c379615dc65f4d340df62244627fe0f2502f55ed513
-size 425632
+oid sha256:8e8536a8ef09062636e9523134560b0975a8b82600fdaaf7692c15ebfee2379a
+size 424976
diff --git a/patch_602_0911_to_1009.txt b/patch_602_0911_to_1009.txt
new file mode 100644 (file)
index 0000000..f64e281
--- /dev/null
@@ -0,0 +1,58 @@
+【补丁名称】patch_602_0911_to_1009\r
+【基础版本】b602 + 0521 + 0626 + 7020 + 0812 + 0911\r
+【修复问题】\r
+BT合入内容\r
+    1、新提供流控配置接口。\r
+    2、新提供动态注册a2dp snk服务的新功能。\r
+    3、新增sco链路创建失败的异常处理事件。\r
+    4、优化对外头文件中BLE连接参数结构体注释。\r
+    5、HCI上行流控堆包计数加上HCI qos积包,解决src和snk同时积包触发内存不足的问题。\r
+PLT合入内容\r
+    1、解决pll问题\r
+    2、解决systick问题\r
+MEDIA合入内容\r
+    1、解决视频线程的退出时序,针对主动退出的时候,才进行join,解决视频停播以及冻屏的问题\r
+    2、修改本地铃声和蓝牙通话,以及蓝牙通话+ 本地铃声是混音策略\r
+    3、修改本地铃声+蓝牙通话的时候不压本地铃声的低音量,以防止听不到铃声\r
+    4、当需要恢复播放的时候,需要判断当前可被恢复的焦点是否已经创建了流,如果已经创建则不能删除焦点,防止恢复的时候找不到焦点而报错\r
+    5、js播放器对外接口,新增设置流类型参数的接口,可以更改流类型,以满足不同场景的播放需求\r
+GUI合入内容\r
+    1、移除UILabel SetTextTransform接口,文字和表情包随控件变换而变换\r
+    2、修改Text支持的最大行数为70\r
+    3、解决UILabel在LINE_BREAK_OSCILLATION模式下滚动过快的问题\r
+    4、解决UITransformGroup显示异常的问题\r
+    5、优化SlipFlow相关功能\r
+OHOS合入内容\r
+    1、百度导航增加 msgData释放、主动解注册接口、onDestroy被动清理。\r
+    2、百度page切换使用公共内存。\r
+    3、串口日志默认开启。\r
+    4、network jsi接口整改。\r
+    5、JS Demo国际化整改,支持应用名切换和内部文字国际化。\r
+    6、DMSLiteSendP2PMsg方法返回值修改。\r
+    7、解决国际化文件缺失时不能安装应用\r
+    8、新增跑马灯文字旋转\r
+    9、JS支持获取旋钮,按键事件监听\r
+    10、新增一个AT命令,用于切换系统语言。\r
+    11、修复在JS应用内使用POWER键退出后POWER键失效的问题\r
+GPU合入内容:\r
+    1、解决rm 异常分支打印无输出\r
+    2、解决vau_create_stroke_to_fill_path 死循环问题\r
+NATIVE-JS sample合入内容\r
+    1、解决sco兼容性问题\r
+\r
+【修改影响】NA\r
+\r
+【使用方法】\r
+    1、合入0521补丁\r
+    2、合入0626补丁\r
+    3、合入0720补丁\r
+    4、合入0812补丁\r
+    5、合入0911补丁\r
+    6、合入0911补丁\r
+\r
+【自测情况】\r
+    自验证范围:\r
+       全功能冒烟\r
+    自验证target:\r
+       Native-js、target3 rc版本\r
+【是否合入版本】根据测试结果确定\r