patch_0720_to_0812 798/1 798/head 799/target/1 956/target/1 sdk602
authorSnickerSun <snickersun@163.com>
Tue, 27 Aug 2024 01:07:15 +0000 (09:07 +0800)
committerSnickerSun <snickersun@163.com>
Tue, 27 Aug 2024 01:07:15 +0000 (09:07 +0800)
201 files changed:
code/sdk/application/brandy/brandy_standard/input_app.c
code/sdk/application/brandy/brandy_standard/thread_init.c
code/sdk/application/wearable/nativeabilityfwk/src/SliceTransition.cpp
code/sdk/application/wearable/nativeapp/nativeui/alarm/src/AlarmClockModel.cpp
code/sdk/application/wearable/nativeapp/nativeui/alarmclocktimerconfig/src/AlarmClockTimerConfig.cpp
code/sdk/application/wearable/nativeapp/nativeui/bluetooth/src/BluetoothModel.cpp
code/sdk/application/wearable/nativeapp/nativeui/main/src/MainPresenterSample.cpp
code/sdk/application/wearable/nativeapp/nativeui/main/src/dial/parser/DialBinParser.cpp
code/sdk/application/wearable/nativeapp/nativeui/offlinevoice/src/VocassistPresenter.cpp
code/sdk/application/wearable/nativeapp/nativeui/phoneservice/src/PhoneService.cpp
code/sdk/application/wearable/nativeapp/nativeui/screennotify/src/ui_screennotify.cpp
code/sdk/application/wearable/nativeapp/nativeui/set_dial/src/SetDialModel.cpp
code/sdk/application/wearable/nativeapp/nativeui/uiservice/include/ui_service.h
code/sdk/application/wearable/nativeapp/nativeui/uiservice/src/ui_service.cpp
code/sdk/application/wearable/service/msg_center/CMakeLists.txt
code/sdk/application/wearable/service/msg_center/brandy-auto-ota-cli/libmsg_center.a [new file with mode: 0644]
code/sdk/application/wearable/service/msg_center/brandy-auto-ota-ser/libmsg_center.a [new file with mode: 0644]
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/include/msg_center_protocol.h
code/sdk/application/wearable/service/msg_center/include/vendor_app/baidu_app.h
code/sdk/application/wearable/service/msg_center/libs/libbaidumapsdk.a
code/sdk/application/wearable/service/msg_center/src/msg_center_cmd.cpp
code/sdk/application/wearable/service/msg_center/src/vendor_app/baidu/baidu_app.cpp
code/sdk/application/wearable/service/power_manager/src/actions/display_action.c
code/sdk/application/wearable/service/power_manager/src/power_display_service.c
code/sdk/application/wstp/at_service/bt/bt_manager_at_process.c
code/sdk/application/wstp/at_service/bt/sample/mc_bt_manager.h
code/sdk/bootloader/flashboot/brandy/nandflash/hal_nandflash.c
code/sdk/build/config/target_config/brandy/config.py
code/sdk/drivers/drivers/driver/button/button.c
code/sdk/drivers/drivers/driver/nand_flash/nand/hal_nandflash.c
code/sdk/drivers/drivers/driver/nand_flash/nand/include/hal_nandflash.h
code/sdk/drivers/drivers/driver/nand_flash/nand/include/nandflash_inner.h
code/sdk/drivers/drivers/driver/nand_flash/nand/include/nandflash_to_os.h
code/sdk/drivers/drivers/driver/nand_flash/nand/nandflash_config.c
code/sdk/drivers/drivers/driver/nand_flash/nand/nandflash_ds35x1g.c
code/sdk/drivers/drivers/driver/nand_flash/nand/nandflash_tc58cyg.c
code/sdk/drivers/drivers/driver/nand_flash/nand/nandflash_to_os.c
code/sdk/drivers/drivers/driver/nand_flash/nand/nandflash_w25n01g.c
code/sdk/include/middleware/services/bts/ble/bts_le_gap.h
code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/app_style.cpp.xml
code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/app_style_item.cpp.xml
code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/app_style_manager.cpp.xml
code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/bt_audio_hal.c.xml
code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/bt_database.c.xml
code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/btsrv_gatt_server.c.xml
code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/connection_manager.c.xml
code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/image_cache_manager.cpp.xml
code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/js_page_state.cpp.xml
code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/js_page_state_machine.cpp.xml
code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/js_router.cpp.xml
code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/kaleidoscope_utils.cpp.xml
code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/pbap_service.c.xml
code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/platform_adapter.cpp.xml
code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/remote_device_manager.c.xml
code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/sdk_general_gap.c.xml
code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/spp_service.c.xml
code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/stack_pbap_if.c.xml
code/sdk/interim_binary/brandy/acore/build_hso_cfg/hso_database/xml/base/closed_comp/ui_canvas_ext.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_pbap.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_brandy_service.a
code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/mini/br/libbt_host_sdk.a
code/sdk/kernel/liteos/liteos_v207.1.0/Huawei_LiteOS/tools/build/config/brandy.config
code/sdk/kernel/liteos/liteos_v207.1.0/Huawei_LiteOS/tools/build/config/brandy_xts.config
code/sdk/middleware/chips/brandy/dfx/include/log_def_ohos.h
code/sdk/middleware/chips/brandy/exception/CMakeLists.txt
code/sdk/middleware/chips/brandy/exception/exception_riscv.c
code/sdk/middleware/services/gpu/api/rm/brandy-auto-ota-cli/libgfx_rm.a [new file with mode: 0644]
code/sdk/middleware/services/gpu/api/rm/brandy-auto-ota-ser/libgfx_rm.a [new file with mode: 0644]
code/sdk/middleware/services/gpu/api/rm/brandy-native-js-r/libgfx_rm.a
code/sdk/middleware/services/gpu/api/rm/brandy-native-js/libgfx_rm.a
code/sdk/middleware/services/gpu/api/rm/brandy-target1-r/libgfx_rm.a
code/sdk/middleware/services/gpu/api/rm/brandy-target1/libgfx_rm.a
code/sdk/middleware/services/gpu/api/rm/brandy-target3-r/libgfx_rm.a
code/sdk/middleware/services/gpu/api/rm/brandy-target3/libgfx_rm.a
code/sdk/middleware/services/gpu/api/rm/brandy-target4-r/libgfx_rm.a
code/sdk/middleware/services/gpu/api/rm/brandy-target4/libgfx_rm.a
code/sdk/middleware/services/gpu/api/rm/brandy-target5-r/libgfx_rm.a
code/sdk/middleware/services/gpu/api/rm/brandy-target5/libgfx_rm.a
code/sdk/middleware/services/gpu/api/rm/brandy-xts/libgfx_rm.a
code/sdk/middleware/services/gpu/api/rm/testsuite-brandy-sdk/libgfx_rm.a
code/sdk/middleware/services/gui/hal/display/brandy-auto-ota-cli/libdisplay_gfx.a [new file with mode: 0644]
code/sdk/middleware/services/gui/hal/display/brandy-auto-ota-ser/libdisplay_gfx.a [new file with mode: 0644]
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/hal/display/src/display_gralloc.c
code/sdk/middleware/services/gui/uikit/brandy-auto-ota-cli/libuikit_ext.a [new file with mode: 0644]
code/sdk/middleware/services/gui/uikit/brandy-auto-ota-ser/libuikit_ext.a [new file with mode: 0644]
code/sdk/middleware/services/gui/uikit/brandy-native-js/libuikit_ext.a
code/sdk/middleware/services/gui/uikit/brandy-target3/libuikit_ext.a
code/sdk/middleware/services/gui/uikit/brandy-xts/libuikit_ext.a
code/sdk/middleware/services/gui/uikit/proprietary/include/common/image_cache_manager.h
code/sdk/middleware/services/gui/uikit/proprietary/include/components/ui_lite_surface_view.h
code/sdk/middleware/services/gui/uikit/proprietary/include/service/graphic_event_handler.h
code/sdk/middleware/services/gui/uikit/proprietary/include/service/graphic_service.h
code/sdk/middleware/services/gui/uikit/proprietary/include/service/graphic_service_wrapper.h
code/sdk/middleware/services/gui/uikit/proprietary/src/service/CMakeLists.txt
code/sdk/middleware/services/gui/uikit/proprietary/src/service/src/graphic_service.cpp
code/sdk/middleware/services/gui/uikit/proprietary/src/service/src/graphic_service_wrapper.cpp
code/sdk/middleware/services/gui/uikit/proprietary/src/ui/frameworks/components/ui_sweep_clock.cpp
code/sdk/middleware/services/gui/uikit/proprietary/src/ui/frameworks/components/ui_text_preview_box.cpp
code/sdk/middleware/services/gui/uikit/proprietary/src/ui/frameworks/dfx/dfx_cmd.cpp
code/sdk/middleware/services/gui/uikit/proprietary/src/ui/frameworks/dfx/dfx_dom_dump.cpp
code/sdk/middleware/services/gui/uikit/proprietary/src/utils/frameworks/hals/gralloc_engines.cpp
code/sdk/middleware/services/gui/uikit/proprietary/src/utils/frameworks/hals/lite_input_distributer.cpp
code/sdk/middleware/services/gui/uikit/proprietary/src/utils/frameworks/mem_custom.cpp
code/sdk/middleware/services/gui/uikit/proprietary/src/utils/innerkits/hals/lite_input_distributer.h
code/sdk/middleware/services/gui/uikit/ui/frameworks/common/image.cpp
code/sdk/middleware/services/gui/uikit/ui/frameworks/components/ui_analog_clock.cpp
code/sdk/middleware/services/gui/uikit/ui/frameworks/components/ui_edit_text.cpp
code/sdk/middleware/services/gui/uikit/ui/frameworks/components/ui_image_view.cpp
code/sdk/middleware/services/gui/uikit/ui/frameworks/components/ui_view.cpp
code/sdk/middleware/services/gui/uikit/ui/frameworks/engines/gfx/gfx_engine_manager.cpp
code/sdk/middleware/services/gui/uikit/ui/interfaces/kits/components/ui_abstract_scroll.h
code/sdk/middleware/services/gui/uikit/ui/interfaces/kits/components/ui_edit_text.h
code/sdk/middleware/services/gui/uikit/utils/interfaces/kits/gfx_utils/image_info.h
code/sdk/middleware/services/media/foundation/utils/src/media_thread_adapt.cpp
code/sdk/middleware/services/media/hal/common/src/media_hal_thread_adapt.c
code/sdk/middleware/utils/dfx/CMakeLists.txt
code/sdk/middleware/utils/dfx/log/log_oml_exception.c
code/sdk/middleware/utils/dfx/panic/private/panic.c
code/sdk/middleware/utils/dfx/preserve/private/preserve.c
code/sdk/middleware/utils/fs/vfs/brandy-auto-ota-cli/libx_vfs_private.a [new file with mode: 0644]
code/sdk/middleware/utils/fs/vfs/brandy-auto-ota-ser/libx_vfs_private.a [new file with mode: 0644]
code/sdk/middleware/utils/fs/vfs/brandy-native-js-r/libx_vfs_private.a
code/sdk/middleware/utils/fs/vfs/brandy-native-js/libx_vfs_private.a
code/sdk/middleware/utils/fs/vfs/brandy-target1-r/libx_vfs_private.a
code/sdk/middleware/utils/fs/vfs/brandy-target1/libx_vfs_private.a
code/sdk/middleware/utils/fs/vfs/brandy-target3-r/libx_vfs_private.a
code/sdk/middleware/utils/fs/vfs/brandy-target3/libx_vfs_private.a
code/sdk/middleware/utils/fs/vfs/brandy-target4-r/libx_vfs_private.a
code/sdk/middleware/utils/fs/vfs/brandy-target4/libx_vfs_private.a
code/sdk/middleware/utils/fs/vfs/brandy-target5-r/libx_vfs_private.a
code/sdk/middleware/utils/fs/vfs/brandy-target5/libx_vfs_private.a
code/sdk/middleware/utils/fs/vfs/brandy-xts-r/libx_vfs_private.a
code/sdk/middleware/utils/fs/vfs/brandy-xts/libx_vfs_private.a
code/sdk/middleware/utils/fs/vfs/testsuite-brandy-sdk/libx_vfs_private.a
code/sdk/middleware/utils/fs/yaffs2/brandy-auto-ota-cli/libfs_yaffs2.a [new file with mode: 0644]
code/sdk/middleware/utils/fs/yaffs2/brandy-auto-ota-ser/libfs_yaffs2.a [new file with mode: 0644]
code/sdk/middleware/utils/fs/yaffs2/brandy-native-js-r/libfs_yaffs2.a
code/sdk/middleware/utils/fs/yaffs2/brandy-native-js/libfs_yaffs2.a
code/sdk/middleware/utils/fs/yaffs2/brandy-target1-r/libfs_yaffs2.a
code/sdk/middleware/utils/fs/yaffs2/brandy-target1/libfs_yaffs2.a
code/sdk/middleware/utils/fs/yaffs2/brandy-target3-r/libfs_yaffs2.a
code/sdk/middleware/utils/fs/yaffs2/brandy-target3/libfs_yaffs2.a
code/sdk/middleware/utils/fs/yaffs2/brandy-target4-r/libfs_yaffs2.a
code/sdk/middleware/utils/fs/yaffs2/brandy-target4/libfs_yaffs2.a
code/sdk/middleware/utils/fs/yaffs2/brandy-target5-r/libfs_yaffs2.a
code/sdk/middleware/utils/fs/yaffs2/brandy-target5/libfs_yaffs2.a
code/sdk/middleware/utils/fs/yaffs2/brandy-xts-r/libfs_yaffs2.a
code/sdk/middleware/utils/fs/yaffs2/brandy-xts/libfs_yaffs2.a
code/sdk/middleware/utils/fs/yaffs2/testsuite-brandy-sdk/libfs_yaffs2.a
code/sdk/open_source/openharmony/drivers/peripheral/display/interfaces/include/display_gralloc.h
code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-auto-ota-cli/libams.a [new file with mode: 0644]
code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-auto-ota-ser/libams.a [new file with mode: 0644]
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 [new file with mode: 0644]
code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-auto-ota-ser/libace.a [new file with mode: 0644]
code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-native-js/libace.a
code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-xts/libace.a
code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/components/baidu_map_component.cpp
code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/components/canvas_component.cpp
code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/components/canvas_component.h
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/modules/app_module.cpp
code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/modules/app_module.h
code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/modules/baidumapcomponent/baidumap.cpp
code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/modules/baidumapcomponent/baidumap.h
code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-auto-ota-cli/libbms.a [new file with mode: 0644]
code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-auto-ota-ser/libbms.a [new file with mode: 0644]
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/third_party/jerryscript/brandy-auto-ota-cli/libjerryscript.a [new file with mode: 0644]
code/sdk/open_source/openharmony/third_party/jerryscript/brandy-auto-ota-ser/libjerryscript.a [new file with mode: 0644]
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/open_source/openharmony/utils/native/lite/memory/include/ohos_mem_pool.h [new file with mode: 0644]
code/sdk/protocol/bt/host/bt/bts/brandy_service/service/src/spp_service.h
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/br_profile/sample_pbap_service.c
code/sdk/protocol/bt/host/bt/bts/bt_sample/br_profile/sample_pbap_service.h
code/sdk/protocol/bt/host/bt/bts/sdk/src/inc/bt_data_config.h
code/sdk/protocol/bt/host/bt/bts/sdk/src/inc/sdk_general_gap.h
code/sdk/tools/pkg/bin/brandy/bt.bin
js/com.vendor.voiceassistant.bin [new file with mode: 0644]
jsapp/baidu_voiceassistant/entry/src/main/js/default/app.js
jsapp/baidu_voiceassistant/entry/src/main/js/default/pages/first/first.js
patch_0720_to_0812.txt [new file with mode: 0644]

index e4e8b39..947c39b 100644 (file)
@@ -21,7 +21,7 @@
 #endif
 
 static unsigned long g_app_queue;
-
+uint8_t g_long_press_flag = 0;
 /**
  * @if Eng
  * @brief  Button state enum.
@@ -350,7 +350,7 @@ static void button_report_click_state(button_id_t id)
             g_button[id].is_clicked = true;
             g_button[id].click_cnt = 0;
             g_button[id].click_start_time = g_button[id].end_time;
-        } else if (g_button[id].is_clicked == true) {
+        } else if (g_button[id].is_clicked == true && g_long_press_flag != 1) {
             /* continue click */
             g_button[id].click_cnt++;
             g_button[id].click_start_time = g_button[id].end_time;
@@ -365,6 +365,7 @@ static void button_report_click_state(button_id_t id)
             osTimerStop(g_button_app_timer);
             g_button[id].is_clicked = 0;
             g_button[id].click_cnt = 0;
+            g_long_press_flag = 0;
             button_set_state(id, BUTTON_STATE_NONE);
         }
     }
@@ -383,6 +384,7 @@ static void button_report_click_state(button_id_t id)
             }
             g_button[id].is_clicked = 0;
             g_button[id].click_cnt = 0;
+            g_long_press_flag = 0;
             button_set_state(id, BUTTON_STATE_NONE);
             osTimerStop(g_button_app_timer);
         }
@@ -429,6 +431,7 @@ static void button_pressed_state_handler(button_id_t id)
             g_button_report_state_record = BUTTON_LONGPRESS_1S;
             g_button_state_record = BUTTON_LONGPRESS_1S_STATUS;
             g_button_press_time = BUTTON_PRESS_TIME_1S + BUTTON_PRESS_TIME_1S;
+            g_long_press_flag = 1;
         }
     }
     if ((button_get_state(id) == g_button_state_record) && (button_get_state(id) > BUTTON_RELEASE_STATUS)) {
index 99894d6..93eebd0 100644 (file)
@@ -175,7 +175,8 @@ app_task_definition_t g_app_tasks[] = {
       (osThreadFunc_t)transmit_process_thread, NULL,
       (CreateQueueFunction_t)transmit_thread_msg_init, USE_DTCM_MEM },
 #endif
-#ifdef SUPPORT_POWER_MANAGER
+#if defined(SUPPORT_POWER_MANAGER) && !defined(SUPPORT_AT_OHOSFWK)
+    /* OHOS场景,pms不需要独立的队列和线程,事件由UI线程接管处理 */
     { { "power_display", 0, NULL, 0, NULL, PM_DISPLAY_MSG_STACK_SIZE, TASK_PRIORITY_TRANSMIT, 0, 0 },
       (osThreadFunc_t)power_display_msg_thread, NULL,
       (CreateQueueFunction_t)power_display_task_init, USE_DTCM_MEM },
index edf6b2d..979f2a9 100644 (file)
@@ -227,5 +227,6 @@ void SliceTransition::StopAnimator()
         }
     }
     ClearTransitionResource();
+    RootView::GetInstance()->Invalidate();
 }
 } // namespace OHOS
index 1941e60..ea94c03 100644 (file)
@@ -682,15 +682,14 @@ void AlarmClockModel::GetAlarmCallId(uint8_t *alarm)
 
 void AlarmClockModel::PopInterCancelMusic()
 {
-    SendMsgToUIService(SCREEN_TURN_OFF_TO_UI, 0, nullptr, 0);
+    ScreenTurnOff();
     GraphicService::GetInstance()->PostGraphicEvent(
         std::bind(&AlarmClockModel::AlarmPlayerStop, AlarmClockModel::GetInstance()));
 }
 
 void AlarmClockModel::PopInterPlayMusic()
 {
-    int32_t timeout = -1;
-    SendMsgToUIService(SCREEN_TURN_ON_TO_UI, 0, &timeout, sizeof(int32_t));
+    ScreenTurnOn(-1);
     GraphicService::GetInstance()->PostGraphicEvent(
         std::bind(&AlarmClockModel::AlarmPlayerStart, AlarmClockModel::GetInstance()));
 }
@@ -882,8 +881,7 @@ void AlarmClockModel::AlarmClockNotify()
     if (!PlayersModel::GetInstance()->GetAudioInitStatus()) {
         PlayersModel::GetInstance()->AudioInit();
     }
-    int32_t timeout = -1;
-    SendMsgToUIService(SCREEN_TURN_ON_TO_UI, 0, &timeout, sizeof(int32_t));
+    ScreenTurnOn(-1);
     AlarmGetClockNum();
     NativeAbility::GetInstance().ChangeSlice(VIEW_ALARM_POP_UP, TransitionType::TRANSITION_INVALID, PRIORITY_TWO);
     return;
index 9f514d6..e4d0147 100644 (file)
@@ -77,17 +77,15 @@ static void AlarmCallBackProcA(void)
 {\r
     WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmCallBackProcA");\r
     AlarmClockEventData unuse;\r
-    GraphicService::GetInstance()->PostGraphicEvent(\r
-        std::bind(AlarmTimerEventPublish, TOPIC_EVENT_ALARM_RING, unuse));\r
+    AlarmTimerEventPublish(TOPIC_EVENT_ALARM_RING, unuse);\r
 }\r
 \r
 static void AlarmCallBackProcB(void)\r
 {\r
     AlarmClockEventData unuse;\r
     WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmCallBackProcB");\r
-    GraphicService::GetInstance()->PostGraphicEvent(\r
-        std::bind(AlarmTimerEventPublish, TOPIC_EVENT_NEXTDAY_UPDATE, unuse));\r
-    GraphicService::GetInstance()->PostGraphicEvent(SetZeroAlarm);\r
+    AlarmTimerEventPublish(TOPIC_EVENT_NEXTDAY_UPDATE, unuse);\r
+    SetZeroAlarm();\r
 }\r
 \r
 void AlarmScan(void *arg)\r
index 029f614..2b70fb4 100644 (file)
@@ -33,6 +33,7 @@
 #include "msg_center_msg.h"\r
 #include "dfx_channel.h"\r
 #include "tcxo.h"\r
+#include "ui_service.h"\r
 \r
 namespace OHOS {\r
 \r
@@ -94,9 +95,10 @@ void BluetoothModel::InitBluetoothInfo(void)
         WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "bluetooth_set_local_name %s ret = %u", watchName, ret);\r
 \r
         //  设置蓝牙地址\r
-        bd_addr_t addr = {{0x0, 0x0, 0x33, 0x44, 0x55, 0x66} ,0};\r
-        addr.addr[0] = currentUs & 0xFF;\r
-        addr.addr[1] = (currentUs & 0XFF00) >> 8;\r
+        bd_addr_t addr = {{0x1C, 0x1D, 0x2B, 0x0, 0x0, 0x0} ,0};\r
+        addr.addr[3] = currentUs & 0xFF;\r
+        addr.addr[4] = (currentUs & 0XFF00) >> 8;\r
+        addr.addr[5] = currentUs & 0xFF;\r
         ret = bluetooth_set_local_addr(addr.addr, BD_ADDR_LEN);\r
         WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "bluetooth_set_local_addr [0x%x:0x%x] ret = %u", addr.addr[0], addr.addr[1], ret);\r
     } else {\r
@@ -845,8 +847,17 @@ void GapAclStateChangedCallback(const bd_addr_t *bdAddr, gap_acl_state_t state,
         bdAddr->addr[2], bdAddr->addr[1], bdAddr->addr[0]); /* mac下标 0 1 2 3 4 5 */\r
     if ((gap_get_device_class(bdAddr) & 0x200) != 0) {\r
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "GapAclStateChangedCallback: Mobile Phone Device");\r
+        if (state == GAP_ACL_STATE_DISCONNECTED) {\r
+            /* 通知msg_center,ble状态仍用bt状态,此处不区分 */\r
+            SendMsgToMsgCenterService(BT_DISCONNECTED_TO_MSGCENTER, 0, nullptr, 0);\r
+            SendMsgToUIService(BT_DISCONNECTED_TO_UI, 0, nullptr, 0);\r
+        } else if (state == GAP_ACL_STATE_CONNECTED) {\r
+            SendMsgToMsgCenterService(BT_CONNECTED_TO_MSGCENTER, 0, nullptr, 0);\r
+            SendMsgToUIService(BT_CONNECTED_TO_UI, 0, nullptr, 0);\r
+        }\r
         return;\r
     }\r
+\r
     GraphicService::GetInstance()->PostGraphicEvent(\r
         std::bind(&BluetoothModel::BtGapAclStateChangedHandle, BluetoothModel::GetInstance(), state, reason, *bdAddr));\r
 }\r
@@ -902,6 +913,11 @@ static void A2dpSrcConnectstateChanged(bd_addr_t *bdAddr, int connState)
     if (connState == PROFILE_STATE_DISCONNECTED) {\r
         PhoneAudioManagerSetDeviceConnState(OUT_BLUETOOTH_A2DP, AUDIO_DEVICE_DISCONNECTED);\r
         GraphicService::GetInstance()->PostGraphicEvent(std::bind(ACLConnectionFail, *bdAddr));\r
+        /* 实验室测试耳机回连场景,用户根据需要调整策略 */\r
+        bool ret = gap_br_set_bt_scan_mode(GAP_SCAN_MODE_CONNECTABLE_GENERAL_DISCOVERABLE, 60); // start scan\r
+        if (!ret) {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "a2dp disc: gap_br_set_bt_scan_mode ret = 0x%x", ret);\r
+        }\r
     }\r
 }\r
 \r
index d734feb..adc6424 100644 (file)
@@ -115,13 +115,11 @@ bool MainPresenterSample::OnClick(UIView &view, const ClickEvent &event)
         if (HealthModel::GetInstance()->GetBriScrStatus() == 0) {
             ScreenModels::GetInstance()->LoadAppImages(DROPDOWN_IAMGES, imgView, DROPDOWN_DROPDOWN_BRI_SCREEN_B);
             HealthModel::GetInstance()->UpdateBriScrStatus(1);
-            int32_t enable = 0;
-            SendMsgToUIService(SCREEN_OFF_ENABLE_TO_UI, 0, &enable, sizeof(int32_t));
+            ScreenOffEnable(0);
         } else {
             ScreenModels::GetInstance()->LoadAppImages(DROPDOWN_IAMGES, imgView, DROPDOWN_DROPDOWN_BRI_SCREEN);
             HealthModel::GetInstance()->UpdateBriScrStatus(0);
-            int32_t enable = 1;
-            SendMsgToUIService(SCREEN_OFF_ENABLE_TO_UI, 0, &enable, sizeof(int32_t));
+            ScreenOffEnable(1);
         }
     }
 
index a61df48..b656272 100644 (file)
@@ -55,18 +55,18 @@ DialBinParser::~DialBinParser()
 void* DialBinParser::MallocAndReadBuf(FILE* file, uint32_t readSize)\r
 {\r
     if (file == nullptr || readSize == 0) {\r
-        GRAPHIC_LOGE("[%s: %d]param error!\n", __FUNCTION__, __LINE__);\r
+        GRAPHIC_LOGE("Invalid param! file: %p, readSize: %u.", file, readSize);\r
         return nullptr;\r
     }\r
     uint8_t* data = static_cast<uint8_t*>(UIMalloc(readSize));\r
     if (data == nullptr) {\r
-        GRAPHIC_LOGE("UIMalloc fail!\n");\r
+        GRAPHIC_LOGE("UIMalloc fail! size: %u.", readSize);\r
         return nullptr;\r
     }\r
 \r
     if (fread(data, 1, readSize, file) != readSize) {\r
         UIFree(data);\r
-        GRAPHIC_LOGE("fread fail!\n");\r
+        GRAPHIC_LOGE("fread fail! readSize: %u.", readSize);\r
         return nullptr;\r
     }\r
     return data;\r
@@ -304,7 +304,7 @@ int32_t DialBinParser::ParserDialOptionImg(FILE* fp)
     }\r
 \r
     uint16_t* imgIdArray = static_cast<uint16_t*>(MallocAndReadBuf(fp, (sizeof(uint16_t) * data->count)));\r
-    if (data == nullptr) {\r
+    if (imgIdArray == nullptr) {\r
         UIFree(data);\r
         GRAPHIC_LOGE("[%s: %d]malloc or read fail!\n", __FUNCTION__, __LINE__);\r
         return -1;\r
index 5cd75bf..53ae1f7 100644 (file)
@@ -125,8 +125,7 @@ bool VocassistPresenter::OnDrag(UIView& view, const DragEvent& event)
 void VocassistPresenter::OnStart()
 {
     Presenter<MainVocassistView>::OnStart();
-    int32_t timeout = -1;
-    SendMsgToUIService(SCREEN_TURN_ON_TO_UI, 0, &timeout, sizeof(int32_t));
+    ScreenTurnOn(-1);
 }
 
 void VocassistPresenter::OnPause(void) {}
@@ -136,6 +135,6 @@ void VocassistPresenter::OnResume(void) {}
 void VocassistPresenter::OnStop(void)
 {
     Presenter<MainVocassistView>::OnStop();
-    SendMsgToUIService(SCREEN_TURN_OFF_TO_UI, 0, nullptr, 0);
+    ScreenTurnOff();
 }
 }
index 2d3f6ff..c5f729d 100644 (file)
@@ -24,7 +24,6 @@
 #include "service_id_define.h"
 #include "samgr_lite.h"
 #include "ui_service.h"
-#include "msg_center_msg.h"
 
 #ifdef __cplusplus
 extern "C" {
@@ -75,10 +74,9 @@ void HfpIncomingEventPublish(uint16 topic, hfp_hf_calls_info_t callsInfo);
 static void PhoneServiceScreenCtr(bool turnOnFlag)
 {
     if (turnOnFlag) {
-        int32_t timeout = -1;
-        SendMsgToUIService(SCREEN_TURN_ON_TO_UI, 0, &timeout, sizeof(int32_t));
+        ScreenTurnOn(-1);
     } else {
-        SendMsgToUIService(SCREEN_TURN_OFF_TO_UI, 0, nullptr, 0);
+        ScreenTurnOff();
     }
 }
 
@@ -597,8 +595,6 @@ static void ConnStateChanged(const bd_addr_t *bdAddr, profile_connect_state_t st
         case PROFILE_STATE_CONNECTED: // 蓝牙连接成功
             WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[ConnStateChanged] BT connected");
             BtConnectedPro(bdAddr);
-            SendMsgToUIService(BT_CONNECTED_TO_UI, 0, nullptr, 0);
-            SendMsgToMsgCenterService(BT_CONNECTED_TO_MSGCENTER, 0, nullptr, 0);
             break;
         case PROFILE_STATE_DISCONNECTING: // 蓝牙连接断连
             WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[ConnStateChanged] BT disconnecting");
@@ -606,8 +602,6 @@ static void ConnStateChanged(const bd_addr_t *bdAddr, profile_connect_state_t st
         case PROFILE_STATE_DISCONNECTED: // 蓝牙断开连接
             WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[ConnStateChanged] BT disconnected");
             BtDisconnectedPro();
-            SendMsgToUIService(BT_DISCONNECTED_TO_UI, 0, nullptr, 0);
-            SendMsgToMsgCenterService(BT_DISCONNECTED_TO_MSGCENTER, 0, nullptr, 0);
             break;
         default:
             break;
index d9658eb..417e91d 100644 (file)
@@ -11,6 +11,7 @@
 #include "AppViewIDs.h"
 #include "MainViewSample.h"
 #include "ui_screennotify.h"
+#include "components/root_view.h"
 
 #ifdef __cplusplus
 extern "C" {
@@ -58,23 +59,17 @@ static void ChangeToHomeView(void)
 
 void notify_screen_on_event(void)
 {
-    GraphicService::GetInstance()->PostGraphicEvent(
-        [&] {
-            for (auto callback : g_callback) {
-                callback(SCREEN_STATUS_ON);
-            }
-            ChangeToHomeView();
-        });
+    for (auto callback : g_callback) {
+        callback(SCREEN_STATUS_ON);
+    }
+    ChangeToHomeView();
 }
 
 void notify_screen_off_event(void)
 {
-    GraphicService::GetInstance()->PostGraphicEvent(
-        [&] {
-            for (auto callback : g_callback) {
-                callback(SCREEN_STATUS_OFF);
-            }
-        });
+    for (auto callback : g_callback) {
+        callback(SCREEN_STATUS_OFF);
+    }
 }
 
 void set_back_to_home_interval(uint32_t time_sec)
index 93f3e83..a116461 100644 (file)
@@ -95,6 +95,7 @@ namespace OHOS {
         if (!ret) {
             WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "GetDialPreviewInfo %s fail",
                           dialFullName.c_str());
+            fclose(fp);
             return -1;
         }
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ParseDialHeader dialFullName: %s",
@@ -111,6 +112,7 @@ namespace OHOS {
             preInfo.imgId, dialFullName, fp, false, preInfo.offset);
         if (info == nullptr) {
             WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ParseDialHeader loadimage fail");
+            fclose(fp);
             return -1;
         }
 
index 823ad18..472b7f8 100644 (file)
@@ -44,9 +44,6 @@ typedef enum {
     JS_UNINSTALL_SUCESS_TO_UI,
     BT_CONNECTED_TO_UI,
     BT_DISCONNECTED_TO_UI,
-    SCREEN_TURN_ON_TO_UI,
-    SCREEN_TURN_OFF_TO_UI,
-    SCREEN_OFF_ENABLE_TO_UI,
     UI_ADD_SLEEP_VETO,
     UI_RM_SLEEP_VETO,
 } UiServiceMsgId;
@@ -62,6 +59,10 @@ typedef struct {
 
 void SendMsgToUIService(int32_t msgId, uint32_t msgValue, void *data, int32_t dataLen);
 
+void ScreenTurnOn(int32_t timeout);
+void ScreenTurnOff(void);
+void ScreenOffEnable(int32_t enable);
+
 #ifdef __cplusplus
 }
 #endif
index 64fd4ee..827f4c7 100644 (file)
@@ -63,13 +63,12 @@ const int DATA_DIST_MAIL_LENGTH = 10;
 const int BYTE_OFFSET = 8;
 static uint32_t g_interval = 5;
 
-static void ScreenTurnOn(Request *request)
+void ScreenTurnOn(int32_t timeout)
 {
     if (OHOS::HealthModel::GetInstance()->GetBriScrStatus() == 1) {
         return;
     }
 #if defined(SUPPORT_POWER_MANAGER)
-    int32_t timeout = *((int32_t*)request->data);
     WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[ScreenTurn] timeout = %d", timeout);
     g_interval = get_back_to_home_interval();
     set_back_to_home_interval(0xFFFFFFFF);
@@ -83,7 +82,7 @@ static void ScreenTurnOn(Request *request)
     return;
 }
 
-static void ScreenTurnOff(Request *request)
+void ScreenTurnOff(void)
 {
     if (OHOS::HealthModel::GetInstance()->GetBriScrStatus() == 1) {
         return;
@@ -97,10 +96,9 @@ static void ScreenTurnOff(Request *request)
     return;
 }
 
-static void ScreenOffEnable(Request *request)
+void ScreenOffEnable(int32_t enable)
 {
 #if defined(SUPPORT_POWER_MANAGER)
-    int32_t enable = *((int32_t*)request->data);
     const power_display_svr_api_t *display_api = power_display_svr_get_api();
     display_api->set_auto_timeout_function(enable);
 #endif
@@ -153,15 +151,6 @@ void ServiceMsgProcess(Request *request)
             GraphicService::GetInstance()->PostGraphicEvent(
                 std::bind(&OHOS::SettingModel::UpdateBlueToothConnectStatus, &OHOS::SettingModel::GetInstance(), false));
             break;
-        case SCREEN_TURN_ON_TO_UI:
-            ScreenTurnOn(request);
-            break;
-        case SCREEN_TURN_OFF_TO_UI:
-            ScreenTurnOff(request);
-            break;
-        case SCREEN_OFF_ENABLE_TO_UI:
-            ScreenOffEnable(request);
-            break;
         case UI_ADD_SLEEP_VETO:
             uapi_pm_add_sleep_veto(PM_ID_SCREEN);
             break;
index 1b778a2..196613d 100644 (file)
@@ -202,6 +202,10 @@ build_component()
 
 set(COMPONENT_NAME "baidumapsdk")
 set(LIBS ${CMAKE_CURRENT_SOURCE_DIR}/libs/lib${COMPONENT_NAME}.a)
+set(PUBLIC_DEFINES
+    SUPPORT_BAIDU
+)
+
 set(WHOLE_LINK
     true
 )
diff --git a/code/sdk/application/wearable/service/msg_center/brandy-auto-ota-cli/libmsg_center.a b/code/sdk/application/wearable/service/msg_center/brandy-auto-ota-cli/libmsg_center.a
new file mode 100644 (file)
index 0000000..25f166f
Binary files /dev/null and b/code/sdk/application/wearable/service/msg_center/brandy-auto-ota-cli/libmsg_center.a differ
diff --git a/code/sdk/application/wearable/service/msg_center/brandy-auto-ota-ser/libmsg_center.a b/code/sdk/application/wearable/service/msg_center/brandy-auto-ota-ser/libmsg_center.a
new file mode 100644 (file)
index 0000000..1ed3a3d
Binary files /dev/null and b/code/sdk/application/wearable/service/msg_center/brandy-auto-ota-ser/libmsg_center.a differ
index bddcbf6..e319004 100644 (file)
Binary files a/code/sdk/application/wearable/service/msg_center/brandy-native-js/libmsg_center.a and b/code/sdk/application/wearable/service/msg_center/brandy-native-js/libmsg_center.a differ
index 6dfee55..159b848 100644 (file)
Binary files a/code/sdk/application/wearable/service/msg_center/brandy-xts/libmsg_center.a and b/code/sdk/application/wearable/service/msg_center/brandy-xts/libmsg_center.a differ
index 484a1eb..af36fa6 100644 (file)
@@ -54,6 +54,7 @@ typedef enum msg_center_xiaodu_type_id {
     MSGCENTER_TYPE_ID_XIAODU_START_RECORD,\r
     MSGCENTER_TYPE_ID_XIAODU_SEND_PCM_STREAM,\r
     MSGCENTER_TYPE_ID_XIAODU_END_RECORD,\r
+    MSGCENTER_TYPE_ID_XIAODU_SEND_JS_EXIT,\r
 } msg_center_xiaodu_type_id_t;\r
 \r
 typedef enum msg_center_navigation_type_id {\r
index 2588d0e..7484c90 100644 (file)
@@ -40,6 +40,7 @@ errcode_t msg_center_xiaodu_recv_wenxin_info(uint8_t cmd_id, uint8_t type, void
 errcode_t msg_center_xiaodu_start_record(uint8_t cmd_id, uint8_t type, void *usr_data, uint16_t usr_len);\r
 errcode_t msg_center_xiaodu_send_pcm_stream(uint8_t cmd_id, uint8_t type, void *usr_data, uint16_t usr_len);\r
 errcode_t msg_center_xiaodu_send_end_record(uint8_t cmd_id, uint8_t type, void *usr_data, uint16_t usr_len);\r
+errcode_t msg_center_xiaodu_send_stop_answer(uint8_t cmd_id, uint8_t type, void *usr_data, uint16_t usr_len);\r
 errcode_t msg_center_xiaodu_recv_tts(uint8_t cmd_id, uint8_t type, void *usr_data, uint16_t usr_len);\r
 errcode_t msg_center_vector_navi_pull_up(uint8_t cmd_id, uint8_t type, void *usr_data, uint16_t usr_len);\r
 errcode_t msg_center_vector_navi_recv_svg(uint8_t cmd_id, uint8_t type, void *usr_data, uint16_t usr_len);\r
index 65fccf4..9a52cca 100644 (file)
Binary files a/code/sdk/application/wearable/service/msg_center/libs/libbaidumapsdk.a and b/code/sdk/application/wearable/service/msg_center/libs/libbaidumapsdk.a differ
index 945a330..836088c 100644 (file)
@@ -26,6 +26,7 @@ msg_center_cmd_map_t g_msg_center_type_tbl[] = {
     { MSGCENTER_CMD_XIAODU,      MSGCENTER_TYPE_ID_XIAODU_START_RECORD,              msg_center_xiaodu_start_record},
     { MSGCENTER_CMD_XIAODU,      MSGCENTER_TYPE_ID_XIAODU_SEND_PCM_STREAM,           msg_center_xiaodu_send_pcm_stream},
     { MSGCENTER_CMD_XIAODU,      MSGCENTER_TYPE_ID_XIAODU_END_RECORD,                msg_center_xiaodu_send_end_record},
+    { MSGCENTER_CMD_XIAODU,      MSGCENTER_TYPE_ID_XIAODU_SEND_JS_EXIT,              msg_center_xiaodu_send_stop_answer},
     { MSGCENTER_CMD_NAVIGATION,  MSGCENTER_TYPE_ID_NAVIGATION_START,                 msg_center_navigation_start},
     { MSGCENTER_CMD_NAVIGATION,  MSGCENTER_TYPE_ID_NAVIGATION_RECV,                  msg_center_navigation_recv},
     { MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_PULL_UP,              msg_center_vector_navi_pull_up},
index 96008a1..6a079b8 100644 (file)
@@ -143,6 +143,7 @@ static errcode_t pcm_stream_task_body(void *data)
             res = msg_center_xiaodu_send_pcm_stream(MSGCENTER_CMD_XIAODU, MSGCENTER_TYPE_ID_XIAODU_SEND_PCM_STREAM,\r
                 msg.data, msg.len);\r
             free(msg.data);\r
+            msg.data = nullptr;\r
             if (res != ERRCODE_SUCC) {\r
                 WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "send pcm stream failed");\r
                 return ERRCODE_FAIL;\r
@@ -151,8 +152,9 @@ static errcode_t pcm_stream_task_body(void *data)
             res = msg_center_xiaodu_send_end_record(MSGCENTER_CMD_XIAODU, MSGCENTER_TYPE_ID_XIAODU_END_RECORD, msg.data,\r
                 msg.len);\r
             free(msg.data);\r
+            msg.data = nullptr;\r
             if (res != ERRCODE_SUCC) {\r
-                WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "send pcm stream failed");\r
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "send pcm end failed");\r
                 return ERRCODE_FAIL;\r
             }\r
             return ERRCODE_SUCC;\r
@@ -442,6 +444,20 @@ errcode_t msg_center_xiaodu_send_end_record(uint8_t cmd_id, uint8_t type, void *
     return ERRCODE_SUCC;\r
 }\r
 \r
+errcode_t msg_center_xiaodu_send_stop_answer(uint8_t cmd_id, uint8_t type, void *usr_data, uint16_t usr_len)\r
+{\r
+    errcode_t ret = ERRCODE_SUCC;\r
+\r
+    ret = msg_center_send_data(cmd_id, type, usr_data, usr_len);\r
+    if (ret != ERRCODE_SUCC) {\r
+        return ERRCODE_FAIL;\r
+    }\r
+\r
+    WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "send js exit msg, usr_data = %d, usr_len = %d\r\n",\r
+                  *(uint8_t *)usr_data, usr_len); /* usr_data: 0 --normal exit, 1 -- abnormal exit */\r
+    return ERRCODE_SUCC;\r
+}\r
+\r
 static void msg_center_transfer_longbuf(char *data, uint8_t type)\r
 {\r
     FILE *fp = nullptr;\r
@@ -1149,6 +1165,21 @@ errcode_t msg_center_vector_navi_rec_destroy_from_watch(uint8_t cmd_id, uint8_t
     return msg_center_vector_navi_rec_common_proc(cmd_id, type, usr_data, usr_len);\r
 }\r
 \r
+__attribute__((weak)) uint8_t duer_msg_center_recv_map_info(uint8_t command_id, uint8_t type, struct Content *content)\r
+{\r
+    return 0;\r
+}\r
+\r
+__attribute__((weak)) uint8_t duer_msg_center_send_map_info(uint8_t duer_type, void *usr_data, uint16_t usr_len)\r
+{\r
+    return 0;\r
+}\r
+\r
+__attribute__((weak)) uint8_t duer_msg_center_map_to_title(void *data, uint16_t len)\r
+{\r
+    return 0;\r
+}\r
+\r
 #ifdef __cplusplus\r
 }\r
 #endif\r
index 3509a71..d337596 100644 (file)
@@ -20,6 +20,9 @@
 #include "pm_lp_stub.h"\r
 #include "hal_pmu_ldo.h"\r
 #include "cmsis_os2.h"\r
+#ifdef CFG_DRIVERS_NANDFLASH\r
+#include "nandflash_to_os.h"\r
+#endif\r
 #ifdef SUPPORT_AT_OHOSFWK\r
 #include "ui_screennotify.h"\r
 #endif\r
@@ -99,7 +102,13 @@ static uint32_t action_display_lcd_on()
     last_screen_on_timestamp = get_display_timestamp();\r
     caculate_screen_off_time();\r
     ext_errno ret;\r
+#ifdef CFG_DRIVERS_NANDFLASH\r
+    nand_lock();\r
+#endif\r
     uapi_pm_request_mode(PM_ID_VIDEO, PM_MODE_PERFORMACE);\r
+#ifdef CFG_DRIVERS_NANDFLASH\r
+    nand_unlock();\r
+#endif\r
     if (g_pms_lcd_on_first_flag == false) {\r
         if (lcd_get_status()) {\r
             POWER_DISPLAY_PRINT_ERR(0, "\r\nLCD has benn on.\r\n");\r
@@ -142,9 +151,6 @@ static uint32_t action_display_lcd_on()
             return ERRCODE_FAIL;\r
         }\r
     }\r
-#ifdef SUPPORT_AT_OHOSFWK\r
-    notify_screen_on_event();\r
-#endif\r
 #if defined(ENABLE_UIKIT) || defined(ENABLE_LVGL)\r
     NotifyScreenOn(); // Instruct the uikit to start the display operation.\r
 #endif\r
@@ -181,10 +187,6 @@ static uint32_t action_display_lcd_off()
     NotifyScreenOff(); // Instruct the uikit to close the display operation.\r
 #endif\r
 \r
-#ifdef SUPPORT_AT_OHOSFWK\r
-    notify_screen_off_event();\r
-#endif\r
-\r
     osDelay(100);        // Wait 100ms for the uikit to complete display.\r
     touch_screen_suspend(); // close touch\r
     ext_errno ret = drv_vau_suspend(NULL);\r
@@ -216,7 +218,13 @@ static uint32_t action_display_lcd_off()
     lcd_set_status(false);\r
     g_pms_dpu_ready = false;\r
     display_suspend_power_off();\r
+#ifdef CFG_DRIVERS_NANDFLASH\r
+    nand_lock();\r
+#endif\r
     uapi_pm_request_mode(PM_ID_VIDEO, PM_MODE_LP);\r
+#ifdef CFG_DRIVERS_NANDFLASH\r
+    nand_unlock();\r
+#endif\r
     return ERRCODE_SUCC;\r
 }\r
 \r
index 7193360..4bf73ca 100644 (file)
@@ -20,6 +20,9 @@
 #include "touch_screen_def.h"\r
 #include "display_state_machine.h"\r
 #include "touch_screen_def.h"\r
+#ifdef SUPPORT_AT_OHOSFWK\r
+#include "graphic_service_wrapper.h"\r
+#endif\r
 \r
 #define DISPLAY_AUTO_POWER_OFF_PERIOD_MS 5000\r
 #define DISPLAY_DEFAULT_BRIGHTNESS 50\r
@@ -42,6 +45,17 @@ static screen_context_t g_screen_context = {
     .press_state = 0,\r
 };\r
 \r
+#ifdef SUPPORT_AT_OHOSFWK\r
+void power_display_turnon_handle_ext(void *data);\r
+void power_display_turnoff_handle_ext(void *data);\r
+void power_display_set_screenoff_timeout_handle_ext(void *data);\r
+void power_display_set_screenoff_switch_handle_ext(void *data);\r
+void power_display_set_keepon_timeout_handle_ext(void *data);\r
+void power_display_set_brightness_handle_ext(void *data);\r
+void power_display_gui_cmd_handle_ext(void *data);\r
+void power_display_timer_cmd_handle_ext(void *data);\r
+#endif\r
+\r
 static unsigned long g_power_display_queue_id = 0;\r
 static uint32_t g_power_recv_msg_num = 0;\r
 bool g_discard_all_events = false;\r
@@ -75,23 +89,31 @@ static errcode_t power_display_msg_write(uint32_t msg_id, uint8_t *msg, uint16_t
 \r
 static errcode_t power_display_turn_on_screen(void)\r
 {\r
+#ifndef SUPPORT_AT_OHOSFWK\r
     message_type_t mt = TURN_ON_SCREEN_CMD;\r
     uint32_t event_info = 0;\r
     errcode_t ret = power_display_msg_write(mt, (uint8_t *)&event_info, sizeof(uint32_t), false);\r
     if (ret != ERRCODE_SUCC) {\r
         return ERRCODE_FAIL;\r
     }\r
+#else\r
+    PostGraphicEvent(power_display_turnon_handle_ext, NULL);\r
+#endif\r
     return ERRCODE_SUCC;\r
 }\r
 \r
 static errcode_t power_display_turn_off_screen(void)\r
 {\r
+#ifndef SUPPORT_AT_OHOSFWK    \r
     message_type_t mt = TURN_OFF_SCREEN_CMD;\r
     uint32_t event_info = 0;\r
     errcode_t ret = power_display_msg_write(mt, (uint8_t *)&event_info, sizeof(uint32_t), false);\r
     if (ret != ERRCODE_SUCC) {\r
         return ERRCODE_FAIL;\r
     }\r
+#else\r
+    PostGraphicEvent(power_display_turnoff_handle_ext, NULL);\r
+#endif\r
     return ERRCODE_SUCC;\r
 }\r
 \r
@@ -112,10 +134,18 @@ static errcode_t power_display_set_screen_auto_off_timeout(uint32_t timeout)
     }\r
     message_type_t mt = SET_AUTO_OFF_TIMEOUT_CMD;\r
     uint32_t event_info = timeout;\r
+#ifndef SUPPORT_AT_OHOSFWK\r
     errcode_t ret = power_display_msg_write(mt, (uint8_t *)&event_info, sizeof(uint32_t), false);\r
     if (ret != ERRCODE_SUCC) {\r
         return ERRCODE_FAIL;\r
     }\r
+#else\r
+    uint32_t *data = (uint32_t *)malloc(sizeof(uint32_t));\r
+    if (data != NULL) {\r
+        *data = event_info;\r
+        PostGraphicEvent(power_display_set_screenoff_timeout_handle_ext, data);\r
+    }\r
+#endif\r
     return ERRCODE_SUCC;\r
 }\r
 \r
@@ -123,10 +153,18 @@ static errcode_t power_display_set_auto_timeout_function(bool enable)
 {\r
     message_type_t mt = SET_AUTO_OFF_FUNC_CMD;\r
     uint32_t event_info = enable;\r
+#ifndef SUPPORT_AT_OHOSFWK\r
     errcode_t ret = power_display_msg_write(mt, (uint8_t *)&event_info, sizeof(uint32_t), false);\r
     if (ret != ERRCODE_SUCC) {\r
         return ERRCODE_FAIL;\r
     }\r
+#else\r
+    uint32_t *data = (uint32_t *)malloc(sizeof(uint32_t));\r
+    if (data != NULL) {\r
+        *data = event_info;\r
+        PostGraphicEvent(power_display_set_screenoff_switch_handle_ext, data);\r
+    }\r
+#endif\r
     return ERRCODE_SUCC;\r
 }\r
 \r
@@ -140,10 +178,18 @@ static errcode_t power_display_set_keepon_timeout(uint32_t time)
     message_type_t mt = SET_KEEP_SCREEN_ON_TIMEOUT_CMD;\r
     uint32_t real_time = time > POWER_DISPLAY_MAX_SET_TIME ? POWER_DISPLAY_MAX_SET_TIME : time;\r
     uint32_t event_info = real_time;\r
+#ifndef SUPPORT_AT_OHOSFWK\r
     errcode_t ret = power_display_msg_write(mt, (uint8_t *)&event_info, sizeof(uint32_t), false);\r
     if (ret != ERRCODE_SUCC) {\r
         return ERRCODE_FAIL;\r
     }\r
+#else\r
+    uint32_t *data = (uint32_t *)malloc(sizeof(uint32_t));\r
+    if (data != NULL) {\r
+        *data = event_info;\r
+        PostGraphicEvent(power_display_set_keepon_timeout_handle_ext, data);\r
+    }\r
+#endif\r
     return ERRCODE_SUCC;\r
 }\r
 \r
@@ -163,10 +209,18 @@ static errcode_t power_display_set_brightness(uint8_t brightness)
 {\r
     message_type_t mt = SET_BRIGHTNESS_CMD;\r
     uint32_t event_info = brightness;\r
+#ifndef SUPPORT_AT_OHOSFWK\r
     errcode_t ret = power_display_msg_write(mt, (uint8_t *)&event_info, sizeof(uint32_t), false);\r
     if (ret != ERRCODE_SUCC) {\r
         return ERRCODE_FAIL;\r
     }\r
+#else\r
+    uint32_t *data = (uint32_t *)malloc(sizeof(uint32_t));\r
+    if (data != NULL) {\r
+        *data = event_info;\r
+        PostGraphicEvent(power_display_set_brightness_handle_ext, data);\r
+    }\r
+#endif\r
     return ERRCODE_SUCC;\r
 }\r
 \r
@@ -211,10 +265,18 @@ static void power_display_key_event_cb(uint32_t event, uint32_t event_value)
     unused(event_value);\r
     message_type_t mt = GUI_EVENT_CMD;\r
     uint32_t event_info = KEY;\r
+#ifndef SUPPORT_AT_OHOSFWK\r
     errcode_t ret = power_display_msg_write(mt, (uint8_t *)&event_info, sizeof(uint32_t), false);\r
     if (ret != ERRCODE_SUCC) {\r
         POWER_DISPLAY_PRINT_ERR(0, "key_event send msg fail, ret:%u.", ret);\r
     }\r
+#else\r
+    uint32_t *data = (uint32_t *)malloc(sizeof(uint32_t));\r
+    if (data != NULL) {\r
+        *data = event_info;\r
+        PostGraphicEvent(power_display_gui_cmd_handle_ext, data);\r
+    }\r
+#endif\r
     return;\r
 }\r
 \r
@@ -235,11 +297,18 @@ static void power_display_touch_event_cb(uint32_t event, uint32_t event_value)
     if (g_power_tp_press_num > 1) {\r
         return;\r
     }\r
+#ifndef SUPPORT_AT_OHOSFWK\r
     errcode_t ret = power_display_msg_write(mt, (uint8_t *)&event_info, sizeof(uint32_t), false);\r
     if (ret != ERRCODE_SUCC) {\r
         POWER_DISPLAY_PRINT_ERR(0, "touch_event send msg fail, ret:%u.", ret);\r
     }\r
-\r
+#else\r
+    uint32_t *data = (uint32_t *)malloc(sizeof(uint32_t));\r
+    if (data != NULL) {\r
+        *data = event_info;\r
+        PostGraphicEvent(power_display_gui_cmd_handle_ext, data);\r
+    }\r
+#endif\r
     return;\r
 }\r
 \r
@@ -247,12 +316,19 @@ static errcode_t power_display_timeout_event_proc(uint32_t event)
 {\r
     message_type_t mt = TIMER_EVENT_CMD;\r
     uint32_t event_info = event;\r
+#ifndef SUPPORT_AT_OHOSFWK\r
     errcode_t ret = power_display_msg_write(mt, (uint8_t *)&event_info, sizeof(uint32_t), false);\r
     if (ret != ERRCODE_SUCC) {\r
         POWER_DISPLAY_PRINT_ERR(0, "power_display_timeout_event_proc send msg fail, ret:%u.", ret);\r
         return ERRCODE_FAIL;\r
     }\r
-\r
+#else\r
+    uint32_t *data = (uint32_t *)malloc(sizeof(uint32_t));\r
+    if (data != NULL) {\r
+        *data = event_info;\r
+        PostGraphicEvent(power_display_timer_cmd_handle_ext, data);\r
+    }\r
+#endif\r
     return ERRCODE_SUCC;\r
 }\r
 \r
@@ -293,7 +369,6 @@ static errcode_t power_display_execute_filter_rules(event_type_t event_type, uin
     power_display_save_gui_event_stamp(ac, event_type);\r
     return power_display_execute_state_change_action(event_type, ac, event);\r
 }\r
-\r
 errcode_t power_display_turnon_handle(uint32_t message_type, uint32_t message_value)\r
 {\r
     unused(message_type);\r
@@ -303,6 +378,15 @@ errcode_t power_display_turnon_handle(uint32_t message_type, uint32_t message_va
     return power_display_execute_filter_rules(GUI_EVENT, keyid);\r
 }\r
 \r
+#ifdef SUPPORT_AT_OHOSFWK\r
+void power_display_turnon_handle_ext(void *data)\r
+{\r
+    unused(data);\r
+    errcode_t ret = power_display_turnon_handle(TURN_ON_SCREEN_CMD, 0);\r
+    POWER_DISPLAY_PRINT_DEBUG(0, "display_turnon ret:%u.", ret);\r
+}\r
+#endif\r
+\r
 errcode_t power_display_turnoff_handle(uint32_t message_type, uint32_t message_value)\r
 {\r
     unused(message_type);\r
@@ -312,6 +396,15 @@ errcode_t power_display_turnoff_handle(uint32_t message_type, uint32_t message_v
     return power_display_execute_filter_rules(GUI_EVENT, keyid);\r
 }\r
 \r
+#ifdef SUPPORT_AT_OHOSFWK\r
+void power_display_turnoff_handle_ext(void *data)\r
+{\r
+    unused(data);\r
+    errcode_t ret = power_display_turnoff_handle(TURN_OFF_SCREEN_CMD, 0);\r
+    POWER_DISPLAY_PRINT_DEBUG(0, "display_turnoff ret:%u.", ret);\r
+}\r
+#endif\r
+\r
 errcode_t power_display_set_screenoff_timeout_handle(uint32_t message_type, uint32_t message_value)\r
 {\r
     unused(message_type);\r
@@ -319,6 +412,16 @@ errcode_t power_display_set_screenoff_timeout_handle(uint32_t message_type, uint
     return power_display_execute_filter_rules(TIMER_EVENT, SET_DEFAULT_TIMEOUT);\r
 }\r
 \r
+#ifdef SUPPORT_AT_OHOSFWK\r
+void power_display_set_screenoff_timeout_handle_ext(void *data)\r
+{\r
+    uint32_t *message_value = (uint32_t *)data;\r
+    errcode_t ret = power_display_set_screenoff_timeout_handle(SET_AUTO_OFF_TIMEOUT_CMD, *message_value);\r
+    POWER_DISPLAY_PRINT_DEBUG(0, "display_set_screenoff_timeout ret:%u.", ret);\r
+    free(message_value);\r
+}\r
+#endif\r
+\r
 errcode_t power_display_set_screenoff_switch_handle(uint32_t message_type, uint32_t message_value)\r
 {\r
     unused(message_type);\r
@@ -329,6 +432,16 @@ errcode_t power_display_set_screenoff_switch_handle(uint32_t message_type, uint3
     return ERRCODE_SUCC;\r
 }\r
 \r
+#ifdef SUPPORT_AT_OHOSFWK\r
+void power_display_set_screenoff_switch_handle_ext(void *data)\r
+{\r
+    uint32_t *message_value = (uint32_t *)data;\r
+    errcode_t ret = power_display_set_screenoff_switch_handle(SET_AUTO_OFF_FUNC_CMD, *message_value);\r
+    POWER_DISPLAY_PRINT_DEBUG(0, "display_set_screenoff_switch ret:%u.", ret);\r
+    free(message_value);\r
+}\r
+#endif\r
+\r
 errcode_t power_display_set_keepon_timeout_handle(uint32_t message_type, uint32_t message_value)\r
 {\r
     unused(message_type);\r
@@ -336,6 +449,16 @@ errcode_t power_display_set_keepon_timeout_handle(uint32_t message_type, uint32_
     return power_display_execute_filter_rules(TIMER_EVENT, SET_KEEP_ON_TIMEOUT);\r
 }\r
 \r
+#ifdef SUPPORT_AT_OHOSFWK\r
+void power_display_set_keepon_timeout_handle_ext(void *data)\r
+{\r
+    uint32_t *message_value = (uint32_t *)data;\r
+    errcode_t ret = power_display_set_keepon_timeout_handle(SET_KEEP_SCREEN_ON_TIMEOUT_CMD, *message_value);\r
+    POWER_DISPLAY_PRINT_DEBUG(0, "display_set_keepon_timeout ret:%u.", ret);\r
+    free(message_value);\r
+}\r
+#endif\r
+\r
 errcode_t power_display_set_brightness_handle(uint32_t message_type, uint32_t message_value)\r
 {\r
     unused(message_type);\r
@@ -349,6 +472,16 @@ errcode_t power_display_set_brightness_handle(uint32_t message_type, uint32_t me
     return ERRCODE_SUCC;\r
 }\r
 \r
+#ifdef SUPPORT_AT_OHOSFWK\r
+void power_display_set_brightness_handle_ext(void *data)\r
+{\r
+    uint32_t *message_value = (uint32_t *)data;\r
+    errcode_t ret = power_display_set_brightness_handle(SET_BRIGHTNESS_CMD, *message_value);\r
+    POWER_DISPLAY_PRINT_DEBUG(0, "display_set_brightness ret:%u.", ret);\r
+    free(message_value);\r
+}\r
+#endif\r
+\r
 errcode_t power_display_set_brightness_mode_handle(uint32_t message_type, uint32_t message_value)\r
 {\r
     unused(message_type);\r
@@ -362,6 +495,16 @@ errcode_t power_display_gui_cmd_handle(uint32_t message_type, uint32_t message_v
     return power_display_execute_filter_rules(GUI_EVENT, message_value);\r
 }\r
 \r
+#ifdef SUPPORT_AT_OHOSFWK\r
+void power_display_gui_cmd_handle_ext(void *data)\r
+{\r
+    uint32_t *message_value = (uint32_t *)data;\r
+    errcode_t ret = power_display_gui_cmd_handle(GUI_EVENT_CMD, *message_value);\r
+    POWER_DISPLAY_PRINT_DEBUG(0, "display_gui_cmd ret:%u.", ret);\r
+    free(message_value);\r
+}\r
+#endif\r
+\r
 errcode_t power_display_other_cmd_handle(uint32_t message_type, uint32_t message_value)\r
 {\r
     unused(message_type);\r
@@ -377,6 +520,16 @@ errcode_t power_display_timer_cmd_handle(uint32_t message_type, uint32_t message
     return power_display_execute_filter_rules(TIMER_EVENT, message_value);\r
 }\r
 \r
+#ifdef SUPPORT_AT_OHOSFWK\r
+void power_display_timer_cmd_handle_ext(void *data)\r
+{\r
+    uint32_t *message_value = (uint32_t *)data;\r
+    errcode_t ret = power_display_timer_cmd_handle(TIMER_EVENT_CMD, *message_value);\r
+    POWER_DISPLAY_PRINT_DEBUG(0, "display_timer_cm ret:%u.", ret);\r
+    free(message_value);\r
+}\r
+#endif\r
+\r
 static const power_display_svr_api_t g_power_display_svr_api = {\r
     .turn_on_screen = power_display_turn_on_screen,\r
     .turn_off_screen = power_display_turn_off_screen,\r
index b7600d0..1f07bb3 100644 (file)
@@ -2240,11 +2240,9 @@ uint32_t btsrv_wstp_at_pbap_pull_phonebook(const bt_manager_commu_inter_info_t *
 \r
 uint32_t btsrv_wstp_at_pbap_pull_vcard_listing(const bt_manager_commu_inter_info_t *at_para)\r
 {\r
-    uint8_t *folder = NULL;\r
-    uint8_t *vcf = NULL;\r
-    uint16_t *max_list_count = NULL;\r
-    uint16_t *list_offset = NULL;\r
-    uint8_t *order = NULL;\r
+    char **params[POS_7] = {NULL};\r
+    int32_t params_cnt = 0;\r
+    char *p = NULL;\r
     char *delim = ",";\r
     uint16_t *tmp_para = (uint16_t *)BSP_MEM_ALLOC(at_para->payloadLength * sizeof(uint16_t));\r
     int ret = memcpy_s(tmp_para, at_para->payloadLength, &at_para->payload[POS_0], at_para->payloadLength);\r
@@ -2253,30 +2251,13 @@ uint32_t btsrv_wstp_at_pbap_pull_vcard_listing(const bt_manager_commu_inter_info
         BSP_MEM_FREE((void *)tmp_para);\r
         return ERRCODE_FAIL;\r
     }\r
-    folder = (uint8_t *)strtok((char*)tmp_para, delim);\r
-    vcf = (uint8_t *)strtok(NULL, delim);\r
-    max_list_count = (uint16_t *)strtok(NULL, delim);\r
-    list_offset = (uint16_t *)strtok(NULL, delim);\r
-    order = (uint8_t *)strtok(NULL, delim);\r
-\r
-    if ((folder == NULL) || (vcf == NULL) || (max_list_count == NULL) || (list_offset == NULL) || (order == NULL)) {\r
-        wstp_print("input err\r\n");\r
-        BSP_MEM_FREE((void *)tmp_para);\r
-        return ERRCODE_FAIL;\r
+    p = strtok((char*)tmp_para, delim);\r
+    for (int i = 0; i < POS_7 && p != NULL; i++) {\r
+        params_cnt++;\r
+        params[i] = p;\r
+        p = strtok((char*)NULL, delim);\r
     }\r
-\r
-    *folder = (uint8_t)atoi((char*)folder);\r
-    *vcf = (uint8_t)atoi((char*)vcf);\r
-    *max_list_count = (uint16_t)atoi((char*)max_list_count);\r
-    *list_offset = (uint16_t)atoi((char*)list_offset);\r
-    *order = (uint8_t)atoi((char*)order);\r
-    wstp_print("folder=%d vcf=%d max_list_count=%d list_offset=%d order=%d\n",\r
-        *folder,\r
-        *vcf,\r
-        *max_list_count,\r
-        *list_offset,\r
-        *order);\r
-    wstp_pbap_cmd_pull_vcard_listing(*folder, *vcf, *max_list_count, *list_offset, *order);\r
+    wstp_pbap_cmd_pull_vcard_listing(params, params_cnt);\r
     BSP_MEM_FREE((void *)tmp_para);\r
     return ERRCODE_SUCC;\r
 }\r
index 7706ac5..106f009 100644 (file)
@@ -384,8 +384,6 @@ extern void wstp_a2dp_src_get_active_device(void);
 extern void wstp_avrcp_ct_hdl_notify_play_status(uint8_t play_status);\r
 extern void wstp_pbap_cmd_pull_phonebook(\r
     uint8_t folder, uint8_t vcf, uint16_t max_list_count, uint16_t list_offset, uint8_t format);\r
-extern void wstp_pbap_cmd_pull_vcard_listing(\r
-    uint8_t folder, uint8_t vcf, uint16_t max_list_count, uint16_t list_offset, uint8_t order);\r
 extern void wstp_pbap_cmd_pull_vcard_entry(uint8_t folder, uint8_t vcf, char *vcf_name, uint8_t format);\r
 extern int pbap_pce_stop_trans(const bth_bd_addr *bd_addr);\r
 extern int pbap_pce_get_device_connect_state(const bth_bd_addr *bd_addr);\r
index 06298c8..871efa6 100644 (file)
@@ -16,6 +16,8 @@
 #include "nandflash_qspi.h"\r
 #include "nandflash_config.h"\r
 #include "hal_nandflash.h"\r
+#include "pinctrl_porting.h"\r
+#include "gpio.h"\r
 #include "nandflash.h"\r
 \r
 #define OFFSET 0\r
@@ -33,6 +35,28 @@ static volatile bool is_nandflash_working = false;
 uint8_t nand_write_buf[DEFALUT_BUFLENGTH] __attribute__((aligned(4)));\r
 uint8_t nand_read_buf[DEFALUT_BUFLENGTH] __attribute__((aligned(4)));\r
 \r
+void cs_pulldown(void)\r
+{\r
+    if (SER_SELECT == 1) {\r
+        uapi_pin_set_mode(S_HGPIO11, (pin_mode_t)HAL_PIO_FUNC_GPIO);\r
+        uapi_gpio_set_dir(S_HGPIO11, GPIO_DIRECTION_OUTPUT);\r
+        uapi_gpio_set_val(S_HGPIO11, GPIO_LEVEL_LOW);\r
+    } else {\r
+        uapi_pin_set_mode(S_HGPIO12, (pin_mode_t)HAL_PIO_FUNC_GPIO);\r
+        uapi_gpio_set_dir(S_HGPIO12, GPIO_DIRECTION_OUTPUT);\r
+        uapi_gpio_set_val(S_HGPIO12, GPIO_LEVEL_LOW);\r
+    }\r
+}\r
+\r
+void cs_pullup(void)\r
+{\r
+    if (SER_SELECT == 1) {\r
+        uapi_pin_set_mode(S_HGPIO11, (pin_mode_t)HAL_PIO_FUNC_QSPI2);\r
+    } else {\r
+        uapi_pin_set_mode(S_HGPIO12, (pin_mode_t)HAL_PIO_FUNC_QSPI2);\r
+    }\r
+}\r
+\r
 uint8_t mc_flash_get_offset(void)\r
 {\r
     return OFFSET;\r
@@ -555,6 +579,7 @@ uint32_t write_by_cpu_single_line(qspi_data_type_def *qspi_data)
         static_time_before = uapi_tcxo_get_us();\r
     }\r
     unsigned int irq_sts = osal_irq_lock();\r
+    cs_pulldown();\r
     writel(SER, 0x0);\r
     nand_qspi_write_data(ins);\r
     nand_qspi_write_data(0); // addr is 0\r
@@ -574,6 +599,7 @@ uint32_t write_by_cpu_single_line(qspi_data_type_def *qspi_data)
             nand_qspi_write_data(qspi_data->data_ptr[i]);\r
         }\r
     }\r
+    cs_pullup();\r
     osal_irq_restore(irq_sts);\r
     if (SUPPORT_STATISTIC == 1) {\r
         static_time_after = uapi_tcxo_get_us();\r
index 31b5d67..5628ab0 100644 (file)
@@ -105,6 +105,7 @@ target = {
         'fs_image': False
     },
     #native-js: liteos + uikit + nandflash + mipi + psram + audio  典型合封UIKIT版本
+    #用户可参考user版本,删除reg/mem dump
     'brandy-native-js': {
         'board': 'evb',
         'base_target_name': 'target_standard_brandy_application_template',
@@ -121,7 +122,7 @@ target = {
                           'ulp_aon', 'hal_l2ram', 'bt_manager_at_service',
                           'x_dpal', 'x_vfs', 'x_disk', 'x_fat', 'drv_mmc', 'fs_yaffs2', 'x_vfs_private',
                           'pm_service', 'pm_brandy', 'cmn_header', 'at_cmd', 'graphic_at_service', 'app_at_service', 'ohosfwk_at_service',
-                          "audio_proc", "audio_dump", "audio_probe", "power_manager", "gpu_proc",'bts_header', 'baidumapsdk'],
+                          "audio_proc", "audio_dump", "audio_probe", "power_manager", "gpu_proc",'bts_header'],
         'ram_component_set': ['bgh', 'media', 'gpu', 'graphic_uikit', 'bgh_audio', 'dfx_set', 'ohos_set', 'wearable_set', 'alipay_set'],
         'dsp_version': 'max',
         'packet': True,
@@ -129,9 +130,10 @@ target = {
     },
     #native-js-user: liteos + uikit + nandflash + mipi + psram + audio  典型合封UIKIT版本
     #离线日志版本
+    #删除reg/mem dump,写法如下:'-:DUMP_MEM_SUPPORT', '-:DUMP_REG_SUPPORT', '-:SUPPORT_DFX_EXCEPTION'
     'brandy-native-js-user': {
         'base_target_name': 'brandy-native-js',
-        'defines': ['-:SW_UART_DEBUG'],
+        'defines': ['-:SW_UART_DEBUG', '-:DUMP_MEM_SUPPORT', '-:DUMP_REG_SUPPORT', '-:SUPPORT_DFX_EXCEPTION'],
     },
     #auto-ota-server
     'brandy-auto-ota-ser': {
@@ -161,7 +163,7 @@ target = {
                           'ulp_aon', 'hal_l2ram',
                           'x_dpal', 'x_vfs', 'x_disk', 'x_fat', 'drv_mmc', 'fs_yaffs2', 'x_vfs_private',
                           'pm_service', 'pm_brandy', 'cmn_header', 'at_cmd', 'graphic_at_service', 'app_at_service', 'ohosfwk_at_service',
-                          "audio_proc", "audio_dump", "audio_probe", "power_manager", "gpu_proc", 'bts_header', 'baidumapsdk'],
+                          "audio_proc", "audio_dump", "audio_probe", "power_manager", "gpu_proc", 'bts_header'],
         'ram_component_set': ['bgh', 'media', 'gpu', 'graphic_uikit', 'bgh_audio', 'dfx_set', 'ohos_set', 'wearable_set', 'xts_set', 'xts_test_set', 'alipay_set'],
         'dsp_version': 'max',
         'packet': True,
index 6bf54ad..2a65e79 100644 (file)
@@ -52,6 +52,7 @@ typedef struct {
 button_debounced_t g_button_debounced = {0};
 button_map_t g_button_pin_map[BUTTON_PIN_MAP_MAX] = {0};
 timer_handle_t g_button_timer = {0};
+timer_handle_t g_gpio_button_timer = {0};
 button_info_t g_button_info = {0};
 bool g_timer_is_running = false;
 msg_send_callback_t g_msg_send_cb = NULL;
@@ -126,8 +127,8 @@ static void button_timer_start_check_released(void)
     }
 
     if (start) {
-        uapi_rtc_stop(g_button_timer);
-        uapi_rtc_start(g_button_timer, BUTTON_CHECK_RELEADSED, button_check_released_timer_callback, 0);
+        uapi_rtc_stop(g_gpio_button_timer);
+        uapi_rtc_start(g_gpio_button_timer, BUTTON_CHECK_RELEADSED, button_check_released_timer_callback, 0);
     }
 }
 
@@ -317,6 +318,9 @@ void uapi_button_deinit(void)
     uapi_rtc_stop(g_button_timer);
     uapi_rtc_delete(g_button_timer);
     g_button_timer = NULL;
+    uapi_rtc_stop(g_gpio_button_timer);
+    uapi_rtc_delete(g_gpio_button_timer);
+    g_gpio_button_timer = NULL;
     for (uint8_t i = 0; i < BUTTON_PIN_MAP_MAX; i++) {
         g_button_pin_map[i].pin = PIN_NONE;
         g_button_pin_map[i].button = BUTTON_MAX;
@@ -338,6 +342,11 @@ errcode_t uapi_button_init(void)
         PRINT("uapi_rtc_create FAILED 0x%x", ret);
         return ret;
     }
+    ret = uapi_rtc_create(0, &g_gpio_button_timer); /* 1: using timer1 */
+    if (ret != ERRCODE_SUCC) {
+        PRINT("uapi_rtc_create FAILED 0x%x", ret);
+        return ret;
+    }
     return ERRCODE_SUCC;
 }
 
index f8e9a60..96c37ee 100644 (file)
@@ -53,7 +53,8 @@ uint8_t mc_flash_get_offset(void)
 \r
 uint32_t read_buffer_single_line_width_32(qspi_data_type_def *qspi_data);\r
 \r
-void cs_pulldown(void) {\r
+void cs_pulldown(void)\r
+{\r
     if (SER_SELECT == 1) {\r
         uapi_pin_set_mode(S_HGPIO11, (pin_mode_t)HAL_PIO_FUNC_GPIO);\r
         uapi_gpio_set_dir(S_HGPIO11, GPIO_DIRECTION_OUTPUT);\r
@@ -65,7 +66,8 @@ void cs_pulldown(void) {
     }\r
 }\r
 \r
-void cs_pullup(void) {\r
+void cs_pullup(void)\r
+{\r
     if (SER_SELECT == 1) {\r
         uapi_pin_set_mode(S_HGPIO11, (pin_mode_t)HAL_PIO_FUNC_QSPI2);\r
     } else {\r
@@ -389,18 +391,18 @@ static void read_oob(uint8_t *oob, uint32_t oob_len)
     return;\r
 }\r
 \r
-void debug_read_buffer(void) {\r
-    if (readw(0x57000010) == 0x5a)\r
-    {\r
-        for (uint32_t i = 0; i < DEFALUT_BUFLENGTH; i++)\r
-        {\r
+void debug_read_buffer(void)\r
+{\r
+    if (readw(0x57000010) == 0x5a) {\r
+        for (uint32_t i = 0; i < DEFALUT_BUFLENGTH; i++) {\r
             PRINT("nand_read_buf index:%d , VALUE:%d] \r\n", i, nand_read_buf[i]);\r
         }\r
         writew(0x57000010, 0);\r
     }\r
 }\r
 \r
-uint32_t read_buffer(qspi_data_type_def *qspi_data, uint8_t *data, uint32_t data_len, uint8_t *oob, uint32_t oob_len, enum nandflash_trans_type type)\r
+uint32_t read_buffer(qspi_data_type_def *qspi_data, uint8_t *data, uint32_t data_len, uint8_t *oob, uint32_t oob_len,\r
+    enum nandflash_trans_type type)\r
 {\r
     while (is_nandflash_working) {\r
         uapi_tcxo_delay_us(HAL_NAND_WAIT_3US);\r
@@ -996,7 +998,6 @@ uint32_t program_load_width_32(qspi_data_type_def *qspi_data)
 \r
 uint32_t write_by_cpu_single_line(qspi_data_type_def *qspi_data)\r
 {\r
-    PRINT("write_by_cpu_single_line !!!\r\n");\r
     qspi_busy_wait();\r
     uint16_t address = SWAP_U16(qspi_data->address);\r
     uint8_t *addr = (uint8_t *)&address;\r
index 44cd9a7..c002830 100644 (file)
@@ -100,7 +100,8 @@ typedef struct {
 uint8_t mc_flash_get_offset(void);\r
 uint16_t read_id(qspi_data_type_def *qspi_data);\r
 uint32_t read_cell_array(qspi_data_type_def *qspi_data);\r
-uint32_t read_buffer(qspi_data_type_def *qspi_data, uint8_t *data, uint32_t data_len, uint8_t *oob, uint32_t oob_len, enum nandflash_trans_type type);\r
+uint32_t read_buffer(qspi_data_type_def *qspi_data, uint8_t *data, uint32_t data_len, uint8_t *oob, uint32_t oob_len,\r
+    enum nandflash_trans_type type);\r
 uint8_t read_sr(qspi_data_type_def *qspi_data, uint8_t address);\r
 uint32_t write_sr(qspi_data_type_def *qspi_data, uint8_t addr, uint8_t data);\r
 void write_cmd(uint8_t command);\r
@@ -119,7 +120,7 @@ void change_div(uint32_t div);
 dma_channel_t dma_send_data(uint32_t trans_num, uint8_t *data_ptr, uint8_t width);\r
 dma_channel_t dma_recv_data(uint32_t trans_num, uint8_t *data_ptr, uint8_t width);\r
 uint32_t read_buffer_single_line_width_8(qspi_data_type_def *qspi_data);\r
-uint32_t read_bPffer_single_line_width_32(qspi_data_type_def *qspi_data);\r
+uint32_t read_buffer_single_line_width_32(qspi_data_type_def *qspi_data);\r
 uint32_t read_buffer_by_dma(qspi_data_type_def *qspi_data);\r
 uint32_t program_load_by_dma_width_32(qspi_data_type_def *qspi_data);\r
 uint32_t read_buffer_by_dma_width32(qspi_data_type_def *qspi_data);\r
index f8a9100..eddf191 100644 (file)
@@ -64,8 +64,8 @@ typedef enum nandflash_trans_speed {
 struct nand_driver_struct {\r
     uint32_t (*nand_flash_init)(void);\r
     uint16_t (*check_id)(void);\r
-    uint32_t (*read_page)(uint32_t nand_page, uint8_t *data, uint32_t data_len,\r
-    uint8_t *oob, uint32_t oob_len, uint8_t *status_reg, enum nandflash_trans_type type);\r
+    uint32_t (*read_page)(uint32_t nand_page, uint8_t *data, uint32_t data_len, uint8_t *oob, uint32_t oob_len,\r
+        uint8_t *status_reg, enum nandflash_trans_type type);\r
     uint32_t (*write_page)(uint32_t nand_page, uint8_t *data, uint32_t data_len, uint8_t *oob, uint32_t oob_len);\r
     uint32_t (*erase_block)(uint32_t block_no);\r
     uint32_t (*mark_bad_block)(uint32_t block_no);\r
@@ -91,8 +91,8 @@ uint32_t mc_flash_read_sr(uint8_t addr, uint8_t *data);
 uint32_t mc_flash_write_sr(uint8_t addr, uint8_t data);\r
 void mc_flash_write_cmd(uint8_t cmd);\r
 void mc_flash_busy_wait(void);\r
-uint32_t mc_flash_read_page(uint32_t nand_page, uint8_t *data, uint32_t data_len,\r
-                            uint8_t *oob, uint32_t oob_len, uint8_t *status_reg, enum nandflash_trans_type type);                 \r
+uint32_t mc_flash_read_page(uint32_t nand_page, uint8_t *data, uint32_t data_len, uint8_t *oob, uint32_t oob_len,\r
+    uint8_t *status_reg, enum nandflash_trans_type type);\r
 uint32_t mc_flash_write_page(uint32_t nand_page, uint8_t *data, uint32_t data_len, uint8_t *oob, uint32_t oob_len);\r
 uint32_t mc_flash_erase_block(uint32_t block_no);\r
 uint32_t mc_flash_mark_bad_block(uint32_t block_no);\r
index e25610d..0c93526 100644 (file)
@@ -72,4 +72,14 @@ int os_nand_block_isbad(const struct mtd_info *mtd, size_t ofs);
  * @return 0 SUCESS 1 FAILURE\r
  */\r
 int os_nand_block_markbad(const struct mtd_info *mtd, size_t ofs);\r
+\r
+/**\r
+ * @brief  lock nand\r
+ */\r
+void nand_lock(void);\r
+\r
+/**\r
+ * @brief  unlock nand\r
+ */\r
+void nand_unlock(void);\r
 #endif\r
index fa6a2e2..7075e44 100644 (file)
@@ -20,6 +20,7 @@
 #include "mtd_partition.h"\r
 #include "dpal.h"\r
 #include "nandflash.h"\r
+#include "chip_io.h"\r
 #include "hal_nandflash.h"\r
 #include "nandflash_tc58cyg.h"\r
 #include "nandflash_ds35x1g.h"\r
@@ -107,7 +108,7 @@ static int formate_filesystem(uint32_t total_block_num)
     return ret;\r
 }\r
 \r
-/* Ê¹ÓÃÔ¼Êø£ºÖжϺÍÒì³£ÖУ¬½ûÖ¹sync²Ù×÷ */\r
+/* 使用约束:中断和异常中,禁止sync操作 */\r
 void nandflash_yaffs_sync(void)\r
 {\r
     if (osal_in_interrupt() != true && get_exception_status() != true) {\r
@@ -148,23 +149,19 @@ void erase_all(struct nand_driver_struct *driver)
     }\r
 }\r
 \r
-#include "chip_io.h"\r
 void test_nand_flash_read_8(struct nand_driver_struct  *test_nand_flash_driver, uint32_t nand_page)\r
 {\r
-\r
-     struct mtd_info *mtd;\r
+    struct mtd_info *mtd;\r
     mtd = get_mtd("nand");\r
-    if (mtd == NULL)\r
-    {\r
+    if (mtd == NULL) {\r
         nand_register(mtd);\r
     }\r
-\r
     memset_s(buffer_verify, DEFALUT_BUFLENGTH, 0, DEFALUT_BUFLENGTH);\r
-\r
     PRINT("nandflash [READ][PAGE:%d]\r\n", nand_page);\r
     uint32_t retlen;\r
     writew(0x57000010, 0x5a);\r
-    os_nand_read_oob(mtd, mtd->writesize * nand_page, mtd->writesize + mtd->oobsize, &retlen, (const char *)buffer_verify);\r
+    os_nand_read_oob(\r
+        mtd, mtd->writesize * nand_page, mtd->writesize + mtd->oobsize, &retlen, (const char *)buffer_verify);\r
     writew(0x57000010, 0x0);\r
     for (uint32_t i = 0; i < test_nand_flash_driver->bytes_per_page; i++) {\r
         PRINT("[READ DATA INDEX:%d , VALUE:%d] \r\n", i, buffer_verify[i]);\r
@@ -185,11 +182,9 @@ void test_nand_flash_write_width8(struct nand_driver_struct *test_nand_flash_dri
 {\r
     struct mtd_info *mtd;\r
     mtd = get_mtd("nand");\r
-    if (mtd == NULL)\r
-    {\r
+    if (mtd == NULL) {\r
         nand_register(mtd);\r
     }\r
-    \r
 \r
     int j = 0;\r
     for (uint32_t i = 0; i < test_nand_flash_driver->bytes_per_page; i++) {\r
@@ -214,7 +209,8 @@ void test_nand_flash_write_width8(struct nand_driver_struct *test_nand_flash_dri
     PRINT("nandflash [READ][PAGE:%d]\r\n", nand_page);\r
     PRINT("[WRITE][WRITE][WRITE][WRITE][WRITE][WRITE][WRITE][WRITE]\r\n");\r
     uint32_t retlen;\r
-    os_nand_write_oob(mtd, mtd->writesize * nand_page, mtd->writesize + mtd->oobsize, &retlen, (const char *)buffer_verify);\r
+    os_nand_write_oob(\r
+        mtd, mtd->writesize * nand_page, mtd->writesize + mtd->oobsize, &retlen, (const char *)buffer_verify);\r
 }\r
 \r
 void nandflash_qspi_init(void)\r
index 419141a..d87b86b 100644 (file)
@@ -23,8 +23,8 @@
 \r
 static qspi_data_type_def g_qspi_data = {0};\r
 \r
-static uint32_t mc_ds35x1g_read_page(\r
-    uint32_t nand_page, uint8_t *data, uint32_t data_len, uint8_t *oob, uint32_t oob_len, const uint32_t *ecc_result, enum nandflash_trans_type type)\r
+static uint32_t mc_ds35x1g_read_page(uint32_t nand_page, uint8_t *data, uint32_t data_len, uint8_t *oob,\r
+    uint32_t oob_len, const uint32_t *ecc_result, enum nandflash_trans_type type)\r
 {\r
     unused(ecc_result);\r
     uint32_t ret;\r
index 4c41429..de98648 100644 (file)
 \r
 static qspi_data_type_def g_qspi_data = {0};\r
 \r
-static uint32_t mc_tc58cyg_read_page(\r
-    uint32_t nand_page, uint8_t *data, uint32_t data_len, uint8_t *oob, uint32_t oob_len, const uint32_t *ecc_result, enum nandflash_trans_type type)\r
+static uint32_t mc_tc58cyg_read_page(uint32_t nand_page, uint8_t *data, uint32_t data_len, uint8_t *oob,\r
+    uint32_t oob_len, const uint32_t *ecc_result, enum nandflash_trans_type type)\r
 {\r
     unused(ecc_result);\r
     uint32_t ret;\r
     uint8_t status_reg;\r
-    ret = mc_flash_read_page(nand_page, data, data_len, oob, oob_len, &status_reg,type);\r
+    ret = mc_flash_read_page(nand_page, data, data_len, oob, oob_len, &status_reg, type);\r
     if (ret != MC_SUCCESS) {\r
         return MC_FAILURE;\r
     }\r
index fe231ef..fb22d40 100644 (file)
 #include "los_misc_pri.h"\r
 #endif\r
 #include "nandflash_config.h"\r
-#include "nandflash_to_os.h"\r
 #include "soc_osal.h"\r
 #include "soc_errno.h"\r
 #include "pinctrl_porting.h"\r
 #include "hal_gpio.h"\r
 #include "platform_core.h"\r
 #include "pinctrl.h"\r
+#include "nandflash_to_os.h"\r
 \r
 #define NAND_FLASH_TYLE 4\r
 #define NAND_FLASH_FLAGS 0x400\r
 #define SUCCESS 0\r
 #define FAILURE 1\r
 #define MAX_RETRYS 3\r
+\r
 extern uint8_t nand_read_buf[DEFALUT_BUFLENGTH] __attribute__((aligned(4)));\r
 bool test_overturn = false;\r
 \r
 void test_nand_io_init(void)\r
 {\r
-    test_overturn = false; \r
+    test_overturn = false;\r
     uapi_pin_set_mode(S_AGPIO_R8, (pin_mode_t)HAL_PIO_FUNC_GPIO);\r
     uapi_gpio_set_dir(S_AGPIO_R8, GPIO_DIRECTION_OUTPUT);\r
     uapi_gpio_set_val(S_AGPIO_R8, GPIO_LEVEL_HIGH);\r
@@ -41,14 +42,11 @@ void test_nand_io_init(void)
 \r
 void test_nand_io_overturn(void)\r
 {\r
-    if(test_overturn)\r
-    {\r
+    if (test_overturn) {\r
         test_overturn = false;\r
         uapi_gpio_set_dir(S_AGPIO_R8, GPIO_DIRECTION_OUTPUT);\r
         uapi_gpio_set_val(S_AGPIO_R8, GPIO_LEVEL_LOW);\r
-    }\r
-    else\r
-    {\r
+    } else {\r
         test_overturn = true; \r
         uapi_gpio_set_dir(S_AGPIO_R8, GPIO_DIRECTION_OUTPUT);\r
         uapi_gpio_set_val(S_AGPIO_R8, GPIO_LEVEL_HIGH);\r
@@ -80,16 +78,13 @@ void nand_unlock(void)
 \r
 void nand_register(struct mtd_info *mtd)\r
 {\r
-    test_nand_io_init();\r
     ext_errno ret;\r
     if (file_system_mux.mutex == NULL) {\r
         ret = osal_mutex_init(&(file_system_mux));\r
-        if (ret != OSAL_SUCCESS)\r
-        {\r
+        if (ret != OSAL_SUCCESS) {\r
             return;\r
         }\r
     }\r
-\r
     nand_driver = get_nand_flash();\r
     mtd->size = nand_driver->pages_per_block * nand_driver->bytes_per_page * nand_driver->total_block;\r
     mtd->erasesize = nand_driver->pages_per_block * nand_driver->bytes_per_page;\r
@@ -118,7 +113,7 @@ void nand_register(struct mtd_info *mtd)
 int os_nand_erase(const struct mtd_info *mtd, const struct erase_info *instr)\r
 {\r
 #ifdef __LITEOS__\r
-    NFPRINT("os_nand_erase  %s \r\n",OsCurTaskNameGet());\r
+    NFPRINT("os_nand_erase  %s \r\n", OsCurTaskNameGet());\r
 #endif\r
     nand_lock();\r
     uint32_t addr = (uint32_t)instr->addr;\r
@@ -167,23 +162,23 @@ int os_nand_erase(const struct mtd_info *mtd, const struct erase_info *instr)
 \r
 int os_nand_read_oob(struct mtd_info *mtd, size_t from, size_t len, size_t *retlen, char *buf)\r
 {\r
-\r
     nand_lock();\r
     uint32_t *change = (uint32_t *)&from;\r
     uint32_t addr_from = change[0];\r
     *retlen = len;\r
     NFPRINT("read oob addr_from=%x len=%d \r\n", addr_from, len);\r
     if ((addr_from & (mtd->writesize - 1)) != 0) {\r
-        PRINT("Attempt to read non page aligned data, addr_from %08x.\n",\r
-                (uint32_t)addr_from);\r
+        PRINT("Attempt to read non page aligned data, addr_from %08x.\n", (uint32_t)addr_from);\r
         nand_unlock();\r
         return FAILURE;\r
     }\r
     if ((len % (mtd->writesize + mtd->oobsize)) != 0) {\r
         PRINT("Attempt to read non aligned data, read length should "\r
-                "be aligned with (pagesize + oobsize), length:%d "\r
-                "pagesize:%d oobsize:%d\n",\r
-                (uint32_t)len, mtd->writesize, mtd->oobsize);\r
+              "be aligned with (pagesize + oobsize), length:%d "\r
+              "pagesize:%d oobsize:%d\n",\r
+            (uint32_t)len,\r
+            mtd->writesize,\r
+            mtd->oobsize);\r
         nand_unlock();\r
         return FAILURE;\r
     }\r
@@ -197,12 +192,16 @@ int os_nand_read_oob(struct mtd_info *mtd, size_t from, size_t len, size_t *retl
                                      mtd->writesize, (uint8_t *)buf + i * (mtd->writesize + mtd->oobsize) +\r
                                      mtd->writesize, mtd->oobsize, &status, TRANS_DEFAULT);\r
         if (ret != MC_SUCCESS) {\r
-            ret = nand_driver->read_page(frompage + i, (uint8_t *)buf + i * (mtd->writesize + mtd->oobsize),\r
-                                         mtd->writesize, (uint8_t *)buf + i * (mtd->writesize + mtd->oobsize) + mtd->writesize, mtd->oobsize, &status, TRANS_BY_CPU_SINGLE_LINE);\r
+            ret = nand_driver->read_page(frompage + i,\r
+                (uint8_t *)buf + i * (mtd->writesize + mtd->oobsize),\r
+                mtd->writesize,\r
+                (uint8_t *)buf + i * (mtd->writesize + mtd->oobsize) + mtd->writesize,\r
+                mtd->oobsize,\r
+                &status,\r
+                TRANS_BY_CPU_SINGLE_LINE);\r
         }\r
         if (ret != MC_SUCCESS) {\r
-            PRINT("NAND read to from %08x failed %d \r\n",\r
-                    (uint32_t)addr_from + i * mtd->writesize, ret);\r
+            PRINT("NAND read to from %08x failed %d \r\n", (uint32_t)addr_from + i * mtd->writesize, ret);\r
             nand_unlock();\r
             return FAILURE;\r
         }\r
@@ -215,7 +214,7 @@ int os_nand_read_oob(struct mtd_info *mtd, size_t from, size_t len, size_t *retl
 int os_nand_write_oob(struct mtd_info *mtd, size_t to, size_t len, size_t *retlen, const char *buf)\r
 {\r
 #ifdef __LITEOS__\r
-    NFPRINT("os_nand_write_oob  %s \r\n",OsCurTaskNameGet());\r
+    NFPRINT("os_nand_write_oob  %s \r\n", OsCurTaskNameGet());\r
 #endif\r
     nand_lock();\r
     uint32_t *change = (uint32_t *)&to;\r
@@ -239,14 +238,16 @@ int os_nand_write_oob(struct mtd_info *mtd, size_t to, size_t len, size_t *retle
     uint32_t read_ret;\r
     for (uint32_t i = 0; i < len_data / mtd->writesize; i++) {\r
         uint8_t status;\r
-        write_ret = nand_driver->write_page(frompage + i, (uint8_t *)buf + i * (mtd->writesize + mtd->oobsize),\r
-                                            mtd->writesize, (uint8_t *)buf + i * (mtd->writesize + mtd->oobsize) + mtd->writesize, mtd->oobsize);\r
+        write_ret = nand_driver->write_page(frompage + i,\r
+            (uint8_t *)buf + i * (mtd->writesize + mtd->oobsize),\r
+            mtd->writesize,\r
+            (uint8_t *)buf + i * (mtd->writesize + mtd->oobsize) + mtd->writesize,\r
+            mtd->oobsize);\r
         memset_s(buffer_verify, OS_DUMP_LEN, 0, OS_DUMP_LEN);\r
         read_ret = nand_driver->read_page(frompage + i, (uint8_t *)buffer_verify, mtd->writesize,\r
                                           (uint8_t *)buffer_verify + mtd->writesize, mtd->oobsize,\r
                                           &status, TRANS_BY_CPU_SINGLE_LINE);\r
-        if (write_ret != MC_SUCCESS)\r
-        {\r
+        if (write_ret != MC_SUCCESS) {\r
             PRINT("NAND write to %08x failed %d \r\n", (uint32_t)from + i * mtd->writesize, write_ret);\r
             nand_unlock();\r
             return FAILURE;\r
@@ -262,9 +263,9 @@ int os_nand_write_oob(struct mtd_info *mtd, size_t to, size_t len, size_t *retle
                 PRINT("PAGE = %d\r\n", frompage + i);\r
                 PRINT("origin-----------------------------------------, diff index = %d\r\n", t);\r
                 OsDumpMemByte(OS_DUMP_LEN, (const char *)buf + i * (mtd->writesize + mtd->oobsize));\r
-                PRINT("after1--nand_read_buf---------------------------, diff index = %d\r\n", t);\r
-                OsDumpMemByte(200, nand_read_buf);\r
-                PRINT("after2------------------------------------------, diff index = %d\r\n", t);\r
+                PRINT("after-dma-nand_read_buf---------------------------, diff index = %d\r\n", t);\r
+                OsDumpMemByte(OS_DUMP_LEN, nand_read_buf);\r
+                PRINT("after-copy-----------------------------------------, diff index = %d\r\n", t);\r
                 OsDumpMemByte(OS_DUMP_LEN, buffer_verify);\r
 \r
 #endif\r
index 6cf36fa..9925679 100644 (file)
@@ -21,8 +21,8 @@
 #define W25N01G_ECC_ERROR         0x03\r
 #define NAND_ID_DATA_SIZE         0x2\r
 \r
-static uint32_t mc_w25n01g_read_page(uint32_t nand_page, uint8_t *data, uint32_t data_len,\r
-                                     uint8_t *oob, uint32_t oob_len, const uint32_t *ecc_result, enum nandflash_trans_type type)\r
+static uint32_t mc_w25n01g_read_page(uint32_t nand_page, uint8_t *data, uint32_t data_len, uint8_t *oob,\r
+    uint32_t oob_len, const uint32_t *ecc_result, enum nandflash_trans_type type)\r
 {\r
     unused(ecc_result);\r
     uint32_t ret;\r
index 3d66b49..3f01dd3 100644 (file)
@@ -1434,6 +1434,51 @@ errcode_t gap_ble_remove_pair(const bd_addr_t *addr);
  */
 errcode_t gap_ble_remove_all_pairs(void);
 
+/**
+ * @if Eng
+ * @brief Use this funtion to get the bonded state of a specific device.
+ * @par   Use this funtion to get the bonded state of a specific device.
+ * @attention NULL
+ * @param   [out]   addr   the list of paired devices address.
+ * @param   [inout] number as input parameter, the buffer size of user,
+                           as output parameter, the number of paired devices.
+ * @retval error code.
+ * @par Dependency:
+ * @li  bts_def.h
+ * @else
+ * @brief  获取本端设备的已绑定设备。
+ * @par    获取本端设备的已绑定设备。
+ * @attention 无
+ * @param   [out]   addr   绑定设备地址链表。
+ * @param   [inout] number 作为入参时为用户分配的内存大小,作为出参时为绑定设备数量。
+ * @retval 执行结果错误码。
+ * @par 依赖:
+ * @li  bts_def.h
+ * @endif
+ */
+errcode_t gap_ble_get_bonded_devices(bd_addr_t *addr, uint16_t *number);
+
+/**
+ * @if Eng
+ * @brief Use this funtion to remove all bond devices info from the paired list.
+ * @par   Use this funtion to remove all paired devices info from the paired list.
+ * @attention NULL
+ * @param  NULL
+ * @retval error code.
+ * @par Dependency:
+ * @li  bts_def.h
+ * @else
+ * @brief  删除所有BLE绑定设备信息。
+ * @par    删除所有BLE绑定设备信息。
+ * @attention 无
+ * @param  无
+ * @retval 执行结果错误码。
+ * @par 依赖:
+ * @li  bts_def.h
+ * @endif
+ */
+errcode_t gap_ble_remove_all_bond_devices(void);
+
 /**
  * @if Eng
  * @brief Use this funtion to update ble connect param.
index 58e9c45..814768b 100644 (file)
@@ -1,10 +1,10 @@
-<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="create style_name failed. @app_style.cpp(29),ERROR" ID="0xe11000ea" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="style_name set string value error @app_style.cpp(33),ERROR" ID="0xe110010a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="transform prop value must be set. @app_style.cpp(169),ERROR" ID="0xe110054a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="None style to parse. @app_style.cpp(187),ERROR" ID="0xe11005da" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="None style to parse. @app_style.cpp(193),ERROR" ID="0xe110060a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="malloc space error @app_style.cpp(265),ERROR" ID="0xe110084a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="convert style name to char failed, will be dropped @app_style.cpp(295),ERROR" ID="0xe110093a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="style name length is 0 or max, will be dropped @app_style.cpp(300),ERROR" ID="0xe1100962" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="create style error @app_style.cpp(308),ERROR" ID="0xe11009a2" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="create style_name failed. @app_style.cpp(29),ERROR" ID="0xe11400ea" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="style_name set string value error @app_style.cpp(33),ERROR" ID="0xe114010a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="transform prop value must be set. @app_style.cpp(169),ERROR" ID="0xe114054a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="None style to parse. @app_style.cpp(187),ERROR" ID="0xe11405da" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="None style to parse. @app_style.cpp(193),ERROR" ID="0xe114060a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="malloc space error @app_style.cpp(265),ERROR" ID="0xe114084a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="convert style name to char failed, will be dropped @app_style.cpp(295),ERROR" ID="0xe114093a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="style name length is 0 or max, will be dropped @app_style.cpp(300),ERROR" ID="0xe1140962" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="create style error @app_style.cpp(308),ERROR" ID="0xe11409a2" />
                        </MSG_LOG>
\ No newline at end of file
index 26b47e8..616ce6d 100644 (file)
@@ -1,9 +1,9 @@
-<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="create style item string failed. @app_style_item.cpp(58),ERROR" ID="0xe11201d2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="app_style set string value error @app_style_item.cpp(62),ERROR" ID="0xe11201f2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="style item transform num to string fail @app_style_item.cpp(77),ERROR" ID="0xe112026a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="convert style prop name to char failed, will be dropped @app_style_item.cpp(90),ERROR" ID="0xe11202d2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="style prop name length is 0, will be dropped @app_style_item.cpp(95),ERROR" ID="0xe11202fa" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="new styleItem error @app_style_item.cpp(114),ERROR" ID="0xe1120392" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="convert style value to char failed, will be dropped @app_style_item.cpp(135),ERROR" ID="0xe112043a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="new styleItem error @app_style_item.cpp(161),ERROR" ID="0xe112050a" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="create style item string failed. @app_style_item.cpp(58),ERROR" ID="0xe11601d2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="app_style set string value error @app_style_item.cpp(62),ERROR" ID="0xe11601f2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="style item transform num to string fail @app_style_item.cpp(77),ERROR" ID="0xe116026a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="convert style prop name to char failed, will be dropped @app_style_item.cpp(90),ERROR" ID="0xe11602d2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="style prop name length is 0, will be dropped @app_style_item.cpp(95),ERROR" ID="0xe11602fa" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="new styleItem error @app_style_item.cpp(114),ERROR" ID="0xe1160392" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="convert style value to char failed, will be dropped @app_style_item.cpp(135),ERROR" ID="0xe116043a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="new styleItem error @app_style_item.cpp(161),ERROR" ID="0xe116050a" />
                        </MSG_LOG>
\ No newline at end of file
index 5d33c0c..f56cf39 100644 (file)
@@ -1,5 +1,5 @@
-<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="malloc flags data buffer failed @app_style_manager.cpp(62),ERROR" ID="0xe11601f2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="convert id value to char failed, will be dropped @app_style_manager.cpp(227),ERROR" ID="0xe116071a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="not supported yet @app_style_manager.cpp(243),WARNING" ID="0xe116079b" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="invalid prop count @app_style_manager.cpp(283),ERROR" ID="0xe11608da" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="malloc flags data buffer failed @app_style_manager.cpp(62),ERROR" ID="0xe11a01f2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="convert id value to char failed, will be dropped @app_style_manager.cpp(227),ERROR" ID="0xe11a071a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="not supported yet @app_style_manager.cpp(243),WARNING" ID="0xe11a079b" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="invalid prop count @app_style_manager.cpp(283),ERROR" ID="0xe11a08da" />
                        </MSG_LOG>
\ No newline at end of file
index 116c253..17432c1 100644 (file)
@@ -11,8 +11,8 @@
                        <MSG STRUCTURE="diag_log_msg1" NAME="stream_hdl: %08x @bt_audio_hal.c(142),INFO" ID="0xd8000475" />
                        <MSG STRUCTURE="diag_log_msg2" NAME="stream_hdl: %08x ret: %08x @bt_audio_hal.c(155),INFO" ID="0xd80004dd" />
                        <MSG STRUCTURE="diag_log_msg1" NAME="stream not exist. stream_hdl: %08x @bt_audio_hal.c(157),ERROR" ID="0xd80004ea" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="a2dp src get invalid dev hdl @bt_audio_hal.c(187),ERROR" ID="0xd80005da" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="a2dp snk get invalid dev hdl @bt_audio_hal.c(190),ERROR" ID="0xd80005f2" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="stream is not a2dp src. stream_hdl: %08x @bt_audio_hal.c(187),ERROR" ID="0xd80005da" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="stream is not a2dp snk. stream_hdl: %08x @bt_audio_hal.c(190),ERROR" ID="0xd80005f2" />
                        <MSG STRUCTURE="diag_log_msg4" NAME="dev_hdl: %08x stream_hdl: %08x enable %x shm_id: %08x @bt_audio_hal.c(194),INFO" ID="0xd8000615" />
                        <MSG STRUCTURE="diag_log_msg4" NAME="dev_hdl: %08x stream_hdl: %08x shm_id: %08x ret: %08x @bt_audio_hal.c(197),INFO" ID="0xd800062d" />
                        <MSG STRUCTURE="diag_log_msg3" NAME="stream_hdl: %08x port_type: %d shm_id: %08x @bt_audio_hal.c(209),INFO" ID="0xd800068d" />
index 3c3875a..74c0678 100644 (file)
@@ -5,21 +5,23 @@
                        <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] data_config write err. @bt_database.c(95),INFO" ID="0xd88002fd" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] config sync data memcpy err. @bt_database.c(99),ERROR" ID="0xd880031a" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="bt acore save smp key err! @bt_database.c(112),ERROR" ID="0xd8800382" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="bt acore save smp key err! @bt_database.c(135),ERROR" ID="0xd880043a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="bt_acore_set_product_type err! @bt_database.c(148),ERROR" ID="0xd88004a2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="bt acore set sys config err! @bt_database.c(161),ERROR" ID="0xd880050a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="bt acore set product type err! @bt_database.c(171),ERROR" ID="0xd880055a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="bt acore get smp keys param err! @bt_database.c(182),ERROR" ID="0xd88005b2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="bt acore get smp keys read data err! @bt_database.c(191),ERROR" ID="0xd88005fa" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="bt acore get smp keys memcpy err! @bt_database.c(201),ERROR" ID="0xd880064a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="bt acore get product type read data err! @bt_database.c(213),ERROR" ID="0xd88006aa" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="bt acore get system config read data err! @bt_database.c(222),ERROR" ID="0xd88006f2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="bt acore get calibration data read data err! @bt_database.c(230),ERROR" ID="0xd8800732" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="bt acore delete smp key read data err! @bt_database.c(242),ERROR" ID="0xd8800792" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="bt acore delete smp key write data err! @bt_database.c(248),ERROR" ID="0xd88007c2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="bt acore delete smp key memcpy err! @bt_database.c(260),ERROR" ID="0xd8800822" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="bt acore get bonded device err! @bt_database.c(270),ERROR" ID="0xd8800872" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="bt acore delete smp key read data err! @bt_database.c(282),ERROR" ID="0xd88008d2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="bt acore delete smp key memcpy err! @bt_database.c(292),ERROR" ID="0xd8800922" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="bt acore delete smp key write data err! @bt_database.c(299),ERROR" ID="0xd880095a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="bt acore save smp key err! @bt_database.c(142),ERROR" ID="0xd8800472" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="bt_acore_set_product_type err! @bt_database.c(155),ERROR" ID="0xd88004da" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="bt acore set sys config err! @bt_database.c(168),ERROR" ID="0xd8800542" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="bt acore set product type err! @bt_database.c(178),ERROR" ID="0xd8800592" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="bt acore get smp keys param err! @bt_database.c(189),ERROR" ID="0xd88005ea" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="bt acore get smp keys read data err! @bt_database.c(198),ERROR" ID="0xd8800632" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="bt acore get smp keys memcpy err! @bt_database.c(208),ERROR" ID="0xd8800682" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="bt acore get product type read data err! @bt_database.c(220),ERROR" ID="0xd88006e2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="bt acore get system config read data err! @bt_database.c(229),ERROR" ID="0xd880072a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="bt acore get calibration data read data err! @bt_database.c(237),ERROR" ID="0xd880076a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="bt_acore_delete_smp_key malloc ble_key filed @bt_database.c(248),INFO" ID="0xd88007c5" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="bt_acore_delete_smp_key malloc invaild_info filed @bt_database.c(255),INFO" ID="0xd88007fd" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="bt acore delete smp key read data err! @bt_database.c(267),ERROR" ID="0xd880085a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="bt acore delete smp key write data err! @bt_database.c(273),ERROR" ID="0xd880088a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="bt acore delete smp key memcpy err! @bt_database.c(287),ERROR" ID="0xd88008fa" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="bt acore get bonded device memcpy err! @bt_database.c(311),ERROR" ID="0xd88009ba" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="bt acore delete smp key read data err! @bt_database.c(328),ERROR" ID="0xd8800a42" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="bt acore delete smp key memcpy err! @bt_database.c(338),ERROR" ID="0xd8800a92" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="bt acore delete smp key write data err! @bt_database.c(345),ERROR" ID="0xd8800aca" />
                        </MSG_LOG>
\ No newline at end of file
index be14d17..543fb98 100644 (file)
                        <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] malloc add descriptor param fail @btsrv_gatt_server.c(847),ERROR" ID="0xd81a1a7a" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] data memcpy fail @btsrv_gatt_server.c(854),ERROR" ID="0xd81a1ab2" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] short uuid memcpy fail @btsrv_gatt_server.c(867),ERROR" ID="0xd81a1b1a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] malloc add service param fail @btsrv_gatt_server.c(914),ERROR" ID="0xd81a1c92" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] long uuid memcpy fail @btsrv_gatt_server.c(926),ERROR" ID="0xd81a1cf2" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[btsrv][INFO] gatts not found on handle:%x @btsrv_gatt_server.c(961),ERROR" ID="0xd81a1e0a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gatts change event param is NULL @btsrv_gatt_server.c(996),ERROR" ID="0xd81a1f22" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gatts change event conn_node is NULL @btsrv_gatt_server.c(1001),ERROR" ID="0xd81a1f4a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gatts read req event conn_node is NULL @btsrv_gatt_server.c(1030),ERROR" ID="0xd81a2032" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] write req value memcpy fail @btsrv_gatt_server.c(1058),ERROR" ID="0xd81a2112" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gatts write req event conn_node is NULL @btsrv_gatt_server.c(1064),ERROR" ID="0xd81a2142" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][INFO] GATT server has already been initialized. @btsrv_gatt_server.c(1079),INFO" ID="0xd81a21bd" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][INFO] GATT server has not been initialized. @btsrv_gatt_server.c(1088),INFO" ID="0xd81a2205" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[btsrv][ERROR] service_node num reached maximum: %d @btsrv_gatt_server.c(1100),ERROR" ID="0xd81a2262" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] service_uuid already exists @btsrv_gatt_server.c(1105),ERROR" ID="0xd81a228a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] malloc service_node fail @btsrv_gatt_server.c(1110),ERROR" ID="0xd81a22b2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] service_node uuid memcpy fail @btsrv_gatt_server.c(1120),ERROR" ID="0xd81a2302" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] character memnew fail @btsrv_gatt_server.c(1134),ERROR" ID="0xd81a2372" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] character_node uuid memcpy fail @btsrv_gatt_server.c(1144),ERROR" ID="0xd81a23c2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] character val memnew fail @btsrv_gatt_server.c(1152),ERROR" ID="0xd81a2402" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] character_node uuid memcpy fail @btsrv_gatt_server.c(1157),ERROR" ID="0xd81a242a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] descriptor memnew fail @btsrv_gatt_server.c(1173),ERROR" ID="0xd81a24aa" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] descriptor uuid memcpy fail @btsrv_gatt_server.c(1182),ERROR" ID="0xd81a24f2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] descriptor val memnew fail @btsrv_gatt_server.c(1190),ERROR" ID="0xd81a2532" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] descriptor val memcpy fail @btsrv_gatt_server.c(1196),ERROR" ID="0xd81a2562" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] failed to register bcore callback. @btsrv_gatt_server.c(1221),ERROR" ID="0xd81a262a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1230),ERROR" ID="0xd81a2672" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] failed to register a server. @btsrv_gatt_server.c(1235),ERROR" ID="0xd81a269a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] failed to add server node. @btsrv_gatt_server.c(1240),ERROR" ID="0xd81a26c2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1252),ERROR" ID="0xd81a2722" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid server_id. @btsrv_gatt_server.c(1257),ERROR" ID="0xd81a274a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[btsrv][INFO] unregister server %d success. @btsrv_gatt_server.c(1264),INFO" ID="0xd81a2785" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1275),ERROR" ID="0xd81a27da" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1281),ERROR" ID="0xd81a280a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] failed to add service node. @btsrv_gatt_server.c(1286),ERROR" ID="0xd81a2832" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] send msg fail @btsrv_gatt_server.c(1293),ERROR" ID="0xd81a286a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1305),ERROR" ID="0xd81a28ca" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1310),ERROR" ID="0xd81a28f2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] failed to add service node. @btsrv_gatt_server.c(1315),ERROR" ID="0xd81a291a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1329),ERROR" ID="0xd81a298a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1334),ERROR" ID="0xd81a29b2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] failed to add character node. @btsrv_gatt_server.c(1339),ERROR" ID="0xd81a29da" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] send msg fail @btsrv_gatt_server.c(1347),ERROR" ID="0xd81a2a1a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1360),ERROR" ID="0xd81a2a82" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1365),ERROR" ID="0xd81a2aaa" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1370),ERROR" ID="0xd81a2ad2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] failed to add character node. @btsrv_gatt_server.c(1375),ERROR" ID="0xd81a2afa" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1388),ERROR" ID="0xd81a2b62" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1393),ERROR" ID="0xd81a2b8a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] failed to add descriptor node. @btsrv_gatt_server.c(1398),ERROR" ID="0xd81a2bb2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] send msg fail @btsrv_gatt_server.c(1406),ERROR" ID="0xd81a2bf2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1420),ERROR" ID="0xd81a2c62" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1425),ERROR" ID="0xd81a2c8a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1430),ERROR" ID="0xd81a2cb2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] failed to add descriptor node. @btsrv_gatt_server.c(1435),ERROR" ID="0xd81a2cda" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1448),ERROR" ID="0xd81a2d42" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1454),ERROR" ID="0xd81a2d72" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="[btsrv][ERROR] invalid service service already started, server id %d hdl %d @btsrv_gatt_server.c(1460),ERROR" ID="0xd81a2da2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] malloc start_service fail @btsrv_gatt_server.c(1466),ERROR" ID="0xd81a2dd2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gatts send response addr memcpy fail @btsrv_gatt_server.c(1471),ERROR" ID="0xd81a2dfa" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1493),ERROR" ID="0xd81a2eaa" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] server_id not exist @btsrv_gatt_server.c(1498),ERROR" ID="0xd81a2ed2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid service handle, or service not active yet. @btsrv_gatt_server.c(1504),ERROR" ID="0xd81a2f02" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] long uuid memcpy fail @btsrv_gatt_server.c(1514),ERROR" ID="0xd81a2f52" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] send msg fail @btsrv_gatt_server.c(1522),ERROR" ID="0xd81a2f92" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1534),ERROR" ID="0xd81a2ff2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] server_id not exist @btsrv_gatt_server.c(1539),ERROR" ID="0xd81a301a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[btsrv][ERROR] service handle(%d) not exists, or service is still active (need to stop first). @btsrv_gatt_server.c(1545),ERROR" ID="0xd81a304a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] send msg fail @btsrv_gatt_server.c(1553),ERROR" ID="0xd81a308a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1563),ERROR" ID="0xd81a30da" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1573),ERROR" ID="0xd81a312a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1584),ERROR" ID="0xd81a3182" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gatts send response param new fail @btsrv_gatt_server.c(1590),ERROR" ID="0xd81a31b2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gatts send response addr memcpy fail @btsrv_gatt_server.c(1599),ERROR" ID="0xd81a31fa" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gatts send response data memcpy fail @btsrv_gatt_server.c(1606),ERROR" ID="0xd81a3232" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1623),ERROR" ID="0xd81a32ba" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1628),ERROR" ID="0xd81a32e2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] malloc send notification param fail @btsrv_gatt_server.c(1637),ERROR" ID="0xd81a332a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] data memcpy fail @btsrv_gatt_server.c(1645),ERROR" ID="0xd81a336a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1662),ERROR" ID="0xd81a33f2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1667),ERROR" ID="0xd81a341a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] param new fail @btsrv_gatt_server.c(1675),ERROR" ID="0xd81a345a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] sen ntf/ind by uuid memcpy fail @btsrv_gatt_server.c(1685),ERROR" ID="0xd81a34aa" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] sen ntf/ind by uuid memcpy fail @btsrv_gatt_server.c(1694),ERROR" ID="0xd81a34f2" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="set mtu out of bounds use dft_val:23 set_val:%d. @btsrv_gatt_server.c(1710),WARNING" ID="0xd81a3573" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gatt server callback memcpy fail @btsrv_gatt_server.c(1723),ERROR" ID="0xd81a35da" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][INFO] add character chara is null @btsrv_gatt_server.c(896),INFO" ID="0xd81a1c05" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] malloc add service param fail @btsrv_gatt_server.c(918),ERROR" ID="0xd81a1cb2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] long uuid memcpy fail @btsrv_gatt_server.c(930),ERROR" ID="0xd81a1d12" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[btsrv][INFO] gatts not found on handle:%x @btsrv_gatt_server.c(965),ERROR" ID="0xd81a1e2a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gatts change event param is NULL @btsrv_gatt_server.c(1000),ERROR" ID="0xd81a1f42" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gatts change event conn_node is NULL @btsrv_gatt_server.c(1005),ERROR" ID="0xd81a1f6a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gatts read req event conn_node is NULL @btsrv_gatt_server.c(1034),ERROR" ID="0xd81a2052" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] write req value memcpy fail @btsrv_gatt_server.c(1062),ERROR" ID="0xd81a2132" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gatts write req event conn_node is NULL @btsrv_gatt_server.c(1068),ERROR" ID="0xd81a2162" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][INFO] GATT server has already been initialized. @btsrv_gatt_server.c(1083),INFO" ID="0xd81a21dd" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][INFO] GATT server has not been initialized. @btsrv_gatt_server.c(1092),INFO" ID="0xd81a2225" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[btsrv][ERROR] service_node num reached maximum: %d @btsrv_gatt_server.c(1104),ERROR" ID="0xd81a2282" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] service_uuid already exists @btsrv_gatt_server.c(1109),ERROR" ID="0xd81a22aa" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] malloc service_node fail @btsrv_gatt_server.c(1114),ERROR" ID="0xd81a22d2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] service_node uuid memcpy fail @btsrv_gatt_server.c(1124),ERROR" ID="0xd81a2322" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] character memnew fail @btsrv_gatt_server.c(1138),ERROR" ID="0xd81a2392" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] character_node uuid memcpy fail @btsrv_gatt_server.c(1148),ERROR" ID="0xd81a23e2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] character val memnew fail @btsrv_gatt_server.c(1156),ERROR" ID="0xd81a2422" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] character_node uuid memcpy fail @btsrv_gatt_server.c(1161),ERROR" ID="0xd81a244a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] character node not exist @btsrv_gatt_server.c(1176),ERROR" ID="0xd81a24c2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] descriptor memnew fail @btsrv_gatt_server.c(1181),ERROR" ID="0xd81a24ea" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] descriptor uuid memcpy fail @btsrv_gatt_server.c(1190),ERROR" ID="0xd81a2532" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] descriptor val memnew fail @btsrv_gatt_server.c(1198),ERROR" ID="0xd81a2572" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] descriptor val memcpy fail @btsrv_gatt_server.c(1204),ERROR" ID="0xd81a25a2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] failed to register bcore callback. @btsrv_gatt_server.c(1229),ERROR" ID="0xd81a266a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1238),ERROR" ID="0xd81a26b2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] failed to register a server. @btsrv_gatt_server.c(1243),ERROR" ID="0xd81a26da" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] failed to add server node. @btsrv_gatt_server.c(1248),ERROR" ID="0xd81a2702" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1260),ERROR" ID="0xd81a2762" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid server_id. @btsrv_gatt_server.c(1265),ERROR" ID="0xd81a278a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[btsrv][INFO] unregister server %d success. @btsrv_gatt_server.c(1272),INFO" ID="0xd81a27c5" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1283),ERROR" ID="0xd81a281a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1289),ERROR" ID="0xd81a284a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] failed to add service node. @btsrv_gatt_server.c(1294),ERROR" ID="0xd81a2872" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] send msg fail @btsrv_gatt_server.c(1301),ERROR" ID="0xd81a28aa" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1313),ERROR" ID="0xd81a290a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1318),ERROR" ID="0xd81a2932" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] failed to add service node. @btsrv_gatt_server.c(1323),ERROR" ID="0xd81a295a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1337),ERROR" ID="0xd81a29ca" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1342),ERROR" ID="0xd81a29f2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] failed to add character node. @btsrv_gatt_server.c(1347),ERROR" ID="0xd81a2a1a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] send msg fail @btsrv_gatt_server.c(1355),ERROR" ID="0xd81a2a5a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1368),ERROR" ID="0xd81a2ac2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1373),ERROR" ID="0xd81a2aea" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1378),ERROR" ID="0xd81a2b12" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] failed to add character node. @btsrv_gatt_server.c(1383),ERROR" ID="0xd81a2b3a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1396),ERROR" ID="0xd81a2ba2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1401),ERROR" ID="0xd81a2bca" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] failed to add descriptor node. @btsrv_gatt_server.c(1406),ERROR" ID="0xd81a2bf2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] send msg fail @btsrv_gatt_server.c(1414),ERROR" ID="0xd81a2c32" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1428),ERROR" ID="0xd81a2ca2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1433),ERROR" ID="0xd81a2cca" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1438),ERROR" ID="0xd81a2cf2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] failed to add descriptor node. @btsrv_gatt_server.c(1443),ERROR" ID="0xd81a2d1a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1456),ERROR" ID="0xd81a2d82" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1462),ERROR" ID="0xd81a2db2" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="[btsrv][ERROR] invalid service service already started, server id %d hdl %d @btsrv_gatt_server.c(1468),ERROR" ID="0xd81a2de2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] malloc start_service fail @btsrv_gatt_server.c(1474),ERROR" ID="0xd81a2e12" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gatts send response addr memcpy fail @btsrv_gatt_server.c(1479),ERROR" ID="0xd81a2e3a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1501),ERROR" ID="0xd81a2eea" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] server_id not exist @btsrv_gatt_server.c(1506),ERROR" ID="0xd81a2f12" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid service handle, or service not active yet. @btsrv_gatt_server.c(1512),ERROR" ID="0xd81a2f42" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] long uuid memcpy fail @btsrv_gatt_server.c(1522),ERROR" ID="0xd81a2f92" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] send msg fail @btsrv_gatt_server.c(1530),ERROR" ID="0xd81a2fd2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1542),ERROR" ID="0xd81a3032" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] server_id not exist @btsrv_gatt_server.c(1547),ERROR" ID="0xd81a305a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[btsrv][ERROR] service handle(%d) not exists, or service is still active (need to stop first). @btsrv_gatt_server.c(1553),ERROR" ID="0xd81a308a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] send msg fail @btsrv_gatt_server.c(1561),ERROR" ID="0xd81a30ca" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1571),ERROR" ID="0xd81a311a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1581),ERROR" ID="0xd81a316a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1592),ERROR" ID="0xd81a31c2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gatts send response param new fail @btsrv_gatt_server.c(1598),ERROR" ID="0xd81a31f2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gatts send response addr memcpy fail @btsrv_gatt_server.c(1607),ERROR" ID="0xd81a323a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gatts send response data memcpy fail @btsrv_gatt_server.c(1614),ERROR" ID="0xd81a3272" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1631),ERROR" ID="0xd81a32fa" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1636),ERROR" ID="0xd81a3322" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] malloc send notification param fail @btsrv_gatt_server.c(1645),ERROR" ID="0xd81a336a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] data memcpy fail @btsrv_gatt_server.c(1653),ERROR" ID="0xd81a33aa" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[Error] enable ble first! @btsrv_gatt_server.c(1670),ERROR" ID="0xd81a3432" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] invalid param @btsrv_gatt_server.c(1675),ERROR" ID="0xd81a345a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] param new fail @btsrv_gatt_server.c(1683),ERROR" ID="0xd81a349a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] sen ntf/ind by uuid memcpy fail @btsrv_gatt_server.c(1693),ERROR" ID="0xd81a34ea" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] sen ntf/ind by uuid memcpy fail @btsrv_gatt_server.c(1702),ERROR" ID="0xd81a3532" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="set mtu out of bounds use dft_val:23 set_val:%d. @btsrv_gatt_server.c(1718),WARNING" ID="0xd81a35b3" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gatt server callback memcpy fail @btsrv_gatt_server.c(1731),ERROR" ID="0xd81a361a" />
                        </MSG_LOG>
\ No newline at end of file
index 41d0266..8304919 100644 (file)
                        <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @connection_manager.c(556),ERROR" ID="0xd8061162" />
                        <MSG STRUCTURE="diag_log_msg1" NAME="send msg fail. %x @connection_manager.c(562),ERROR" ID="0xd8061192" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="connect exist conn_node @connection_manager.c(578),INFO" ID="0xd8061215" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="exist same type conn_node, disconnect. @connection_manager.c(584),INFO" ID="0xd8061245" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="find remote node fail @connection_manager.c(592),WARNING" ID="0xd8061283" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="add conn info error! @connection_manager.c(599),ERROR" ID="0xd80612ba" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="create acl ret = %08x @connection_manager.c(611),WARNING" ID="0xd806131b" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="acl is connected @connection_manager.c(619),INFO" ID="0xd806135d" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="dev_hdl: %08x @connection_manager.c(628),INFO" ID="0xd80613a5" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="not exist conn node. @connection_manager.c(631),INFO" ID="0xd80613bd" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="is phone=0x%x @connection_manager.c(634),INFO" ID="0xd80613d5" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="status error dev_hdl: %x status: %d @connection_manager.c(637),WARNING" ID="0xd80613eb" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="btsdk_disconnect_acl_by_handle ret: %x @connection_manager.c(677),INFO" ID="0xd806152d" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="send msg connecting @connection_manager.c(709),INFO" ID="0xd806162d" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="malloc fail @connection_manager.c(713),ERROR" ID="0xd806164a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @connection_manager.c(717),ERROR" ID="0xd806166a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="send msg fail. %x @connection_manager.c(723),ERROR" ID="0xd806169a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="send msg connecting success! @connection_manager.c(726),INFO" ID="0xd80616b5" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="stop timer @connection_manager.c(731),INFO" ID="0xd80616dd" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="stop timer success! @connection_manager.c(739),INFO" ID="0xd806171d" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="start timer @connection_manager.c(744),INFO" ID="0xd8061745" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @connection_manager.c(754),ERROR" ID="0xd8061792" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="create timer error! ret: %x @connection_manager.c(759),ERROR" ID="0xd80617ba" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="start timer error! ret: %x @connection_manager.c(765),ERROR" ID="0xd80617ea" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="start timer success! try to reconnect %d times interval %dms @connection_manager.c(770),INFO" ID="0xd8061815" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="dev_hdl: %08x reason: %08x @connection_manager.c(807),INFO" ID="0xd806193d" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="no conn record dev_hdl: %08x @connection_manager.c(816),WARNING" ID="0xd8061983" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="rmt device class=0x%x is phone: 0x%x @connection_manager.c(826),INFO" ID="0xd80619d5" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="get addr fail @connection_manager.c(839),WARNING" ID="0xd8061a3b" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="get remote dev addr failed. dev_hdl: %x @connection_manager.c(853),WARNING" ID="0xd8061aab" />
-                       <MSG STRUCTURE="diag_log_msg6" NAME="addr: ****%02x%02x%02x%02x dev_hdl: %08x gap_remove_pair ret(bool): %d @connection_manager.c(862),INFO" ID="0xd8061af5" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="error dev_hdl: %x pair_ret: %x disconn_ret: %x @connection_manager.c(871),WARNING" ID="0xd8061b3b" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="dev_hdl: %08x @connection_manager.c(878),INFO" ID="0xd8061b75" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="conn node is null dev_hdl: %x @connection_manager.c(882),INFO" ID="0xd8061b95" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="status error dev_hdl: %x status: %d @connection_manager.c(888),INFO" ID="0xd8061bc5" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="dev_hdl: %08x @connection_manager.c(902),INFO" ID="0xd8061c35" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="get addr fail @connection_manager.c(910),WARNING" ID="0xd8061c73" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="rmt device is phone @connection_manager.c(917),INFO" ID="0xd8061cad" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="rmt device is not phone @connection_manager.c(920),INFO" ID="0xd8061cc5" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="node not exist @connection_manager.c(931),INFO" ID="0xd8061d1d" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="success @connection_manager.c(939),INFO" ID="0xd8061d5d" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="add remote list error! @connection_manager.c(993),WARNING" ID="0xd8061f0b" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="descovery result @connection_manager.c(1019),INFO" ID="0xd8061fdd" />
-                       <MSG STRUCTURE="diag_log_msg5" NAME="found device addr: ****%02x%02x%02x%02x name: %s @connection_manager.c(1028),INFO" ID="0xd8062025" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="gap_get_device_name failed @connection_manager.c(1030),INFO" ID="0xd8062035" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="get device name fail @connection_manager.c(1055),WARNING" ID="0xd80620fb" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="unhandled msg id: %d @connection_manager.c(1124),WARNING" ID="0xd8062323" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="set discovery status to stop @connection_manager.c(1142),INFO" ID="0xd80623b5" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="unhandled msg id: %d @connection_manager.c(1213),WARNING" ID="0xd80625eb" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="show conn list: @connection_manager.c(1234),INFO" ID="0xd8062695" />
-                       <MSG STRUCTURE="diag_log_msg7" NAME="| %-4s | %-32s | %-12s | %-16s | %-16s | %-8s | %-8s | @connection_manager.c(1236),INFO" ID="0xd80626a5" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="remote is null @connection_manager.c(1244),ERROR" ID="0xd80626e2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="addr memcpy_s fail @connection_manager.c(1247),ERROR" ID="0xd80626fa" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="name memcpy_s fail @connection_manager.c(1250),ERROR" ID="0xd8062712" />
-                       <MSG STRUCTURE="diag_log_msg10" NAME="| %-4d | %-32s | ****%02x%02x%02x%02x | %-16d | %-16d | %-8d | %-8d | @connection_manager.c(1255),INFO" ID="0xd806273d" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="show conn list end! @connection_manager.c(1260),INFO" ID="0xd8062765" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="show ble conn list: @connection_manager.c(1268),INFO" ID="0xd80627a5" />
-                       <MSG STRUCTURE="diag_log_msg9" NAME="| %-4s | %-12s | %-10s | %-8s | %-12s | %-12s | %-12s | %-12s  | %-48s | @connection_manager.c(1273),INFO" ID="0xd80627cd" />
-                       <MSG STRUCTURE="diag_log_msg11" NAME="| %-4d | %02x******%02x%02x | %-10d | %-8d | %-12d | %-12d | %-12d | %-12d | %-48s | @connection_manager.c(1286),INFO" ID="0xd8062835" />
-                       <MSG STRUCTURE="diag_log_msg8" NAME="| %-4s | %-12s | %-10s | %-8s | %-12s | %-12s | %-12s | %-12s  | @connection_manager.c(1293),INFO" ID="0xd806286d" />
-                       <MSG STRUCTURE="diag_log_msg10" NAME="| %-4d | %02x******%02x%02x | %-10d | %-8d | %-12d | %-12d | %-12d | %-12d | @connection_manager.c(1299),INFO" ID="0xd806289d" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="show ble conn list end! @connection_manager.c(1306),INFO" ID="0xd80628d5" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="show link mode: @connection_manager.c(1318),INFO" ID="0xd8062935" />
-                       <MSG STRUCTURE="diag_log_msg4" NAME="| %-4s | %-32s | %-12s | %-16s | @connection_manager.c(1320),INFO" ID="0xd8062945" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="remote is null @connection_manager.c(1329),ERROR" ID="0xd806298a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="addr memcpy_s fail @connection_manager.c(1332),ERROR" ID="0xd80629a2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="name memcpy_s fail @connection_manager.c(1335),ERROR" ID="0xd80629ba" />
-                       <MSG STRUCTURE="diag_log_msg7" NAME="| %-4d | %-32s | ****%02x%02x%02x%02x | %-16s | @connection_manager.c(1343),INFO" ID="0xd80629fd" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="show link mode end! @connection_manager.c(1348),INFO" ID="0xd8062a25" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="set scan mode old=%d new=%d @connection_manager.c(1410),INFO" ID="0xd8062c15" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="btsdk_set_discovery_mode ret: %x @connection_manager.c(1421),INFO" ID="0xd8062c6d" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="btsdk_set_discovery_mode mode: %x ret: %x @connection_manager.c(1432),INFO" ID="0xd8062cc5" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="already in discovery @connection_manager.c(1454),INFO" ID="0xd8062d75" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="bt is not enabled @connection_manager.c(1467),WARNING" ID="0xd8062ddb" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="discovery already stopped @connection_manager.c(1472),WARNING" ID="0xd8062e03" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="btsdk_stop_device_discovery ret=0x%x @connection_manager.c(1477),INFO" ID="0xd8062e2d" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="discovery stopped @connection_manager.c(1480),INFO" ID="0xd8062e45" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="not start bt @connection_manager.c(1506),INFO" ID="0xd8062f15" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="param id null @connection_manager.c(1510),INFO" ID="0xd8062f35" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="exist connect audio device @connection_manager.c(1516),INFO" ID="0xd8062f65" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="gap_br_cancel_discovery fail @connection_manager.c(1521),INFO" ID="0xd8062f8d" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="btsdk_disconnect_acl_by_handle ret: %x @connection_manager.c(1557),INFO" ID="0xd80630ad" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gatt client add conn node memcpy fail. @connection_manager.c(1624),ERROR" ID="0xd80632c2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="btsrv connect state change cbk arg NULL! @connection_manager.c(1638),ERROR" ID="0xd8063332" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="connect state update memcpy fail. @connection_manager.c(1643),ERROR" ID="0xd806335a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="connect node is null. @connection_manager.c(1659),ERROR" ID="0xd80633da" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="ble smp paired keys cbk param error @connection_manager.c(1678),ERROR" ID="0xd8063472" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="paired keys malloc fail. @connection_manager.c(1684),ERROR" ID="0xd80634a2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="paired keys malloc fail. @connection_manager.c(1689),ERROR" ID="0xd80634ca" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="pair keys notify, keys addr memcpy fail. @connection_manager.c(1694),ERROR" ID="0xd80634f2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="pair keys notify, keys memcpy fail. @connection_manager.c(1701),ERROR" ID="0xd806352a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="ble smp paired complete cbk param error @connection_manager.c(1718),ERROR" ID="0xd80635b2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="connect param update incomes arg is NULL! @connection_manager.c(1729),ERROR" ID="0xd806360a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="connect param update, conn_node not found. @connection_manager.c(1736),ERROR" ID="0xd8063642" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="connect param update,connect_params NULL. @connection_manager.c(1742),ERROR" ID="0xd8063672" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="connect param update, addr memcpy fail. @connection_manager.c(1748),ERROR" ID="0xd80636a2" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="connect param update done ret:%d. @connection_manager.c(1757),INFO" ID="0xd80636ed" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="gap_ble_connect_remote_device not start bt @connection_manager.c(1766),INFO" ID="0xd8063735" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="gap_ble_connect_remote_device param id null @connection_manager.c(1770),INFO" ID="0xd8063755" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][INFO] addr memcpy to param fail. @connection_manager.c(1776),INFO" ID="0xd8063785" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv]addr memcpy fail. @connection_manager.c(1794),INFO" ID="0xd8063815" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="addr memcpy_s fail @connection_manager.c(1812),ERROR" ID="0xd80638a2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="read remote device rssi, conn_node not found. @connection_manager.c(1833),ERROR" ID="0xd806394a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="read remote device rssi fail @connection_manager.c(1838),ERROR" ID="0xd8063972" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="conn_node not found. @connection_manager.c(1854),ERROR" ID="0xd80639f2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="auto reconnect is enabled, close it first. @connection_manager.c(1877),ERROR" ID="0xd8063aaa" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="malloc fail @connection_manager.c(1882),ERROR" ID="0xd8063ad2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @connection_manager.c(1886),ERROR" ID="0xd8063af2" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="send msg fail. %x @connection_manager.c(1893),ERROR" ID="0xd8063b2a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="send msg connecting success! @connection_manager.c(1897),INFO" ID="0xd8063b4d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="exist same type conn_node, disconnect. @connection_manager.c(583),INFO" ID="0xd806123d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="find remote node fail @connection_manager.c(591),WARNING" ID="0xd806127b" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="add conn info error! @connection_manager.c(598),ERROR" ID="0xd80612b2" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="create acl ret = %08x @connection_manager.c(610),WARNING" ID="0xd8061313" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="acl is connected @connection_manager.c(618),INFO" ID="0xd8061355" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="dev_hdl: %08x @connection_manager.c(627),INFO" ID="0xd806139d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="not exist conn node. @connection_manager.c(630),INFO" ID="0xd80613b5" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="is phone=0x%x @connection_manager.c(633),INFO" ID="0xd80613cd" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="status error dev_hdl: %x status: %d @connection_manager.c(636),WARNING" ID="0xd80613e3" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="btsdk_disconnect_acl_by_handle ret: %x @connection_manager.c(676),INFO" ID="0xd8061525" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="send msg connecting @connection_manager.c(708),INFO" ID="0xd8061625" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="malloc fail @connection_manager.c(712),ERROR" ID="0xd8061642" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @connection_manager.c(716),ERROR" ID="0xd8061662" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="send msg fail. %x @connection_manager.c(722),ERROR" ID="0xd8061692" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="send msg connecting success! @connection_manager.c(725),INFO" ID="0xd80616ad" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="stop timer @connection_manager.c(730),INFO" ID="0xd80616d5" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="stop timer success! @connection_manager.c(738),INFO" ID="0xd8061715" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="start timer @connection_manager.c(743),INFO" ID="0xd806173d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @connection_manager.c(753),ERROR" ID="0xd806178a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="create timer error! ret: %x @connection_manager.c(758),ERROR" ID="0xd80617b2" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="start timer error! ret: %x @connection_manager.c(764),ERROR" ID="0xd80617e2" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="start timer success! try to reconnect %d times interval %dms @connection_manager.c(769),INFO" ID="0xd806180d" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="dev_hdl: %08x reason: %08x @connection_manager.c(806),INFO" ID="0xd8061935" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="no conn record dev_hdl: %08x @connection_manager.c(815),WARNING" ID="0xd806197b" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="rmt device class=0x%x is phone: 0x%x @connection_manager.c(825),INFO" ID="0xd80619cd" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="get addr fail @connection_manager.c(838),WARNING" ID="0xd8061a33" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="get remote dev addr failed. dev_hdl: %x @connection_manager.c(852),WARNING" ID="0xd8061aa3" />
+                       <MSG STRUCTURE="diag_log_msg6" NAME="addr: ****%02x%02x%02x%02x dev_hdl: %08x gap_remove_pair ret(bool): %d @connection_manager.c(861),INFO" ID="0xd8061aed" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="error dev_hdl: %x pair_ret: %x disconn_ret: %x @connection_manager.c(870),WARNING" ID="0xd8061b33" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="dev_hdl: %08x @connection_manager.c(877),INFO" ID="0xd8061b6d" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="conn node is null dev_hdl: %x @connection_manager.c(881),INFO" ID="0xd8061b8d" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="status error dev_hdl: %x status: %d @connection_manager.c(887),INFO" ID="0xd8061bbd" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="dev_hdl: %08x @connection_manager.c(901),INFO" ID="0xd8061c2d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="get addr fail @connection_manager.c(909),WARNING" ID="0xd8061c6b" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="rmt device is phone @connection_manager.c(916),INFO" ID="0xd8061ca5" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="rmt device is not phone @connection_manager.c(919),INFO" ID="0xd8061cbd" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="node not exist @connection_manager.c(930),INFO" ID="0xd8061d15" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="success @connection_manager.c(938),INFO" ID="0xd8061d55" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="add remote list error! @connection_manager.c(992),WARNING" ID="0xd8061f03" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="descovery result @connection_manager.c(1018),INFO" ID="0xd8061fd5" />
+                       <MSG STRUCTURE="diag_log_msg5" NAME="found device addr: ****%02x%02x%02x%02x name: %s @connection_manager.c(1027),INFO" ID="0xd806201d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="gap_get_device_name failed @connection_manager.c(1029),INFO" ID="0xd806202d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="get device name fail @connection_manager.c(1054),WARNING" ID="0xd80620f3" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="unhandled msg id: %d @connection_manager.c(1123),WARNING" ID="0xd806231b" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="set discovery status to stop @connection_manager.c(1141),INFO" ID="0xd80623ad" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="unhandled msg id: %d @connection_manager.c(1212),WARNING" ID="0xd80625e3" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="show conn list: @connection_manager.c(1233),INFO" ID="0xd806268d" />
+                       <MSG STRUCTURE="diag_log_msg7" NAME="| %-4s | %-32s | %-12s | %-16s | %-16s | %-8s | %-8s | @connection_manager.c(1235),INFO" ID="0xd806269d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="remote is null @connection_manager.c(1243),ERROR" ID="0xd80626da" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="addr memcpy_s fail @connection_manager.c(1246),ERROR" ID="0xd80626f2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="name memcpy_s fail @connection_manager.c(1249),ERROR" ID="0xd806270a" />
+                       <MSG STRUCTURE="diag_log_msg10" NAME="| %-4d | %-32s | ****%02x%02x%02x%02x | %-16d | %-16d | %-8d | %-8d | @connection_manager.c(1254),INFO" ID="0xd8062735" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="show conn list end! @connection_manager.c(1259),INFO" ID="0xd806275d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="show ble conn list: @connection_manager.c(1267),INFO" ID="0xd806279d" />
+                       <MSG STRUCTURE="diag_log_msg9" NAME="| %-4s | %-12s | %-10s | %-8s | %-12s | %-12s | %-12s | %-12s  | %-48s | @connection_manager.c(1272),INFO" ID="0xd80627c5" />
+                       <MSG STRUCTURE="diag_log_msg11" NAME="| %-4d | %02x******%02x%02x | %-10d | %-8d | %-12d | %-12d | %-12d | %-12d | %-48s | @connection_manager.c(1285),INFO" ID="0xd806282d" />
+                       <MSG STRUCTURE="diag_log_msg8" NAME="| %-4s | %-12s | %-10s | %-8s | %-12s | %-12s | %-12s | %-12s  | @connection_manager.c(1292),INFO" ID="0xd8062865" />
+                       <MSG STRUCTURE="diag_log_msg10" NAME="| %-4d | %02x******%02x%02x | %-10d | %-8d | %-12d | %-12d | %-12d | %-12d | @connection_manager.c(1298),INFO" ID="0xd8062895" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="show ble conn list end! @connection_manager.c(1305),INFO" ID="0xd80628cd" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="show link mode: @connection_manager.c(1317),INFO" ID="0xd806292d" />
+                       <MSG STRUCTURE="diag_log_msg4" NAME="| %-4s | %-32s | %-12s | %-16s | @connection_manager.c(1319),INFO" ID="0xd806293d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="remote is null @connection_manager.c(1328),ERROR" ID="0xd8062982" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="addr memcpy_s fail @connection_manager.c(1331),ERROR" ID="0xd806299a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="name memcpy_s fail @connection_manager.c(1334),ERROR" ID="0xd80629b2" />
+                       <MSG STRUCTURE="diag_log_msg7" NAME="| %-4d | %-32s | ****%02x%02x%02x%02x | %-16s | @connection_manager.c(1342),INFO" ID="0xd80629f5" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="show link mode end! @connection_manager.c(1347),INFO" ID="0xd8062a1d" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="set scan mode old=%d new=%d @connection_manager.c(1409),INFO" ID="0xd8062c0d" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="btsdk_set_discovery_mode ret: %x @connection_manager.c(1420),INFO" ID="0xd8062c65" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="btsdk_set_discovery_mode mode: %x ret: %x @connection_manager.c(1431),INFO" ID="0xd8062cbd" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="already in discovery @connection_manager.c(1453),INFO" ID="0xd8062d6d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="bt is not enabled @connection_manager.c(1466),WARNING" ID="0xd8062dd3" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="discovery already stopped @connection_manager.c(1471),WARNING" ID="0xd8062dfb" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="btsdk_stop_device_discovery ret=0x%x @connection_manager.c(1476),INFO" ID="0xd8062e25" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="discovery stopped @connection_manager.c(1479),INFO" ID="0xd8062e3d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="not start bt @connection_manager.c(1505),INFO" ID="0xd8062f0d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="param id null @connection_manager.c(1509),INFO" ID="0xd8062f2d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="exist connect audio device @connection_manager.c(1515),INFO" ID="0xd8062f5d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="gap_br_cancel_discovery fail @connection_manager.c(1520),INFO" ID="0xd8062f85" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="btsdk_disconnect_acl_by_handle ret: %x @connection_manager.c(1556),INFO" ID="0xd80630a5" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][ERROR] gatt client add conn node memcpy fail. @connection_manager.c(1623),ERROR" ID="0xd80632ba" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="btsrv connect state change cbk arg NULL! @connection_manager.c(1637),ERROR" ID="0xd806332a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="connect state update memcpy fail. @connection_manager.c(1642),ERROR" ID="0xd8063352" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="connect node is null. @connection_manager.c(1658),ERROR" ID="0xd80633d2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="ble smp paired keys cbk param error @connection_manager.c(1677),ERROR" ID="0xd806346a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="paired keys malloc fail. @connection_manager.c(1683),ERROR" ID="0xd806349a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="paired keys malloc fail. @connection_manager.c(1688),ERROR" ID="0xd80634c2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="pair keys notify, keys addr memcpy fail. @connection_manager.c(1693),ERROR" ID="0xd80634ea" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="pair keys notify, keys memcpy fail. @connection_manager.c(1700),ERROR" ID="0xd8063522" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="ble smp paired complete cbk param error @connection_manager.c(1717),ERROR" ID="0xd80635aa" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="connect param update incomes arg is NULL! @connection_manager.c(1728),ERROR" ID="0xd8063602" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="connect param update, conn_node not found. @connection_manager.c(1735),ERROR" ID="0xd806363a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="connect param update,connect_params NULL. @connection_manager.c(1741),ERROR" ID="0xd806366a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="connect param update, addr memcpy fail. @connection_manager.c(1747),ERROR" ID="0xd806369a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="connect param update done ret:%d. @connection_manager.c(1756),INFO" ID="0xd80636e5" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="gap_ble_connect_remote_device not start bt @connection_manager.c(1765),INFO" ID="0xd806372d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="gap_ble_connect_remote_device param id null @connection_manager.c(1769),INFO" ID="0xd806374d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv][INFO] addr memcpy to param fail. @connection_manager.c(1775),INFO" ID="0xd806377d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[btsrv]addr memcpy fail. @connection_manager.c(1793),INFO" ID="0xd806380d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="addr memcpy_s fail @connection_manager.c(1811),ERROR" ID="0xd806389a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="read remote device rssi, conn_node not found. @connection_manager.c(1832),ERROR" ID="0xd8063942" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="read remote device rssi fail @connection_manager.c(1837),ERROR" ID="0xd806396a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="conn_node not found. @connection_manager.c(1853),ERROR" ID="0xd80639ea" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="auto reconnect is enabled, close it first. @connection_manager.c(1876),ERROR" ID="0xd8063aa2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="malloc fail @connection_manager.c(1881),ERROR" ID="0xd8063aca" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @connection_manager.c(1885),ERROR" ID="0xd8063aea" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="send msg fail. %x @connection_manager.c(1892),ERROR" ID="0xd8063b22" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="send msg connecting success! @connection_manager.c(1896),INFO" ID="0xd8063b45" />
                        </MSG_LOG>
\ No newline at end of file
index 0477d38..076b14e 100644 (file)
@@ -3,30 +3,38 @@
                        <MSG STRUCTURE="diag_log_msg1" NAME="ResId is invalid: 0x%x @image_cache_manager.cpp(64),ERROR" ID="0xcb1c0202" />
                        <MSG STRUCTURE="diag_log_msg2" NAME="DirId can not match: resId: 0x%x, dirId: 0x%x @image_cache_manager.cpp(69),ERROR" ID="0xcb1c022a" />
                        <MSG STRUCTURE="diag_log_msg1" NAME="ResId is out of the range: 0x%x @image_cache_manager.cpp(74),ERROR" ID="0xcb1c0252" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="multiImgInfo is nullptr! @image_cache_manager.cpp(95),ERROR" ID="0xcb1c02fa" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="UIMalloc node failed! @image_cache_manager.cpp(105),ERROR" ID="0xcb1c034a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="multiImgInfo.info is nullptr @image_cache_manager.cpp(115),ERROR" ID="0xcb1c039a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="UIMalloc for node failed! @image_cache_manager.cpp(155),ERROR" ID="0xcb1c04da" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="ImageCacheMalloc for img data failed! @image_cache_manager.cpp(163),ERROR" ID="0xcb1c051a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="CreateImageNode failed! @image_cache_manager.cpp(230),ERROR" ID="0xcb1c0732" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="fread info header failed! @image_cache_manager.cpp(244),ERROR" ID="0xcb1c07a2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="LoadAllImgInfo failed! @image_cache_manager.cpp(270),ERROR" ID="0xcb1c0872" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="LoadSingleImgInfo failed! node is nullptr or imgIndex is invalid. @image_cache_manager.cpp(278),ERROR" ID="0xcb1c08b2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="CreateImageNode failed! @image_cache_manager.cpp(300),ERROR" ID="0xcb1c0962" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="LoadSingleImgInfo failed! @image_cache_manager.cpp(328),ERROR" ID="0xcb1c0a42" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="LoadAllInMultiRes failed! Open file failed: %s @image_cache_manager.cpp(339),ERROR" ID="0xcb1c0a9a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="fread bin header failed! @image_cache_manager.cpp(351),ERROR" ID="0xcb1c0afa" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="LoadAllImgInfo failed! @image_cache_manager.cpp(370),ERROR" ID="0xcb1c0b92" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="LoadAllInMultiRes failed! file: %s @image_cache_manager.cpp(385),ERROR" ID="0xcb1c0c0a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="Res file is already loaded. @image_cache_manager.cpp(393),WARNING" ID="0xcb1c0c4b" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="CreateImageNode failed! @image_cache_manager.cpp(411),ERROR" ID="0xcb1c0cda" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="memcpy info header failed! @image_cache_manager.cpp(415),ERROR" ID="0xcb1c0cfa" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="memcpy img data failed! @image_cache_manager.cpp(420),ERROR" ID="0xcb1c0d22" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="LoadOneInMultiRes failed! resId: 0x%x, file: %s @image_cache_manager.cpp(507),ERROR" ID="0xcb1c0fda" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="CreateImageNode failed! @image_cache_manager.cpp(521),ERROR" ID="0xcb1c104a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="Res file is not loaded: %s @image_cache_manager.cpp(578),ERROR" ID="0xcb1c1212" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="Res file is not loaded. @image_cache_manager.cpp(606),ERROR" ID="0xcb1c12f2" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="Res file is not loaded: %s @image_cache_manager.cpp(633),ERROR" ID="0xcb1c13ca" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="Res file is not loaded. @image_cache_manager.cpp(648),ERROR" ID="0xcb1c1442" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="CreateImageNode failed! @image_cache_manager.cpp(695),ERROR" ID="0xcb1c15ba" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="FillPath failed! Length of filepath with a null terminator is greater than 64. @image_cache_manager.cpp(86),ERROR" ID="0xcb1c02b2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="strcpy_s failed. @image_cache_manager.cpp(90),ERROR" ID="0xcb1c02d2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="multiImgInfo is nullptr! @image_cache_manager.cpp(110),ERROR" ID="0xcb1c0372" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="UIMalloc node failed! @image_cache_manager.cpp(120),ERROR" ID="0xcb1c03c2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="multiImgInfo.info is nullptr @image_cache_manager.cpp(130),ERROR" ID="0xcb1c0412" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="LRU free short term image %s resid:%d @image_cache_manager.cpp(148),WARNING" ID="0xcb1c04a3" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="LRU free long term image %s resid:%d @image_cache_manager.cpp(157),WARNING" ID="0xcb1c04eb" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="UIMalloc for node failed! @image_cache_manager.cpp(170),ERROR" ID="0xcb1c0552" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="ImageCacheMalloc for img data failed! @image_cache_manager.cpp(178),ERROR" ID="0xcb1c0592" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="File is not loaded. File: %s. @image_cache_manager.cpp(216),ERROR" ID="0xcb1c06c2" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="MultiImgInfo is nullptr, or resId is invalid. File: %s, ResId: %u. @image_cache_manager.cpp(224),ERROR" ID="0xcb1c0702" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="Node is nullptr. File: %s, ResId: %u. @image_cache_manager.cpp(229),ERROR" ID="0xcb1c072a" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="LoadSingleRes failed. File: %s, ResId: %u. @image_cache_manager.cpp(244),ERROR" ID="0xcb1c07a2" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="LoadOneInMultiRes failed. File: %s, ResId: %u. @image_cache_manager.cpp(250),ERROR" ID="0xcb1c07d2" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="Update image info failed. Set img data to nullptr. File: %s, FileLen: %u, ResId: %u. @image_cache_manager.cpp(262),ERROR" ID="0xcb1c0832" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="CreateImageNode failed! @image_cache_manager.cpp(284),ERROR" ID="0xcb1c08e2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="fread info header failed! @image_cache_manager.cpp(298),ERROR" ID="0xcb1c0952" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="LoadAllImgInfo failed! @image_cache_manager.cpp(327),ERROR" ID="0xcb1c0a3a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="LoadSingleImgInfo failed! node is nullptr or imgIndex is invalid. @image_cache_manager.cpp(335),ERROR" ID="0xcb1c0a7a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="LoadSingleImgInfo failed! @image_cache_manager.cpp(385),ERROR" ID="0xcb1c0c0a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="LoadAllInMultiRes failed! Open file failed: %s @image_cache_manager.cpp(396),ERROR" ID="0xcb1c0c62" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="fread bin header failed! @image_cache_manager.cpp(408),ERROR" ID="0xcb1c0cc2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="LoadAllImgInfo failed! @image_cache_manager.cpp(427),ERROR" ID="0xcb1c0d5a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="LoadAllInMultiRes failed! file: %s @image_cache_manager.cpp(442),ERROR" ID="0xcb1c0dd2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="Res file is already loaded. @image_cache_manager.cpp(450),WARNING" ID="0xcb1c0e13" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="CreateImageNode failed! @image_cache_manager.cpp(468),ERROR" ID="0xcb1c0ea2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="memcpy info header failed! @image_cache_manager.cpp(472),ERROR" ID="0xcb1c0ec2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="memcpy img data failed! @image_cache_manager.cpp(477),ERROR" ID="0xcb1c0eea" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="LoadOneInMultiRes failed! resId: 0x%x, file: %s @image_cache_manager.cpp(564),ERROR" ID="0xcb1c11a2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="CreateImageNode failed! @image_cache_manager.cpp(578),ERROR" ID="0xcb1c1212" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="Res file is not loaded: %s @image_cache_manager.cpp(635),ERROR" ID="0xcb1c13da" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="Res file is not loaded. @image_cache_manager.cpp(663),ERROR" ID="0xcb1c14ba" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="Res file is not loaded: %s @image_cache_manager.cpp(690),ERROR" ID="0xcb1c1592" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="Res file is not loaded. @image_cache_manager.cpp(705),ERROR" ID="0xcb1c160a" />
                        </MSG_LOG>
\ No newline at end of file
index 73ce328..83155ae 100644 (file)
@@ -1,11 +1,11 @@
-<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="undefined state -&gt; init state @js_page_state.cpp(29),INFO" ID="0xe10a00ed" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="current state(%d) is invalid when changing undefined state to init state. @js_page_state.cpp(41),ERROR" ID="0xe10a014a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="init state -&gt; ready state @js_page_state.cpp(49),INFO" ID="0xe10a018d" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="current state(%d) is invalid when changing init state to ready state. @js_page_state.cpp(60),ERROR" ID="0xe10a01e2" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="current state(%d) -&gt; show state @js_page_state.cpp(68),INFO" ID="0xe10a0225" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="current state(%d) is invalid when changing ready state to show state. @js_page_state.cpp(77),ERROR" ID="0xe10a026a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="current state(%d) -&gt; background state @js_page_state.cpp(85),INFO" ID="0xe10a02ad" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="current state(%d) is invalid when changing show state to background state. @js_page_state.cpp(93),ERROR" ID="0xe10a02ea" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="current state(%d) -&gt; destroy state @js_page_state.cpp(102),INFO" ID="0xe10a0335" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="current state(%d) is invalid when changing show state to destroy state. @js_page_state.cpp(111),ERROR" ID="0xe10a037a" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="undefined state -&gt; init state @js_page_state.cpp(29),INFO" ID="0xe10e00ed" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="current state(%d) is invalid when changing undefined state to init state. @js_page_state.cpp(41),ERROR" ID="0xe10e014a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="init state -&gt; ready state @js_page_state.cpp(49),INFO" ID="0xe10e018d" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="current state(%d) is invalid when changing init state to ready state. @js_page_state.cpp(60),ERROR" ID="0xe10e01e2" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="current state(%d) -&gt; show state @js_page_state.cpp(68),INFO" ID="0xe10e0225" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="current state(%d) is invalid when changing ready state to show state. @js_page_state.cpp(77),ERROR" ID="0xe10e026a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="current state(%d) -&gt; background state @js_page_state.cpp(85),INFO" ID="0xe10e02ad" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="current state(%d) is invalid when changing show state to background state. @js_page_state.cpp(93),ERROR" ID="0xe10e02ea" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="current state(%d) -&gt; destroy state @js_page_state.cpp(102),INFO" ID="0xe10e0335" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="current state(%d) is invalid when changing show state to destroy state. @js_page_state.cpp(111),ERROR" ID="0xe10e037a" />
                        </MSG_LOG>
\ No newline at end of file
index b7bb8bf..8798793 100644 (file)
@@ -1,22 +1,22 @@
-<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="error input state:%d @js_page_state_machine.cpp(83),ERROR" ID="0xe10c029a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="malloc path memory heap failed. @js_page_state_machine.cpp(116),ERROR" ID="0xe10c03a2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="delete $page property failed from global object. @js_page_state_machine.cpp(148),ERROR" ID="0xe10c04a2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="statemachine init failed as this app's root path is invalid. @js_page_state_machine.cpp(160),ERROR" ID="0xe10c0502" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="statemachine init failed as object is invalid. @js_page_state_machine.cpp(177),ERROR" ID="0xe10c058a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="statemachine init failed as uri is invalid. @js_page_state_machine.cpp(186),ERROR" ID="0xe10c05d2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="statemachine init failed as uri is invalid. @js_page_state_machine.cpp(194),ERROR" ID="0xe10c0612" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="statemachine init failed as uri is empty. @js_page_state_machine.cpp(201),ERROR" ID="0xe10c064a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="statemachine init failed as generating js file's path failed. @js_page_state_machine.cpp(211),ERROR" ID="0xe10c069a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="statemachine init failed as js file isn't existed. @js_page_state_machine.cpp(220),ERROR" ID="0xe10c06e2" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="error input state:%d @js_page_state_machine.cpp(278),ERROR" ID="0xe10c08b2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="relocat page JS file failed @js_page_state_machine.cpp(295),ERROR" ID="0xe10c093a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="Eval JS file failed @js_page_state_machine.cpp(301),ERROR" ID="0xe10c096a" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="JS Heap allocBytes[%d], peakAllocBytes[%d] @js_page_state_machine.cpp(333),DBG" ID="0xe10c0a6e" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="StateMachine::ShowPage @js_page_state_machine.cpp(365),INFO" ID="0xe10c0b6d" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="showpage: the whole application already in background, do not operate rootview @js_page_state_machine.cpp(367),WARNING" ID="0xe10c0b7b" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="hidepage: the whole application already in background, do not operate rootview @js_page_state_machine.cpp(382),WARNING" ID="0xe10c0bf3" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="input parameter is invalid when invoking page life cycle callback. @js_page_state_machine.cpp(399),ERROR" ID="0xe10c0c7a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="delete $page property failed from global object. @js_page_state_machine.cpp(424),ERROR" ID="0xe10c0d42" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="delete $root property failed from global object. @js_page_state_machine.cpp(433),ERROR" ID="0xe10c0d8a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[%d] components leaked! @js_page_state_machine.cpp(475),ERROR" ID="0xe10c0eda" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="error input state:%d @js_page_state_machine.cpp(83),ERROR" ID="0xe110029a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="malloc path memory heap failed. @js_page_state_machine.cpp(116),ERROR" ID="0xe11003a2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="delete $page property failed from global object. @js_page_state_machine.cpp(148),ERROR" ID="0xe11004a2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="statemachine init failed as this app's root path is invalid. @js_page_state_machine.cpp(160),ERROR" ID="0xe1100502" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="statemachine init failed as object is invalid. @js_page_state_machine.cpp(177),ERROR" ID="0xe110058a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="statemachine init failed as uri is invalid. @js_page_state_machine.cpp(186),ERROR" ID="0xe11005d2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="statemachine init failed as uri is invalid. @js_page_state_machine.cpp(194),ERROR" ID="0xe1100612" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="statemachine init failed as uri is empty. @js_page_state_machine.cpp(201),ERROR" ID="0xe110064a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="statemachine init failed as generating js file's path failed. @js_page_state_machine.cpp(211),ERROR" ID="0xe110069a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="statemachine init failed as js file isn't existed. @js_page_state_machine.cpp(220),ERROR" ID="0xe11006e2" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="error input state:%d @js_page_state_machine.cpp(278),ERROR" ID="0xe11008b2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="relocat page JS file failed @js_page_state_machine.cpp(295),ERROR" ID="0xe110093a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="Eval JS file failed @js_page_state_machine.cpp(301),ERROR" ID="0xe110096a" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="JS Heap allocBytes[%d], peakAllocBytes[%d] @js_page_state_machine.cpp(333),DBG" ID="0xe1100a6e" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="StateMachine::ShowPage @js_page_state_machine.cpp(365),INFO" ID="0xe1100b6d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="showpage: the whole application already in background, do not operate rootview @js_page_state_machine.cpp(367),WARNING" ID="0xe1100b7b" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="hidepage: the whole application already in background, do not operate rootview @js_page_state_machine.cpp(382),WARNING" ID="0xe1100bf3" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="input parameter is invalid when invoking page life cycle callback. @js_page_state_machine.cpp(399),ERROR" ID="0xe1100c7a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="delete $page property failed from global object. @js_page_state_machine.cpp(424),ERROR" ID="0xe1100d42" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="delete $root property failed from global object. @js_page_state_machine.cpp(433),ERROR" ID="0xe1100d8a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[%d] components leaked! @js_page_state_machine.cpp(475),ERROR" ID="0xe1100eda" />
                        </MSG_LOG>
\ No newline at end of file
index efe8c91..b28742c 100644 (file)
@@ -1,9 +1,9 @@
-<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="replace async failed with null input parameter @js_router.cpp(31),ERROR" ID="0xe10e00fa" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="router is replacing, can not handle the new request @js_router.cpp(43),ERROR" ID="0xe10e015a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="malloc state machine memory heap failed. @js_router.cpp(48),ERROR" ID="0xe10e0182" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="dispatch replacing request failed @js_router.cpp(64),ERROR" ID="0xe10e0202" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="replace sync failed, new sm should be prepared @js_router.cpp(78),ERROR" ID="0xe10e0272" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="the whole application is in background, move to HIDE state directly @js_router.cpp(94),DBG" ID="0xe10e02f6" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="no SM when performing show @js_router.cpp(110),ERROR" ID="0xe10e0372" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="no SM when performing background @js_router.cpp(122),ERROR" ID="0xe10e03d2" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="replace async failed with null input parameter @js_router.cpp(31),ERROR" ID="0xe11200fa" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="router is replacing, can not handle the new request @js_router.cpp(43),ERROR" ID="0xe112015a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="malloc state machine memory heap failed. @js_router.cpp(48),ERROR" ID="0xe1120182" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="dispatch replacing request failed @js_router.cpp(64),ERROR" ID="0xe1120202" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="replace sync failed, new sm should be prepared @js_router.cpp(78),ERROR" ID="0xe1120272" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="the whole application is in background, move to HIDE state directly @js_router.cpp(94),DBG" ID="0xe11202f6" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="no SM when performing show @js_router.cpp(110),ERROR" ID="0xe1120372" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="no SM when performing background @js_router.cpp(122),ERROR" ID="0xe11203d2" />
                        </MSG_LOG>
\ No newline at end of file
index 3b813ec..275831d 100644 (file)
                        <MSG STRUCTURE="diag_log_msg0" NAME="InitKaleidoscopeInfo failed. @kaleidoscope_utils.cpp(236),ERROR" ID="0xcb3c0762" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="InitInnerPath failed. @kaleidoscope_utils.cpp(243),ERROR" ID="0xcb3c079a" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="InitPartialInfo failed. @kaleidoscope_utils.cpp(251),ERROR" ID="0xcb3c07da" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="kaleidoscopeInfo_ or partialInfo_ is nullptr. @kaleidoscope_utils.cpp(422),ERROR" ID="0xcb3c0d32" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="kaleidoscopeInfo_ or kaleidoscopeInfo_-&gt;info.data is nullptr. @kaleidoscope_utils.cpp(445),ERROR" ID="0xcb3c0dea" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="ConstructPartial failed. @kaleidoscope_utils.cpp(452),ERROR" ID="0xcb3c0e22" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="UpdateKaleidoscopeImgInfo failed, because isInternalMem_ is false. @kaleidoscope_utils.cpp(461),ERROR" ID="0xcb3c0e6a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="UpdateKaleidoscopeImgInfo failed, because addr is nullptr. @kaleidoscope_utils.cpp(466),ERROR" ID="0xcb3c0e92" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="UpdateKaleidoscopeImgInfo failed, because kaleidoscopeInfo_ is nullptr. @kaleidoscope_utils.cpp(471),ERROR" ID="0xcb3c0eba" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="ConstructPartial failed. UpdateImageInfoIfNecessary failed. @kaleidoscope_utils.cpp(325),ERROR" ID="0xcb3c0a2a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="kaleidoscopeInfo_ or partialInfo_ is nullptr. @kaleidoscope_utils.cpp(426),ERROR" ID="0xcb3c0d52" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="kaleidoscopeInfo_ or kaleidoscopeInfo_-&gt;info.data is nullptr. @kaleidoscope_utils.cpp(449),ERROR" ID="0xcb3c0e0a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="ConstructPartial failed. @kaleidoscope_utils.cpp(456),ERROR" ID="0xcb3c0e42" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="UpdateKaleidoscopeImgInfo failed, because isInternalMem_ is false. @kaleidoscope_utils.cpp(465),ERROR" ID="0xcb3c0e8a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="UpdateKaleidoscopeImgInfo failed, because addr is nullptr. @kaleidoscope_utils.cpp(470),ERROR" ID="0xcb3c0eb2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="UpdateKaleidoscopeImgInfo failed, because kaleidoscopeInfo_ is nullptr. @kaleidoscope_utils.cpp(475),ERROR" ID="0xcb3c0eda" />
                        </MSG_LOG>
\ No newline at end of file
index 50233d1..0eaf89b 100644 (file)
@@ -1,47 +1,48 @@
-<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="g_rmt_dev: %d @pbap_service.c(54),INFO" ID="0xd82801b5" />
-                       <MSG STRUCTURE="diag_log_msg4" NAME="addr: ****%02x%02x%02x%02x @pbap_service.c(61),INFO" ID="0xd82801ed" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s addr fail @pbap_service.c(64),ERROR" ID="0xd8280202" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="callback functon not registered @pbap_service.c(87),INFO" ID="0xd82802bd" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="event=0x%x result=0x%x @pbap_service.c(93),INFO" ID="0xd82802ed" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="start transferring %s: @pbap_service.c(100),INFO" ID="0xd8280325" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="%10u bytes @pbap_service.c(102),INFO" ID="0xd8280335" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="%10u byte transferred @pbap_service.c(104),INFO" ID="0xd8280345" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="extra app event=%u g_pbap_get_size=0x%x @pbap_service.c(108),INFO" ID="0xd8280365" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="result: 0x%x @pbap_service.c(110),WARNING" ID="0xd8280373" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="free g_sdk_param @pbap_service.c(127),INFO" ID="0xd82803fd" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="bd_addr is null! @pbap_service.c(143),ERROR" ID="0xd828047a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="bd_addr is wrong! @pbap_service.c(146),ERROR" ID="0xd8280492" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="invalid bd_addr! @pbap_service.c(155),ERROR" ID="0xd82804da" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="No device selected @pbap_service.c(159),ERROR" ID="0xd82804fa" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="already connected @pbap_service.c(163),INFO" ID="0xd828051d" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="g_rmt_dev=0x%x @pbap_service.c(167),INFO" ID="0xd828053d" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="bt_connect_ex finish, result: 0x%x conn_handle=0x%x @pbap_service.c(169),INFO" ID="0xd828054d" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="already connected @pbap_service.c(173),INFO" ID="0xd828056d" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="invalid bd_addr! @pbap_service.c(186),ERROR" ID="0xd82805d2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="no connection @pbap_service.c(190),INFO" ID="0xd82805f5" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="pbap_pce_stop_trans result: 0x%x @pbap_service.c(196),INFO" ID="0xd8280625" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="[Line: %d] finish, result: 0x%x @pbap_service.c(199),INFO" ID="0xd828063d" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="already disconnected @pbap_service.c(204),INFO" ID="0xd8280665" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="reset g_pbap_conn @pbap_service.c(214),INFO" ID="0xd82806b5" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="free g_sdk_param @pbap_service.c(220),INFO" ID="0xd82806e5" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="conn_handle=0x%x @pbap_service.c(228),INFO" ID="0xd8280725" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="No PBAP connection selected! @pbap_service.c(230),ERROR" ID="0xd8280732" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="invalid param! @pbap_service.c(234),ERROR" ID="0xd8280752" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="g_sdk_param is busy! @pbap_service.c(238),WARNING" ID="0xd8280773" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="g_sdk_param malloc failed! @pbap_service.c(243),ERROR" ID="0xd828079a" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="[Line: %d] finish, name:%s, ret: 0x%x @pbap_service.c(256),INFO" ID="0xd8280805" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="No PBAP connection selected! @pbap_service.c(265),ERROR" ID="0xd828084a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="invalid param! @pbap_service.c(269),ERROR" ID="0xd828086a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="g_sdk_param is busy! @pbap_service.c(273),WARNING" ID="0xd828088b" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="g_sdk_param malloc failed! @pbap_service.c(278),ERROR" ID="0xd82808b2" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="[Line: %d] finish, name:%s, ret: 0x%x @pbap_service.c(289),INFO" ID="0xd828090d" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="No PBAP connection selected! @pbap_service.c(298),ERROR" ID="0xd8280952" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="invalid param! @pbap_service.c(302),ERROR" ID="0xd8280972" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="g_sdk_param is busy! @pbap_service.c(306),WARNING" ID="0xd8280993" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="g_sdk_param malloc failed! @pbap_service.c(311),ERROR" ID="0xd82809ba" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="[Line: %d] finish, name:%s, ret: %u @pbap_service.c(320),INFO" ID="0xd8280a05" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="No PBAP connection selected! @pbap_service.c(329),ERROR" ID="0xd8280a4a" />
-                       <MSG STRUCTURE="diag_log_msg4" NAME="[Line: %d] finish, name:%s, len:%d ret: 0x%x @pbap_service.c(334),INFO" ID="0xd8280a75" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="No PBAP connection selected! @pbap_service.c(343),ERROR" ID="0xd8280aba" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="[Line: %d] finish, ret: %u @pbap_service.c(347),INFO" ID="0xd8280add" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="g_rmt_dev: %d @pbap_service.c(55),INFO" ID="0xd82801bd" />
+                       <MSG STRUCTURE="diag_log_msg4" NAME="addr: ****%02x%02x%02x%02x @pbap_service.c(62),INFO" ID="0xd82801f5" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s addr fail @pbap_service.c(65),ERROR" ID="0xd828020a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="callback functon not registered @pbap_service.c(88),INFO" ID="0xd82802c5" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="event=0x%x result=0x%x @pbap_service.c(94),INFO" ID="0xd82802f5" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="start transferring %s: @pbap_service.c(101),INFO" ID="0xd828032d" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="%10u bytes @pbap_service.c(103),INFO" ID="0xd828033d" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="%10u byte transferred @pbap_service.c(105),INFO" ID="0xd828034d" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="extra app event=%u g_pbap_get_size=0x%x @pbap_service.c(109),INFO" ID="0xd828036d" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="result: 0x%x @pbap_service.c(111),WARNING" ID="0xd828037b" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="free g_sdk_param @pbap_service.c(128),INFO" ID="0xd8280405" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="bd_addr is null! @pbap_service.c(144),ERROR" ID="0xd8280482" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="bd_addr is wrong! @pbap_service.c(147),ERROR" ID="0xd828049a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="invalid bd_addr! @pbap_service.c(156),ERROR" ID="0xd82804e2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="No device selected @pbap_service.c(160),ERROR" ID="0xd8280502" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="already connected @pbap_service.c(164),INFO" ID="0xd8280525" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="g_rmt_dev=0x%x @pbap_service.c(168),INFO" ID="0xd8280545" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="bt_connect_ex finish, result: 0x%x conn_handle=0x%x @pbap_service.c(170),INFO" ID="0xd8280555" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="already connected @pbap_service.c(174),INFO" ID="0xd8280575" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="invalid bd_addr! @pbap_service.c(187),ERROR" ID="0xd82805da" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="no connection @pbap_service.c(191),INFO" ID="0xd82805fd" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="pbap_pce_stop_trans result: 0x%x @pbap_service.c(197),INFO" ID="0xd828062d" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="[Line: %d] finish, result: 0x%x @pbap_service.c(200),INFO" ID="0xd8280645" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="already disconnected @pbap_service.c(205),INFO" ID="0xd828066d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="reset g_pbap_conn @pbap_service.c(215),INFO" ID="0xd82806bd" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="free g_sdk_param @pbap_service.c(221),INFO" ID="0xd82806ed" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="conn_handle=0x%x @pbap_service.c(229),INFO" ID="0xd828072d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="No PBAP connection selected! @pbap_service.c(231),ERROR" ID="0xd828073a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="invalid param! @pbap_service.c(235),ERROR" ID="0xd828075a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="g_sdk_param is busy! @pbap_service.c(239),WARNING" ID="0xd828077b" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="g_sdk_param malloc failed! @pbap_service.c(244),ERROR" ID="0xd82807a2" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="[Line: %d] finish, name:%s, ret: 0x%x @pbap_service.c(257),INFO" ID="0xd828080d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="No PBAP connection selected! @pbap_service.c(266),ERROR" ID="0xd8280852" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="invalid param! @pbap_service.c(270),ERROR" ID="0xd8280872" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="invalid search value len! @pbap_service.c(275),ERROR" ID="0xd828089a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="g_sdk_param is busy! @pbap_service.c(279),WARNING" ID="0xd82808bb" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="g_sdk_param malloc failed! @pbap_service.c(284),ERROR" ID="0xd82808e2" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="[Line: %d] finish, name:%s, ret: 0x%x @pbap_service.c(300),INFO" ID="0xd8280965" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="No PBAP connection selected! @pbap_service.c(309),ERROR" ID="0xd82809aa" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="invalid param! @pbap_service.c(313),ERROR" ID="0xd82809ca" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="g_sdk_param is busy! @pbap_service.c(317),WARNING" ID="0xd82809eb" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="g_sdk_param malloc failed! @pbap_service.c(322),ERROR" ID="0xd8280a12" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="[Line: %d] finish, name:%s, ret: %u @pbap_service.c(331),INFO" ID="0xd8280a5d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="No PBAP connection selected! @pbap_service.c(340),ERROR" ID="0xd8280aa2" />
+                       <MSG STRUCTURE="diag_log_msg4" NAME="[Line: %d] finish, name:%s, len:%d ret: 0x%x @pbap_service.c(345),INFO" ID="0xd8280acd" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="No PBAP connection selected! @pbap_service.c(354),ERROR" ID="0xd8280b12" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="[Line: %d] finish, ret: %u @pbap_service.c(358),INFO" ID="0xd8280b35" />
                        </MSG_LOG>
\ No newline at end of file
index 4e9d3cc..b988bc9 100644 (file)
@@ -1,4 +1,4 @@
-<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="ACELite version: %s @platform_adapter.cpp(34),DBG" ID="0xe11a0116" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="ACELite commit: %s @platform_adapter.cpp(35),DBG" ID="0xe11a011e" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="ACELite build stamp: %s @platform_adapter.cpp(36),DBG" ID="0xe11a0126" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="ACELite version: %s @platform_adapter.cpp(34),DBG" ID="0xe11e0116" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="ACELite commit: %s @platform_adapter.cpp(35),DBG" ID="0xe11e011e" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="ACELite build stamp: %s @platform_adapter.cpp(36),DBG" ID="0xe11e0126" />
                        </MSG_LOG>
\ No newline at end of file
index 57174de..4da0f6e 100644 (file)
                        <MSG STRUCTURE="diag_log_msg0" NAME="remove pair device fail @remote_device_manager.c(1101),ERROR" ID="0xd80a226a" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="remove pair all devices key fail @remote_device_manager.c(1111),ERROR" ID="0xd80a22ba" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="disconnect all devices fail @remote_device_manager.c(1115),ERROR" ID="0xd80a22da" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="malloc fail @remote_device_manager.c(1146),ERROR" ID="0xd80a23d2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @remote_device_manager.c(1151),ERROR" ID="0xd80a23fa" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="dev not found @remote_device_manager.c(1160),INFO" ID="0xd80a2445" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="dev not found @remote_device_manager.c(1183),INFO" ID="0xd80a24fd" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @remote_device_manager.c(1202),INFO" ID="0xd80a2595" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="dev not found @remote_device_manager.c(1226),INFO" ID="0xd80a2655" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="remove all bond devices fail @remote_device_manager.c(1124),ERROR" ID="0xd80a2322" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="get bonded devices fail ret = %d @remote_device_manager.c(1144),ERROR" ID="0xd80a23c2" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="get bonded devices error no enough space, real addr cnt:%d, number:%d @remote_device_manager.c(1149),ERROR" ID="0xd80a23ea" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="get bonded devices memcpy fail @remote_device_manager.c(1154),ERROR" ID="0xd80a2412" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="get bonded devices cnt = %d @remote_device_manager.c(1157),INFO" ID="0xd80a242d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="malloc fail @remote_device_manager.c(1186),ERROR" ID="0xd80a2512" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @remote_device_manager.c(1191),ERROR" ID="0xd80a253a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="dev not found @remote_device_manager.c(1200),INFO" ID="0xd80a2585" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="dev not found @remote_device_manager.c(1223),INFO" ID="0xd80a263d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="memcpy fail @remote_device_manager.c(1242),INFO" ID="0xd80a26d5" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="dev not found @remote_device_manager.c(1266),INFO" ID="0xd80a2795" />
                        </MSG_LOG>
\ No newline at end of file
index df39006..4efd772 100644 (file)
                        <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble smp remove pair info atb. @sdk_general_gap.c(554),INFO" ID="0xd86c1155" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble smp remove pair device atb. @sdk_general_gap.c(566),INFO" ID="0xd86c11b5" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble disc all links atb. @sdk_general_gap.c(575),INFO" ID="0xd86c11fd" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble smp set key from btc atb. @sdk_general_gap.c(611),INFO" ID="0xd86c131d" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble remove adv by handle atb. @sdk_general_gap.c(621),INFO" ID="0xd86c136d" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble disable adv by handle atb. @sdk_general_gap.c(628),INFO" ID="0xd86c13a5" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[warning] uapi disconnect ble link conn_node not found disc all. @sdk_general_gap.c(751),INFO" ID="0xd86c177d" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[error] uapi disconnect ble link addr memcpy fail. @sdk_general_gap.c(757),INFO" ID="0xd86c17ad" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="[INFO] uapi disconnect ble link ret:%u. @sdk_general_gap.c(762),INFO" ID="0xd86c17d5" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] ble general: set ble sec param comes. @sdk_general_gap.c(774),INFO" ID="0xd86c1835" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="[Error] bt at cmd set ble sec param fail, value is null! @sdk_general_gap.c(777),ERROR" ID="0xd86c184a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble smp set key from btc atb. @sdk_general_gap.c(606),INFO" ID="0xd86c12f5" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble remove adv by handle atb. @sdk_general_gap.c(616),INFO" ID="0xd86c1345" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] mc ble disable adv by handle atb. @sdk_general_gap.c(623),INFO" ID="0xd86c137d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[warning] uapi disconnect ble link conn_node not found disc all. @sdk_general_gap.c(746),INFO" ID="0xd86c1755" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[error] uapi disconnect ble link addr memcpy fail. @sdk_general_gap.c(752),INFO" ID="0xd86c1785" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="[INFO] uapi disconnect ble link ret:%u. @sdk_general_gap.c(757),INFO" ID="0xd86c17ad" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[ACore] ble general: set ble sec param comes. @sdk_general_gap.c(769),INFO" ID="0xd86c180d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="[Error] bt at cmd set ble sec param fail, value is null! @sdk_general_gap.c(772),ERROR" ID="0xd86c1822" />
                        </MSG_LOG>
\ No newline at end of file
index ff86239..b0ce8ca 100644 (file)
@@ -1,50 +1,52 @@
-<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="osal_sem_init error %x @spp_service.c(84),ERROR" ID="0xd82a02a2" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="osal_sem_down error %x @spp_service.c(110),ERROR" ID="0xd82a0372" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="client num reached max limit @spp_service.c(134),WARNING" ID="0xd82a0433" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="client malloc fail @spp_service.c(140),ERROR" ID="0xd82a0462" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="uuid memcpy fail @spp_service.c(147),ERROR" ID="0xd82a049a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="spp client %x add success @spp_service.c(158),WARNING" ID="0xd82a04f3" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="uuid=%s @spp_service.c(182),INFO" ID="0xd82a05b5" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="sleep too long. %d ms. @spp_service.c(249),WARNING" ID="0xd82a07cb" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="spp client %x delete success @spp_service.c(255),WARNING" ID="0xd82a07fb" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="add client fail @spp_service.c(264),WARNING" ID="0xd82a0843" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="spp server %x add success @spp_service.c(293),WARNING" ID="0xd82a092b" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="spp server %x add fail @spp_service.c(296),WARNING" ID="0xd82a0943" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="sleep too long. %d ms. @spp_service.c(337),WARNING" ID="0xd82a0a8b" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="unregister spp service ret: %x @spp_service.c(344),WARNING" ID="0xd82a0ac3" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="spp server %x delete success @spp_service.c(351),WARNING" ID="0xd82a0afb" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="connHdl: %x devHdl: %x svcHdl: %x @spp_service.c(356),WARNING" ID="0xd82a0b23" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="server not exist @spp_service.c(362),WARNING" ID="0xd82a0b53" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="client not exist @spp_service.c(369),WARNING" ID="0xd82a0b8b" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="connHdl: %x @spp_service.c(383),WARNING" ID="0xd82a0bfb" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="client not exist @spp_service.c(387),WARNING" ID="0xd82a0c1b" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="server %x disconnected @spp_service.c(399),INFO" ID="0xd82a0c7d" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="unhandled msg id %x @spp_service.c(419),WARNING" ID="0xd82a0d1b" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="params socket_para invalid. @spp_service.c(428),WARNING" ID="0xd82a0d63" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="params name len invalid. @spp_service.c(434),WARNING" ID="0xd82a0d93" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="exist same uuid client @spp_service.c(441),WARNING" ID="0xd82a0dcb" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="add server fail @spp_service.c(447),WARNING" ID="0xd82a0dfb" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="btsdk_register_spp_service fail @spp_service.c(463),WARNING" ID="0xd82a0e7b" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="server %x create success. svc_hdl: %x @spp_service.c(467),WARNING" ID="0xd82a0e9b" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="BTSDK_DisconnectConnection fail retCode: %x @spp_service.c(514),ERROR" ID="0xd82a1012" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="access_cnt=%d @spp_service.c(520),INFO" ID="0xd82a1045" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="socket_type invalid @spp_service.c(533),ERROR" ID="0xd82a10aa" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="uuid invalid @spp_service.c(538),ERROR" ID="0xd82a10d2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="acl not connected @spp_service.c(543),ERROR" ID="0xd82a10fa" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="dev_hdl invalid @spp_service.c(549),ERROR" ID="0xd82a112a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="add client fail @spp_service.c(563),INFO" ID="0xd82a119d" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="connect spp fail. ret: %x @spp_service.c(572),INFO" ID="0xd82a11e5" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="BTSDK_DisconnectConnection fail retCode: %x @spp_service.c(597),ERROR" ID="0xd82a12aa" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="spp read data failed @spp_service.c(683),ERROR" ID="0xd82a155a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="client is null. client id %d @spp_service.c(707),ERROR" ID="0xd82a161a" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="client not connected. client id %d @spp_service.c(711),ERROR" ID="0xd82a163a" />
-                       <MSG STRUCTURE="diag_log_msg4" NAME="connHdl: %x dataLen: %d writeRet: %d writeLen: %d @spp_service.c(726),WARNING" ID="0xd82a16b3" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="hdl 0x%x not exist @spp_service.c(740),WARNING" ID="0xd82a1723" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="no recieve function registered @spp_service.c(747),INFO" ID="0xd82a175d" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="hdl 0x%x not exist @spp_service.c(758),WARNING" ID="0xd82a17b3" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="no match client id for hdl 0x%x, try %d times @spp_service.c(762),INFO" ID="0xd82a17d5" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="BTSDK_SPP_EVT_CONNECTED hdl=0x%x @spp_service.c(778),INFO" ID="0xd82a1855" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="BTSDK_SPP_EVT_DISCONNECTED hdl=0x%x @spp_service.c(782),INFO" ID="0xd82a1875" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="BTSDK_SPP_EVT_FC_ON hdl=0x%x @spp_service.c(789),INFO" ID="0xd82a18ad" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="unknown msg hdl=0x%x @spp_service.c(792),WARNING" ID="0xd82a18c3" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="osal_sem_init error %x @spp_service.c(85),ERROR" ID="0xd82a02aa" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="osal_sem_down error %x @spp_service.c(111),ERROR" ID="0xd82a037a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="client num reached max limit @spp_service.c(135),ERROR" ID="0xd82a043a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="client malloc fail @spp_service.c(141),ERROR" ID="0xd82a046a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="uuid memcpy fail @spp_service.c(148),ERROR" ID="0xd82a04a2" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="spp client %x add success @spp_service.c(159),INFO" ID="0xd82a04fd" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="uuid=%s @spp_service.c(183),INFO" ID="0xd82a05bd" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="client_id invalid @spp_service.c(238),ERROR" ID="0xd82a0772" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="sleep too long. %d ms. @spp_service.c(251),WARNING" ID="0xd82a07db" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="spp client %x delete success @spp_service.c(257),INFO" ID="0xd82a080d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="add client fail @spp_service.c(266),ERROR" ID="0xd82a0852" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="spp server %x add success @spp_service.c(295),INFO" ID="0xd82a093d" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="spp server %x add fail @spp_service.c(298),ERROR" ID="0xd82a0952" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="sleep too long. %d ms. @spp_service.c(339),WARNING" ID="0xd82a0a9b" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="unregister spp service ret: %x @spp_service.c(346),WARNING" ID="0xd82a0ad3" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="spp server %x delete success @spp_service.c(353),INFO" ID="0xd82a0b0d" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="spp connect connHdl: %x devHdl: %x svcHdl: %x @spp_service.c(358),INFO" ID="0xd82a0b35" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="server not exist @spp_service.c(364),WARNING" ID="0xd82a0b63" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="client not exist @spp_service.c(371),WARNING" ID="0xd82a0b9b" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="spp disconnect connHdl: %x @spp_service.c(385),INFO" ID="0xd82a0c0d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="client not exist @spp_service.c(389),WARNING" ID="0xd82a0c2b" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="server %x disconnected @spp_service.c(401),INFO" ID="0xd82a0c8d" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="unhandled msg id %x @spp_service.c(426),WARNING" ID="0xd82a0d53" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="params socket_para invalid. @spp_service.c(434),ERROR" ID="0xd82a0d92" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="uuid invalid @spp_service.c(439),ERROR" ID="0xd82a0dba" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="params name len invalid. @spp_service.c(445),ERROR" ID="0xd82a0dea" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="exist same uuid client @spp_service.c(452),ERROR" ID="0xd82a0e22" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="add server fail @spp_service.c(458),ERROR" ID="0xd82a0e52" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="btsdk_register_spp_service fail @spp_service.c(474),WARNING" ID="0xd82a0ed3" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="server %x create success. svc_hdl: %x @spp_service.c(478),INFO" ID="0xd82a0ef5" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="BTSDK_DisconnectConnection fail retCode: %x @spp_service.c(525),ERROR" ID="0xd82a106a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="access_cnt=%d @spp_service.c(531),INFO" ID="0xd82a109d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="socket_type invalid @spp_service.c(543),ERROR" ID="0xd82a10fa" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="uuid invalid @spp_service.c(548),ERROR" ID="0xd82a1122" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="acl not connected @spp_service.c(553),ERROR" ID="0xd82a114a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="dev_hdl invalid @spp_service.c(559),ERROR" ID="0xd82a117a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="add client fail @spp_service.c(573),INFO" ID="0xd82a11ed" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="connect spp fail. ret: %x @spp_service.c(582),INFO" ID="0xd82a1235" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="BTSDK_DisconnectConnection fail retCode: %x @spp_service.c(607),ERROR" ID="0xd82a12fa" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="spp read data failed @spp_service.c(693),ERROR" ID="0xd82a15aa" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="client is null. client id %d @spp_service.c(717),ERROR" ID="0xd82a166a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="client not connected. client id %d @spp_service.c(721),ERROR" ID="0xd82a168a" />
+                       <MSG STRUCTURE="diag_log_msg4" NAME="connHdl: %x dataLen: %d writeRet: %d writeLen: %d @spp_service.c(736),WARNING" ID="0xd82a1703" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="hdl 0x%x not exist @spp_service.c(750),WARNING" ID="0xd82a1773" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="no recieve function registered @spp_service.c(757),INFO" ID="0xd82a17ad" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="hdl 0x%x not exist @spp_service.c(772),WARNING" ID="0xd82a1823" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="no match client id for hdl 0x%x, try %d times @spp_service.c(776),INFO" ID="0xd82a1845" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="BTSDK_SPP_EVT_CONNECTED hdl=0x%x @spp_service.c(792),INFO" ID="0xd82a18c5" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="BTSDK_SPP_EVT_DISCONNECTED hdl=0x%x @spp_service.c(796),INFO" ID="0xd82a18e5" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="BTSDK_SPP_EVT_FC_ON hdl=0x%x @spp_service.c(803),INFO" ID="0xd82a191d" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="unknown msg hdl=0x%x @spp_service.c(806),WARNING" ID="0xd82a1933" />
                        </MSG_LOG>
\ No newline at end of file
index 3bc3eca..16f48c4 100644 (file)
@@ -1,14 +1,15 @@
-<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="path memcpy failed @stack_pbap_if.c(55),ERROR" ID="0xd8e801ba" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="param memcpy failed @stack_pbap_if.c(61),ERROR" ID="0xd8e801ea" />
-                       <MSG STRUCTURE="diag_log_msg3" NAME="conn_hdl=0x%x path_len=%u path=%s @stack_pbap_if.c(66),INFO" ID="0xd8e80215" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="max_count=%hu @stack_pbap_if.c(67),INFO" ID="0xd8e8021d" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="path memcpy failed @stack_pbap_if.c(80),ERROR" ID="0xd8e80282" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="param memcpy failed @stack_pbap_if.c(86),ERROR" ID="0xd8e802b2" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="path=%s path_len=%u @stack_pbap_if.c(91),INFO" ID="0xd8e802dd" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="path memcpy failed @stack_pbap_if.c(104),ERROR" ID="0xd8e80342" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="param memcpy failed @stack_pbap_if.c(110),ERROR" ID="0xd8e80372" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="path=%s path_len=%u @stack_pbap_if.c(115),INFO" ID="0xd8e8039d" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="path memcpy failed @stack_pbap_if.c(130),ERROR" ID="0xd8e80412" />
-                       <MSG STRUCTURE="diag_log_msg2" NAME="path=%s path_len=%u @stack_pbap_if.c(134),INFO" ID="0xd8e80435" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="a2dp_audio: btsdk_pbap_reg_cbk error @stack_pbap_if.c(180),ERROR" ID="0xd8e805a2" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="path memcpy failed @stack_pbap_if.c(56),ERROR" ID="0xd8e801c2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="param memcpy failed @stack_pbap_if.c(62),ERROR" ID="0xd8e801f2" />
+                       <MSG STRUCTURE="diag_log_msg3" NAME="conn_hdl=0x%x path_len=%u path=%s @stack_pbap_if.c(67),INFO" ID="0xd8e8021d" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="max_count=%hu @stack_pbap_if.c(68),INFO" ID="0xd8e80225" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="path memcpy failed @stack_pbap_if.c(86),ERROR" ID="0xd8e802b2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="param memcpy failed @stack_pbap_if.c(92),ERROR" ID="0xd8e802e2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="search_value memcpy failed @stack_pbap_if.c(98),ERROR" ID="0xd8e80312" />
+                       <MSG STRUCTURE="diag_log_msg4" NAME="path=%s path_len=%u search_attrib=0x%x search_val=%s @stack_pbap_if.c(105),INFO" ID="0xd8e8034d" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="path memcpy failed @stack_pbap_if.c(119),ERROR" ID="0xd8e803ba" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="param memcpy failed @stack_pbap_if.c(125),ERROR" ID="0xd8e803ea" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="path=%s path_len=%u @stack_pbap_if.c(130),INFO" ID="0xd8e80415" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="path memcpy failed @stack_pbap_if.c(145),ERROR" ID="0xd8e8048a" />
+                       <MSG STRUCTURE="diag_log_msg2" NAME="path=%s path_len=%u @stack_pbap_if.c(149),INFO" ID="0xd8e804ad" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="a2dp_audio: btsdk_pbap_reg_cbk error @stack_pbap_if.c(195),ERROR" ID="0xd8e8061a" />
                        </MSG_LOG>
\ No newline at end of file
index 8dd6e0f..6fc4b23 100644 (file)
                        <MSG STRUCTURE="diag_log_msg0" NAME="memcpy for data failed. @ui_canvas_ext.cpp(130),ERROR" ID="0xcaea0412" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="can only set matrix after beginning any path. @ui_canvas_ext.cpp(144),ERROR" ID="0xcaea0482" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="Index out of range. @ui_canvas_ext.cpp(152),ERROR" ID="0xcaea04c2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="Image is invalid! @ui_canvas_ext.cpp(335),ERROR" ID="0xcaea0a7a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="path or paint or matrix is nullptr. @ui_canvas_ext.cpp(384),ERROR" ID="0xcaea0c02" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="Alloc buffer for cmd failed. @ui_canvas_ext.cpp(443),ERROR" ID="0xcaea0dda" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="Alloc buffer for cmd failed. @ui_canvas_ext.cpp(480),ERROR" ID="0xcaea0f02" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="Alloc buffer for cmd failed. @ui_canvas_ext.cpp(514),ERROR" ID="0xcaea1012" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="Sector is not supported currently @ui_canvas_ext.cpp(530),WARNING" ID="0xcaea1093" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="startAngle and endAngle can not be smaller than 0. @ui_canvas_ext.cpp(538),ERROR" ID="0xcaea10d2" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="endAngle should not be equal to startAngle @ui_canvas_ext.cpp(542),ERROR" ID="0xcaea10f2" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="realpath fail:  %s @ui_canvas_ext.cpp(583),ERROR" ID="0xcaea123a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="new svgdata obj failed @ui_canvas_ext.cpp(595),ERROR" ID="0xcaea129a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="OverlayOpacity Failed!!! @ui_canvas_ext.cpp(620),ERROR" ID="0xcaea1362" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="can only set matrix after beginning any path. @ui_canvas_ext.cpp(707),ERROR" ID="0xcaea161a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="index error @ui_canvas_ext.cpp(711),ERROR" ID="0xcaea163a" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="read data fail. @ui_canvas_ext.cpp(774),ERROR" ID="0xcaea1832" />
-                       <MSG STRUCTURE="diag_log_msg0" NAME="UIMalloc path fail. @ui_canvas_ext.cpp(792),ERROR" ID="0xcaea18c2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="HandleStyleAndPattern failed. UpdateImageInfoIfNecessary failed. @ui_canvas_ext.cpp(273),ERROR" ID="0xcaea088a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="Image is invalid! @ui_canvas_ext.cpp(339),ERROR" ID="0xcaea0a9a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="path or paint or matrix is nullptr. @ui_canvas_ext.cpp(389),ERROR" ID="0xcaea0c2a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="Alloc buffer for cmd failed. @ui_canvas_ext.cpp(448),ERROR" ID="0xcaea0e02" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="Alloc buffer for cmd failed. @ui_canvas_ext.cpp(485),ERROR" ID="0xcaea0f2a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="Alloc buffer for cmd failed. @ui_canvas_ext.cpp(519),ERROR" ID="0xcaea103a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="Sector is not supported currently @ui_canvas_ext.cpp(535),WARNING" ID="0xcaea10bb" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="startAngle and endAngle can not be smaller than 0. @ui_canvas_ext.cpp(543),ERROR" ID="0xcaea10fa" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="endAngle should not be equal to startAngle @ui_canvas_ext.cpp(547),ERROR" ID="0xcaea111a" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="realpath fail:  %s @ui_canvas_ext.cpp(588),ERROR" ID="0xcaea1262" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="new svgdata obj failed @ui_canvas_ext.cpp(600),ERROR" ID="0xcaea12c2" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="OverlayOpacity Failed!!! @ui_canvas_ext.cpp(625),ERROR" ID="0xcaea138a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="can only set matrix after beginning any path. @ui_canvas_ext.cpp(712),ERROR" ID="0xcaea1642" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="index error @ui_canvas_ext.cpp(716),ERROR" ID="0xcaea1662" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="read data fail. @ui_canvas_ext.cpp(779),ERROR" ID="0xcaea185a" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="UIMalloc path fail. @ui_canvas_ext.cpp(797),ERROR" ID="0xcaea18ea" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="open %s fail @ui_canvas_ext.cpp(813),ERROR" ID="0xcaea196a" />
+                       <MSG STRUCTURE="diag_log_msg0" NAME="UIMalloc path fail. @ui_canvas_ext.cpp(802),ERROR" ID="0xcaea1912" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="open %s fail @ui_canvas_ext.cpp(818),ERROR" ID="0xcaea1992" />
                        </MSG_LOG>
\ No newline at end of file
index 0b2ac28..b1d8c6a 100644 (file)
                        <MSG STRUCTURE="diag_log_msg0" NAME="[ERROR][CFG]BT_CFG_FAIL @bt_em_config.c(1131),ERROR" ID="0x8944235a" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="[ERROR][CFG] bt_write_cfg_by_em failed @bt_em_config.c(1186),ERROR" ID="0x89442512" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="[INFO][DFX]dfx_bt_parse_debug_cmd:too many Parameter, quit parsing @patch_btdfx.c(50),INFO" ID="0x8a560195" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="pbap srv pull phonebook ret=0x%x @bt_ahi_pbap.c(50),INFO" ID="0x8c9e0195" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="pbap srv pull cardlist ret=0x%x @bt_ahi_pbap.c(68),INFO" ID="0x8c9e0225" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="pbap srv pull cardentry ret=0x%x @bt_ahi_pbap.c(86),INFO" ID="0x8c9e02b5" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="pbap srv set path ret=0x%x @bt_ahi_pbap.c(103),INFO" ID="0x8c9e033d" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="pbap srv pull phonebook ret=0x%x @bt_ahi_pbap.c(51),INFO" ID="0x8c9e019d" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="pbap srv pull cardlist ret=0x%x @bt_ahi_pbap.c(72),INFO" ID="0x8c9e0245" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="pbap srv pull cardentry ret=0x%x @bt_ahi_pbap.c(90),INFO" ID="0x8c9e02d5" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="pbap srv set path ret=0x%x @bt_ahi_pbap.c(107),INFO" ID="0x8c9e035d" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="[WARNING][BIS]not find big conhdl @llm_bis.c(130),WARNING" ID="0x89520413" />
                        <MSG STRUCTURE="diag_log_msg0" NAME="[WARNING][BIS]not find big conhdl @llm_bis.c(179),WARNING" ID="0x8952059b" />
                        <MSG STRUCTURE="diag_log_msg1" NAME="[INFO][WBS]wbs_init entered for task id=%d @lc_wbs.c(110),INFO" ID="0x886a0375" />
index e9481c5..edfe630 100644 (file)
@@ -1,5 +1,5 @@
-<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="pbap srv pull phonebook ret=0x%x @bt_ahi_pbap.c(50),INFO" ID="0x8c9e0195" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="pbap srv pull cardlist ret=0x%x @bt_ahi_pbap.c(68),INFO" ID="0x8c9e0225" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="pbap srv pull cardentry ret=0x%x @bt_ahi_pbap.c(86),INFO" ID="0x8c9e02b5" />
-                       <MSG STRUCTURE="diag_log_msg1" NAME="pbap srv set path ret=0x%x @bt_ahi_pbap.c(103),INFO" ID="0x8c9e033d" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="pbap srv pull phonebook ret=0x%x @bt_ahi_pbap.c(51),INFO" ID="0x8c9e019d" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="pbap srv pull cardlist ret=0x%x @bt_ahi_pbap.c(72),INFO" ID="0x8c9e0245" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="pbap srv pull cardentry ret=0x%x @bt_ahi_pbap.c(90),INFO" ID="0x8c9e02d5" />
+                       <MSG STRUCTURE="diag_log_msg1" NAME="pbap srv set path ret=0x%x @bt_ahi_pbap.c(107),INFO" ID="0x8c9e035d" />
                        </MSG_LOG>
\ No newline at end of file
index e57248c..c5a5e72 100644 (file)
Binary files a/code/sdk/interim_binary/brandy/libs/bt/evb_standard/freertos/br/libbt_host_audio_manager_wrapper.a and b/code/sdk/interim_binary/brandy/libs/bt/evb_standard/freertos/br/libbt_host_audio_manager_wrapper.a differ
index 1e35cc3..dc7c4de 100644 (file)
Binary files a/code/sdk/interim_binary/brandy/libs/bt/evb_standard/freertos/br/libbt_host_brandy_service.a and b/code/sdk/interim_binary/brandy/libs/bt/evb_standard/freertos/br/libbt_host_brandy_service.a differ
index 3ed0788..54c9596 100644 (file)
Binary files a/code/sdk/interim_binary/brandy/libs/bt/evb_standard/freertos/br/libbt_host_sdk.a and b/code/sdk/interim_binary/brandy/libs/bt/evb_standard/freertos/br/libbt_host_sdk.a differ
index d3a056d..1ddd57e 100644 (file)
Binary files a/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/br/libbt_host_audio_manager_wrapper.a and b/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/br/libbt_host_audio_manager_wrapper.a differ
index bb54f88..e396688 100644 (file)
Binary files a/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/br/libbt_host_brandy_service.a and b/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/br/libbt_host_brandy_service.a differ
index 36388d0..b58bd0e 100644 (file)
Binary files a/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/br/libbt_host_sdk.a and b/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/br/libbt_host_sdk.a differ
index 50f9fb2..d2214bc 100644 (file)
Binary files a/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/mini/br/libbt_host_brandy_service.a and b/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/mini/br/libbt_host_brandy_service.a differ
index cba656b..ca04ee8 100644 (file)
Binary files a/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/mini/br/libbt_host_sdk.a and b/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/mini/br/libbt_host_sdk.a differ
index 69daa6f..739649d 100644 (file)
@@ -79,7 +79,7 @@ LOSCFG_TASK_STACK_DYNAMIC_ALLOCATION=y
 LOSCFG_BASE_CORE_TSK_LIMIT=40
 LOSCFG_BASE_CORE_TSK_MIN_STACK_SIZE=1024
 LOSCFG_BASE_CORE_TSK_DEFAULT_STACK_SIZE=2048
-LOSCFG_BASE_CORE_TSK_SWTMR_STACK_SIZE=2048
+LOSCFG_BASE_CORE_TSK_SWTMR_STACK_SIZE=3072
 LOSCFG_BASE_CORE_TSK_IDLE_STACK_SIZE=3072
 LOSCFG_BASE_CORE_TSK_DEFAULT_PRIO=10
 LOSCFG_BASE_CORE_TICK_PER_SECOND=1000
index d66e1b6..9e503f1 100644 (file)
@@ -79,7 +79,7 @@ LOSCFG_TASK_STACK_DYNAMIC_ALLOCATION=y
 LOSCFG_BASE_CORE_TSK_LIMIT=40
 LOSCFG_BASE_CORE_TSK_MIN_STACK_SIZE=1024
 LOSCFG_BASE_CORE_TSK_DEFAULT_STACK_SIZE=2048
-LOSCFG_BASE_CORE_TSK_SWTMR_STACK_SIZE=2048
+LOSCFG_BASE_CORE_TSK_SWTMR_STACK_SIZE=3072
 LOSCFG_BASE_CORE_TSK_IDLE_STACK_SIZE=3072
 LOSCFG_BASE_CORE_TSK_DEFAULT_PRIO=10
 LOSCFG_BASE_CORE_TICK_PER_SECOND=1000
index b5e2a65..2d1e3bd 100644 (file)
@@ -120,6 +120,8 @@ typedef enum {
     JSI_CPP,
     APP_MODULE_CPP,
     DEVICE_MODULE_CPP,
+    NFC_MODULE_CPP,
+    GEOLOCATION_MODULE_CPP,
     VIBRATOR_MODULE_CPP,
     BATTERY_MODULE_CPP,
     SENSOR_MODULE_CPP,
index 27c3625..72ef5d2 100644 (file)
@@ -30,7 +30,6 @@ set(PRIVATE_DEFINES
 )
 
 set(PUBLIC_DEFINES
-    SUPPORT_DFX_EXCEPTION
 )
 
 # use this when you want to add ccflags like -include xxx
index 39e82ad..335c9aa 100644 (file)
@@ -833,6 +833,7 @@ static errcode_t exc_info_write_local(exc_info_save_t *exc_info_save, uint32_t e
     set_trans_type(TRANS_BY_CPU_SINGLE_LINE);\r
     ret = exc_info_write(g_exc_info_path, 0, (const uint8_t *)exc_info_save, exc_size);\r
     dump_all_to_file();\r
+    save_preserve_file_to_nand();\r
 #endif\r
 #ifdef CFG_DRIVERS_MMC\r
     char *exc_info_buffer = (char *)osal_kmalloc_align(ONE_SECTOR_SIZE, 0, MMC_BUFFER_ALIGN);\r
diff --git a/code/sdk/middleware/services/gpu/api/rm/brandy-auto-ota-cli/libgfx_rm.a b/code/sdk/middleware/services/gpu/api/rm/brandy-auto-ota-cli/libgfx_rm.a
new file mode 100644 (file)
index 0000000..74bab2e
Binary files /dev/null and b/code/sdk/middleware/services/gpu/api/rm/brandy-auto-ota-cli/libgfx_rm.a differ
diff --git a/code/sdk/middleware/services/gpu/api/rm/brandy-auto-ota-ser/libgfx_rm.a b/code/sdk/middleware/services/gpu/api/rm/brandy-auto-ota-ser/libgfx_rm.a
new file mode 100644 (file)
index 0000000..0c18f1d
Binary files /dev/null and b/code/sdk/middleware/services/gpu/api/rm/brandy-auto-ota-ser/libgfx_rm.a differ
index 8180179..901f59c 100644 (file)
Binary files a/code/sdk/middleware/services/gpu/api/rm/brandy-native-js-r/libgfx_rm.a and b/code/sdk/middleware/services/gpu/api/rm/brandy-native-js-r/libgfx_rm.a differ
index b75933c..1f2f82e 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 20bf23a..0406d16 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 9be0af0..c72f493 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 a782b27..ed20488 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 1bb1a13..4188f34 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 ff59d41..0056cd0 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 1f01de5..3b99282 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 e41bccf..a0f017f 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 6523213..4500b51 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 89d1d6f..7ca96c1 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 2fbcf2d..db044ac 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
diff --git a/code/sdk/middleware/services/gui/hal/display/brandy-auto-ota-cli/libdisplay_gfx.a b/code/sdk/middleware/services/gui/hal/display/brandy-auto-ota-cli/libdisplay_gfx.a
new file mode 100644 (file)
index 0000000..c43a607
Binary files /dev/null and b/code/sdk/middleware/services/gui/hal/display/brandy-auto-ota-cli/libdisplay_gfx.a differ
diff --git a/code/sdk/middleware/services/gui/hal/display/brandy-auto-ota-ser/libdisplay_gfx.a b/code/sdk/middleware/services/gui/hal/display/brandy-auto-ota-ser/libdisplay_gfx.a
new file mode 100644 (file)
index 0000000..f556eaf
Binary files /dev/null and b/code/sdk/middleware/services/gui/hal/display/brandy-auto-ota-ser/libdisplay_gfx.a differ
index 74ed30a..4406327 100644 (file)
Binary files a/code/sdk/middleware/services/gui/hal/display/brandy-native-js/libdisplay_gfx.a and b/code/sdk/middleware/services/gui/hal/display/brandy-native-js/libdisplay_gfx.a differ
index e4ea397..49605af 100644 (file)
Binary files a/code/sdk/middleware/services/gui/hal/display/brandy-target1/libdisplay_gfx.a and b/code/sdk/middleware/services/gui/hal/display/brandy-target1/libdisplay_gfx.a differ
index 975c3d6..6c3cb9c 100644 (file)
Binary files a/code/sdk/middleware/services/gui/hal/display/brandy-target3/libdisplay_gfx.a and b/code/sdk/middleware/services/gui/hal/display/brandy-target3/libdisplay_gfx.a differ
index cacde72..746d092 100644 (file)
Binary files a/code/sdk/middleware/services/gui/hal/display/brandy-target5/libdisplay_gfx.a and b/code/sdk/middleware/services/gui/hal/display/brandy-target5/libdisplay_gfx.a differ
index 1a0160a..6346e30 100644 (file)
Binary files a/code/sdk/middleware/services/gui/hal/display/brandy-xts/libdisplay_gfx.a and b/code/sdk/middleware/services/gui/hal/display/brandy-xts/libdisplay_gfx.a differ
index 8afdc3f..a2b331d 100644 (file)
@@ -56,6 +56,7 @@ typedef struct {
     uint64_t length;
 } AddrInfo;
 
+TryToFreeImgCallback g_tryToFreeImgCallback = NULL;
 #if ENABLE_GMMU
 static bool g_gmmuAllocated[FB_COUNT] = {false, false};
 struct gmmu_buf_struct g_gmmuMem = { 0 };
@@ -205,37 +206,40 @@ static int32_t AllocMem(const AllocInfo *info, BufferHandle **handle)
         DISP_LOGE("malloc mem for buffer failed.\n");
         return DISPLAY_NULL_PTR;
     }
-
     int32_t ret = InitBufferHandle(buffer, info);
     if (ret != DISPLAY_SUCCESS) {
         DISP_LOGE("InitBufferHandle failed.\n");
         goto END;
     }
 
-#if !ENABLE_GMMU
-    if (buffer->size > MAX_MALLOC_SIZE || buffer->size == 0) {
-        DISP_LOGE("bufferSize[%lld] is invalid.\n", buffer->size);
-        ret = DISPLAY_FAILURE;
-        goto END;
-    }
-#endif
-
     if ((info->usage & HBM_USE_MEM_FB) == HBM_USE_MEM_FB) {
         ret = AllocMemForFB(buffer);
         goto END;
     }
 
-    uint8_t *pool = g_poolId;
-    if (((info->usage & HBM_USE_MEM_FONT) == HBM_USE_MEM_FONT) ||
-        ((info->usage & HBM_USE_MEM_PATH) == HBM_USE_MEM_PATH)){
-        pool = g_fontPoolId;
-    }
+    uint8_t *pool = (((info->usage & HBM_USE_MEM_FONT) == HBM_USE_MEM_FONT) ||
+        ((info->usage & HBM_USE_MEM_PATH) == HBM_USE_MEM_PATH)) ? g_fontPoolId : g_poolId;
 
-    uint8_t *addr = LosAllocMem(pool, (uint32_t)(buffer->size));
-    if (addr == NULL) {
+    int32_t maxSize = ((pool == g_poolId) ? MEM_POOL_UI_OTHER_SIZE : MEM_POOL_UI_FONT_SIZE);
+    if ((buffer->size <= 0) || (buffer->size > maxSize)) {
+        DISP_LOGE("bufferSize[%lld] is invalid.\n", buffer->size);
         ret = DISPLAY_FAILURE;
         goto END;
     }
+
+    uint8_t *addr = LosAllocMem(pool, (uint32_t)(buffer->size));
+    if ((pool == g_poolId) && (g_tryToFreeImgCallback != NULL)) {
+        while (addr == NULL) {
+            if (g_tryToFreeImgCallback()) {
+                DISP_LOGW("Success to free image during AllocMem size:%d\n", buffer->size);
+                addr = LosAllocMem(pool, (uint32_t)(buffer->size));
+            } else {
+                DISP_LOGE("Failed to AllocMem size:%d and no image can be free\n", buffer->size);
+                break;
+            }
+        }
+    }
+    ret = (addr == NULL) ? DISPLAY_FAILURE : DISPLAY_SUCCESS;
     buffer->virAddr = (void *)addr;
     buffer->phyAddr = (uint64_t)addr;
 
@@ -280,6 +284,11 @@ static void FreeMem(BufferHandle *handle)
     free(handle);
 }
 
+static void RegisterTryToFreeImgCallback(TryToFreeImgCallback callback)
+{
+    g_tryToFreeImgCallback = callback;
+}
+
 int32_t GrallocInitialize(GrallocFuncs **funcs)
 {
     CHECK_NULLPOINTER_RETURN_VALUE(funcs, DISPLAY_NULL_PTR);
@@ -299,6 +308,7 @@ int32_t GrallocInitialize(GrallocFuncs **funcs)
     (void)memset_s(gFuncs, sizeof(GrallocFuncs), 0, sizeof(GrallocFuncs));
     gFuncs->AllocMem = AllocMem;
     gFuncs->FreeMem = FreeMem;
+    gFuncs->RegisterTryToFreeImgCallback = RegisterTryToFreeImgCallback;
     *funcs = gFuncs;
 
 #if ENABLE_GMMU
diff --git a/code/sdk/middleware/services/gui/uikit/brandy-auto-ota-cli/libuikit_ext.a b/code/sdk/middleware/services/gui/uikit/brandy-auto-ota-cli/libuikit_ext.a
new file mode 100644 (file)
index 0000000..ce7f417
Binary files /dev/null and b/code/sdk/middleware/services/gui/uikit/brandy-auto-ota-cli/libuikit_ext.a differ
diff --git a/code/sdk/middleware/services/gui/uikit/brandy-auto-ota-ser/libuikit_ext.a b/code/sdk/middleware/services/gui/uikit/brandy-auto-ota-ser/libuikit_ext.a
new file mode 100644 (file)
index 0000000..af9e8fe
Binary files /dev/null and b/code/sdk/middleware/services/gui/uikit/brandy-auto-ota-ser/libuikit_ext.a differ
index 5c9785d..8ee2fe1 100644 (file)
Binary files a/code/sdk/middleware/services/gui/uikit/brandy-native-js/libuikit_ext.a and b/code/sdk/middleware/services/gui/uikit/brandy-native-js/libuikit_ext.a differ
index e92e26d..f23626d 100644 (file)
Binary files a/code/sdk/middleware/services/gui/uikit/brandy-target3/libuikit_ext.a and b/code/sdk/middleware/services/gui/uikit/brandy-target3/libuikit_ext.a differ
index d3760eb..8abc14e 100644 (file)
Binary files a/code/sdk/middleware/services/gui/uikit/brandy-xts/libuikit_ext.a and b/code/sdk/middleware/services/gui/uikit/brandy-xts/libuikit_ext.a differ
index 095a9f1..699ef70 100644 (file)
@@ -34,6 +34,7 @@
 #include <string>
 #include <cstdint>
 #include <unordered_map>
+#include "securec.h"
 #include "gfx_utils/image_info.h"
 #include "gfx_utils/heap_base.h"
 #include "graphic_config.h"
@@ -104,7 +105,7 @@ public:
      */
     void UpdateImageInfoIfNecessary(ImageInfo& info);
 
-    void* FreeAndGetBuf(const AllocInfo& info, GrallocBuffer& buffer);
+    bool TryToFreeImage();
 
     /**
      * @brief Dump image information.
@@ -141,11 +142,13 @@ private:
 
     std::unordered_map<std::string, MultiImageInfo*> pathMap_;
     std::unordered_map<uint8_t*, MultiImageInfo*> bufMap_;
-    ImageNode longTermList_ = {0};
-    ImageNode shortTermList_ = {0};
+    ImageNode longTermList_;
+    ImageNode shortTermList_;
 
     ImageCacheManager()
     {
+        memset_s(&longTermList_, sizeof(longTermList_), 0, sizeof(longTermList_));
+        memset_s(&shortTermList_, sizeof(shortTermList_), 0, sizeof(shortTermList_));
         longTermList_.prev = &longTermList_;
         longTermList_.next = &longTermList_;
         shortTermList_.prev = &shortTermList_;
index 7fdeef3..807ae24 100644 (file)
@@ -41,13 +41,16 @@ public:
      * @param event, indicates the task to post.\r
      */\r
     void PostGraphicEvent(const GraphicEvent& event, bool exitLowPower = true);\r
+\r
+    /**\r
+     * @brief Clear graphic event queue.\r
+     */\r
     void ClearGraphicEvent();\r
 \r
 private:\r
     std::queue<GraphicEvent> eventQueue_;\r
     GraphicMutex queueMutex_;\r
     GraphicCond pthreadCond_;\r
-\r
     GraphicEventHandler();\r
     virtual ~GraphicEventHandler();\r
 };\r
index 4d7d165..0c019c6 100644 (file)
@@ -73,14 +73,23 @@ public:
 \r
     /**\r
      * @brief Set Native UI running state.\r
-     * @param running, indicates whether Native UI is Running or not;\r
+     * @param running, indicates whether Native UI is Running or not.\r
      */\r
     void SetNativeUIRunning(bool isRunning);\r
 \r
+    /**\r
+     * @brief Return whether Native UI is Running or not.\r
+     */\r
     int IsNativeRunning() const;\r
 \r
+    /**\r
+     * @brief Return whether screen is on or not.\r
+     */\r
     int IsScreenOn() const;\r
 \r
+    /**\r
+     * @brief Return graphic task triggered count.\r
+     */\r
     int GetGraphicTaskTriggeredCount() const;\r
 \r
     /**\r
@@ -132,18 +141,11 @@ public:
 private:\r
     friend class GraphicEventHandler;\r
     static VsyncCallback jsVsyncCallback_;\r
-#if !defined(_WIN32)\r
     static osal_atomic isNativeRunning_;\r
     static osal_atomic graphicTaskTriggeredCount_;\r
     static osal_atomic isScreenOn_;\r
-#else\r
-    static std::atomic<int> isNativeRunning_;\r
-    static std::atomic<int> graphicTaskTriggeredCount_;\r
-    static std::atomic<int> isScreenOn_;\r
-#endif\r
     static OHOS::GraphicMutex rtcEventMutex_;\r
     static OHOS::GraphicCond rtcEventCond_;\r
-    static bool fullRefreshFlag_;\r
     bool isGpuReseting = false;\r
     void DecreaseTriggerCount();\r
     void SetUpRootView();\r
index 821da85..067e4f5 100644 (file)
@@ -29,6 +29,8 @@
 extern "C" {
 #endif
 
+typedef void (*GraphicEventCb)(void*);
+
 /**
  *  @brief Get current frequence.
  */
@@ -74,6 +76,7 @@ void ShowGraphicLogo(void);
  */
 void HideGraphicLogo(void);
 
+void PostGraphicEvent(GraphicEventCb eventCb, void* userData);
 #ifdef __cplusplus
 };
 #endif
index f9c37e2..2e73684 100644 (file)
@@ -32,6 +32,7 @@ set(PRIVATE_HEADER
     ${UIKIT_ROOT_DIR}/proprietary/src/ui/frameworks
     ${UIKIT_ROOT_DIR}/proprietary/src/ui/innerkits
     ${ROOTDIR}/open_source/openharmony/drivers/peripheral/display/interfaces/include
+    ${ROOTDIR}/application/wearable/nativeapp/nativeui/screennotify/include
 )
 
 set(PRIVATE_DEFINES
index 626d232..3a0c7f9 100644 (file)
 #include "engines/gfx/lite_m_gfx_engine.h"\r
 #include "common/screen.h"\r
 #include "components/root_view.h"\r
+#ifdef SUPPORT_AT_OHOSFWK\r
+#include "ui_screennotify.h"\r
+#endif\r
 \r
 VsyncCallback GraphicService::jsVsyncCallback_;\r
-#if !defined(_WIN32)\r
 osal_atomic GraphicService::isNativeRunning_{1};\r
 osal_atomic GraphicService::graphicTaskTriggeredCount_{0};\r
 osal_atomic GraphicService::isScreenOn_{0};\r
-#else\r
-std::atomic<int> GraphicService::isNativeRunning_(1);\r
-std::atomic<int> GraphicService::graphicTaskTriggeredCount_(0);\r
-std::atomic<int> GraphicService::isScreenOn_(0);\r
-#endif\r
 OHOS::GraphicMutex GraphicService::rtcEventMutex_;\r
 OHOS::GraphicCond GraphicService::rtcEventCond_;\r
 static ThreadId g_rtcEventThreadId;\r
 static ThreadId g_mainThreadId;\r
-bool GraphicService::fullRefreshFlag_{false};\r
 \r
 GraphicService::GraphicService() {}\r
 \r
@@ -60,19 +56,10 @@ void GraphicService::RegJSVsyncCallback(VsyncCallback callback)
 \r
 bool GraphicService::SyncTriggerJSGraphicTask()\r
 {\r
-#if !defined(_WIN32)\r
-    if ((osal_atomic_read(&isNativeRunning_) == 1) || osal_atomic_read(&graphicTaskTriggeredCount_) > 0 ||\r
-        osal_atomic_read(&isScreenOn_) == 0) {\r
+    if ((IsNativeRunning() == 1) || (GetGraphicTaskTriggeredCount() > 0) || (IsScreenOn() == 0)) {\r
         GRAPHIC_LOGI("Trigger JS Task failed. Native is running or Graphic Task is already triggered.");\r
         return false;\r
     }\r
-#else\r
-    if ((isNativeRunning_.load() == 1) || graphicTaskTriggeredCount_.load() > 0 ||\r
-        isScreenOn_.load() == 0) {\r
-        GRAPHIC_LOGI("Trigger JS Task failed. Native is running or Graphic Task is already triggered.");\r
-        return false;\r
-    }\r
-#endif\r
 \r
     OHOS::TaskManager::GetInstance()->TaskHandler();\r
     return true;\r
@@ -80,16 +67,15 @@ bool GraphicService::SyncTriggerJSGraphicTask()
 \r
 bool GraphicService::AsyncTriggerNativeGraphicTask()\r
 {\r
-#if !defined(_WIN32)\r
-    if (osal_atomic_read(&graphicTaskTriggeredCount_) <= 1) {\r
+    if (GraphicService::GetInstance()->GetGraphicTaskTriggeredCount() <= 1) {\r
         osal_atomic_inc(&graphicTaskTriggeredCount_);\r
-#else\r
-    if (graphicTaskTriggeredCount_.load() <= 1) {\r
-        graphicTaskTriggeredCount_.fetch_add(1);\r
-#endif\r
         OHOS::GraphicEventHandler::GetInstance()->PostGraphicEvent(\r
             [] {\r
-                OHOS::TaskManager::GetInstance()->TaskHandler();\r
+                if (GraphicService::GetInstance()->IsScreenOn()) {\r
+                    OHOS::TaskManager::GetInstance()->TaskHandler();\r
+                } else {\r
+                    GRAPHIC_LOGW("ignore redundant task when screen is off\n");\r
+                }\r
                 GraphicService::GetInstance()->DecreaseTriggerCount();\r
             },\r
             false);\r
@@ -101,56 +87,32 @@ bool GraphicService::AsyncTriggerNativeGraphicTask()
 void GraphicService::SetNativeUIRunning(bool isRunning)\r
 {\r
     if (isRunning) {\r
-#if !defined(_WIN32)\r
         osal_atomic_set(&isNativeRunning_, 1);\r
     } else {\r
         osal_atomic_set(&isNativeRunning_, 0);\r
         OHOS::GraphicEventHandler::GetInstance()->ClearGraphicEvent();\r
         osal_atomic_set(&graphicTaskTriggeredCount_, 0);\r
-#else\r
-        isNativeRunning_.store(1);\r
-    } else {\r
-        isNativeRunning_.store(0);\r
-        OHOS::GraphicEventHandler::GetInstance()->ClearGraphicEvent();\r
-        graphicTaskTriggeredCount_.store(0);\r
-#endif\r
     }\r
 }\r
 \r
 int GraphicService::IsNativeRunning() const\r
 {\r
-#if !defined(_WIN32)\r
     return osal_atomic_read(&isNativeRunning_);\r
-#else\r
-    return isNativeRunning_.load();\r
-#endif\r
 }\r
 \r
 int GraphicService::GetGraphicTaskTriggeredCount() const\r
 {\r
-#if !defined(_WIN32)\r
     return osal_atomic_read(&graphicTaskTriggeredCount_);\r
-#else\r
-    return graphicTaskTriggeredCount_.load();\r
-#endif\r
 }\r
 \r
 int GraphicService::IsScreenOn() const\r
 {\r
-#if !defined(_WIN32)\r
     return osal_atomic_read(&isScreenOn_);\r
-#else\r
-    return isScreenOn_.load();\r
-#endif\r
 }\r
 \r
 void GraphicService::DecreaseTriggerCount()\r
 {\r
-#if !defined(_WIN32)\r
     osal_atomic_dec(&graphicTaskTriggeredCount_);\r
-#else\r
-    graphicTaskTriggeredCount_.fetch_sub(1);\r
-#endif\r
 }\r
 \r
 void GraphicService::PostGraphicEvent(const OHOS::GraphicEvent& event)\r
@@ -160,29 +122,22 @@ void GraphicService::PostGraphicEvent(const OHOS::GraphicEvent& event)
 \r
 void GraphicService::NotifyScreenOn()\r
 {\r
-    fullRefreshFlag_ = true;\r
-#if !defined(_WIN32)\r
-    if (osal_atomic_read(&isScreenOn_) == 0) {\r
-        osal_atomic_set(&isScreenOn_, 1);\r
-    }\r
-#else\r
-    if (isScreenOn_.load() == 0) {\r
-        isScreenOn_.store(1);\r
-    }\r
+#ifdef SUPPORT_AT_OHOSFWK\r
+    notify_screen_on_event();\r
 #endif\r
+    OHOS::RootView::GetInstance()->Invalidate(); // full refresh\r
+\r
+    osal_atomic_set(&isScreenOn_, 1);\r
 }\r
 \r
 void GraphicService::NotifyScreenOff()\r
 {\r
-#if !defined(_WIN32)\r
-    osal_atomic_set(&isScreenOn_, 0);\r
-    OHOS::GraphicEventHandler::GetInstance()->ClearGraphicEvent();\r
-    osal_atomic_set(&graphicTaskTriggeredCount_, 0);\r
-#else\r
-    isScreenOn_.store(0);\r
-    OHOS::GraphicEventHandler::GetInstance()->ClearGraphicEvent();\r
-    graphicTaskTriggeredCount_.store(0);\r
+#ifdef SUPPORT_AT_OHOSFWK\r
+    notify_screen_off_event();\r
 #endif\r
+    EnableAsyncMode(false); // flush pending frame if necessary\r
+\r
+    osal_atomic_set(&isScreenOn_, 0);\r
 }\r
 \r
 void GraphicService::EnableAsyncMode(bool enable)\r
@@ -218,31 +173,15 @@ void* GraphicService::RtcEventThread(void* args)
         rtcEventMutex_.Lock();\r
         rtcEventCond_.Wait(rtcEventMutex_);\r
         rtcEventMutex_.Unlock();\r
-#if !defined(_WIN32)\r
-        if (osal_atomic_read(&isScreenOn_) == 0) {\r
-#else\r
-        if (isScreenOn_.load() == 0) {\r
-#endif\r
+        if (GraphicService::GetInstance()->IsScreenOn() == 0) {\r
             continue;\r
         }\r
-        if (fullRefreshFlag_) {\r
-            if (OHOS::RootView::GetInstance()->GetChildrenHead() != nullptr) {\r
-                OHOS::RootView::GetInstance()->Invalidate();\r
-            }\r
-            fullRefreshFlag_ = false;\r
-        }\r
 \r
-#if !defined(_WIN32)\r
-        if (osal_atomic_read(&isNativeRunning_) == 1) {\r
+        if (GraphicService::GetInstance()->IsNativeRunning() == 1) {\r
             AsyncTriggerNativeGraphicTask();\r
         } else {\r
             jsVsyncCallback_();\r
         }\r
-#else\r
-        if (isNativeRunning_.load() == 1) {\r
-            AsyncTriggerNativeGraphicTask();\r
-        }\r
-#endif\r
     }\r
 #if !defined(ENABLE_CMSIS)\r
     return nullptr;\r
index 2e17682..3b51a44 100644 (file)
@@ -17,7 +17,6 @@
 #if !defined(_WIN32)
 #include "rtc.h"
 #endif
-#include "graphic_event_handler.h"
 #include "graphic_service.h"
 #include "gfx_utils/graphic_log.h"
 #include "common/low_power_manager.h"
@@ -34,8 +33,8 @@ static const int32_t FULL_FREQUENCE = 60;
 #if !defined(_WIN32)
 static rtc_handle_t g_rtcHandle = nullptr;
 #endif
-static int32_t g_timeInterval = 16;
-static int32_t g_freq = FULL_FREQUENCE;
+static int32_t g_timeInterval = -1;
+static int32_t g_freq = 0;
 static bool g_initialized = false;
 bool g_isScreenOn = false;
 static bool g_showLogo = false;
@@ -52,6 +51,7 @@ static void UikitRTCCallBack(uintptr_t data)
 {
     (void)(data);
     if (!g_initialized || !g_isScreenOn) {
+        GRAPHIC_LOGE("RTC should not be started when g_isScreenOn:%d g_initialized:%d", g_isScreenOn, g_initialized);
         return;
     }
 #if !defined(_WIN32)
@@ -73,7 +73,7 @@ void SetFrequenceInner(int freq)
     if ((g_freq != freq) && (freq != 0)) {
         g_freq = freq;
         g_timeInterval = SECOND_TO_MILLISECOND / freq;
-        GRAPHIC_LOGI("set freq: %d, time: %dms", freq, g_timeInterval);
+        GRAPHIC_LOGI("set freq: %d, time: %dms\n", freq, g_timeInterval);
         if (freq == FULL_FREQUENCE) {
             if (!OHOS::LowPowerManager::GetInstance()->IsLiteSurfaceInRootView()) {
                 GraphicService::GetInstance()->EnableAsyncMode(true);
@@ -106,6 +106,7 @@ void SetFrequence(int freq)
 
 void NotifyScreenOn(void)
 {
+    GraphicService::GetInstance()->NotifyScreenOn();
 #if !defined(_WIN32)
     if (g_rtcHandle == nullptr) {
         return;
@@ -114,37 +115,20 @@ void NotifyScreenOn(void)
     if (!g_isScreenOn) {
         g_isScreenOn = true;
         OHOS::LowPowerManager::GetInstance()->ExitLowPower();
-#if !defined(_WIN32)
-        GRAPHIC_LOGP("ScreenOn and start RTC! time interval: %d", g_timeInterval);
-        uapi_rtc_start(g_rtcHandle, g_timeInterval, static_cast<rtc_callback_t>(UikitRTCCallBack), 0);
-#endif
     }
-    GraphicService::GetInstance()->NotifyScreenOn();
 }
 
 void NotifyScreenOff(void)
 {
 #if !defined(_WIN32)
-    if (g_rtcHandle == nullptr) {
-        return;
-    }
-#endif
-
-    if (g_isScreenOn) {
-        g_isScreenOn = false;
-#if !defined(_WIN32)
-        GRAPHIC_LOGP("ScreenOff and stop RTC!");
+    if (g_rtcHandle != nullptr) {
         uapi_rtc_stop(g_rtcHandle);
-#endif
+        g_freq = 0;
+        g_timeInterval = -1;
     }
-    g_freq = 1;
-    g_timeInterval = SECOND_TO_MILLISECOND;
+#endif
+    g_isScreenOn = false;
     GraphicService::GetInstance()->NotifyScreenOff();
-    OHOS::GraphicEventHandler::GetInstance()->PostGraphicEvent(
-        [] {
-            GraphicService::GetInstance()->EnableAsyncMode(false);
-        },
-        false);
 }
 
 void InitGraphicService(void)
@@ -154,7 +138,7 @@ void InitGraphicService(void)
     }
 
 #if !defined(_WIN32)
-    /* start RTC timer */
+    /* create RTC timer */
     uapi_rtc_create(RTC_0, &g_rtcHandle);
     if (g_rtcHandle == nullptr) {
         GRAPHIC_LOGE("create RTC timer fail!!");
@@ -185,12 +169,11 @@ void ShowGraphicLogo()
     g_logo->SetResizeMode(OHOS::UIImageView::CENTER);
     g_imgInfo = OHOS::ImageCacheManager::GetInstance().LoadSingleRes(IMAGE_OPEN_LOGO_PATH);
     g_logo->SetSrc(g_imgInfo);
-    OHOS::GraphicEventHandler::GetInstance()->PostGraphicEvent(
+    GraphicService::GetInstance()->PostGraphicEvent(
         [] {
             OHOS::RootView::GetInstance()->Add(g_logo);
             OHOS::RootView::GetInstance()->Invalidate();
-        },
-        false);
+        });
 }
 
 void HideGraphicLogo()
@@ -199,7 +182,7 @@ void HideGraphicLogo()
         return;
     }
     g_showLogo = false;
-    OHOS::GraphicEventHandler::GetInstance()->PostGraphicEvent(
+    GraphicService::GetInstance()->PostGraphicEvent(
         [] {
             if (g_logo != nullptr) {
                 OHOS::RootView::GetInstance()->Remove(g_logo);
@@ -208,10 +191,16 @@ void HideGraphicLogo()
                 OHOS::ImageCacheManager::GetInstance().UnloadSingleRes(IMAGE_OPEN_LOGO_PATH);
                 g_imgInfo = nullptr;
             }
-        },
-        false);
+        });
 }
 
+void PostGraphicEvent(GraphicEventCb eventCb, void* userData)
+{
+    GraphicService::GetInstance()->PostGraphicEvent(
+        [=] {
+            eventCb(userData);
+            });
+}
 #ifdef __cplusplus
 };
 #endif
index 86515b8..1e487d1 100644 (file)
@@ -257,6 +257,10 @@ void UISweepClock::DrawHand(BufferInfo& gfxDstBuffer, const Rect& current, const
             hand.imageInfo_ = entry.GetImageInfo();
         } else if (hand.image_.GetSrcType() == IMG_SRC_VARIABLE) {
             ImageCacheManager::GetInstance().UpdateImageInfoIfNecessary(hand.imageInfo_);
+            if (hand.imageInfo_.data == nullptr) {
+                GRAPHIC_LOGE("DrawHand failed. UpdateImageInfoIfNecessary failed.");
+                return;
+            }
         }
         DrawHandImage(gfxDstBuffer, current, invalidatedArea, hand);
     } else {
index 51355dd..e08ccf4 100644 (file)
@@ -187,6 +187,10 @@ void UITextPreviewBox::InitCursor()
 
 void UITextPreviewBox::InsertChar(UI_KEYCODE& keyCode)
 {
+    uint16_t len = TypedText::GetUTF8CharacterSize(GetText());
+    if (len >= GetMaxLength()) {
+        return;
+    }
     std::wstring temp = tempText_;
     std::string str;
     temp.insert(cursorIndex_, 1, static_cast<wchar_t>(keyCode));
@@ -210,6 +214,10 @@ void UITextPreviewBox::InsertChar(UI_KEYCODE& keyCode)
 
 void UITextPreviewBox::InsertHanzi(const std::string &u8hanzi)
 {
+    uint16_t len = TypedText::GetUTF8CharacterSize(GetText());
+    if (len >= GetMaxLength()) {
+        return;
+    }
     std::wstring temp = tempText_;
     std::string str;
     std::wstring u16hanzi = Utf8ToUtf16(u8hanzi);
index cc221dc..344e953 100644 (file)
@@ -92,7 +92,7 @@ void DumpState(int argc, char *argv[])
     printf("=== Dump State ===\n");
     printf("   NativeRunninng: %d\n", GraphicService::GetInstance()->IsNativeRunning());
     printf("   IsScreenOn: %d\n", GraphicService::GetInstance()->IsScreenOn());
-    printf("   GraphicTaskTriggeredCount_: %d\n", GraphicService::GetInstance()->GetGraphicTaskTriggeredCount());
+    printf("   GraphicTaskTriggeredCount: %d\n", GraphicService::GetInstance()->GetGraphicTaskTriggeredCount());
 }
 
 void LeakPanic(int argc, char *argv[])
index 038b17e..79b7aec 100644 (file)
@@ -87,6 +87,7 @@ static const struct {
     {UI_ICOSAHEDRON_VIEW, "UI_ICOSAHEDRON_VIEW"},
     {UI_TRANSFORM_GROUP, "UI_TRANSFORM_GROUP"},
     {UI_TRANSFORM_LIST, "UI_TRANSFORM_LIST"},
+    {UI_COVER_FLOW_2, "UI_COVER_FLOW_2"},
     {UI_NUMBER_MAX, "UI_NUMBER_MAX"},
 };
 
index 9a6a33e..084dfed 100644 (file)
@@ -32,6 +32,11 @@ GrallocEngines* GrallocEngines::GetInstance()
     return &instance;
 }
 
+static bool TryToFreeImage()
+{
+    return ImageCacheManager::GetInstance().TryToFreeImage();
+}
+
 bool GrallocEngines::Init()
 {
     if (grallocFuncs_ != nullptr) {
@@ -41,10 +46,11 @@ bool GrallocEngines::Init()
     if (GrallocInitialize(&grallocFuncs_) != DISPLAY_SUCCESS) {
         return false;
     }
+    grallocFuncs_->RegisterTryToFreeImgCallback(TryToFreeImage);
     return true;
 }
 
-bool GrallocEngines::AllocBufferOnce(const AllocInfo& info, GrallocBuffer& buffer)
+bool GrallocEngines::AllocBuffer(const AllocInfo& info, GrallocBuffer& buffer)
 {
     if (grallocFuncs_ == nullptr) {
         GRAPHIC_LOGE("GrallocEngines not init!");
@@ -52,6 +58,13 @@ bool GrallocEngines::AllocBufferOnce(const AllocInfo& info, GrallocBuffer& buffe
     }
     BufferHandle* bufferHandle = nullptr;
     if (grallocFuncs_->AllocMem(&info, &bufferHandle) != DISPLAY_SUCCESS || bufferHandle == nullptr) {
+        GRAPHIC_LOGE("GrallocEngines AllocMem size:%d usage:%x failed.", info.expectedSize, info.usage);
+#if ENABLE_MEMORY_CHECK
+        DumpMem();
+#endif
+#ifdef __LITEOS__
+        OsMemInfoPrint(reinterpret_cast<void*>(MEM_POOL_UI_OTHER));
+#endif
         return false;
     }
     g_buffers.insert(std::make_pair(reinterpret_cast<uint64_t>(bufferHandle->virAddr), bufferHandle));
@@ -65,28 +78,6 @@ bool GrallocEngines::AllocBufferOnce(const AllocInfo& info, GrallocBuffer& buffe
         printf("[Alloc] addr = %p, size = %d, usage = %llu\n", bufferHandle->virAddr, bufferHandle->size, bufferHandle->usage);
     }
 #endif
-    return true;
-}
-
-bool GrallocEngines::AllocBuffer(const AllocInfo& info, GrallocBuffer& buffer)
-{
-    if (grallocFuncs_ == nullptr && info.expectedSize == 0) {
-        GRAPHIC_LOGE("alloc failed!!, size: %u", info.expectedSize);
-        return false;
-    }
-
-    if (!AllocBufferOnce(info, buffer)) {
-        GRAPHIC_LOGE("GrallocEngines::AllocBuffer realloc size: %u", info.expectedSize);
-        if (ImageCacheManager::GetInstance().FreeAndGetBuf(info, buffer) == nullptr) {
-#if ENABLE_MEMORY_CHECK
-            DumpMem();
-#endif
-#ifdef __LITEOS__
-            OsMemInfoPrint(reinterpret_cast<void*>(MEM_POOL_UI_OTHER));
-#endif
-            return false;
-        }
-    }
     if ((info.usage & HBM_USE_MEM_YUV) == HBM_USE_MEM_YUV) {
         yuvBufCnt_++;
         if (yuvBufCnt_ > 3) { // 3: yuv buf cnt
index 5317916..ea497d5 100644 (file)
@@ -63,9 +63,9 @@ void LiteInputDistributer::GetEventData(DeviceData& data, InputDevType type)
             DfxTPGetEvent();
         }
         DeviceData curData;
-        if (!dataBuf_.IsEmpty()) {
-            curData = dataBuf_.Front();
-            dataBuf_.PopFront();
+        if (!tpList_.empty()) {
+            curData = tpList_.front();
+            tpList_.pop_front();
         } else {
             curData = deviceData_;
         }
@@ -79,18 +79,16 @@ void LiteInputDistributer::GetEventData(DeviceData& data, InputDevType type)
     }
 
     if (type == InputDevType::INDEV_TYPE_KEY) {
-        if (keyList_.IsEmpty()) {
+        if (keyList_.empty()) {
             data.keyId = INVALID_KEY_ID;
             eventLock_.Unlock();
             return;
         }
-        DeviceData* tmp = keyList_.Front();
-        keyList_.PopFront();
-        data.keyId = tmp->keyId;
-        data.state = tmp->state;
-        data.timestamp = tmp->timestamp;
-        delete tmp;
-        tmp = nullptr;
+        DeviceData tmp = keyList_.front();
+        keyList_.pop_front();
+        data.keyId = tmp.keyId;
+        data.state = tmp.state;
+        data.timestamp = tmp.timestamp;
     }
     eventLock_.Unlock();
 }
@@ -107,25 +105,22 @@ void LiteInputDistributer::SetEventData(const RawEvent& event)
         deviceData_.point.y = event.y;
         deviceData_.state = event.state;
         deviceData_.timestamp = event.timestamp;
-        dataBuf_.PushBack(deviceData_);
-        while (dataBuf_.Size() > BUFLEN) {
-            dataBuf_.PopFront();
+        while (tpList_.size() >= MAX_TP_LIST_SIZE) {
+            tpList_.pop_front();
         }
+        tpList_.push_back(deviceData_);
         eventLock_.Unlock();
         return;
     }
     if (event.type == InputDevType::INDEV_TYPE_KEY) {
-        DeviceData* data = new DeviceData();
-        data->keyId = event.keyId;
-        data->state = event.state;
-        data->timestamp = event.timestamp;
-        if (keyList_.Size() >= MAX_KEY_LIST_SIZE) {
-            DeviceData* tmp = keyList_.Front();
-            keyList_.PopFront();
-            delete tmp;
-            tmp = nullptr;
+        DeviceData data;
+        data.keyId = event.keyId;
+        data.state = event.state;
+        data.timestamp = event.timestamp;
+        while (keyList_.size() >= MAX_KEY_LIST_SIZE) {
+            keyList_.pop_front();
         }
-        keyList_.PushBack(data);
+        keyList_.push_back(data);
     }
     eventLock_.Unlock();
 }
@@ -133,9 +128,9 @@ void LiteInputDistributer::SetEventData(const RawEvent& event)
 bool LiteInputDistributer::IsEventEmpty(InputDevType type)
 {
     if (type == InputDevType::INDEV_TYPE_TOUCH) {
-        return ((g_lastData.state == 0) && (deviceData_.state == 0) && (dataBuf_.IsEmpty()));
+        return ((g_lastData.state == 0) && (deviceData_.state == 0) && (tpList_.empty()));
     } else if (type == InputDevType::INDEV_TYPE_KEY) {
-        return keyList_.IsEmpty();
+        return keyList_.empty();
     }
     return true;
 }
index 01f4c1c..7b16562 100644 (file)
@@ -20,6 +20,7 @@
 #if ENABLE_MEMORY_CHECK
 #include "gfx_utils/mem_check.h"
 #endif
+#include "engines/gfx/lite_m_gfx_engine.h"
 
 namespace OHOS {
 void* ImageCacheMalloc(ImageInfo& info)
@@ -34,7 +35,8 @@ void* ImageCacheMalloc(ImageInfo& info)
     }
     info.phyAddr = reinterpret_cast<uint8_t*>(buffer.phyAddr);
     info.data = reinterpret_cast<uint8_t*>(buffer.virAddr);
-    info.cacheNode = nullptr;
+    info.fileLen = 0;
+    info.resId = 0;
     return buffer.virAddr;
 }
 
@@ -43,6 +45,11 @@ void ImageCacheFree(ImageInfo& info)
     if (info.data == nullptr) {
         return;
     }
+
+    if (LiteMGfxEngine::GetInstance()->IsAsyncModeEnabled()) {
+        LiteMGfxEngine::GetInstance()->Flush(Rect(0, 0, 0, 0));
+    }
+    LiteMGfxEngine::GetInstance()->SyncHwDraw();
     GrallocEngines::GetInstance()->FreeBuffer(const_cast<uint8_t*>(info.data));
     info.phyAddr = nullptr;
     info.data = nullptr;
index b0e76d5..e8c8a25 100644 (file)
 #define GRAPHIC_LITE_INPUT_DISTRIBUTER_H
 
 #include <cstdio>
+#include <list>
 #include "dock/input_device.h"
 #include "gfx_utils/input_event_info.h"
-#include "gfx_utils/list.h"
 #include "graphic_mutex.h"
 
 namespace OHOS {
 const uint16_t INVALID_KEY_ID = 0xffff;
 const uint8_t MAX_KEY_LIST_SIZE = 60;
+const uint8_t MAX_TP_LIST_SIZE = 3;
 class LiteInputDistributer : public HeapBase {
 public:
     static LiteInputDistributer* GetInstance()
@@ -46,9 +47,8 @@ private:
 
     GraphicMutex eventLock_;
     DeviceData deviceData_;
-    List<DeviceData*> keyList_;
-    List<DeviceData> dataBuf_;
-    static const uint8_t BUFLEN = 3;
+    std::list<DeviceData> keyList_;
+    std::list<DeviceData> tpList_;
 };
 }
 #endif
index 75c86ea..ea8d6f7 100644 (file)
@@ -237,6 +237,10 @@ void Image::DrawImage(BufferInfo& gfxDstBuffer,
 {
     if (srcType_ == IMG_SRC_VARIABLE) {
         ImageCacheManager::GetInstance().UpdateImageInfoIfNecessary(*const_cast<ImageInfo*>(imageInfo_));
+        if (imageInfo_->data == nullptr) {
+            GRAPHIC_LOGE("DrawImage failed. UpdateImageInfoIfNecessary failed.");
+            return;
+        }
         DrawImage::DrawCommon(gfxDstBuffer, coords, mask, imageInfo_, style, opaScale);
     } else if (srcType_ == IMG_SRC_FILE) {
         DrawImage::DrawCommon(gfxDstBuffer, coords, mask, path_, style, opaScale);
index fd9d50f..5e9a127 100644 (file)
@@ -285,6 +285,10 @@ void UIAnalogClock::DrawHand(BufferInfo& gfxDstBuffer, const Rect& current, cons
             hand.imageInfo_ = entry.GetImageInfo();
         } else if (hand.image_.GetSrcType() == IMG_SRC_VARIABLE) {
             ImageCacheManager::GetInstance().UpdateImageInfoIfNecessary(hand.imageInfo_);
+            if (hand.imageInfo_.data == nullptr) {
+                GRAPHIC_LOGE("DrawHand failed. UpdateImageInfoIfNecessary failed.");
+                return;
+            }
         }
         DrawHandImage(gfxDstBuffer, current, invalidatedArea, hand);
     } else {
index b045c5e..0274f2e 100644 (file)
@@ -436,8 +436,11 @@ void UIEditText::SetMaxLength(uint16_t maxLength)
         maxLength = MAX_TEXT_LENGTH;
     }
     maxLength_ = maxLength;
-    if (textStr_.length() > maxLength) {
-        SetText(textStr_.substr(0, maxLength));
+    uint16_t curLen = static_cast<uint16_t>(TypedText::GetUTF8CharacterSize(textStr_.c_str()));
+    if (curLen > maxLength) {
+        uint32_t byteIndex = TypedText::GetByteIndexFromUTF8Id(textStr_.c_str(), maxLength);
+        std::string str = textStr_.substr(0, byteIndex);
+        SetText(str);
     }
 }
 
index 6402c36..996115f 100644 (file)
@@ -463,6 +463,10 @@ void UIImageView::OnDraw(BufferInfo& gfxDstBuffer, const Rect& invalidatedArea)
                     imgInfo = entry.GetImageInfo();
                 } else {
                     ImageCacheManager::GetInstance().UpdateImageInfoIfNecessary(*const_cast<ImageInfo*>(GetImageInfo()));
+                    if (GetImageInfo()->data == nullptr) {
+                        GRAPHIC_LOGE("Draw UIImageView failed. UpdateImageInfoIfNecessary failed.");
+                        return;
+                    }
                     imgInfo = *(GetImageInfo());
                 }
                 uint8_t pxSize = DrawUtils::GetPxSizeByColorMode(imgInfo.header.colorMode);
@@ -587,9 +591,9 @@ std::string UIImageView::GetGuiInfo() const
     if (image_.GetSrcType() == IMG_SRC_VARIABLE && buf != nullptr) {
         memset_s(buf, size, 0, size);
         const ImageInfo* info = image_.GetImageInfo();
-        sprintf_s(buf, size, "ImgInfo[%p]: size = [%d, %d], fmt = %d, data = %p, dataSize = %d, cacheNode = %p",
-            info, info->header.width, info->header.height,
-            info->header.colorMode, info->data, info->dataSize, info->cacheNode);
+        sprintf_s(buf, size, "ImgInfo[%p]: size = [%d, %d], fmt = %d, data = %p, dataSize = %d, file = %s, resId = %u",
+            info, info->header.width, info->header.height, info->header.colorMode,
+            info->data, info->dataSize, info->file, info->resId);
         std::string res(buf);
         delete []buf;
         return res;
index 247d888..6576e95 100644 (file)
@@ -1209,8 +1209,9 @@ void UIView::PrintImgInfo(const ImageInfo* info)
     if (info == nullptr) {
         printf("    ImgInfo[%p]\n", info);
     } else {
-        printf("    ImgInfo[%p]: size = [%d, %d], fmt = %d, data = %p, dataSize = %d, cacheNode = %p\n",
-            info, info->header.width, info->header.height, info->header.colorMode, info->data, info->dataSize, info->cacheNode);
+        printf("    ImgInfo[%p]: size = [%d, %d], fmt = %d, data = %p, dataSize = %d, file = %s, resId = %u\n",
+            info, info->header.width, info->header.height, info->header.colorMode,
+            info->data, info->dataSize, info->file, info->resId);
     }
 }
 
index dd55a21..31357dc 100644 (file)
@@ -96,6 +96,10 @@ void BaseGfxEngine::ClipCircle(const ImageInfo* info, float x, float y, float ra
 {
     if (info != nullptr) {
         ImageCacheManager::GetInstance().UpdateImageInfoIfNecessary(*const_cast<ImageInfo*>(info));
+        if (info->data == nullptr) {
+            GRAPHIC_LOGE("ClipCircle failed. UpdateImageInfoIfNecessary failed.");
+            return;
+        }
     }
 
     ClipPath path;
index f48bbda..6c95fb1 100644 (file)
@@ -182,7 +182,7 @@ public:
      * @since 1.0
      * @version 1.0
      */
-    void SetElasticTime(bool elasticTime)
+    void SetElasticTime(uint16_t elasticTime)
     {
         elasticTime_ = elasticTime;
     }
index 7e39fe9..681721b 100644 (file)
@@ -38,6 +38,7 @@
 #include <cstdint>
 #include "graphic_config.h"
 namespace OHOS {
+#define MAX_IMG_PATH_LEN 64
 /**
  * @brief Defines image head node information.
  */
@@ -67,6 +68,9 @@ struct ImageInfo {
     const uint8_t* phyAddr;
     /** used for ImageCacheManager lru logic */
     void* cacheNode;
+    char file[MAX_IMG_PATH_LEN];
+    uint8_t fileLen;
+    uint32_t resId;
 #endif
     union {
         /** used for alpha image */
index 4dfe52f..f33f978 100644 (file)
@@ -259,11 +259,11 @@ static void *MediaThreadFunc(void *arg)
 
     member.process(member.argument);
 
-#ifdef CMSIS_SUPPORT\r
-#ifndef CMSIS_SUPPORT_JOIN\r
-    if (!member.detached) {\r
-        osThreadFlagsSet(member.mainId, THREAD_EVENT_EXIT_FLAG);\r
-    }\r
+#ifdef CMSIS_SUPPORT
+#ifndef CMSIS_SUPPORT_JOIN
+    if (!member.detached) {
+        osThreadFlagsSet(member.mainId, THREAD_EVENT_EXIT_FLAG);
+    }
 #endif
 #endif
     if (member.detached) {
@@ -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);
     }
@@ -377,13 +375,13 @@ void MediaThreadJoin(MediaThreadIdHandle *thdId)
         return;
     }
 #ifdef CMSIS_SUPPORT
-#ifdef CMSIS_SUPPORT_JOIN\r
-    osThreadJoin((osThreadId_t)*thdId);\r
-#else\r
-    /*\r
-     * MediaThreadMember *member = *thdId;\r
-     * osThreadJoin not support join, can use osThreadFlagsSet/osThreadFlagsWait replace\r
-     */\r
+#ifdef CMSIS_SUPPORT_JOIN
+    osThreadJoin((osThreadId_t)*thdId);
+#else
+    /*
+     * MediaThreadMember *member = *thdId;
+     * osThreadJoin not support join, can use osThreadFlagsSet/osThreadFlagsWait replace
+     */
     osThreadFlagsWait(THREAD_EVENT_EXIT_FLAG, osFlagsWaitAll, osWaitForever);
 #endif
 #else
index 21b116b..593481c 100644 (file)
@@ -295,8 +295,6 @@ static int32_t MediaHalDoCreateThread(MediaHalThreadMember *member, const MediaH
         uint32_t attrBits = osThreadDetached;
 #endif
         osThreadAttr_t taskAttr = { attr->name, attrBits, NULL, 0, NULL, attr->stackSize, osPriorityNormal, 0, 0 };
-        // Allocate the memory of the thread to the psram.
-        taskAttr.stack_mem = memalign(0x10, attr->stackSize);
         MediaHalSetCmsisThreadPriorityAttr(&taskAttr, attr->prioty);
         subId = osThreadNew(MediaHalThreadFunc, member, &taskAttr);
     }
index d7b1eab..ccdd6e4 100644 (file)
@@ -450,7 +450,6 @@ set(PRIVATE_DEFINES
 
 set(PUBLIC_DEFINES
     SUPPORT_DFX_LOG
-    SUPPORT_DFX_EXCEPTION
 )
 
 # use this when you want to add ccflags like -include xxx
index cdf3a55..08de6bd 100644 (file)
@@ -47,7 +47,6 @@
 #endif
 #endif
 #include "chip_io.h"
-#include "nandflash_config.h"
 
 #define STACK_SIZE 3
 
@@ -470,11 +469,6 @@ void log_oml_memory_dump(void)
 #elif CORE == APPS && !defined(BUILD_RECOVERY_IMAGE)
 #ifdef HSO_SUPPORT
     dfx_last_dump();
-    nand_driver_init(SPEED_SLOW);
-    set_trans_type(TRANS_BY_CPU_SINGLE_LINE);
-#if defined SAVE_EXC_INFO
-    save_preserve_file_to_nand();
-#endif
 #else
     log_exception_dump_memory(APP_ITCM_ORIGIN, APP_ITCM_LENGTH);
     log_exception_dump_memory(APP_DTCM_ORIGIN, APP_DTCM_LENGTH);
index 4a16e9f..b625429 100644 (file)
@@ -40,6 +40,7 @@
 #include "tcxo.h"
 #include "pm.h"
 #endif
+#include "nandflash_config.h"
 
 #define NON_OS_ENTER_MAX_NUM 8
 #define MAX_STR_LEN  64
@@ -275,9 +276,16 @@ void panic_deal(panic_id_t origin, uint32_t code, uint32_t caller)
 
     if (g_panic_dump_callback != NULL) { g_panic_dump_callback(); }
 
-#ifdef SUPPORT_DFX_LOG
+#ifdef SUPPORT_DFX_EXCEPTION
     // Dump whole memory
     log_oml_memory_dump();
+#endif
+#ifdef CFG_DRIVERS_NANDFLASH
+    nand_driver_init(SPEED_SLOW);
+    set_trans_type(TRANS_BY_CPU_SINGLE_LINE);
+#if defined(SAVE_EXC_INFO) && (CONFIG_DFX_SUPPORT_FILE_SYSTEM == DFX_YES)
+    save_preserve_file_to_nand();
+#endif
 #endif
     panic_deal_wait();
     non_os_exit_critical();
index e26b6d8..9f1ebc5 100644 (file)
@@ -102,13 +102,13 @@ static void system_set_reboot_status_by_crash_cause(void)
         g_preserve_data_lib.reboot_status = REBOOT_SOFT_PANIC_TRIGGER_STATUS;
     }
 }
-#if defined SAVE_EXC_INFO
+#if defined(SAVE_EXC_INFO) && (CONFIG_DFX_SUPPORT_FILE_SYSTEM == DFX_YES)
 #if !defined(BUILD_RECOVERY_IMAGE)
 void save_preserve_file_to_nand(void)
 {
     const char *preserve_info_ex_path = "/user/exc/preserve.bin";
     int32_t ret = exc_info_write(preserve_info_ex_path, 0, (uint8_t *)&g_preserve_data_lib, sizeof(preserve_data_t));
-    printf("save_preserve_file_to_nand ret:%d.\r\n", ret);
+    PRINT("save_preserve_file_to_nand ret:%d.\r\n", ret);
 }
 
 void save_btram_file_to_nand(void)
@@ -116,14 +116,14 @@ void save_btram_file_to_nand(void)
     const char *btram_info_path = "/user/exc/bt_ram_info.bin";
     int32_t ret =
         exc_info_write(btram_info_path, 0, (uint8_t *)BT_RAM_ORIGIN_APP_MAPPING, BT_RAM_ORIGIN_APP_MAPPING_LENGTH);
-    printf("save_btram_file_to_nand ret:%d.\r\n", ret);
+    PRINT("save_btram_file_to_nand ret:%d.\r\n", ret);
 }
 
 void save_btrace_file_to_nand(void)
 {
     const char *btrace_info_path = "/user/exc/btrace_info.bin";
     int32_t ret = exc_info_write(btrace_info_path, 0, (uint8_t *)BTRACE_ADDR_EXEC, BTRACE_ADDR_EXEC_LEN);
-    printf("save_btrace_file_to_nand ret:%d.\r\n", ret);
+    PRINT("save_btrace_file_to_nand ret:%d.\r\n", ret);
 }
 #endif
 #endif
diff --git a/code/sdk/middleware/utils/fs/vfs/brandy-auto-ota-cli/libx_vfs_private.a b/code/sdk/middleware/utils/fs/vfs/brandy-auto-ota-cli/libx_vfs_private.a
new file mode 100644 (file)
index 0000000..8811498
Binary files /dev/null and b/code/sdk/middleware/utils/fs/vfs/brandy-auto-ota-cli/libx_vfs_private.a differ
diff --git a/code/sdk/middleware/utils/fs/vfs/brandy-auto-ota-ser/libx_vfs_private.a b/code/sdk/middleware/utils/fs/vfs/brandy-auto-ota-ser/libx_vfs_private.a
new file mode 100644 (file)
index 0000000..2b088cc
Binary files /dev/null and b/code/sdk/middleware/utils/fs/vfs/brandy-auto-ota-ser/libx_vfs_private.a differ
index a09538e..d4ad575 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/vfs/brandy-native-js-r/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/brandy-native-js-r/libx_vfs_private.a differ
index 805841e..9af3d9c 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/vfs/brandy-native-js/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/brandy-native-js/libx_vfs_private.a differ
index 53d8983..0c91717 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/vfs/brandy-target1-r/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/brandy-target1-r/libx_vfs_private.a differ
index 30ba4d9..71587fc 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/vfs/brandy-target1/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/brandy-target1/libx_vfs_private.a differ
index e13fd8e..8b6acb9 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/vfs/brandy-target3-r/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/brandy-target3-r/libx_vfs_private.a differ
index cdf5a00..23468d2 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/vfs/brandy-target3/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/brandy-target3/libx_vfs_private.a differ
index 1fa3ef0..1fa6576 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/vfs/brandy-target4-r/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/brandy-target4-r/libx_vfs_private.a differ
index 24d9728..b856b1a 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/vfs/brandy-target4/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/brandy-target4/libx_vfs_private.a differ
index b43fc33..ba9c391 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/vfs/brandy-target5-r/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/brandy-target5-r/libx_vfs_private.a differ
index bea77d4..6ade713 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/vfs/brandy-target5/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/brandy-target5/libx_vfs_private.a differ
index 3afe3f2..d3ffd47 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/vfs/brandy-xts-r/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/brandy-xts-r/libx_vfs_private.a differ
index db01c4f..2ac65c0 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/vfs/brandy-xts/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/brandy-xts/libx_vfs_private.a differ
index a31e01d..f29bef2 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/vfs/testsuite-brandy-sdk/libx_vfs_private.a and b/code/sdk/middleware/utils/fs/vfs/testsuite-brandy-sdk/libx_vfs_private.a differ
diff --git a/code/sdk/middleware/utils/fs/yaffs2/brandy-auto-ota-cli/libfs_yaffs2.a b/code/sdk/middleware/utils/fs/yaffs2/brandy-auto-ota-cli/libfs_yaffs2.a
new file mode 100644 (file)
index 0000000..24138d8
Binary files /dev/null and b/code/sdk/middleware/utils/fs/yaffs2/brandy-auto-ota-cli/libfs_yaffs2.a differ
diff --git a/code/sdk/middleware/utils/fs/yaffs2/brandy-auto-ota-ser/libfs_yaffs2.a b/code/sdk/middleware/utils/fs/yaffs2/brandy-auto-ota-ser/libfs_yaffs2.a
new file mode 100644 (file)
index 0000000..80921f3
Binary files /dev/null and b/code/sdk/middleware/utils/fs/yaffs2/brandy-auto-ota-ser/libfs_yaffs2.a differ
index 169751c..f120d29 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/brandy-native-js-r/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/brandy-native-js-r/libfs_yaffs2.a differ
index 5732c59..f9f27b7 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/brandy-native-js/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/brandy-native-js/libfs_yaffs2.a differ
index 2afb70e..f21bf59 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/brandy-target1-r/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/brandy-target1-r/libfs_yaffs2.a differ
index 29623ed..39ededc 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/brandy-target1/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/brandy-target1/libfs_yaffs2.a differ
index f58886c..d30d0ab 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/brandy-target3-r/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/brandy-target3-r/libfs_yaffs2.a differ
index 96e28c7..8c44918 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/brandy-target3/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/brandy-target3/libfs_yaffs2.a differ
index a9a009e..99adba0 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/brandy-target4-r/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/brandy-target4-r/libfs_yaffs2.a differ
index da5ece7..721fb7c 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/brandy-target4/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/brandy-target4/libfs_yaffs2.a differ
index 93b6760..24f1ab1 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/brandy-target5-r/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/brandy-target5-r/libfs_yaffs2.a differ
index d16d305..0f6afbc 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/brandy-target5/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/brandy-target5/libfs_yaffs2.a differ
index 40599e6..ec02bba 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/brandy-xts-r/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/brandy-xts-r/libfs_yaffs2.a differ
index 9a542dd..fe9825e 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/brandy-xts/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/brandy-xts/libfs_yaffs2.a differ
index 1c31928..139ea69 100644 (file)
Binary files a/code/sdk/middleware/utils/fs/yaffs2/testsuite-brandy-sdk/libfs_yaffs2.a and b/code/sdk/middleware/utils/fs/yaffs2/testsuite-brandy-sdk/libfs_yaffs2.a differ
index 4461741..892af1d 100644 (file)
@@ -43,6 +43,7 @@
 extern "C" {
 #endif
 
+typedef bool (*TryToFreeImgCallback)(void);
 /**
  * @brief Defines pointers to the memory driver functions.
  */
@@ -140,6 +141,8 @@ typedef struct {
      * @version 1.0
      */
     int32_t (*InvalidateCache)(BufferHandle* handle);
+
+    void (*RegisterTryToFreeImgCallback)(TryToFreeImgCallback callback);
 } GrallocFuncs;
 
 /**
diff --git a/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-auto-ota-cli/libams.a b/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-auto-ota-cli/libams.a
new file mode 100644 (file)
index 0000000..8dccc78
Binary files /dev/null and b/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-auto-ota-cli/libams.a differ
diff --git a/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-auto-ota-ser/libams.a b/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-auto-ota-ser/libams.a
new file mode 100644 (file)
index 0000000..67622a6
Binary files /dev/null and b/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-auto-ota-ser/libams.a differ
index bec8d62..c3b361c 100644 (file)
Binary files a/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-native-js/libams.a and b/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-native-js/libams.a differ
index 17e3a88..fd74cca 100644 (file)
Binary files a/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-xts/libams.a and b/code/sdk/open_source/openharmony/foundation/aafwk/aafwk_lite/brandy-xts/libams.a differ
diff --git a/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-auto-ota-cli/libace.a b/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-auto-ota-cli/libace.a
new file mode 100644 (file)
index 0000000..19cfb84
Binary files /dev/null and b/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-auto-ota-cli/libace.a differ
diff --git a/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-auto-ota-ser/libace.a b/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-auto-ota-ser/libace.a
new file mode 100644 (file)
index 0000000..9788f97
Binary files /dev/null and b/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-auto-ota-ser/libace.a differ
index defda6c..8fdfdbf 100644 (file)
Binary files a/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-native-js/libace.a and b/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-native-js/libace.a differ
index 1c00ced..ce01aba 100644 (file)
Binary files a/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-xts/libace.a and b/code/sdk/open_source/openharmony/foundation/ace/ace_engine_lite/brandy-xts/libace.a differ
index 8b50db0..2505065 100644 (file)
@@ -95,21 +95,29 @@ BaiduMapComponent::BaiduMapComponent(jerry_value_t options, jerry_value_t childr
 BaiduMapComponent::~BaiduMapComponent()\r
 {\r
     HILOG_INFO(HILOG_MODULE_ACE,"BaiduMapComponent destructor");\r
+#ifdef SUPPORT_BAIDU\r
     MapComponentApi::getInstance().destroy();\r
     uapi_vau_set_cubic_threshold(0.125f);\r
+#endif\r
 }\r
 \r
 UIView *BaiduMapComponent::GetComponentRootView() const\r
 {\r
+#ifdef SUPPORT_BAIDU\r
     return const_cast<UIView *>(MapComponentApi::getInstance().get_baidumap_root_view());\r
+#else\r
+    return nullptr;\r
+#endif\r
 }\r
 \r
 JSValue BaiduMapComponent::SetZoomEventEnabled(const jerry_value_t func, const jerry_value_t context,\r
     const jerry_value_t args[], const jerry_length_t argsSize)\r
 {\r
     HILOG_INFO(HILOG_MODULE_ACE,"SetZoomEventEnabled");\r
+#ifdef SUPPORT_BAIDU\r
     bool enabled = BoolOf(args[0]);\r
     MapComponentApi::getInstance().set_zoom_event_enabled(enabled);\r
+#endif\r
     return UNDEFINED;\r
 }\r
 \r
@@ -117,7 +125,9 @@ JSValue BaiduMapComponent::ZoomIn(const jerry_value_t func, const jerry_value_t
     const jerry_value_t args[], const jerry_length_t argsSize)\r
 {\r
     HILOG_INFO(HILOG_MODULE_ACE,"ZoomIn");\r
+#ifdef SUPPORT_BAIDU\r
     MapComponentApi::getInstance().zoom_in();\r
+#endif\r
     return UNDEFINED;\r
 }\r
 \r
@@ -125,7 +135,9 @@ JSValue BaiduMapComponent::ZoomOut(const jerry_value_t func, const jerry_value_t
     const jerry_value_t args[], const jerry_length_t argsSize)\r
 {\r
     HILOG_INFO(HILOG_MODULE_ACE,"ZoomOut");\r
+#ifdef SUPPORT_BAIDU\r
     MapComponentApi::getInstance().zoom_out();\r
+#endif\r
     return UNDEFINED;\r
 }\r
 \r
@@ -133,8 +145,10 @@ JSValue BaiduMapComponent::ZoomTo(const jerry_value_t func, const jerry_value_t
     const jerry_value_t args[], const jerry_length_t argsSize)\r
 {\r
     HILOG_INFO(HILOG_MODULE_ACE,"ZoomTo");\r
+#ifdef SUPPORT_BAIDU\r
     int amount = IntegerOf(args[0]);\r
     MapComponentApi::getInstance().zoom_to(amount);\r
+#endif\r
     return UNDEFINED;\r
 }\r
 \r
@@ -142,8 +156,10 @@ JSValue BaiduMapComponent::ZoomBy(const jerry_value_t func, const jerry_value_t
     const jerry_value_t args[], const jerry_length_t argsSize)\r
 {\r
     HILOG_INFO(HILOG_MODULE_ACE,"ZoomBy");\r
+#ifdef SUPPORT_BAIDU\r
     int amount = IntegerOf(args[0]);\r
     MapComponentApi::getInstance().zoom_by(amount);\r
+#endif\r
     return UNDEFINED;\r
 }\r
 \r
@@ -151,8 +167,10 @@ JSValue BaiduMapComponent::SetMapBackgroundColor(const jerry_value_t func, const
     const jerry_value_t args[], const jerry_length_t argsSize)\r
 {\r
     HILOG_INFO(HILOG_MODULE_ACE,"SetMapBackgroundColor");\r
+#ifdef SUPPORT_BAIDU\r
     char *json_color = MallocStringOf(args[0]);\r
     MapComponentApi::getInstance().set_map_background_color(json_color);\r
+#endif\r
     return UNDEFINED;\r
 }\r
 \r
@@ -160,8 +178,10 @@ JSValue BaiduMapComponent::SetMapOverlayerEnabled(const jerry_value_t func, cons
     const jerry_value_t args[], const jerry_length_t argsSize)\r
 {\r
     HILOG_INFO(HILOG_MODULE_ACE,"SetMapOverlayerEnabled");\r
+#ifdef SUPPORT_BAIDU\r
     bool enabled = BoolOf(args[0]);\r
     MapComponentApi::getInstance().set_map_overlayer_enabled(enabled);\r
+#endif\r
     return UNDEFINED;\r
 }\r
 \r
@@ -169,8 +189,10 @@ JSValue BaiduMapComponent::SetMapTilesEnabled(const jerry_value_t func, const je
     const jerry_value_t args[], const jerry_length_t argsSize)\r
 {\r
     HILOG_INFO(HILOG_MODULE_ACE,"SetMapTilesEnabled");\r
+#ifdef SUPPORT_BAIDU\r
     bool enabled = BoolOf(args[0]);\r
     MapComponentApi::getInstance().set_map_tiles_enabled(enabled);\r
+#endif\r
     return UNDEFINED;\r
 }\r
 \r
@@ -178,8 +200,10 @@ JSValue BaiduMapComponent::SetScrollGesturesEnabled(const jerry_value_t func, co
     const jerry_value_t args[], const jerry_length_t argsSize)\r
 {\r
     HILOG_INFO(HILOG_MODULE_ACE,"SetScrollGesturesEnabled");\r
+#ifdef SUPPORT_BAIDU\r
     bool enabled = BoolOf(args[0]);\r
     MapComponentApi::getInstance().set_scroll_gestures_enabled(enabled);\r
+#endif\r
     return UNDEFINED;\r
 }\r
 \r
@@ -187,9 +211,11 @@ JSValue BaiduMapComponent::ScrollBy(const jerry_value_t func, const jerry_value_
     const jerry_value_t args[], const jerry_length_t argsSize)\r
 {\r
     HILOG_INFO(HILOG_MODULE_ACE,"ScrollBy");\r
+#ifdef SUPPORT_BAIDU\r
     int pixel_x = IntegerOf(args[0]);\r
     int pixel_y = IntegerOf(args[1]);\r
     MapComponentApi::getInstance().scroll_by(pixel_x,pixel_y);\r
+#endif\r
     return UNDEFINED;\r
 }\r
 \r
@@ -197,8 +223,10 @@ JSValue BaiduMapComponent::NewLatLng(const jerry_value_t func, const jerry_value
     const jerry_value_t args[], const jerry_length_t argsSize)\r
 {\r
     HILOG_INFO(HILOG_MODULE_ACE,"NewLatLng");\r
+#ifdef SUPPORT_BAIDU\r
     char *json_lat_lng = MallocStringOf(args[0]);\r
     MapComponentApi::getInstance().new_lat_lng(json_lat_lng);\r
+#endif\r
     return UNDEFINED;\r
 }\r
 \r
@@ -206,9 +234,11 @@ JSValue BaiduMapComponent::NewLatLngZoom(const jerry_value_t func, const jerry_v
     const jerry_value_t args[], const jerry_length_t argsSize)\r
 {\r
     HILOG_INFO(HILOG_MODULE_ACE,"NewLatLngZoom");\r
+#ifdef SUPPORT_BAIDU\r
     char *json_lat_lng = MallocStringOf(args[0]);\r
     int zoom = IntegerOf(args[1]);\r
     MapComponentApi::getInstance().new_lat_lng_zoom(json_lat_lng,zoom);\r
+#endif\r
     return UNDEFINED;\r
 }\r
 \r
@@ -216,7 +246,9 @@ JSValue BaiduMapComponent::ClearMapOverlayer(const jerry_value_t func, const jer
     const jerry_value_t args[], const jerry_length_t argsSize)\r
 {\r
     HILOG_INFO(HILOG_MODULE_ACE,"ClearMapOverlayer");\r
+#ifdef SUPPORT_BAIDU\r
     MapComponentApi::getInstance().clear_map_overlayer();\r
+#endif\r
     return UNDEFINED;\r
 }\r
 \r
@@ -224,8 +256,10 @@ JSValue BaiduMapComponent::DrawMarker(const jerry_value_t func, const jerry_valu
     const jerry_value_t args[], const jerry_length_t argsSize)\r
 {\r
     HILOG_INFO(HILOG_MODULE_ACE,"DrawMarker");\r
+#ifdef SUPPORT_BAIDU\r
     char *json_marker = MallocStringOf(args[0]);\r
     MapComponentApi::getInstance().draw_marker(json_marker);\r
+#endif\r
     return UNDEFINED;\r
 }\r
 \r
@@ -233,8 +267,10 @@ JSValue BaiduMapComponent::DrawNaviMarker(const jerry_value_t func, const jerry_
     const jerry_value_t args[], const jerry_length_t argsSize)\r
 {\r
     HILOG_INFO(HILOG_MODULE_ACE,"DrawNaviMarker");\r
+#ifdef SUPPORT_BAIDU\r
     char *json_navi_marker = MallocStringOf(args[0]);\r
     MapComponentApi::getInstance().draw_navi_marker(json_navi_marker);\r
+#endif\r
     return UNDEFINED;\r
 }\r
 \r
@@ -242,8 +278,10 @@ JSValue BaiduMapComponent::DrawPolygon(const jerry_value_t func, const jerry_val
     const jerry_value_t args[], const jerry_length_t argsSize)\r
 {\r
     HILOG_INFO(HILOG_MODULE_ACE,"DrawPolygon");\r
+#ifdef SUPPORT_BAIDU\r
     char *json_polygon = MallocStringOf(args[0]);\r
     MapComponentApi::getInstance().draw_polygon(json_polygon);\r
+#endif\r
     return UNDEFINED;\r
 }\r
 \r
@@ -251,8 +289,10 @@ JSValue BaiduMapComponent::DrawPath(const jerry_value_t func, const jerry_value_
     const jerry_value_t args[], const jerry_length_t argsSize)\r
 {\r
     HILOG_INFO(HILOG_MODULE_ACE,"DrawPath");\r
+#ifdef SUPPORT_BAIDU\r
     char *json_path = MallocStringOf(args[0]);\r
     MapComponentApi::getInstance().draw_path(json_path);\r
+#endif\r
     return UNDEFINED;\r
 }\r
 \r
@@ -260,8 +300,10 @@ JSValue BaiduMapComponent::DrawCircle(const jerry_value_t func, const jerry_valu
     const jerry_value_t args[], const jerry_length_t argsSize)\r
 {\r
     HILOG_INFO(HILOG_MODULE_ACE,"DrawCircle");\r
+#ifdef SUPPORT_BAIDU\r
     char *json_circle = MallocStringOf(args[0]);\r
     MapComponentApi::getInstance().draw_circle(json_circle);\r
+#endif\r
     return UNDEFINED;\r
 }\r
 \r
@@ -269,8 +311,10 @@ JSValue BaiduMapComponent::DrawText(const jerry_value_t func, const jerry_value_
     const jerry_value_t args[], const jerry_length_t argsSize)\r
 {\r
     HILOG_INFO(HILOG_MODULE_ACE,"DrawText");\r
+#ifdef SUPPORT_BAIDU\r
     char *json_text = MallocStringOf(args[0]);\r
     MapComponentApi::getInstance().draw_text(json_text);\r
+#endif\r
     return UNDEFINED;\r
 }\r
 \r
@@ -306,7 +350,9 @@ JSValue BaiduMapComponent::OverlayerClearCircle(const jerry_value_t func, const
     const jerry_value_t args[], const jerry_length_t argsSize)\r
 {\r
     HILOG_INFO(HILOG_MODULE_ACE,"OverlayerClearCircle");\r
+#ifdef SUPPORT_BAIDU\r
     MapComponentApi::getInstance().overlayer_clear_circle();\r
+#endif\r
     return UNDEFINED;\r
 }\r
 \r
@@ -314,7 +360,9 @@ JSValue BaiduMapComponent::OverlayerClearMarker(const jerry_value_t func, const
     const jerry_value_t args[], const jerry_length_t argsSize)\r
 {\r
     HILOG_INFO(HILOG_MODULE_ACE,"OverlayerClearMarker");\r
+#ifdef SUPPORT_BAIDU\r
     MapComponentApi::getInstance().overlayer_clear_marker();\r
+#endif\r
     return UNDEFINED;\r
 }\r
 \r
@@ -322,7 +370,9 @@ JSValue BaiduMapComponent::OverlayerClearNaviMarker(const jerry_value_t func, co
     const jerry_value_t args[], const jerry_length_t argsSize)\r
 {\r
     HILOG_INFO(HILOG_MODULE_ACE,"OverlayerClearNaviMarker");\r
+#ifdef SUPPORT_BAIDU\r
     MapComponentApi::getInstance().overlayer_clear_navi_marker();\r
+#endif\r
     return UNDEFINED;\r
 }\r
 \r
@@ -330,7 +380,9 @@ JSValue BaiduMapComponent::Destroy(const jerry_value_t func, const jerry_value_t
     const jerry_value_t args[], const jerry_length_t argsSize)\r
 {\r
     HILOG_INFO(HILOG_MODULE_ACE,"Destroy");\r
+#ifdef SUPPORT_BAIDU\r
     MapComponentApi::getInstance().destroy();\r
+#endif\r
     return UNDEFINED;\r
 }\r
 \r
index e78c09e..63cea7b 100644 (file)
@@ -49,6 +49,7 @@ const char * const CanvasComponent::FUNC_RECT = "rect";
 const char * const CanvasComponent::FUNC_ARC = "arc";
 const char * const CanvasComponent::FUNC_CLOSEPATH = "closePath";
 const char * const CanvasComponent::FUNC_STROKE = "stroke";
+const char * const CanvasComponent::FUNC_CLEAR = "clear";
 
 // create canvas draw attribute-callback mapping
 const AttrMap CanvasComponent::attrMap_[] = {
@@ -71,7 +72,8 @@ const MethodMap CanvasComponent::methodMap_[] = {
     {FUNC_RECT, Rect},
     {FUNC_ARC, Arc},
     {FUNC_CLOSEPATH, ClosePath},
-    {FUNC_STROKE, Stroke}
+    {FUNC_STROKE, Stroke},
+    {FUNC_CLEAR, Clear}
 };
 
 CanvasComponent::CanvasComponent(jerry_value_t options, jerry_value_t children, AppStyleManager *styleManager)
@@ -822,6 +824,25 @@ jerry_value_t CanvasComponent::Stroke(const jerry_value_t func,
     return UNDEFINED;
 }
 
+jerry_value_t CanvasComponent::Clear(const jerry_value_t func,
+                                      const jerry_value_t context,
+                                      const jerry_value_t args[],
+                                      const jerry_length_t argsNum)
+{
+    (void)func;
+    (void)args;
+    (void)argsNum;
+    CanvasComponent *component = static_cast<CanvasComponent *>(ComponentUtils::GetComponentFromBindingObject(context));
+    if (component == nullptr) {
+        HILOG_ERROR(HILOG_MODULE_ACE, "canvas_component: get canvas component from js object failed!");
+        return jerry_create_error(JERRY_ERROR_TYPE,
+                                  reinterpret_cast<const jerry_char_t *>("get canvas component from js object failed"));
+    }
+
+    component->canvas_.Clear();
+    return UNDEFINED;
+}
+
 void CanvasComponent::GetSubFont(const char *font, const uint8_t index, char *&subFont) const
 {
     if (font == nullptr || *font == '\0') {
index 46ec159..e7a388d 100644 (file)
@@ -173,6 +173,11 @@ private:
                                 const jerry_value_t args[],
                                 const jerry_length_t argsNum);
 
+    static jerry_value_t Clear(const jerry_value_t func,
+                                const jerry_value_t context,
+                                const jerry_value_t args[],
+                                const jerry_length_t argsNum);
+
     UICanvas canvas_;
     jerry_value_t context_;
     Paint paint_;
@@ -203,6 +208,7 @@ private:
     static const char * const FUNC_ARC;
     static const char * const FUNC_CLOSEPATH;
     static const char * const FUNC_STROKE;
+    static const char * const FUNC_CLEAR;
 };
 } // namespace ACELite
 } // namespace OHOS
index b8c24d7..554e826 100644 (file)
@@ -1316,7 +1316,6 @@ void Component::ReleaseCommonEventListeners()
 {
     ACE_DELETE(onClickListener_);
     ACE_DELETE(onLongPressListener_);
-    ACE_DELETE(onKeyInputListener_);
 #ifdef JS_TOUCH_EVENT_SUPPORT
     ACE_DELETE(keyBoardEventListener_);
     ACE_DELETE(onTouchStartListener_);
index b16265d..655f789 100644 (file)
@@ -410,6 +410,9 @@ 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_);
index 0573743..58487db 100644 (file)
@@ -16,6 +16,7 @@
 #include "app_module.h"
 #include "ace_log.h"
 #include "js_app_context.h"
+#include "bundle_manager.h"
 #ifdef FEATURE_SCREEN_ON_VISIBLE
 #include "js_async_work.h"
 #include "product_adapter.h"
@@ -25,6 +26,7 @@ namespace OHOS {
 namespace ACELite {
 const char * const AppModule::FILE_MANIFEST = "manifest.json";
 const char * const AppModule::KEY_APP_NAME = "appName";
+const char * const AppModule::KEY_APP_ID = "appID";
 const char * const AppModule::KEY_VERSION_NAME = "versionName";
 const char * const AppModule::KEY_VERSION_CODE = "versionCode";
 
@@ -55,13 +57,18 @@ JSIValue AppModule::GetInfo(const JSIValue thisVal, const JSIValue *args, uint8_
         return result;
     }
 
-    cJSON *appName = cJSON_GetObjectItem(manifest, KEY_APP_NAME);
+    cJSON *appID = cJSON_GetObjectItem(manifest, KEY_APP_ID);
+
     cJSON *versionName = cJSON_GetObjectItem(manifest, KEY_VERSION_NAME);
     cJSON *versionCode = cJSON_GetObjectItem(manifest, KEY_VERSION_CODE);
 
     result = JSI::CreateObject();
-    if (appName != nullptr && appName->type == cJSON_String) {
-        JSI::SetStringProperty(result, KEY_APP_NAME, appName->valuestring);
+    if (appID != nullptr && appID->type == cJSON_String) {
+        BundleInfo bundleInfo;
+        uint8_t ret = GetBundleInfo(appID->valuestring, true, &bundleInfo);
+        if (ret == 0) {
+            JSI::SetStringProperty(result, KEY_APP_NAME, bundleInfo.label);
+        }
     }
     if (versionName != nullptr && versionName->type == cJSON_String) {
         JSI::SetStringProperty(result, KEY_VERSION_NAME, versionName->valuestring);
index c978889..00e7a3c 100644 (file)
@@ -41,7 +41,7 @@ private:
     static const char * const KEY_APP_NAME;
     static const char * const KEY_VERSION_NAME;
     static const char * const KEY_VERSION_CODE;
-
+    static const char * const KEY_APP_ID;
     static cJSON* ReadManifest();
 
 #ifdef FEATURE_SCREEN_ON_VISIBLE
index 4f55505..ce9a837 100644 (file)
@@ -1065,6 +1065,19 @@ JSIValue BaiduMapComponentModule::NaviDestroy(const JSIValue thisVal, const JSIV
   return JSI::CreateBoolean(0);
 }
 
+/**
+ * stop answer
+ */
+JSIValue BaiduMapComponentModule::StopAnswer(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
+{
+  HILOG_INFO(HILOG_MODULE_ACE,"StopAnswer");
+  char *data = JSI::JsonStringify(args[0]);
+  HILOG_INFO(HILOG_MODULE_ACE,"StopAnswer : %s \n",data);
+  msg_center_xiaodu_send_stop_answer(MSGCENTER_CMD_XIAODU,MSGCENTER_TYPE_ID_XIAODU_SEND_JS_EXIT,data,strlen(data));
+  return JSI::CreateBoolean(0);
+}
+
+
 void InitBaiduMapComponentModule(JSIValue exports)
 {
     HILOG_INFO(HILOG_MODULE_ACE,"InitBaiduMapComponentModule");
@@ -1122,6 +1135,10 @@ void InitBaiduMapComponentModule(JSIValue exports)
      * exit navigation
      */
     JSI::SetModuleAPI(exports, "naviDestroy", BaiduMapComponentModule::NaviDestroy);
+    /**
+     * stop anwser
+     */
+    JSI::SetModuleAPI(exports, "stopAnswer", BaiduMapComponentModule::StopAnswer);
 }
 
 } // namespace ACELite
@@ -1185,3 +1202,22 @@ int32_t BaidumapFailSendMsgToJS(const char *msgBody,uint8_t type)
     return 0;
 }
 
+__attribute__((weak)) void WGS84ToGCJ02(double lon, double lat, JSCoordinate &output)
+{
+
+}
+
+__attribute__((weak)) void GCJ02ToBD09(double lon, double lat, JSCoordinate &output)
+{
+
+}
+
+__attribute__((weak)) void WGS84ToBD09(double lon, double lat, JSCoordinate &output)
+{
+
+}
+
+__attribute__((weak)) void BD09ToGCJ02(double bd_lon, double bd_lat, JSCoordinate &output)
+{
+
+}
index b874985..5c665e1 100644 (file)
@@ -107,6 +107,10 @@ public:
      */
     static JSIValue NaviDestroy(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize);
 
+    /**
+     * stop answer
+     */
+    static JSIValue StopAnswer(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize);
 };
 
 void InitBaiduMapComponentModule(JSIValue exports);
diff --git a/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-auto-ota-cli/libbms.a b/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-auto-ota-cli/libbms.a
new file mode 100644 (file)
index 0000000..d4ecb8d
Binary files /dev/null and b/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-auto-ota-cli/libbms.a differ
diff --git a/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-auto-ota-ser/libbms.a b/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-auto-ota-ser/libbms.a
new file mode 100644 (file)
index 0000000..53a5362
Binary files /dev/null and b/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-auto-ota-ser/libbms.a differ
index d39cac6..686c9ea 100644 (file)
Binary files a/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-native-js/libbms.a and b/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-native-js/libbms.a differ
index b813892..b91cc54 100644 (file)
Binary files a/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-xts/libbms.a and b/code/sdk/open_source/openharmony/foundation/appexecfwk/appexecfwk_lite/brandy-xts/libbms.a differ
diff --git a/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-auto-ota-cli/libjerryscript.a b/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-auto-ota-cli/libjerryscript.a
new file mode 100644 (file)
index 0000000..bba9869
Binary files /dev/null and b/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-auto-ota-cli/libjerryscript.a differ
diff --git a/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-auto-ota-ser/libjerryscript.a b/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-auto-ota-ser/libjerryscript.a
new file mode 100644 (file)
index 0000000..5ef2025
Binary files /dev/null and b/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-auto-ota-ser/libjerryscript.a differ
index 0eb9f59..73de5fe 100644 (file)
Binary files a/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-native-js/libjerryscript.a and b/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-native-js/libjerryscript.a differ
index 732f3c9..8e4eeec 100644 (file)
Binary files a/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-xts/libjerryscript.a and b/code/sdk/open_source/openharmony/third_party/jerryscript/brandy-xts/libjerryscript.a differ
diff --git a/code/sdk/open_source/openharmony/utils/native/lite/memory/include/ohos_mem_pool.h b/code/sdk/open_source/openharmony/utils/native/lite/memory/include/ohos_mem_pool.h
new file mode 100644 (file)
index 0000000..4b18635
--- /dev/null
@@ -0,0 +1,104 @@
+/*\r
+ * Copyright (c) 2021 Huawei Device Co., Ltd.\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ *     http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ */\r
+\r
+/**\r
+ * @addtogroup ohos_mem_pool\r
+ * @{\r
+ *\r
+ * @brief Provides functions for memory alloc and memory free.\r
+ *\r
+ * @since 1.0\r
+ * @version 1.0\r
+ */\r
+\r
+/**\r
+ * @file ohos_mem_pool.h\r
+ *\r
+ * @brief Provides functions for memory alloc and memory free.\r
+ *\r
+ * @since 1.0\r
+ * @version 1.0\r
+ */\r
+\r
+#ifndef OHOS_MEM_POOL_H\r
+#define OHOS_MEM_POOL_H\r
+\r
+#include "ohos_types.h"\r
+\r
+#ifdef __cplusplus\r
+#if __cplusplus\r
+extern "C"{\r
+#endif\r
+#endif /* End of #ifdef __cplusplus */\r
+\r
+/**\r
+ * @brief memory pool enum definition.\r
+ */\r
+typedef enum {\r
+    MEM_TYPE_BEGIN = 100,\r
+    MEM_TYPE_UIKIT = MEM_TYPE_BEGIN, /* UIKIT memory pool */\r
+    MEM_TYPE_UIKIT_LSRAM,  /* UIKIT low speed memory pool */\r
+    MEM_TYPE_APPFMK,       /* appexecfmk memory pool */\r
+    MEM_TYPE_APPFMK_LSRAM, /* appexecfmk low speed memory pool */\r
+    MEM_TYPE_ACE,          /* ACE memory pool */\r
+    MEM_TYPE_ACE_LSRAM,    /* ACE low speed memory pool */\r
+    MEM_TYPE_JERRY,        /* jerry script memory pool */\r
+    MEM_TYPE_JERRY_LSRAM,  /* jerry script low speed memory pool */\r
+    MEM_TYPE_HICHAIN,      /* security memory pool */\r
+    MEM_TYPE_SOFTBUS_LSRAM,  /* softbus low speed memory pool */\r
+    MEM_TYPE_I18N_LSRAM = 111, /* global i18n low speed memory pool */\r
+    MEM_TYPE_CJSON_LSRAM = 114,\r
+    MEM_TYPE_APP_VERIFY_LSRAM = 116,\r
+\r
+    MEM_TYPE_MAX           /* maximum definition of memory, add a new memory pool before it */\r
+} MemType;\r
+\r
+/**\r
+ * @brief According to the input parameters type and size,\r
+ * memory is applied in the corresponding memory pool.\r
+ *\r
+ * Because memory management needs to consume memory,\r
+ * it is not recommended to use the memory application interface to apply for memory\r
+ * if the application memory is small (less than 8 bytes).\r
+ * Applying for small memory blocks is easy to cause memory fragmentation.\r
+ *\r
+ * @param type identify which memory pool to apply for memory in\r
+ * @param size size of memory block to apply for\r
+ * @return requested memory block address\r
+ * return if the memory request fails <b>NULL</b>.\r
+ * @since 1.0.\r
+ * @version 1.0.\r
+ */\r
+void *OhosMalloc(MemType type, uint32 size);\r
+\r
+/**\r
+ * @brief free incoming memory space.\r
+ *\r
+ * @param ptr identify the memory blocks that need to be released.\r
+ * @attention Do not release null pointers or memory blocks not requested by OhosMalloc!\r
+ * @return void\r
+ * @since 1.0.\r
+ * @version 1.0.\r
+ */\r
+void OhosFree(void *ptr);\r
+\r
+#ifdef __cplusplus\r
+#if __cplusplus\r
+}\r
+#endif\r
+#endif /* End of #ifdef __cplusplus */\r
+\r
+#endif /* End of #ifndef OHOS_MEM_POOL_H */\r
+/** @} */
\ No newline at end of file
index 00d4eb4..6e250ac 100644 (file)
@@ -11,6 +11,7 @@
 enum {
     SPP_MSG_ID_HANDLE_SPP_CONNECT,
     SPP_MSG_ID_HANDLE_SPP_DISCONNECT,
+    SPP_MSG_ID_HANDLE_SPP_CONNECTION_EVENT,
 };
 
 /* 发送A2DP Service模块消息 */
index 2908e33..b185581 100644 (file)
@@ -17,6 +17,7 @@
 #else
 #include "bt_audio_manager_wrapper.h"
 #endif
+#include "bts_pbap.h"
 
 #ifdef  __cplusplus
 extern "C" {
@@ -610,6 +611,7 @@ static td_char g_call_state_string[][20] = {
     "Finished"
 };
 
+#define HFP_PHONENUM_MAX_DIGITS 32
 static void sample_handle_hfp_call_state_changed(const bd_addr_t *bd_addr, const hfp_hf_calls_info_t *call)
 {
     sample_hfp_hf_print_addr(bd_addr);
@@ -620,6 +622,31 @@ static void sample_handle_hfp_call_state_changed(const bd_addr_t *bd_addr, const
         }
         bts_sample_log_no_header(", outgoing: %d, state: %s\n", call->outgoing, g_call_state_string[call->state]);
     }
+    /* 响铃时查询电话号码对应的list返回vcf和name */
+    if (call->state == HFP_HF_CALL_STATE_INCOMING && call->number_len != 0) {
+        char *tel_name = "telecom";
+        uint32_t ret = (uint32_t)pbap_pce_set_phone_book(bd_addr, (unsigned char*)tel_name);
+        if (ret != ERRCODE_BT_SUCCESS) {
+            bts_sample_log_with_func("set phone book ret 0x%x\n", ret);
+            return;
+        }
+        char *name = "pb";
+        char number[HFP_PHONENUM_MAX_DIGITS + 1] = {0};
+        if (memcpy_s(number, HFP_PHONENUM_MAX_DIGITS, call->number, call->number_len) != EOK) {
+            bts_sample_log("memcpy_s fail.");
+            return;
+        }
+        pbap_pce_pull_vcard_listing_param_t thr_par = {0};
+        thr_par.name = (unsigned char*)name;
+        thr_par.max_list_count = 1; /* 1: max list */
+        thr_par.list_offset = 0;
+        thr_par.order = PBAP_ORDER_INDEXED;
+        thr_par.search_value = (unsigned char*)number; /* 查询条件要有字符串结束符 */
+        thr_par.search_property = PBAP_SEARCH_PROPERTY_NUMBER;
+        bts_sample_log_with_func("pull vcard list number %s search_value %s\n", call->number, thr_par.search_value);
+        ret = pbap_pce_pull_vcard_listing(bd_addr, &thr_par);
+        bts_sample_log_with_func("pull vcard list ret 0x%x\n", ret);
+    }
 }
 
 void sample_hfp_hf_set_spk_volume(uint8_t volume)
index 62000f5..c078e33 100644 (file)
@@ -474,9 +474,16 @@ static bool sample_pbap_set_vcard_listing_name(bd_addr_t* bd_addr, uint8_t folde
 }
 
 /* get phone vCard-Listing */
-void wstp_pbap_cmd_pull_vcard_listing(
-    uint8_t folder, uint8_t vcf, uint16_t max_list_count, uint16_t list_offset, uint8_t order)
+void wstp_pbap_cmd_pull_vcard_listing(const char **params, int32_t params_cnt)
 {
+    if (params_cnt != 5 && params_cnt != 7) { /* 5个参数不带过滤,7个参数带过滤 */
+        bts_sample_log_with_func("params cnt err: %d!\n", params_cnt);
+        return;
+    }
+    uint8_t folder = (uint8_t)atoi(params[0]); /* index = 0 */
+    uint8_t vcf = (uint8_t)atoi(params[1]); /* index = 1 */
+    uint16_t max_list_count = (uint16_t)atoi(params[2]); /* index = 2 */
+    uint16_t list_offset = (uint16_t)atoi(params[3]); /* index = 3 */
     if (!wstp_pbap_check_param_valid(folder, vcf, max_list_count, list_offset, 0)) {
         bts_sample_log_with_func("pbap param invalid\n");
         return;
@@ -503,8 +510,13 @@ void wstp_pbap_cmd_pull_vcard_listing(
     thr_par->max_list_count = max_list_count;
     thr_par->list_offset = list_offset; /* index = 5 */
     /* 0:索引序 1:字典序 */
-    thr_par->order = order;
-
+    thr_par->order = (uint8_t)atoi(params[4]); /* index = 4 */
+    if (params_cnt == 7) { /* 7个参数带过滤 */
+        thr_par->search_value = (unsigned char *)params[5]; /* index = 5 */
+        thr_par->search_property = (uint8_t)atoi(params[6]); /* index = 6 */
+    }
+    bts_sample_log_with_func("folder=%d vcf=%d max_list_count=%d list_offset=%d order=%d search_value=%s property=%d\n",
+        folder, vcf,  max_list_count, list_offset, thr_par->order, thr_par->search_value, thr_par->search_property);
     if (sample_pbap_set_vcard_listing_name(bd_addr, folder, vcf, thr_par->name)) {
         bts_sample_log_with_func("pbap_pce_pull_vcard_listing name=%s\n", thr_par->name);
         pbap_pce_pull_vcard_listing(bd_addr, thr_par);
index 9937720..18b5673 100644 (file)
@@ -11,8 +11,7 @@ void bt_pbap_service_sample_cmd(uint32_t cmd_id, const char **params, int32_t pa
 void wstp_pbap_pce_reg_callback(void);
 void wstp_pbap_cmd_pull_phonebook(
     uint8_t folder, uint8_t vcf, uint16_t max_list_count, uint16_t list_offset, uint8_t format);
-void wstp_pbap_cmd_pull_vcard_listing(
-    uint8_t folder, uint8_t vcf, uint16_t max_list_count, uint16_t list_offset, uint8_t order);
+void wstp_pbap_cmd_pull_vcard_listing(const char **params, int32_t params_cnt);
 void wstp_pbap_cmd_pull_vcard_entry(uint8_t folder, uint8_t vcf, td_char *vcf_name, uint8_t format);
 
 #endif /* SAMPLE_PBAP_SERVICE_H */
index 1a843b7..faecbea 100644 (file)
@@ -6,6 +6,7 @@
 #define DATA_CONFIG_H
 
 #include "custdefs.h"
+#include "bts_def.h"
 #include "mpc_struct.h"
 #include "stack_gap_if.h"
 #ifdef __cplusplus
@@ -100,7 +101,7 @@ void bt_acore_get_system_config(uint32_t *system_config);
 void bt_acore_get_calibration_data(uint8_t *calibration_data, uint16_t data_length);
 void bt_acore_delete_smp_key(struct hci_address_stru *delete_addr, uint8_t *delete_num);
 void bt_acore_delete_single_smp_key(struct hci_address_stru *delete_addr);
-int8_t bt_acore_get_bonded_device(uint8_t *bonded_device);
+errcode_t bt_acore_get_bonded_device(bd_addr_t *bonded_device, uint16_t *number);
 void bt_acore_set_sys_config(uint8_t is_key_from_btc);
 void bt_acore_set_product_type(uint8_t product_type);
 uint8_t bt_acore_get_local_dev_info(uint16_t kvalue_max_length, uint16_t *kvalue_length, uint8_t *kvalue);
index 391c17b..abd8b76 100644 (file)
@@ -83,7 +83,6 @@ int8_t mc_ble_remove_adv_by_handle_atb(uint8_t adv_handle);
 int8_t mc_ble_smp_remove_pair_device(uint8_t *addr);
 int8_t mc_ble_disconnect_all_links(void);
 int8_t mc_ble_smp_pair_remote_device(bth_address *addr);
-int8_t mc_get_bonded_device(uint8_t *bonded_device);
 int8_t mc_ble_smp_remove_pair_info(void);
 uint8_t ble_gap_internal_callback_regist(uint16_t module_id,
                                          uint16_t event, sdk_ble_cbk cbk);
index d743387..1418d4a 100644 (file)
Binary files a/code/sdk/tools/pkg/bin/brandy/bt.bin and b/code/sdk/tools/pkg/bin/brandy/bt.bin differ
diff --git a/js/com.vendor.voiceassistant.bin b/js/com.vendor.voiceassistant.bin
new file mode 100644 (file)
index 0000000..bc3edc1
Binary files /dev/null and b/js/com.vendor.voiceassistant.bin differ
index 66c470d..79ec75e 100644 (file)
@@ -1,8 +1,11 @@
+import baidu from '@system.baidumapcomponent';
+
 export default {
     onCreate() {
         console.info("Application onCreate");
     },
     onDestroy() {
+        baidu.stopAnswer({});
         console.info("Application onDestroy");
     }
 };
\ No newline at end of file
index 4774074..d3f2d97 100644 (file)
@@ -1,5 +1,6 @@
 import router from '@system.router';\r
 import messageCenter from "@system.message";\r
+import baidu from '@system.baidumapcomponent';\r
 \r
 var receiverDataStr = ""\r
 var receiverindex = 0\r
@@ -123,6 +124,7 @@ export default {
         console.info("Life Cycle onShow" + this);\r
     },\r
     onHide() {\r
+        baidu.stopAnswer({})\r
         receiverDataStr = null\r
         clearInterval(iid)\r
         unregisterReceiver(receiver)\r
diff --git a/patch_0720_to_0812.txt b/patch_0720_to_0812.txt
new file mode 100644 (file)
index 0000000..df2f293
--- /dev/null
@@ -0,0 +1,52 @@
+【补丁名称】patch_0720_to_0812\r
+【基础版本】b602 + 0521 + 0626 +0720\r
+【修复问题】\r
+BT合入内容\r
+    1、解决【手表连接时检查到连接已存在上报了断开导致连接状态错误】问题。\r
+    2、解决【空所有配对信息接口,存在已配对未连接的配对信息时,无法全部清除】问题。\r
+    3、解决【连接spp时找不到匹配的client】问题。\r
+    4、解决【snk音乐请求开始后未开始前断开连接未unmap后续unmap时失败】问题。\r
+    5、解决【通过PBAP-PCE 模块通过电话号码查找对应的联系人】问题。\r
+    6、新增BLE绑定信息查询和删除接口,解决【BLE 绑定信息无法删除】问题。\r
+PLT合入内容\r
+    1、隔离baidumapsdk组件,默认不参与编译\r
+    2、亮灭平过程中屏蔽调频对NANDFLASH的影响\r
+    3、解决button双击误报以及按键失效\r
+    4、PMS不拉起单独线程,事件由UI线程处理\r
+GUI合入内容\r
+    1、修复SetElasticTime接口问题\r
+    2、修复UICrossView单张卡片问题\r
+    3、修复输入法输入中文字符问题\r
+    4、完善LRU资源释放方案\r
+    5、图片资源加载优化\r
+    6、量灭屏优化,在UI主线程处理量灭屏事件\r
+    7、touch/key事件上报流程优化\r
+AUDIO&MEDIA合入内容\r
+    1、媒体线程栈重新部署到DTCM,解决内存泄露以及适配兼容的问题\r
+OHOS合入内容\r
+    1、小度语音Demo新加stopAnswer方法,更新bin文件\r
+    2、文心一言新加answer打断协议+接口名称修改\r
+    3、msgCenter下发消息到js失败,释放msgBody\r
+    4、picker-view设置超大字体item自适应\r
+    5、解决客户多次进入退出js会触发list冻屏问题\r
+    6、解决Canvas控件卡顿问题,js增加clear接口\r
+    7、app_module模块getinfo接口修改\r
+SDK Sample合入内容:\r
+    1、BT链接状态上报JS时在MsgCenter做判断拦截\r
+    2、User版本去除reg/mem dump\r
+    3、耳机断链后开启scan 60秒,用于耳机回连测试\r
+【修改影响】NA\r
+【使用方法】\r
+    1、合入0521补丁\r
+    2、合入0626补丁\r
+    3、合入0720补丁\r
+    4、合入0812补丁\r
+【自测情况】\r
+    自验证范围:\r
+       全功能冒烟\r
+    自验证target:\r
+       Native-js、target3 rc版本\r
+【是否合入版本】根据测试结果确定\r
+\r
+【遗留问题】\r
+    1、IOS手机连接手表,长时间压测音乐通话并发场景概率出现系统异常,后续补丁解决。\r