${CMAKE_CURRENT_SOURCE_DIR}/nativeui/main/src/dropdown/DropDownCardPage1.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/main/src/dropdown/DropDownCardPage2.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/main/src/ModelListenerSample.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/main/src/PresenterTask.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/main/src/HealthModel.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/main/src/PullUpDownView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/main/src/ConnectedStatusView.cpp
${UI_SAMPLE_ROOT}/components/ui_test_keyboard/ui_test_keyboard.cpp
${UI_SAMPLE_ROOT}/components/ui_test_hexagons_list/ui_test_hexagons_list.cpp
${UI_SAMPLE_ROOT}/components/ui_test_coverflow/ui_test_coverflow.cpp
- ${UI_SAMPLE_ROOT}/components/ui_test_slipflow/ui_test_slipflow.cpp
${UI_SAMPLE_ROOT}/components/ui_test_kaleidoscope/ui_test_kaleidoscope.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/main/src/dial/DialRotateImgView.cpp
#include "BluetoothPresenter.h"
#include "PlayersModel.h"
#include "HealthModel.h"
+#include "PresenterTask.h"
#include "MainCompassPresenter.h"
#include "MainCompassView.h"
#include "CallerLogModel.h"
/*加载安全模式Slice*/
InitSafeModeSlice();
NativeAbility::GetInstance().SetDefaultSliceId(VIEW_SAFE_MODE);
- // PresenterTask::GetInstance()->Init();
+ PresenterTask::GetInstance()->Init();
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "safe_mode is enter!");
}
else if (mode == LaunchMode::NORMAL_MODE)
InitBtHeadsetEvent(); // 蓝牙ct和tg适配初始化
InitAllNativeSlices();
CallerLogModel::GetInstance()->InitPhoneService();
- // PresenterTask::GetInstance()->Init();
+ PresenterTask::GetInstance()->Init();
PlayersModel::GetInstance()->AudioInit();
ActivityModel::GetInstance()->Init();
ScreenModels::GetInstance()->InitKvStorage();
\r
void ConnectTgStateChangedCallback(const bd_addr_t *bdAddr, profile_connect_state_t state)\r
{\r
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "avrcp tg update conn stat:%u", state);\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "avrcp tg update conn stat:%u", state);\r
if (bdAddr == nullptr) {\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "bdaddr nullptr");\r
return;\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "null pointer\n");\r
return;\r
}\r
-\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "get event list:");\r
for (uint8_t i = 0; i < event->event_num; i++) {\r
- if (event->event_id[i] == AVRCP_NOTIFY_EVENT_VOLUME_CHANGED) {\r
- int ret = avrcp_ct_register_notification(bd_addr, event->event_id[i], 0);\r
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "register event_id: 0x%x, ret = 0x%x", event->event_id[i], ret);\r
- }\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, " 0x%x ", event->event_id[i]);\r
}\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "\n");\r
\r
for (uint8_t i = 0; i < event->event_num; i++) {\r
- if (event->event_id[i] != AVRCP_NOTIFY_EVENT_VOLUME_CHANGED) {\r
- int ret = avrcp_ct_register_notification(bd_addr, event->event_id[i], 0);\r
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "register event_id: 0x%x, ret = 0x%x", event->event_id[i], ret);\r
- }\r
+ avrcp_ct_register_notification(bd_addr, event->event_id[i], 0);\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "register event_id: 0x%x\n", event->event_id[i]);\r
}\r
}\r
\r
\r
int BluetoothModel::ConnectRemoteDevice(const bd_addr_t *addr)\r
{\r
- /* 恢厂后耳机连接要开启BT广播否则会导致AVRCP无法音量控制 */\r
- bool ret = gap_br_set_bt_scan_mode(GAP_SCAN_MODE_CONNECTABLE, 60);\r
- if (!ret) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ConnectRemoteDevice gap_br_set_bt_scan_mode ret = 0x%x", ret);\r
- }\r
errcode_t retVal = gap_connect_remote_device(addr);\r
(void)memcpy_s(&remoteConnectAddr, sizeof(bd_addr_t), addr, sizeof(bd_addr_t));\r
return retVal;\r
// }\r
// uapi_a2dp_snk_connect();\r
// a2dp_snk_connect(bdAddr);\r
- if(uapi_dev_runtime_get_bt_powerstat() && !get_ble_pair()&& (status == GAP_PAIR_PAIRED))\r
+ if(cm_custom_ble_service_on_flag() && !get_ble_pair()&& (status == GAP_PAIR_PAIRED))\r
{\r
send_pair_succ((bd_addr_t*)bdAddr);\r
// if(cm_get_A2DP_switch() || cm_get_HFP_switch())\r
// ALC_connect_A2DP_flag=0;\r
// }\r
\r
- static bd_addr_t gapAclConnectAddr{0}; /* 连接后保存手机地址,手表清除手机配对后查询不到class比较手机地址 */\r
- if ((gap_get_device_class(bdAddr) & 0x200) != 0 || memcmp(gapAclConnectAddr.addr, bdAddr->addr, BD_ADDR_LEN) == 0) {\r
+ if ((gap_get_device_class(bdAddr) & 0x200) != 0) {\r
WEARABLE_LOGE(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
- (void)memcpy_s(gapAclConnectAddr.addr, BD_ADDR_LEN, bdAddr->addr, BD_ADDR_LEN);\r
SendMsgToMsgCenterService(BT_CONNECTED_TO_MSGCENTER, 0, nullptr, 0);\r
SendMsgToUIService(BT_CONNECTED_TO_UI, 0, nullptr, 0);\r
}\r
return;\r
}\r
if (connState == PROFILE_STATE_CONNECTED) {\r
- uint32_t ret = avrcp_ct_connect(bdAddr);\r
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "avrcp_ct_connect ret = 0x%x", ret);\r
+ avrcp_ct_connect(bdAddr);\r
PhoneAudioManagerSetDeviceConnState(OUT_BLUETOOTH_A2DP, AUDIO_DEVICE_CONNECTED);\r
GraphicService::GetInstance()->PostGraphicEvent(std::bind(ACLConnectionSuss, *bdAddr));\r
SendMsgToUIService(EARPHONE_CONNECTED_TO_UI, 0, nullptr, 0);\r
#include "common/task.h"
namespace OHOS {
-class ModelListenerSample : public Task {
+class ModelListenerSample : public HeapBase {
public:
ModelListenerSample();
virtual ~ModelListenerSample();
virtual void Notify(void) = 0;
virtual void OnTickEvent(void) {};
- void Callback() override;
+ void Callback();
};
}
#endif
--- /dev/null
+/*\r
+ * Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.\r
+ * Description: Presenter task\r
+ * Create: 2021-12-22\r
+ */\r
+\r
+#ifndef PRESENTER_TASK_H\r
+#define PRESENTER_TASK_H\r
+#include "common/task.h"\r
+\r
+namespace OHOS {\r
+class ModelListenerSample;\r
+class PresenterTask : public Task {\r
+public:\r
+ void SetModelListener(ModelListenerSample* listener);\r
+ void Callback() override;\r
+ static PresenterTask* GetInstance();\r
+ void Init() override;\r
+ ModelListenerSample* taskListener{nullptr};\r
+};\r
+}\r
+#endif
\ No newline at end of file
#include <iostream>
#include <map>
#include "ModelDialDataFactory.h"
+#include "PresenterTask.h"
#include "DialModelTime.h"
#include "DialModelPower.h"
#include "heartrate/include/HeartModel.h"
{
if (cardId == COMPASS)
{
- SetPeriod(DEFAULT_TASK_PERIOD);
+ PresenterTask::GetInstance()->SetPeriod(DEFAULT_TASK_PERIOD);
}
else if (cardId == WATCH_FACE)
{
{
time = DEFAULT_TASK_PERIOD;
}
- SetPeriod(time);
+ PresenterTask::GetInstance()->SetPeriod(time);
}
else if (cardId == MUSIC_PLAYER)
{
- SetPeriod(PLAYER_PERIOD);
+ PresenterTask::GetInstance()->SetPeriod(PLAYER_PERIOD);
}
else
{
- SetPeriod(MAX_PERIOD);
+ PresenterTask::GetInstance()->SetPeriod(MAX_PERIOD);
}
}
*/
#include "ModelListenerSample.h"
+#include "PresenterTask.h"
#include "wearable_log.h"
-namespace OHOS {
-ModelListenerSample::ModelListenerSample()
+namespace OHOS
{
- Init();
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ModelListenerSample::ModelListenerSample");
-}
-ModelListenerSample::~ModelListenerSample()
-{
- Deinit();
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ModelListenerSample::~ModelListenerSample");
-}
+ ModelListenerSample::ModelListenerSample()
+ {
+ PresenterTask::GetInstance()->SetModelListener(this);
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ModelListenerSample::ModelListenerSample");
+ }
+ ModelListenerSample::~ModelListenerSample()
+ {
+ PresenterTask::GetInstance()->SetModelListener(nullptr);
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ModelListenerSample::~ModelListenerSample");
+ }
void ModelListenerSample::Callback()
{
--- /dev/null
+
+#include "ModelListenerSample.h"
+#include "PresenterTask.h"
+
+namespace OHOS {
+
+PresenterTask* PresenterTask::GetInstance() {
+ static PresenterTask PresenterTask;
+ return &PresenterTask;
+}
+
+void PresenterTask::SetModelListener(ModelListenerSample* listener)
+{
+ taskListener = listener;
+}
+
+void PresenterTask::Callback()
+{
+ if (taskListener != nullptr) {
+ taskListener->Callback();
+ }
+}
+
+void PresenterTask::Init()
+{
+ Task::Init();
+}
+
+}
\ No newline at end of file
// 建立音频下行通路
AudioDnStart();
-
+ if (g_audioState == AUDIO_STREAM_START_DN) {
+ // 同步音量
+ SyncVolume();
+ }
WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "[AudioDn] audioState:%d", g_audioState);
}
}
break;
case HFP_SCO_STATE_CONNECTED:
- // 同步音量
- SyncVolume();
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[ScoStateChanged] SCO connected!");
break;
{\r
// 此处实现代码用于处理文件播放完成的事件\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "OnPlaybackCompleten");\r
- GraphicService::GetInstance()->PostGraphicEvent([] {\r
- PlayersView *playersView = PlayersView::GetInstance();\r
- if (playersView != nullptr) {\r
- if (playersView->GetPlaybackProgress() != nullptr) {\r
- playersView->GetPlaybackProgress()->SetValue(100); // 100:进度100%\r
- playersView->GetPlaybackProgress()->Invalidate();\r
- }\r
+ PlayersView *playersView = PlayersView::GetInstance();\r
+ if (playersView != nullptr) {\r
+ if (playersView->GetPlaybackProgress() != nullptr) {\r
+ playersView->GetPlaybackProgress()->SetValue(100); // 100:进度100%\r
+ playersView->GetPlaybackProgress()->Invalidate();\r
}\r
- });\r
+ }\r
usleep(20000);\r
GraphicService::GetInstance()->PostGraphicEvent(std::bind(&PlayersModel::PlaySwitching, PlayersModel::GetInstance()));\r
}\r
tempView->SetViewId(view.GetViewId());
tempView->SetPosition(tempView->GetX(), tempView->GetY());
rootView->Add(tempView);
+ if (backBtn_ == nullptr) {
+ backBtn_ = new TransparentBackButton();
+ backBtn_->SetPosition(0, 202, 50, 50); // 0: x position, 202: y position, 50: width and height
+ }
+ backBtn_->SetViewId(view.GetViewId());
+ rootView->Add(backBtn_);
}
- if (backBtn_ == nullptr) {
- backBtn_ = new TransparentBackButton();
- backBtn_->SetPosition(0, 202, 50, 50); // 0: x position, 202: y position, 50: width and height
- }
- backBtn_->SetViewId(view.GetViewId());
- rootView->Add(backBtn_);
rootView->Invalidate();
return true;
}
#include "ui_test_hexagons_list/ui_test_hexagons_list.h"
#include "ui_test_video_play/ui_test_video_play.h"
#include "ui_test_coverflow/ui_test_coverflow.h"
-#include "ui_test_slipflow/ui_test_slipflow.h"
#include "ui_test_kaleidoscope/ui_test_kaleidoscope.h"
namespace OHOS {
testCaseList_->PushBack(TestCaseInfo{"消息", new UITestMessage()});
testCaseList_->PushBack(TestCaseInfo{"呼吸效果", new UITestBreath()});
testCaseList_->PushBack(TestCaseInfo{"覆盖流", new UITestCoverflow()});
- testCaseList_->PushBack(TestCaseInfo{"滑动流", new UITestSlipflow()});
testCaseList_->PushBack(TestCaseInfo{"万花筒", new UITestKaleidoscope()});
#if ENABLE_VGU_ENGINE && CAPABILITY_HWDRAW_PATH
{
return;
}
- InputDeviceManager::GetInstance()->ClearInputDeviceState();
+ InputDeviceManager::GetInstance()->ClearPressableViews();
Slice *nextSlice = node->value_.proxy->CreateSlice();
if (nextSlice == nullptr)
{
return;
}
*/
-
- if (type == TransitionType::TRANSITION_INVALID) {
- GraphicService::GetInstance()->PostGraphicEvent(std::bind(&Ability::PostChangeSlice, this, targetSliceId,
- type, priority));
- } else {
- if (osal_atomic_read(&transitionCount_) <= 0) {
- osal_atomic_inc(&transitionCount_);
- // onStop释放当前页面需要和当前页面的事件监听异步执行,否则会出现自己杀掉自己的情况
- // 使用图形服务的PostGraphicEvent方法异步执行PostChangeSlice,以避免在页面事件监听时出现当前页面自我销毁的情况。
- GraphicService::GetInstance()->PostGraphicEvent(std::bind(&Ability::PostChangeSlice, this, targetSliceId,
- type, priority));
- } else {
- GRAPHIC_LOGE("ChangeSlice failed! targetSliceId = %u, transitionCount_ = %d",
- targetSliceId, osal_atomic_read(&transitionCount_));
- }
- }
+ if (osal_atomic_read(&transitionCount_) <= 0)
+ {
+ osal_atomic_inc(&transitionCount_);
+ // onStop释放当前页面需要和当前页面的事件监听异步执行,否则会出现自己杀掉自己的情况
+ // 使用图形服务的PostGraphicEvent方法异步执行PostChangeSlice,以避免在页面事件监听时出现当前页面自我销毁的情况。
+ GraphicService::GetInstance()->PostGraphicEvent(std::bind(&Ability::PostChangeSlice, this, targetSliceId,
+ type, priority));
+ }
}
void Ability::PostChangeSlice(const uint16_t targetSliceId, TransitionType type, const uint16_t priority)
{
-
-#ifdef JS_ENABLE
- ElementName *elementName = OHOS::AbilityMsClient::GetInstance().GetTopAbility();
- if (elementName != nullptr && strcmp(elementName->bundleName, "com.huawei.launcher") != 0) {
- OHOS::AbilityMsClient::GetInstance().ForceStop(elementName->bundleName);
- targetSliceIdFromJS_ = targetSliceId;
- if (type != TransitionType::TRANSITION_INVALID) {
- osal_atomic_dec(&transitionCount_);
- }
- return;
- }
-#endif
/*
1.首先检查当前Slice是否存在,并验证transitionId的有效性。
如果当前存在一个有效的Slice,并且transitionId合法,则调用sliceTransition_的SaveCurrentSnapshot方法保存当前Slice的快照,
if (!sliceTransition_.SaveCurrentSnapshot(curSlice_.slice->GetSliceContainer()))
{
useTransition = false;
- osal_atomic_dec(&transitionCount_);
}
StopSlice();
}
printf("*******************next slice id is %d*****************\r\n", targetSliceId);
#endif
// slice页面跳转,先onstop,再onstart.在一个线程同步执行绘制,不会出现闪屏现象
-
+#ifdef JS_ENABLE
+ ElementName *elementName = OHOS::AbilityMsClient::GetInstance().GetTopAbility();
+ if (elementName != nullptr && strcmp(elementName->bundleName, "com.huawei.launcher") != 0)
+ {
+ OHOS::AbilityMsClient::GetInstance().ForceStop(elementName->bundleName);
+ targetSliceIdFromJS_ = targetSliceId;
+ osal_atomic_dec(&transitionCount_);
+ return;
+ }
+#endif
/*
调用StartSlice函数以启动新的指定的Slice。
StartSlice函数内部会先检查是否存在目标Slice的Proxy,并通过Proxy创建新的实例,
{
sliceTransition_.Transition(prevSlice_.slice->GetSliceContainer(), curSlice_.slice->GetSliceContainer());
}
- }
+ }
+ else
+ {
+ osal_atomic_dec(&transitionCount_);
+ }
}
void Ability::OnTransitionEnd()
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/main/src/MainModel.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/main/src/MainPresenterSample.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/main/src/ModelListenerSample.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/main/src/PresenterTask.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/main/src/HealthModel.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/main/src/PullUpDownView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/applist/src/AppItemView.cpp
${UI_SAMPLE_ROOT}/components/ui_test_keyboard/ui_test_keyboard.cpp
${UI_SAMPLE_ROOT}/components/ui_test_hexagons_list/ui_test_hexagons_list.cpp
${UI_SAMPLE_ROOT}/components/ui_test_coverflow/ui_test_coverflow.cpp
- ${UI_SAMPLE_ROOT}/components/ui_test_slipflow/ui_test_slipflow.cpp
${UI_SAMPLE_ROOT}/components/ui_test_kaleidoscope/ui_test_kaleidoscope.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/main/src/dial/DialRotateImgView.cpp
#include "BluetoothPresenter.h"
#include "PlayersModel.h"
#include "HealthModel.h"
+#include "PresenterTask.h"
#include "MainCompassPresenter.h"
#include "MainCompassView.h"
#include "CallerLogModel.h"
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "BluetoothEarPhoneView::BtEnable Bt is Discovering");\r
return;\r
} else {\r
+ results = gap_br_set_bt_scan_mode(GAP_SCAN_MODE_NONE, 0);\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "gap_br_set_bt_scan_mode results %d", results);\r
results = gap_br_set_inquiry_paramters(DEVICE_MAJOR_CLASS_AUDIO_VIDEO, 0);\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "gap_br_set_inquiry_paramters results %d", results);\r
results = gap_br_start_discovery();\r
\r
void ConnectTgStateChangedCallback(const bd_addr_t *bdAddr, profile_connect_state_t state)\r
{\r
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "avrcp tg update conn stat:%u", state);\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "avrcp tg update conn stat:%u", state);\r
if (bdAddr == nullptr) {\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "bdaddr nullptr");\r
return;\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "null pointer\n");\r
return;\r
}\r
-\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "get event list:");\r
for (uint8_t i = 0; i < event->event_num; i++) {\r
- if (event->event_id[i] == AVRCP_NOTIFY_EVENT_VOLUME_CHANGED) {\r
- int ret = avrcp_ct_register_notification(bd_addr, event->event_id[i], 0);\r
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "register event_id: 0x%x, ret = 0x%x", event->event_id[i], ret);\r
- }\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, " 0x%x ", event->event_id[i]);\r
}\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "\n");\r
\r
for (uint8_t i = 0; i < event->event_num; i++) {\r
- if (event->event_id[i] != AVRCP_NOTIFY_EVENT_VOLUME_CHANGED) {\r
- int ret = avrcp_ct_register_notification(bd_addr, event->event_id[i], 0);\r
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "register event_id: 0x%x, ret = 0x%x", event->event_id[i], ret);\r
- }\r
+ avrcp_ct_register_notification(bd_addr, event->event_id[i], 0);\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "register event_id: 0x%x\n", event->event_id[i]);\r
}\r
}\r
\r
\r
int BluetoothModel::ConnectRemoteDevice(const bd_addr_t *addr)\r
{\r
- /* 恢厂后耳机连接要开启BT广播否则会导致AVRCP无法音量控制 */\r
- bool ret = gap_br_set_bt_scan_mode(GAP_SCAN_MODE_CONNECTABLE, 60);\r
- if (!ret) {\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ConnectRemoteDevice gap_br_set_bt_scan_mode ret = 0x%x", ret);\r
- }\r
errcode_t retVal = gap_connect_remote_device(addr);\r
(void)memcpy_s(&remoteConnectAddr, sizeof(bd_addr_t), addr, sizeof(bd_addr_t));\r
return retVal;\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "addr: %02x%02x%02x%02x%02x%02x",\r
bdAddr->addr[5], bdAddr->addr[4], bdAddr->addr[3], /* mac下标 0 1 2 3 4 5 */\r
bdAddr->addr[2], bdAddr->addr[1], bdAddr->addr[0]); /* mac下标 0 1 2 3 4 5 */\r
- static bd_addr_t gapAclConnectAddr{0}; /* 连接后保存手机地址,手表清除手机配对后查询不到class比较手机地址 */\r
- if ((gap_get_device_class(bdAddr) & 0x200) != 0 || memcmp(gapAclConnectAddr.addr, bdAddr->addr, BD_ADDR_LEN) == 0) {\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
- (void)memcpy_s(gapAclConnectAddr.addr, BD_ADDR_LEN, bdAddr->addr, BD_ADDR_LEN);\r
SendMsgToMsgCenterService(BT_CONNECTED_TO_MSGCENTER, 0, nullptr, 0);\r
SendMsgToUIService(BT_CONNECTED_TO_UI, 0, nullptr, 0);\r
}\r
return;\r
}\r
if (connState == PROFILE_STATE_CONNECTED) {\r
- uint32_t ret = avrcp_ct_connect(bdAddr);\r
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "avrcp_ct_connect ret = 0x%x", ret);\r
+ avrcp_ct_connect(bdAddr);\r
PhoneAudioManagerSetDeviceConnState(OUT_BLUETOOTH_A2DP, AUDIO_DEVICE_CONNECTED);\r
GraphicService::GetInstance()->PostGraphicEvent(std::bind(ACLConnectionSuss, *bdAddr));\r
}\r
#include "common/task.h"\r
\r
namespace OHOS {\r
-class ModelListenerSample : public Task {\r
+class ModelListenerSample : public HeapBase {\r
public:\r
ModelListenerSample();\r
virtual ~ModelListenerSample();\r
virtual void Notify(void) = 0;\r
virtual void OnTickEvent(void) {};\r
- void Callback() override;\r
+ void Callback();\r
};\r
}\r
#endif\r
--- /dev/null
+/*\r
+ * Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.\r
+ * Description: Presenter task\r
+ * Create: 2021-12-22\r
+ */\r
+\r
+#ifndef PRESENTER_TASK_H\r
+#define PRESENTER_TASK_H\r
+#include "common/task.h"\r
+\r
+namespace OHOS {\r
+class ModelListenerSample;\r
+class PresenterTask : public Task {\r
+public:\r
+ void SetModelListener(ModelListenerSample* listener);\r
+ void Callback() override;\r
+ static PresenterTask* GetInstance();\r
+ void Init() override;\r
+ ModelListenerSample* taskListener{nullptr};\r
+};\r
+}\r
+#endif
\ No newline at end of file
#include <iostream>
#include <map>
#include "ModelDialDataFactory.h"
+#include "PresenterTask.h"
#include "DialModelTime.h"
#include "DialViewGroup.h"
#include "ui_service.h"
void MainPresenterSample::SetTaskPeroid(CardId cardId)
{
if (cardId == COMPASS) {
- SetPeriod(DEFAULT_TASK_PERIOD);
+ PresenterTask::GetInstance()->SetPeriod(DEFAULT_TASK_PERIOD);
} else if (cardId == WATCH_FACE) {
uint32_t time;
DialSetting &setting = GetDialSetting();
} else {
time = DEFAULT_TASK_PERIOD;
}
- SetPeriod(time);
+ PresenterTask::GetInstance()->SetPeriod(time);
} else if (cardId == MUSIC_PLAYER) {
- SetPeriod(PLAYER_PERIOD);
+ PresenterTask::GetInstance()->SetPeriod(PLAYER_PERIOD);
} else {
- SetPeriod(MAX_PERIOD);
+ PresenterTask::GetInstance()->SetPeriod(MAX_PERIOD);
}
}
*/
#include "ModelListenerSample.h"
+#include "PresenterTask.h"
#include "wearable_log.h"
namespace OHOS {
ModelListenerSample::ModelListenerSample()
{
- Init();
+ PresenterTask::GetInstance()->SetModelListener(this);
+ PresenterTask::GetInstance()->Init();
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ModelListenerSample::ModelListenerSample");
}
ModelListenerSample::~ModelListenerSample()
{
- Deinit();
+ PresenterTask::GetInstance()->Deinit();
+ PresenterTask::GetInstance()->SetModelListener(nullptr);
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ModelListenerSample::~ModelListenerSample");
}
--- /dev/null
+\r
+#include "ModelListenerSample.h"\r
+#include "PresenterTask.h"\r
+\r
+namespace OHOS {\r
+\r
+PresenterTask* PresenterTask::GetInstance()\r
+{\r
+ static PresenterTask PresenterTask;\r
+ return &PresenterTask;\r
+}\r
+\r
+void PresenterTask::SetModelListener(ModelListenerSample* listener)\r
+{\r
+ taskListener = listener;\r
+}\r
+\r
+void PresenterTask::Callback()\r
+{\r
+ if (taskListener != nullptr) {\r
+ taskListener->Callback();\r
+ }\r
+}\r
+\r
+void PresenterTask::Init()\r
+{\r
+ Task::Init();\r
+}\r
+\r
+}
\ No newline at end of file
// 建立音频下行通路
AudioDnStart();
-
+ if (g_audioState == AUDIO_STREAM_START_DN) {
+ // 同步音量
+ SyncVolume();
+ }
WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "[AudioDn] audioState:%d", g_audioState);
}
}
break;
case HFP_SCO_STATE_CONNECTED:
- // 同步音量
- SyncVolume();
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[ScoStateChanged] SCO connected!");
break;
{
// 此处实现代码用于处理文件播放完成的事件
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "OnPlaybackCompleten");
- GraphicService::GetInstance()->PostGraphicEvent([] {
- PlayersView *playersView = PlayersView::GetInstance();
- if (playersView != nullptr) {
- if (playersView->GetPlaybackProgress() != nullptr) {
- playersView->GetPlaybackProgress()->SetValue(100); // 100:进度100%
- playersView->GetPlaybackProgress()->Invalidate();
- }
+ PlayersView *playersView = PlayersView::GetInstance();
+ if (playersView != nullptr) {
+ if (playersView->GetPlaybackProgress() != nullptr) {
+ playersView->GetPlaybackProgress()->SetValue(100); // 100:进度100%
+ playersView->GetPlaybackProgress()->Invalidate();
}
- });
+ }
usleep(20000);
GraphicService::GetInstance()->PostGraphicEvent(std::bind(&PlayersModel::PlaySwitching, PlayersModel::GetInstance()));
}
tempView->SetViewId(view.GetViewId());
tempView->SetPosition(tempView->GetX(), tempView->GetY());
rootView->Add(tempView);
+ if (backBtn_ == nullptr) {
+ backBtn_ = new TransparentBackButton();
+ backBtn_->SetPosition(0, 202, 50, 50); // 0: x position, 202: y position, 50: width and height
+ }
+ backBtn_->SetViewId(view.GetViewId());
+ rootView->Add(backBtn_);
}
- if (backBtn_ == nullptr) {
- backBtn_ = new TransparentBackButton();
- backBtn_->SetPosition(0, 202, 50, 50); // 0: x position, 202: y position, 50: width and height
- }
- backBtn_->SetViewId(view.GetViewId());
- rootView->Add(backBtn_);
rootView->Invalidate();
return true;
}
#include "ui_test_hexagons_list/ui_test_hexagons_list.h"
#include "ui_test_video_play/ui_test_video_play.h"
#include "ui_test_coverflow/ui_test_coverflow.h"
-#include "ui_test_slipflow/ui_test_slipflow.h"
#include "ui_test_kaleidoscope/ui_test_kaleidoscope.h"
namespace OHOS {
testCaseList_->PushBack(TestCaseInfo{"消息", new UITestMessage()});
testCaseList_->PushBack(TestCaseInfo{"呼吸效果", new UITestBreath()});
testCaseList_->PushBack(TestCaseInfo{"覆盖流", new UITestCoverflow()});
- testCaseList_->PushBack(TestCaseInfo{"滑动流", new UITestSlipflow()});
testCaseList_->PushBack(TestCaseInfo{"万花筒", new UITestKaleidoscope()});
#if ENABLE_VGU_ENGINE && CAPABILITY_HWDRAW_PATH
\r
}\r
\r
- if( uapi_dev_runtime_get_bt_powerstat() && cm_get_HFP_switch())\r
+ if( cm_custom_ble_service_on_flag() && cm_get_HFP_switch())\r
uapi_pbap_cmd_start_client();\r
\r
bd_addr_t bdaddr={0};\r
uapi_get_br_address(&bdaddr);\r
- if( uapi_dev_runtime_get_bt_powerstat() && (cm_get_HFP_switch()||cm_get_A2DP_switch()))\r
+ if( cm_custom_ble_service_on_flag() && (cm_get_HFP_switch()||cm_get_A2DP_switch()))\r
{\r
if (false==bt_is_acl_connected(&bdaddr))\r
{\r
${CMAKE_CURRENT_SOURCE_DIR}/../../nativeapp/nativelauncher/include
)
endif()
+if("JS_ENABLE" IN_LIST DEFINES)
set(SOURCES
${CMAKE_CURRENT_SOURCE_DIR}/src/msg_center.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/notify/notification_manager.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/jsi_utils.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/msg_center_protocol.cpp
)
-
-if("JS_ENABLE" IN_LIST DEFINES)
+else()
set(SOURCES
- ${SOURCES}
- ${CMAKE_CURRENT_SOURCE_DIR}/src/jsi_utils.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/msg_center.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/notify/notification_manager.cpp
)
endif()
${CMAKE_CURRENT_SOURCE_DIR}/include
${CMAKE_CURRENT_SOURCE_DIR}/include/vendor_app
${CMAKE_CURRENT_SOURCE_DIR}/include/ota
- ${CMAKE_CURRENT_SOURCE_DIR}/include/hc_demo
- ${CMAKE_CURRENT_SOURCE_DIR}/include/common
)
if("FD230" IN_LIST DEFINES)
${CMAKE_CURRENT_SOURCE_DIR}/../../fd230app/nativeui/bluetooth/include
${CMAKE_CURRENT_SOURCE_DIR}/../../fd230app/nativelauncher/include
${CMAKE_CURRENT_SOURCE_DIR}/../../fd230app/nativeui/goal/include
+ # ${CMAKE_CURRENT_SOURCE_DIR}/../../fd230app/nativelauncher/include
${CMAKE_CURRENT_SOURCE_DIR}/../../ohos_deps
${CMAKE_CURRENT_SOURCE_DIR}/../../CustomUIComponentTool/uicomponents/
${ROOT_DIR}/middleware/services/gui/uikit/proprietary/include
${CMAKE_CURRENT_SOURCE_DIR}/../../nativeapp/nativeui/main/include
${CMAKE_CURRENT_SOURCE_DIR}/../../nativeapp/nativeui/player/include
${CMAKE_CURRENT_SOURCE_DIR}/../../nativeapp/nativeui/bluetooth/include
- ${CMAKE_CURRENT_SOURCE_DIR}/../../nativeapp/nativeui/key/include
${CMAKE_CURRENT_SOURCE_DIR}/../../nativeapp/nativelauncher/include
${CMAKE_CURRENT_SOURCE_DIR}/../../ohos_deps
${CMAKE_CURRENT_SOURCE_DIR}/../../CustomUIComponentTool/uicomponents/
${CMAKE_CURRENT_SOURCE_DIR}/src/notify/message_notification.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/notify/sleep_notification.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/notify/motion_recognition_notification.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/src/common/msg_center_common.cpp
)
else()
set(SOURCES
+++ /dev/null
-/*
- * Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.
- * Description: broadcast service api
- * Author: CompanyName
- * Create: 2021-11-11
- */
-
-#ifndef MSG_CENTER_COMMON_H
-#define MSG_CENTER_COMMON_H
-
-#include "msg_center_protocol.h"
-
-#ifdef __cplusplus
-#if __cplusplus
-extern "C" {
-#endif
-#endif
-
-errcode_t msg_center_ping_rec(uint8_t cmd_id, uint8_t type, void *usr_data, uint16_t usr_len);
-
-#ifdef __cplusplus
-#if __cplusplus
-}
-#endif
-#endif
-#endif /* MSG_CENTER_COMMON_H */
+++ /dev/null
-/*\r
- * Copyright (c) CompanyNameMagicTag.\r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- */\r
-\r
-#ifndef MSG_CENTER_CUSTOMER_H\r
-#define MSG_CENTER_CUSTOMER_H\r
-\r
-#include <cstdint>\r
-#include "service.h"\r
-#include "iunknown.h"\r
-#include "broadcast_feature.h"\r
-#include "graphic_service.h"\r
-#include "jsi/jsi_types.h"\r
-\r
-#ifdef __cplusplus\r
-extern "C" {\r
-#endif\r
-\r
-#ifdef JS_ENABLE\r
-void StartJsApp(char *bundleName);\r
-void StopJsApp(char *bundleName);\r
-void MsgCenterReportBtStatusToJS(uint16_t msgId);\r
-#endif\r
-\r
-#ifdef __cplusplus\r
-}\r
-#endif\r
-#endif // MSG_CENTER_CUSTOMER_H\r
#include "soc_osal.h"
#include "baidu_app.h"
#include "cmsis_os2.h"
-#include "bts_le_gap.h"
#ifdef __cplusplus
#if __cplusplus
} msg_center_ota_type_id_t;
-typedef enum msg_center_ping_type_id {
- MSGCENTER_TYPE_ID_PING_REC = 0x1,
- MSGCENTER_TYPE_ID_PING_RSP = 0x2,
-} msg_center_ping_type_id_t;
-
typedef enum msg_center_cmd_id {
MSGCENTER_CMD_XIAODU = 0x1,
MSGCENTER_CMD_NAVIGATION = 0x2,
MSGCENTER_CMD_VECTOR_NAVI = 0x3,
MSGCENTER_CMD_ALIPAY = 0x4,
MSGCENTER_CMD_OTA = 0x5,
- MSGCENTER_CMD_HC = 0x6,
- MSGCENTER_CMD_PING = 0x7,
MSGCENTER_CMD_MAX
} msg_center_cmd_id_t;
void msg_center_combine_file(char *flist, char *target_file_name);
diag_frame_fid_t msg_center_get_trans_channel(void);
void msg_center_set_trans_channel(diag_frame_fid_t select);
-void msg_center_set_ble_conn_state(gap_ble_conn_state_t state);
-gap_ble_conn_state_t msg_center_get_ble_conn_state(void);
#ifdef __cplusplus
#if __cplusplus
+++ /dev/null
-/*
- * Copyright (c) CompanyNameMagicTag 2023-2023. All rights reserved.
- * Description: ota upgrade handle.
- * This file should be changed only infrequently and with great care.
- */
-#include <stdio.h>
-#include "securec.h"
-#include "bts_br_gap.h"
-#include "bts_spp.h"
-#include "msg_center.h"
-#include "msg_center_protocol.h"
-#include "msg_center_cmd.h"
-#include "wearable_log.h"
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-errcode_t msg_center_ping_rec(uint8_t cmd_id, uint8_t type, void *usr_data, uint16_t usr_len)
-{
- uint8_t tl_len = msg_center_get_tlv_tl_len(usr_data);
- uint16_t payload_len = usr_len - tl_len;
- uint8_t *tlv_payload = (uint8_t *)msg_center_get_tlv_payload(usr_data);
- errcode_t ret = ERRCODE_SUCC;
- uint8_t ping_result = 0;
-
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "rec_ping_from_phone\r\n");
-
- if (msg_center_get_trans_channel() == DIAG_FRAME_FID_PHONE) {
- ping_result = is_spp_connected(0) == true ? 1 : 0;
- } else if (msg_center_get_trans_channel() == DIAG_FRAME_FID_BT) {
- ping_result = msg_center_get_ble_conn_state();
- } else {
- ping_result = 2; /* 2用来表示异常值 */
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "ble or spp not connected!\r\n");
- }
-
- /* ping req ack */
- ret = msg_center_send_data(cmd_id, type + 1, &ping_result, sizeof(ping_result));
- if (ret != ERRCODE_SUCC) {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_MSG_CENTER, "send_ping_ack fail, ret = %d\r\n", ret);
- return ERRCODE_FAIL;
- }
-
- return ERRCODE_SUCC;
-}
-
-#ifdef __cplusplus
-}
-#endif
\ No newline at end of file
#include "baidu_app.h"
#include "alipay_app.h"
#include "msg_center_ota.h"
-#ifdef SUPPORT_HC_DEMO
-#include "msg_center_hc_demo.h"
-#endif
-#include "msg_center_common.h"
#ifdef __cplusplus
extern "C" {
{ MSGCENTER_CMD_OTA, MSGCENTER_TYPE_ID_OTA_UPG_CHECK, msg_center_ota_rec_upg_check},
{ MSGCENTER_CMD_OTA, MSGCENTER_TYPE_ID_OTA_UPG_CHECK_RESULT, msg_center_ota_rec_upg_check_result},
#endif
-#ifdef JS_ENABLE
- { MSGCENTER_CMD_PING, MSGCENTER_TYPE_ID_PING_REC, msg_center_ping_rec},
- { MSGCENTER_CMD_PING, MSGCENTER_TYPE_ID_PING_RSP, NULL},
-#endif
};
msg_center_cmd_map_t *msg_center_get_cmd_tbl_ops(uint8_t idx)
{
switch (cmd_id) {
case MSGCENTER_CMD_XIAODU:
- return (char *)"com.vendor.voiceassistant";
+ return "com.vendor.voiceassistant";
case MSGCENTER_CMD_NAVIGATION:
- return (char *)"cn.navigate";
+ return "cn.navigate";
case MSGCENTER_CMD_VECTOR_NAVI:
- return (char *)"com.baidu.BaiduMap";
+ return "com.baidu.BaiduMap";
default:
WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER,"msg_center_get_bundle_name: wrong cmd_id[%d]", cmd_id);
- return (char*)"wrong";
+ break;
}
+
+ return NULL;
}
static errcode_t msg_center_pkt_dispatch(uint8_t cmd_id, uint8_t type, void *usr_data, uint16_t usr_len)
#include "element_name.h"
#include "want.h"
#include "msg_center.h"
-#include "msg_center_msg.h"
-#include "msg_center_protocol.h"
-#include "baidumap.h"
#include "common_def.h"
#include "PhoneService.h"
#include "power_display_service.h"
#endif
{TOPIC_EVENT_FIND_WATCH,PRIORITY_TWO},// 找手表 [2]
{TOPIC_EVENT_CANCEL_FIND_WATCH,PRIORITY_TWO},// 取消找手表 [2]
- {TOPIC_EVENT_DRINKREMINDER,PRIORITY_THREE},//喝水提醒 [3]
+ {TOPIC_EVENT_DRINKREMINDER,PRIORITY_TWO},//喝水提醒 [2]
{TOPIC_EVENT_MESSAGENOTE,PRIORITY_THREE},//消息提醒 [3]
{TOPIC_EVENT_MESSAGE_UPDATA,PRIORITY_TWO},//消息更新提醒 [3]
{TOPIC_EVENT_SLEEPNOTE,PRIORITY_THREE},//睡眠弹窗 [3]
static NAP_T nap_data = {0};
static int state_num = 0;
static uint32_t day_timestamp = 0;
+static uint32_t current_day = 0;
static uint8_t fall_asleep_state_num = 0;
#endif
// unused(topic);
unused(req);
WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "MsgCenterNotifyDrinkReminderProc !");
- DrinkReminderViewEventListener::GetInstance().set_screen_on_and_vibration();
+ // DrinkReminderViewEventListener::GetInstance().set_screen_on_and_vibration();
if (CheckPriority(topic))
{
NotificationManager::GetInstance()->SetNotifyPriority(PRIORITY_TWO);
timeinfo = localtime(&rawtime);
uapi_get_timestampe_ss(×tamp);
day_timestamp = timestamp - (timeinfo->tm_hour * 60 * 60 + timeinfo->tm_min * 60 + timeinfo->tm_sec);
+ current_day = timeinfo->tm_mday;
}
#endif
OHOS::SLEEP_STATE_T state_data = {0};
if(state_num < SLEEP_STATUS_LENGTH)
{
sleep_data.sleep_status[state_num].timestamp = day_timestamp + cywee_Inactivity_Info->hour * 60 * 60 + cywee_Inactivity_Info->minute * 60;
+ if(current_day != cywee_Inactivity_Info->day)
+ {
+ sleep_data.sleep_status[state_num].timestamp -= 24 * 60 * 60;
+ }
sleep_data.sleep_status[state_num].stat = cywee_Inactivity_Info->status;
if(sleep_data.sleep_status[state_num].stat == 7 || sleep_data.sleep_status[state_num].stat == 13)
{
if(sleep_data.sleep_status[state_num].stat == 0) //0进入睡眠 1潜睡 2深睡 3清醒 4结束睡眠 6入睡 7出睡最后一笔输出 8未出睡最后一笔输出 12快速动眼 13取消入睡
{
sleep_data.fall_asleep_timestamp = sleep_data.sleep_status[state_num].timestamp;
- fall_asleep_state_num = state_num;
+ //fall_asleep_state_num = state_num;
}
else if(sleep_data.sleep_status[state_num].stat == 4)
{
{
memset(&sleep_data,0,sizeof(SLEEP_T));
state_num = 0;
- fall_asleep_state_num = 0;
+ //fall_asleep_state_num = 0;
uapi_dev_runtime_set_absolute_static_status(0);
return;
}
}
else if(cywee_Inactivity_Accumulate_Time_Info->output_number == INACTIVITY_MODE_SLEEPING_ACCUMULATE_TIME_OUTPUT)
{
- if(sleep_data.fall_asleep_timestamp > sleep_data.wake_up_timestamp)
- {
- sleep_data.fall_asleep_timestamp -= 24 * 60 * 60;
- sleep_data.sleep_status[fall_asleep_state_num].timestamp = sleep_data.fall_asleep_timestamp;
- }
+ // if(sleep_data.fall_asleep_timestamp > sleep_data.wake_up_timestamp && sleep_data.wake_up_timestamp != 0)
+ // {
+ // sleep_data.fall_asleep_timestamp -= 24 * 60 * 60;
+ // sleep_data.sleep_status[fall_asleep_state_num].timestamp = sleep_data.fall_asleep_timestamp;
+ // }
sleep_data.total_time = cywee_Inactivity_Accumulate_Time_Info->total_time;
sleep_data.total_deep_sleep_time = cywee_Inactivity_Accumulate_Time_Info->total_deep_sleep_time;
set_sleep_data(&sleep_data);
memset(&sleep_data,0,sizeof(SLEEP_T));
state_num = 0;
- fall_asleep_state_num = 0;
+ //fall_asleep_state_num = 0;
}
#endif
free(cywee_Inactivity_Accumulate_Time_Info);
return false;
}
-#ifdef JS_ENABLE
-void StartJsApp(char *bundleName)
-{
- ElementName* topAbility = OHOS::AbilityMsClient::GetInstance().GetTopAbility();
- if (topAbility == nullptr) {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "topAbility is null");
- return;
- }
-
- if (strcmp(topAbility->bundleName, bundleName) == 0) {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "%s is active", bundleName);
- return;
- }
- // If the alarm notification is being processed, we need to disable the alarm notification first.
- if (OHOS::NotificationManager::GetInstance()->GetNotifyPriority() == PRIORITY_TWO &&
- OHOS::NotificationManager::GetInstance()->HasNotifyShowing()) {
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "Alarm notification needs to be disabled first.");
- AlarmClockModel::GetInstance()->AlarmGetClockNum();
- OHOS::AlarmPopUpPresenter::GetInstance()->DelayAlarmRing();
- OHOS::NotificationManager::GetInstance()->StopNotify();
- }
- Want *want = new Want();
- memset_s(want, sizeof(Want), 0, sizeof(Want));
-
- ElementName startElement = {};
- startElement.abilityName = (char *)"default";
- startElement.bundleName = bundleName;
- startElement.deviceId = nullptr;
- SetWantElement(want, startElement);
-
- StartAbility(want);
-
- delete want;
-}
-
-void StopJsApp(char *bundleName)
-{
- ElementName* topAbility = OHOS::AbilityMsClient::GetInstance().GetTopAbility();
- if (topAbility == nullptr) {
- WEARABLE_LOGE(HILOG_MODULE_AAFWK, "topAbility is null");
- return;
- }
-
- if (strcmp(topAbility->bundleName, bundleName) != 0) {
- WEARABLE_LOGE(HILOG_MODULE_AAFWK, "%s is not top active", bundleName);
- return;
- }
-
- int token = 0;
- OHOS::AbilityMsClient::GetInstance().TerminateAbility(token);
-}
-
-void MsgCenterReportBtStatusToJS(uint16_t msgId)
-{
- ElementName *elementName = OHOS::AbilityMsClient::GetInstance().GetTopAbility();
- if (!(elementName != nullptr && strcmp(elementName->bundleName, "com.huawei.launcher") != 0)) {
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "JS is not on top, ignore report");
- return;
- }
-
- if (msgId == BT_DISCONNECTED_TO_MSGCENTER) {
- BaidumapSendMsgToJS("0", MSGCENTER_TYPE_ID_VECTOR_NAVI_BT_DISCONNECTED);
- } else if (msgId == BT_CONNECTED_TO_MSGCENTER) {
- BaidumapSendMsgToJS("1", MSGCENTER_TYPE_ID_VECTOR_NAVI_BT_CONNECTED);
- } else {
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_MSG_CENTER, "unexpected msgId %d", msgId);
- }
-}
-#endif
-
#ifdef __cplusplus
}
#endif
#include "sign_mode.h"
#include "NativeAbility.h"
#include "ability_manager.h"
-#include "js_fwk_common.h"
#define ARRAY_COUNT(array) (sizeof(array) / sizeof(array[0]))
#define OHOSFWK_MAX_ARGC 8
return ERRCODE_SUCC;
}
-static uint32_t OhosfwkATCmdDfxJsMemoryInfo(uint8_t *para, uint32_t paraLen, char *strCommonCmd)
-{
- OHOS::ACELite::DumpPrintMemoryInfo();
- return ERRCODE_SUCC;
-}
-
static const at_cmd_table_t g_ohosfwk_cmd[] = {
{ (char *)"AT^OHOSFWK_AM_EXIT_JSAPP", OhosfwkATCmdAmExitJsApp, (char *)"00 00 00 00" },
{ (char *)"AT^OHOSFWK_BM_INSTALL", OhosfwkATCmdBmInstall, (char *)"00 00 00 01" },
{ (char *)"AT^OHOSFWK_BM_UNINSTALL", OhosfwkATCmdBmUninstall, (char *)"00 00 00 03" },
{ (char *)"AT^OHOSFWK_AM_CHANGENATIVESLICE", OhosfwkATCmdAmChangeNativeSlice, (char *)"00 00 00 04" },
{ (char *)"AT^OHOSFWK_AM_START_JS_APP", OhosfwkATCmdAmStartJsApp, (char *)"00 00 00 05" },
- { (char *)"AT^OHOSFWK_DFX_JS_MEMORY_INFO", OhosfwkATCmdDfxJsMemoryInfo, (char *)"00 00 00 06" },
};
at_cmd_table_t *get_ohosfwk_cmd_table(uint32_t *cmd_count)
'pm_service', 'pm_brandy', 'cmn_header', 'at_cmd', 'graphic_at_service', 'app_at_service',
'audio_at_service', 'media_at_service', 'bt_manager_at_service',
"audio_proc", "audio_dump", "audio_probe", "gpu_proc", 'bts_header'],
- 'ram_component_set': ['bgh', 'media_mini', 'gpu', 'graphic_lvgl_mini', 'bgh_audio', 'dfx_set'],
+ 'ram_component_set': ['bgh', 'media_mini', 'gpu', 'graphic_lvgl_mini', 'dfx_set'],
'image_analysis': True,
'dsp_version': 'mini',
'packet': True,
#"MEM_CHECK",
#'ENABLE_WEBSOCKET',
'CYWEE_SPORT',
- #'CYWEE_MAC_ACTIVE',
+ 'CYWEE_MAC_ACTIVE',
'SUPPORT_TCPIP',
'SUPPORT_HID_SERVICE',
- 'SUPPORT_BAIDU_MAP',
- 'CFG_FLASH_SIZE=16'
+ #'LEANTEST',
+ 'SUPPORT_BAIDU_MAP'
],
'ram_component': ["algorithm", "dfx_port_brandy", "dfx_update", 'dfx_nv', "osal", "arch_port", "-:testsuite",
"liteos_port", 'lcd', 'qspi_display', 'dfx_file_operation',
"bleservice",
"blemoder",
"factorytest_service",
+ #"leantest",
"hid_service"
],
'ram_component_set': ['bgh', 'media', 'gpu', 'graphic_uikit', 'bgh_audio', 'dfx_set', 'ohos_set', 'wearable_set', 'alipay_set'],
+++ /dev/null
-{
- "Partition_Tbl":{
- "image_id" : "0x4B87A52D",
- "stru_ver" : "0x00010000",
- "version" : "0x00000000",
- "param_info_description" : [
- "Address Constraints: flash type must fill with relative address, RAM regions must fill with absolute address.",
- "Item ID Constraints: ssb type: 0x00 ~ 0x0F, Relative address, Size",
- " root public key and signature: 0x10 ~ 0x1F, Relative address, Size",
- " firmware on flash: 0x20 ~ 0x2F, Relative address, Size",
- " data on flash: 0x30 ~ 0x3F, Relative address, Size",
-
- "Fixed item id: 0x00: ssb",
- " 0x01: ssb_backup",
- " 0x10: configure RootPubKey",
- " 0x11: signature certificate",
- " 0x12: ssb image signature",
- " 0x13: signature certificate backup",
- " 0x14: ssb image backup signature",
- " 0x15: algorithm signature",
- " 0x16: recovery signature",
- " 0x17: bt_image signature",
- " 0x18: dsp_main_image signature",
- " 0x19: dsp_overlay_image signature",
- " 0x1A: acpu_image signature",
- " 0x20: recovery",
- " 0x21: bt_image",
- " 0x22: dsp_main_image",
- " 0x23: dsp_overlay_image",
- " 0x24: acpu_image",
- " 0x30: nv_data",
- " 0x31: fota_data"
- ],
- "param_info" : [
- ["0x00", "0x00000000", "0x00020000"],
- ["0x01", "0x00020000", "0x00020000"],
- ["0x10", "0x00040000", "0x00001000"],
- ["0x11", "0x00041000", "0x00001000"],
- ["0x12", "0x00042000", "0x00001000"],
- ["0x13", "0x00043000", "0x00001000"],
- ["0x14", "0x00044000", "0x00001000"],
- ["0x15", "0x00045000", "0x00001000"],
- ["0x16", "0x00046000", "0x00001000"],
- ["0x17", "0x00047000", "0x00001000"],
- ["0x18", "0x00048000", "0x00001000"],
- ["0x19", "0x00049000", "0x00001000"],
- ["0x1a", "0x0004A000", "0x00001000"],
- ["0x20", "0x00B80000", "0x00100000"],
- ["0x21", "0x00090000", "0x00070000"],
- ["0x22", "0x00100000", "0x000C0000"],
- ["0x23", "0x001C0000", "0x001C0000"],
- ["0x24", "0x00380000", "0x00800000"],
- ["0x30", "0x00C80000", "0x00004000"],
- ["0x31", "0x00C84000", "0x00003000"]
- ]
- },
- "Output_file_prefix":"AIoT"
-}
+++ /dev/null
-{
- "Partition_Tbl":{
- "image_id" : "0x4B87A52D",
- "stru_ver" : "0x00010000",
- "version" : "0x00000000",
- "param_info_description" : [
- "Address Constraints: flash type must fill with relative address, RAM regions must fill with absolute address.",
- "Item ID Constraints: ssb type: 0x00 ~ 0x0F, Relative address, Size",
- " root public key and signature: 0x10 ~ 0x1F, Relative address, Size",
- " firmware on flash: 0x20 ~ 0x2F, Relative address, Size",
- " data on flash: 0x30 ~ 0x3F, Relative address, Size",
-
- "Fixed item id: 0x00: ssb",
- " 0x01: ssb_backup",
- " 0x10: configure RootPubKey",
- " 0x11: signature certificate",
- " 0x12: ssb image signature",
- " 0x13: signature certificate backup",
- " 0x14: ssb image backup signature",
- " 0x15: algorithm signature",
- " 0x16: recovery signature",
- " 0x17: bt_image signature",
- " 0x18: dsp_main_image signature",
- " 0x19: dsp_overlay_image signature",
- " 0x1A: acpu_image signature",
- " 0x20: recovery",
- " 0x21: bt_image",
- " 0x22: dsp_main_image",
- " 0x23: dsp_overlay_image",
- " 0x24: acpu_image",
- " 0x30: nv_data",
- " 0x31: fota_data"
- ],
- "param_info" : [
- ["0x00", "0x00000000", "0x00020000"],
- ["0x01", "0x00020000", "0x00020000"],
- ["0x10", "0x00040000", "0x00001000"],
- ["0x11", "0x00041000", "0x00001000"],
- ["0x12", "0x00042000", "0x00001000"],
- ["0x13", "0x00043000", "0x00001000"],
- ["0x14", "0x00044000", "0x00001000"],
- ["0x15", "0x00045000", "0x00001000"],
- ["0x16", "0x00046000", "0x00001000"],
- ["0x17", "0x00047000", "0x00001000"],
- ["0x18", "0x00048000", "0x00001000"],
- ["0x19", "0x00049000", "0x00001000"],
- ["0x1a", "0x0004A000", "0x00001000"],
- ["0x20", "0x00050000", "0x00040000"],
- ["0x21", "0x00090000", "0x00070000"],
- ["0x22", "0x00100000", "0x00070000"],
- ["0x23", "0x00170000", "0x00140000"],
- ["0x24", "0x002B0000", "0x00D49000"],
- ["0x30", "0x00FF9000", "0x00004000"],
- ["0x31", "0x00FFD000", "0x00003000"]
- ]
- },
- "Output_file_prefix":"AIoT"
-}
print("copy file.bin to application dir over!\n")
if env.get('packet'):
- defines = env.get("defines")
- if "CFG_FLASH_SIZE=16" in defines:
- self.pack_fwpkg(env.get('chip'), target, "0x1000000")
- else:
- self.pack_fwpkg(env.get('chip'), target, "0x800000")
+ self.pack_fwpkg(env.get('chip'), target)
if not run_custom_cmd(env, target, 'build_post'):
self.print_build_result(target, 1)
print(f"ERROR! :{bin1} is not same with {bin2}")
sys.exit(1)
- def pack_fwpkg(self, chip, target_name, flash_size):
+ def pack_fwpkg(self, chip, target_name):
# bin packet all in one
packet_script_path = os.path.join(pkg_tools_path, 'packet.py')
print("packet ing...")
- errcode = exec_shell([self.python_path, packet_script_path, chip, target_name, flash_size], None, True)
+ errcode = exec_shell([self.python_path, packet_script_path, chip, target_name], None, True)
if errcode != 0:
print("packet error!")
self.print_build_result(target_name, errcode)
+++ /dev/null
-/*\r
- * Copyright (c) @CompanyNameMagicTag 2021-2022. All rights reserved.\r
- * Description: Default memory configurations\r
- * Author: @CompanyNameTag\r
- * Create: 2022-03-09\r
- */\r
-\r
-#ifndef FLASH_16M_H\r
-#define FLASH_16M_H\r
-\r
-/*\r
- * ********************* FLASH ALLOCATION *********************\r
- * Flash is shared between the cores, and also handles a limited number of\r
- * non-volatile storage areas.\r
- *\r
- * Flash is split into 2 main areas\r
- * IMAGE Area\r
- * Managed by the BT core\r
- * This contains, in order from the bottom of Flash:\r
- * SSB - SSB image starting at the bottom of flash. Variable size depending on the SSB on the chip that\r
- * the package is loaded on. The values in this file only apply to the SSB built with this file.\r
- * RECOVERY_Image - starts in the page after the SSB.\r
- * BT_Image - starts in the page after the RECOVERY_Image\r
- * DSP_Image - starts in the page after the BT_Image\r
- * APP_Image - starts in the page after the DSP_Image\r
- * System On-demand region - dynamically allocated flash for FOTA etc\r
- * NV Area\r
- * Ends at the last page of flash, is configurable in size above a minimum allocation.\r
- * NV Area, of 12 pages, is allocated, from the lowest address:\r
- * 8 pages of general use (pages are not fixed and self-identifying), consisting of\r
- * 1 Page for Asset Store defragmentation\r
- * 3 pages for Asset Store\r
- * 2 Pages for App and DSP Core KV defragmentation\r
- * 1 page for DSP Core KV\r
- * 1 page for App Core KV\r
- * 2 pages for BT core use (last 2 pages in Flash)\r
- * 1 page for BT Core KV\r
- * 1 page for BT Core KV defragmentation\r
- */\r
-\r
-#define FLASH_START 0x70000000\r
-#define FLASH_LENGTH 0x1000000\r
-#define FLASH_MAX_END (FLASH_START + FLASH_LENGTH)\r
-\r
-#define FLASH_PAGE_SIZE 4096\r
-/* APP ITCM config */\r
-#define MCU_ITCM_END (APP_ITCM_ORIGIN + APP_ITCM_LENGTH)\r
-\r
-#define SSB_BOOT_RAM_ORIGIN APP_ITCM_ORIGIN\r
-#define SSB_BOOT_RAM_LENGTH APP_ITCM_LENGTH\r
-\r
-/* ----------------------------------------------------------------------------------------------------------------- */\r
-/* IMAGE Area Defines */\r
-/* MCU SSB Region */\r
-#define SSB_FLASH_REGION_PAGES (SSB_IMAGE_PAGES + 5)\r
-#define KV_PAGES 0\r
-#define SSB_FLASH_REGION_START (FLASH_START)\r
-#define SSB_FLASH_REGION_LENGTH (SSB_FLASH_REGION_PAGES * FLASH_PAGE_SIZE)\r
-\r
-#define SSB_VECTORS_LOAD_ORIGIN (SSB_FLASH_REGION_START)\r
-#define SSB_VERSION_LOAD_ORIGIN (SSB_VECTORS_LOAD_ORIGIN + APP_VECTORS_LENGTH)\r
-#define SSB_CHANGEID_LOAD_ORIGIN (SSB_VERSION_LOAD_ORIGIN + VERSION_LENGTH)\r
-\r
-#define SSB_PROGRAM_ORIGIN (SSB_CHANGEID_LOAD_ORIGIN + CHANGE_ID_LENGTH)\r
-#define SSB_PROGRAM_LENGTH ((SSB_FLASH_REGION_LENGTH) - (APP_VECTORS_LENGTH + VERSION_LENGTH + CHANGE_ID_LENGTH))\r
-\r
-/* MCU SSB BACK-UP Region */\r
-#define SSB_BACKUP_FLASH_REGION_PAGES 32\r
-#define SSB_BACKUP_FLASH_REGION_START (SSB_FLASH_REGION_START + SSB_FLASH_REGION_LENGTH + KV_PAGES * FLASH_PAGE_SIZE)\r
-#define SSB_BACKUP_FLASH_REGION_LENGTH (SSB_BACKUP_FLASH_REGION_PAGES * FLASH_PAGE_SIZE)\r
-\r
-/* SEC_BOOT Region for Signature Certificate */\r
-#define SEC_BOOT_FLASH_REGION_PAGES 15\r
-#define SEC_BOOT_FLASH_REGION_START (SSB_BACKUP_FLASH_REGION_START + SSB_BACKUP_FLASH_REGION_LENGTH)\r
-#define SEC_BOOT_FLASH_REGION_LENGTH (SEC_BOOT_FLASH_REGION_PAGES * FLASH_PAGE_SIZE)\r
-\r
-#define PARTITION_TABLE_REGSION_PAGE 1\r
-#define PARTITION_TABLE_REGION_START (SEC_BOOT_FLASH_REGION_START + SEC_BOOT_FLASH_REGION_LENGTH)\r
-#define PARTITION_TABLE_REGION_LENGTH (PARTITION_TABLE_REGSION_PAGE * FLASH_PAGE_SIZE)\r
-\r
-/* DTB Region */\r
-#define DTB_FLASH_REGION_PAGES (DTB_IMAGE_PAGES)\r
-#define DTB_FLASH_REGION_START (PARTITION_TABLE_REGION_START + PARTITION_TABLE_REGION_LENGTH)\r
-#define DTB_FLASH_REGION_LENGTH (DTB_FLASH_REGION_PAGES * FLASH_PAGE_SIZE)\r
-\r
-/* RESERVE Region */\r
-#define RESERVE_FLASH_REGION_PAGES (RESERVE_IMAGE_PAGES)\r
-#define RESERVE_FLASH_REGION_START (DTB_FLASH_REGION_START + DTB_FLASH_REGION_LENGTH)\r
-#define RESERVE_FLASH_REGION_LENGTH (RESERVE_FLASH_REGION_PAGES * FLASH_PAGE_SIZE)\r
-\r
-/* BT Region */\r
-#define BT_FLASH_REGION_PAGES (BT_IMAGE_PAGES)\r
-#define BT_FLASH_REGION_START (RESERVE_FLASH_REGION_START + RESERVE_FLASH_REGION_LENGTH)\r
-#define BT_FLASH_REGION_LENGTH (BT_FLASH_REGION_PAGES * FLASH_PAGE_SIZE)\r
-\r
-#define BT_BUILD_INFO_ORIGIN (BT_FLASH_REGION_START)\r
-#define BT_VECTORS_LOAD_ORIGIN (BT_BUILD_INFO_ORIGIN + BUILD_INFO_LENGRH)\r
-#define BT_VERSION_LOAD_ORIGIN (BT_VECTORS_LOAD_ORIGIN + BT_VECTORS_LENGTH)\r
-#define BT_CHANGEID_LOAD_ORIGIN (BT_VERSION_LOAD_ORIGIN + VERSION_LENGTH)\r
-#define DSP_CHANGEID_LOAD_ORIGIN (BT_CHANGEID_LOAD_ORIGIN + CHANGE_ID_LENGTH)\r
-\r
-/* Fill 4 byte to align flash 8 byte */\r
-#define BT_PROGRAM_ORIGIN (DSP_CHANGEID_LOAD_ORIGIN + CHANGE_ID_LENGTH)\r
-#define BT_PROGRAM_LENGTH ((BT_FLASH_REGION_LENGTH) - (BT_VECTORS_LENGTH + \\r
- VERSION_LENGTH + CHANGE_ID_LENGTH + CHANGE_ID_LENGTH))\r
-\r
-/* DSP Region */\r
-#define DSP_FLASH_REGION_PAGES (HIFI0_IMAGE_PAGES)\r
-#define DSP_FLASH_REGION_START (BT_FLASH_REGION_START + BT_FLASH_REGION_LENGTH)\r
-#define DSP_FLASH_REGION_LENGTH (DSP_FLASH_REGION_PAGES * FLASH_PAGE_SIZE)\r
-\r
-/* DSP1 Region */\r
-#define DSP_CODEC_FLASH_REGION_PAGES (HIFI0_CODEC_PAGES)\r
-#define DSP_CODEC_FLASH_REGION_START (DSP_FLASH_REGION_START + DSP_FLASH_REGION_LENGTH)\r
-#define DSP_CODEC_FLASH_REGION_LENGTH (DSP_CODEC_FLASH_REGION_PAGES * FLASH_PAGE_SIZE)\r
-\r
-/* APP Region */\r
-#define APP_FLASH_REGION_PAGES (APP_IMAGE_PAGES)\r
-#define APP_FLASH_REGION_START (DSP_CODEC_FLASH_REGION_START + DSP_CODEC_FLASH_REGION_LENGTH)\r
-#define APP_FLASH_REGION_LENGTH (APP_FLASH_REGION_PAGES * FLASH_PAGE_SIZE)\r
-\r
-/* RECOVERY Region */\r
-#define RECOVERY_FLASH_REGION_PAGES (RECOVERY_IMAGE_PAGES)\r
-#define RECOVERY_FLASH_REGION_START (APP_FLASH_REGION_START + APP_FLASH_REGION_LENGTH)\r
-#define RECOVERY_FLASH_REGION_LENGTH (RECOVERY_FLASH_REGION_PAGES * FLASH_PAGE_SIZE)\r
-\r
-#define RECOVERY_VECTORS_LOAD_ORIGIN (RECOVERY_FLASH_REGION_START)\r
-#define RECOVERY_VERSION_LOAD_ORIGIN (RECOVERY_VECTORS_LOAD_ORIGIN + BT_VECTORS_LENGTH)\r
-#define RECOVERY_CHANGEID_LOAD_ORIGIN (RECOVERY_VERSION_LOAD_ORIGIN + VERSION_LENGTH)\r
-\r
-#define RECOVERY_PROGRAM_ORIGIN (RECOVERY_CHANGEID_LOAD_ORIGIN + CHANGE_ID_LENGTH)\r
-#define RECOVERY_PROGRAM_LENGTH ((RECOVERY_FLASH_REGION_LENGTH) - \\r
- (BT_VECTORS_LENGTH + VERSION_LENGTH + CHANGE_ID_LENGTH))\r
-\r
-/* NV data Region */\r
-#define NV_FLASH_REGION_PAGES (NV_IMAGE_PAGES)\r
-#define NV_FLASH_REGION_START (RECOVERY_FLASH_REGION_START + RECOVERY_FLASH_REGION_LENGTH)\r
-#define NV_FLASH_REGION_LENGTH (NV_FLASH_REGION_PAGES * FLASH_PAGE_SIZE)\r
-\r
-/* Fota data Region */\r
-#define FOTA_FLASH_REGION_PAGES (FOTA_IMAGE_PAGES)\r
-#define FOTA_FLASH_REGION_START (NV_FLASH_REGION_START + NV_FLASH_REGION_LENGTH)\r
-#define FOTA_FLASH_REGION_LENGTH (FOTA_FLASH_REGION_PAGES * FLASH_PAGE_SIZE)\r
-\r
-#define APP_VECTORS_LOAD_ORIGIN (APP_FLASH_REGION_START)\r
-#define APP_VERSION_LOAD_ORIGIN (APP_VECTORS_LOAD_ORIGIN + APP_VECTORS_LENGTH)\r
-\r
-#define APP_PROGRAM_ORIGIN (APP_VERSION_LOAD_ORIGIN + VERSION_LENGTH)\r
-#define APP_PROGRAM_LENGTH ((APP_FLASH_REGION_LENGTH) - (APP_VECTORS_LENGTH + VERSION_LENGTH))\r
-\r
-/* cores image flash region start */\r
-#define FLASH_CORE_IMAGES_START (FLASH_START + SSB_FLASH_REGION_LENGTH + SSB_BACKUP_FLASH_REGION_LENGTH + \\r
- SEC_BOOT_FLASH_REGION_LENGTH + \\r
- KV_PAGES * FLASH_PAGE_SIZE + PARTITION_TABLE_REGION_LENGTH)\r
-/* ----------------------------------------------------------------------------------------------------------------- */\r
-/* KV Region Defines */\r
-/* Minimum System Configuration pages in FLASH reserved */\r
-#define SYSTEM_RESERVED_FLASH_PAGES 0\r
-/* Minimum reserved Non Volatile storage + Config Data. */\r
-#define FLASH_RESERVED_LENGTH (SYSTEM_RESERVED_FLASH_PAGES * FLASH_PAGE_SIZE)\r
-\r
-/*\r
- * ********************* SEC BOOT REGION *********************\r
- */\r
-#define MCU_ROOT_PUBKEY_START SEC_BOOT_FLASH_REGION_START\r
-#define MCU_SUB_PUBKEY_START (MCU_ROOT_PUBKEY_START + FLASH_PAGE_SIZE)\r
-#define MCU_SSB_IMAGE_SIGN_START (MCU_SUB_PUBKEY_START + FLASH_PAGE_SIZE)\r
-#define MCU_SUB_PUBKEY_BACKUP_START (MCU_SSB_IMAGE_SIGN_START + FLASH_PAGE_SIZE)\r
-#define MCU_SSB_IMAGE_SIGN_BACKUP_START (MCU_SUB_PUBKEY_BACKUP_START + FLASH_PAGE_SIZE)\r
-\r
-#define MCU_SEC_BOOT_SIGN_BACKUP_START MCU_SUB_PUBKEY_BACKUP_START\r
-#define MCU_SEC_BOOT_SIGN_BACKUP_LEN (2 * FLASH_PAGE_SIZE)\r
-\r
-#define MCU_CFCT_START (MCU_SEC_BOOT_SIGN_BACKUP_START + MCU_SEC_BOOT_SIGN_BACKUP_LEN)\r
-#define MCU_CFCT_LEN FLASH_PAGE_SIZE\r
-\r
-#define MCU_RECOVERY_IMAGE_SIGN_START (MCU_CFCT_START + MCU_CFCT_LEN)\r
-#define MCU_BT_IMAGE_SIGN_START (MCU_RECOVERY_IMAGE_SIGN_START + FLASH_PAGE_SIZE)\r
-#define MCU_DSP_IMAGE_SIGN_START (MCU_BT_IMAGE_SIGN_START + FLASH_PAGE_SIZE)\r
-#define MCU_DSP1_IMAGE_SIGN_START (MCU_DSP_IMAGE_SIGN_START + FLASH_PAGE_SIZE)\r
-#define MCU_APP_IMAGE_SIGN_START (MCU_DSP1_IMAGE_SIGN_START + FLASH_PAGE_SIZE)\r
-#define MCU_PARTITION_TABLE_SIGN_START (MCU_APP_IMAGE_SIGN_START + FLASH_PAGE_SIZE)\r
-\r
-#endif
\ No newline at end of file
+++ /dev/null
-\r
-/*\r
- * ********************* FLASH ALLOCATION *********************\r
- * Flash is shared between the cores, and also handles a limited number of\r
- * non-volatile storage areas.\r
- *\r
- * Flash is split into 2 main areas\r
- * IMAGE Area\r
- * Managed by the BT core\r
- * This contains, in order from the bottom of Flash:\r
- * SSB - SSB image starting at the bottom of flash. Variable size depending on the SSB on the chip that\r
- * the package is loaded on. The values in this file only apply to the SSB built with this file.\r
- * RECOVERY_Image - starts in the page after the SSB.\r
- * BT_Image - starts in the page after the RECOVERY_Image\r
- * DSP_Image - starts in the page after the BT_Image\r
- * APP_Image - starts in the page after the DSP_Image\r
- * System On-demand region - dynamically allocated flash for FOTA etc\r
- * NV Area\r
- * Ends at the last page of flash, is configurable in size above a minimum allocation.\r
- * NV Area, of 12 pages, is allocated, from the lowest address:\r
- * 8 pages of general use (pages are not fixed and self-identifying), consisting of\r
- * 1 Page for Asset Store defragmentation\r
- * 3 pages for Asset Store\r
- * 2 Pages for App and DSP Core KV defragmentation\r
- * 1 page for DSP Core KV\r
- * 1 page for App Core KV\r
- * 2 pages for BT core use (last 2 pages in Flash)\r
- * 1 page for BT Core KV\r
- * 1 page for BT Core KV defragmentation\r
- */\r
-\r
-#define FLASH_START 0x70000000\r
-#define FLASH_LENGTH 0x1000000\r
-#define FLASH_MAX_END (FLASH_START + FLASH_LENGTH)\r
-\r
-#define FLASH_PAGE_SIZE 4096\r
-/* APP ITCM config */\r
-#define MCU_ITCM_END (APP_ITCM_ORIGIN + APP_ITCM_LENGTH)\r
-\r
-#define SSB_BOOT_RAM_ORIGIN APP_ITCM_ORIGIN\r
-#define SSB_BOOT_RAM_LENGTH APP_ITCM_LENGTH\r
-\r
-/* ----------------------------------------------------------------------------------------------------------------- */\r
-/* IMAGE Area Defines */\r
-/* MCU SSB Region */\r
-#define SSB_FLASH_REGION_PAGES (SSB_IMAGE_PAGES + 5)\r
-#define KV_PAGES 0\r
-#define SSB_FLASH_REGION_START (FLASH_START)\r
-#define SSB_FLASH_REGION_LENGTH (SSB_FLASH_REGION_PAGES * FLASH_PAGE_SIZE)\r
-\r
-#define SSB_VECTORS_LOAD_ORIGIN (SSB_FLASH_REGION_START)\r
-#define SSB_VERSION_LOAD_ORIGIN (SSB_VECTORS_LOAD_ORIGIN + APP_VECTORS_LENGTH)\r
-#define SSB_CHANGEID_LOAD_ORIGIN (SSB_VERSION_LOAD_ORIGIN + VERSION_LENGTH)\r
-\r
-#define SSB_PROGRAM_ORIGIN (SSB_CHANGEID_LOAD_ORIGIN + CHANGE_ID_LENGTH)\r
-#define SSB_PROGRAM_LENGTH ((SSB_FLASH_REGION_LENGTH) - (APP_VECTORS_LENGTH + VERSION_LENGTH + CHANGE_ID_LENGTH))\r
-\r
-/* MCU SSB BACK-UP Region */\r
-#define SSB_BACKUP_FLASH_REGION_PAGES 32\r
-#define SSB_BACKUP_FLASH_REGION_START (SSB_FLASH_REGION_START + SSB_FLASH_REGION_LENGTH + KV_PAGES * FLASH_PAGE_SIZE)\r
-#define SSB_BACKUP_FLASH_REGION_LENGTH (SSB_BACKUP_FLASH_REGION_PAGES * FLASH_PAGE_SIZE)\r
-\r
-/* SEC_BOOT Region for Signature Certificate */\r
-#define SEC_BOOT_FLASH_REGION_PAGES 15\r
-#define SEC_BOOT_FLASH_REGION_START (SSB_BACKUP_FLASH_REGION_START + SSB_BACKUP_FLASH_REGION_LENGTH)\r
-#define SEC_BOOT_FLASH_REGION_LENGTH (SEC_BOOT_FLASH_REGION_PAGES * FLASH_PAGE_SIZE)\r
-\r
-#define PARTITION_TABLE_REGSION_PAGE 1\r
-#define PARTITION_TABLE_REGION_START (SEC_BOOT_FLASH_REGION_START + SEC_BOOT_FLASH_REGION_LENGTH)\r
-#define PARTITION_TABLE_REGION_LENGTH (PARTITION_TABLE_REGSION_PAGE * FLASH_PAGE_SIZE)\r
-\r
-/* DTB Region */\r
-#define DTB_FLASH_REGION_PAGES (DTB_IMAGE_PAGES)\r
-#define DTB_FLASH_REGION_START (PARTITION_TABLE_REGION_START + PARTITION_TABLE_REGION_LENGTH)\r
-#define DTB_FLASH_REGION_LENGTH (DTB_FLASH_REGION_PAGES * FLASH_PAGE_SIZE)\r
-\r
-/* RECOVERY Region */\r
-#define RECOVERY_FLASH_REGION_PAGES (RECOVERY_IMAGE_PAGES)\r
-#define RECOVERY_FLASH_REGION_START (DTB_FLASH_REGION_START + DTB_FLASH_REGION_LENGTH)\r
-#define RECOVERY_FLASH_REGION_LENGTH (RECOVERY_FLASH_REGION_PAGES * FLASH_PAGE_SIZE)\r
-\r
-#define RECOVERY_VECTORS_LOAD_ORIGIN (RECOVERY_FLASH_REGION_START)\r
-#define RECOVERY_VERSION_LOAD_ORIGIN (RECOVERY_VECTORS_LOAD_ORIGIN + BT_VECTORS_LENGTH)\r
-#define RECOVERY_CHANGEID_LOAD_ORIGIN (RECOVERY_VERSION_LOAD_ORIGIN + VERSION_LENGTH)\r
-\r
-#define RECOVERY_PROGRAM_ORIGIN (RECOVERY_CHANGEID_LOAD_ORIGIN + CHANGE_ID_LENGTH)\r
-#define RECOVERY_PROGRAM_LENGTH ((RECOVERY_FLASH_REGION_LENGTH) - \\r
- (BT_VECTORS_LENGTH + VERSION_LENGTH + CHANGE_ID_LENGTH))\r
-\r
-/* RESERVE Region */\r
-#define RESERVE_FLASH_REGION_PAGES (RESERVE_IMAGE_PAGES)\r
-#define RESERVE_FLASH_REGION_START (RECOVERY_FLASH_REGION_START + RECOVERY_FLASH_REGION_LENGTH)\r
-#define RESERVE_FLASH_REGION_LENGTH (RESERVE_FLASH_REGION_PAGES * FLASH_PAGE_SIZE)\r
-\r
-/* BT Region */\r
-#define BT_FLASH_REGION_PAGES (BT_IMAGE_PAGES)\r
-#define BT_FLASH_REGION_START (RESERVE_FLASH_REGION_START + RESERVE_FLASH_REGION_LENGTH)\r
-#define BT_FLASH_REGION_LENGTH (BT_FLASH_REGION_PAGES * FLASH_PAGE_SIZE)\r
-\r
-#define BT_BUILD_INFO_ORIGIN (BT_FLASH_REGION_START)\r
-#define BT_VECTORS_LOAD_ORIGIN (BT_BUILD_INFO_ORIGIN + BUILD_INFO_LENGRH)\r
-#define BT_VERSION_LOAD_ORIGIN (BT_VECTORS_LOAD_ORIGIN + BT_VECTORS_LENGTH)\r
-#define BT_CHANGEID_LOAD_ORIGIN (BT_VERSION_LOAD_ORIGIN + VERSION_LENGTH)\r
-#define DSP_CHANGEID_LOAD_ORIGIN (BT_CHANGEID_LOAD_ORIGIN + CHANGE_ID_LENGTH)\r
-\r
-/* Fill 4 byte to align flash 8 byte */\r
-#define BT_PROGRAM_ORIGIN (DSP_CHANGEID_LOAD_ORIGIN + CHANGE_ID_LENGTH)\r
-#define BT_PROGRAM_LENGTH ((BT_FLASH_REGION_LENGTH) - (BT_VECTORS_LENGTH + \\r
- VERSION_LENGTH + CHANGE_ID_LENGTH + CHANGE_ID_LENGTH))\r
-\r
-/* DSP Region */\r
-#define DSP_FLASH_REGION_PAGES (HIFI0_IMAGE_PAGES)\r
-#define DSP_FLASH_REGION_START (BT_FLASH_REGION_START + BT_FLASH_REGION_LENGTH)\r
-#define DSP_FLASH_REGION_LENGTH (DSP_FLASH_REGION_PAGES * FLASH_PAGE_SIZE)\r
-\r
-/* DSP1 Region */\r
-#define DSP_CODEC_FLASH_REGION_PAGES (HIFI0_CODEC_PAGES)\r
-#define DSP_CODEC_FLASH_REGION_START (DSP_FLASH_REGION_START + DSP_FLASH_REGION_LENGTH)\r
-#define DSP_CODEC_FLASH_REGION_LENGTH (DSP_CODEC_FLASH_REGION_PAGES * FLASH_PAGE_SIZE)\r
-\r
-/* APP Region */\r
-#define APP_FLASH_REGION_PAGES (APP_IMAGE_PAGES)\r
-#define APP_FLASH_REGION_START (DSP_CODEC_FLASH_REGION_START + DSP_CODEC_FLASH_REGION_LENGTH)\r
-#define APP_FLASH_REGION_LENGTH (APP_FLASH_REGION_PAGES * FLASH_PAGE_SIZE)\r
-\r
-/* NV data Region */\r
-#define NV_FLASH_REGION_PAGES (NV_IMAGE_PAGES)\r
-#define NV_FLASH_REGION_START (APP_FLASH_REGION_START + APP_FLASH_REGION_LENGTH)\r
-#define NV_FLASH_REGION_LENGTH (NV_FLASH_REGION_PAGES * FLASH_PAGE_SIZE)\r
-\r
-/* Fota data Region */\r
-#define FOTA_FLASH_REGION_PAGES (FOTA_IMAGE_PAGES)\r
-#define FOTA_FLASH_REGION_START (NV_FLASH_REGION_START + NV_FLASH_REGION_LENGTH)\r
-#define FOTA_FLASH_REGION_LENGTH (FOTA_FLASH_REGION_PAGES * FLASH_PAGE_SIZE)\r
-\r
-#define APP_VECTORS_LOAD_ORIGIN (APP_FLASH_REGION_START)\r
-#define APP_VERSION_LOAD_ORIGIN (APP_VECTORS_LOAD_ORIGIN + APP_VECTORS_LENGTH)\r
-\r
-#define APP_PROGRAM_ORIGIN (APP_VERSION_LOAD_ORIGIN + VERSION_LENGTH)\r
-#define APP_PROGRAM_LENGTH ((APP_FLASH_REGION_LENGTH) - (APP_VECTORS_LENGTH + VERSION_LENGTH))\r
-\r
-/* cores image flash region start */\r
-#define FLASH_CORE_IMAGES_START (FLASH_START + SSB_FLASH_REGION_LENGTH + SSB_BACKUP_FLASH_REGION_LENGTH + \\r
- SEC_BOOT_FLASH_REGION_LENGTH + \\r
- KV_PAGES * FLASH_PAGE_SIZE + PARTITION_TABLE_REGION_LENGTH)\r
-/* ----------------------------------------------------------------------------------------------------------------- */\r
-/* KV Region Defines */\r
-/* Minimum System Configuration pages in FLASH reserved */\r
-#define SYSTEM_RESERVED_FLASH_PAGES 0\r
-/* Minimum reserved Non Volatile storage + Config Data. */\r
-#define FLASH_RESERVED_LENGTH (SYSTEM_RESERVED_FLASH_PAGES * FLASH_PAGE_SIZE)\r
-\r
-/*\r
- * ********************* SEC BOOT REGION *********************\r
- */\r
-#define MCU_ROOT_PUBKEY_START SEC_BOOT_FLASH_REGION_START\r
-#define MCU_SUB_PUBKEY_START (MCU_ROOT_PUBKEY_START + FLASH_PAGE_SIZE)\r
-#define MCU_SSB_IMAGE_SIGN_START (MCU_SUB_PUBKEY_START + FLASH_PAGE_SIZE)\r
-#define MCU_SUB_PUBKEY_BACKUP_START (MCU_SSB_IMAGE_SIGN_START + FLASH_PAGE_SIZE)\r
-#define MCU_SSB_IMAGE_SIGN_BACKUP_START (MCU_SUB_PUBKEY_BACKUP_START + FLASH_PAGE_SIZE)\r
-\r
-#define MCU_SEC_BOOT_SIGN_BACKUP_START MCU_SUB_PUBKEY_BACKUP_START\r
-#define MCU_SEC_BOOT_SIGN_BACKUP_LEN (2 * FLASH_PAGE_SIZE)\r
-\r
-#define MCU_CFCT_START (MCU_SEC_BOOT_SIGN_BACKUP_START + MCU_SEC_BOOT_SIGN_BACKUP_LEN)\r
-#define MCU_CFCT_LEN FLASH_PAGE_SIZE\r
-\r
-#define MCU_RECOVERY_IMAGE_SIGN_START (MCU_CFCT_START + MCU_CFCT_LEN)\r
-#define MCU_BT_IMAGE_SIGN_START (MCU_RECOVERY_IMAGE_SIGN_START + FLASH_PAGE_SIZE)\r
-#define MCU_DSP_IMAGE_SIGN_START (MCU_BT_IMAGE_SIGN_START + FLASH_PAGE_SIZE)\r
-#define MCU_DSP1_IMAGE_SIGN_START (MCU_DSP_IMAGE_SIGN_START + FLASH_PAGE_SIZE)\r
-#define MCU_APP_IMAGE_SIGN_START (MCU_DSP1_IMAGE_SIGN_START + FLASH_PAGE_SIZE)\r
-#define MCU_PARTITION_TABLE_SIGN_START (MCU_APP_IMAGE_SIGN_START + FLASH_PAGE_SIZE)\r
+++ /dev/null
-/*\r
- * Copyright (c) @CompanyNameMagicTag 2021-2022. All rights reserved.\r
- * Description: Default memory configurations\r
- * Author: @CompanyNameTag\r
- * Create: 2022-03-09\r
- */\r
-\r
-#ifndef FLASH_8M_H\r
-#define FLASH_8M_H\r
-\r
-/*\r
- * ********************* FLASH ALLOCATION *********************\r
- * Flash is shared between the cores, and also handles a limited number of\r
- * non-volatile storage areas.\r
- *\r
- * Flash is split into 2 main areas\r
- * IMAGE Area\r
- * Managed by the BT core\r
- * This contains, in order from the bottom of Flash:\r
- * SSB - SSB image starting at the bottom of flash. Variable size depending on the SSB on the chip that\r
- * the package is loaded on. The values in this file only apply to the SSB built with this file.\r
- * RECOVERY_Image - starts in the page after the SSB.\r
- * BT_Image - starts in the page after the RECOVERY_Image\r
- * DSP_Image - starts in the page after the BT_Image\r
- * APP_Image - starts in the page after the DSP_Image\r
- * System On-demand region - dynamically allocated flash for FOTA etc\r
- * NV Area\r
- * Ends at the last page of flash, is configurable in size above a minimum allocation.\r
- * NV Area, of 12 pages, is allocated, from the lowest address:\r
- * 8 pages of general use (pages are not fixed and self-identifying), consisting of\r
- * 1 Page for Asset Store defragmentation\r
- * 3 pages for Asset Store\r
- * 2 Pages for App and DSP Core KV defragmentation\r
- * 1 page for DSP Core KV\r
- * 1 page for App Core KV\r
- * 2 pages for BT core use (last 2 pages in Flash)\r
- * 1 page for BT Core KV\r
- * 1 page for BT Core KV defragmentation\r
- */\r
-\r
-#define FLASH_START 0x70000000\r
-#define FLASH_LENGTH 0x800000\r
-#define FLASH_MAX_END (FLASH_START + FLASH_LENGTH)\r
-\r
-#define FLASH_PAGE_SIZE 4096\r
-/* APP ITCM config */\r
-#define MCU_ITCM_END (APP_ITCM_ORIGIN + APP_ITCM_LENGTH)\r
-\r
-#define SSB_BOOT_RAM_ORIGIN APP_ITCM_ORIGIN\r
-#define SSB_BOOT_RAM_LENGTH APP_ITCM_LENGTH\r
-\r
-/* ----------------------------------------------------------------------------------------------------------------- */\r
-/* IMAGE Area Defines */\r
-/* MCU SSB Region */\r
-#define SSB_FLASH_REGION_PAGES (SSB_IMAGE_PAGES + 5)\r
-#define KV_PAGES 0\r
-#define SSB_FLASH_REGION_START (FLASH_START)\r
-#define SSB_FLASH_REGION_LENGTH (SSB_FLASH_REGION_PAGES * FLASH_PAGE_SIZE)\r
-\r
-#define SSB_VECTORS_LOAD_ORIGIN (SSB_FLASH_REGION_START)\r
-#define SSB_VERSION_LOAD_ORIGIN (SSB_VECTORS_LOAD_ORIGIN + APP_VECTORS_LENGTH)\r
-#define SSB_CHANGEID_LOAD_ORIGIN (SSB_VERSION_LOAD_ORIGIN + VERSION_LENGTH)\r
-\r
-#define SSB_PROGRAM_ORIGIN (SSB_CHANGEID_LOAD_ORIGIN + CHANGE_ID_LENGTH)\r
-#define SSB_PROGRAM_LENGTH ((SSB_FLASH_REGION_LENGTH) - (APP_VECTORS_LENGTH + VERSION_LENGTH + CHANGE_ID_LENGTH))\r
-\r
-/* MCU SSB BACK-UP Region */\r
-#define SSB_BACKUP_FLASH_REGION_PAGES 32\r
-#define SSB_BACKUP_FLASH_REGION_START (SSB_FLASH_REGION_START + SSB_FLASH_REGION_LENGTH + KV_PAGES * FLASH_PAGE_SIZE)\r
-#define SSB_BACKUP_FLASH_REGION_LENGTH (SSB_BACKUP_FLASH_REGION_PAGES * FLASH_PAGE_SIZE)\r
-\r
-/* SEC_BOOT Region for Signature Certificate */\r
-#define SEC_BOOT_FLASH_REGION_PAGES 15\r
-#define SEC_BOOT_FLASH_REGION_START (SSB_BACKUP_FLASH_REGION_START + SSB_BACKUP_FLASH_REGION_LENGTH)\r
-#define SEC_BOOT_FLASH_REGION_LENGTH (SEC_BOOT_FLASH_REGION_PAGES * FLASH_PAGE_SIZE)\r
-\r
-#define PARTITION_TABLE_REGSION_PAGE 1\r
-#define PARTITION_TABLE_REGION_START (SEC_BOOT_FLASH_REGION_START + SEC_BOOT_FLASH_REGION_LENGTH)\r
-#define PARTITION_TABLE_REGION_LENGTH (PARTITION_TABLE_REGSION_PAGE * FLASH_PAGE_SIZE)\r
-\r
-/* DTB Region */\r
-#define DTB_FLASH_REGION_PAGES (DTB_IMAGE_PAGES)\r
-#define DTB_FLASH_REGION_START (PARTITION_TABLE_REGION_START + PARTITION_TABLE_REGION_LENGTH)\r
-#define DTB_FLASH_REGION_LENGTH (DTB_FLASH_REGION_PAGES * FLASH_PAGE_SIZE)\r
-\r
-/* RECOVERY Region */\r
-#define RECOVERY_FLASH_REGION_PAGES (RECOVERY_IMAGE_PAGES)\r
-#define RECOVERY_FLASH_REGION_START (DTB_FLASH_REGION_START + DTB_FLASH_REGION_LENGTH)\r
-#define RECOVERY_FLASH_REGION_LENGTH (RECOVERY_FLASH_REGION_PAGES * FLASH_PAGE_SIZE)\r
-\r
-#define RECOVERY_VECTORS_LOAD_ORIGIN (RECOVERY_FLASH_REGION_START)\r
-#define RECOVERY_VERSION_LOAD_ORIGIN (RECOVERY_VECTORS_LOAD_ORIGIN + BT_VECTORS_LENGTH)\r
-#define RECOVERY_CHANGEID_LOAD_ORIGIN (RECOVERY_VERSION_LOAD_ORIGIN + VERSION_LENGTH)\r
-\r
-#define RECOVERY_PROGRAM_ORIGIN (RECOVERY_CHANGEID_LOAD_ORIGIN + CHANGE_ID_LENGTH)\r
-#define RECOVERY_PROGRAM_LENGTH ((RECOVERY_FLASH_REGION_LENGTH) - \\r
- (BT_VECTORS_LENGTH + VERSION_LENGTH + CHANGE_ID_LENGTH))\r
-\r
-/* RESERVE Region */\r
-#define RESERVE_FLASH_REGION_PAGES (RESERVE_IMAGE_PAGES)\r
-#define RESERVE_FLASH_REGION_START (RECOVERY_FLASH_REGION_START + RECOVERY_FLASH_REGION_LENGTH)\r
-#define RESERVE_FLASH_REGION_LENGTH (RESERVE_FLASH_REGION_PAGES * FLASH_PAGE_SIZE)\r
-\r
-/* BT Region */\r
-#define BT_FLASH_REGION_PAGES (BT_IMAGE_PAGES)\r
-#define BT_FLASH_REGION_START (RESERVE_FLASH_REGION_START + RESERVE_FLASH_REGION_LENGTH)\r
-#define BT_FLASH_REGION_LENGTH (BT_FLASH_REGION_PAGES * FLASH_PAGE_SIZE)\r
-\r
-#define BT_BUILD_INFO_ORIGIN (BT_FLASH_REGION_START)\r
-#define BT_VECTORS_LOAD_ORIGIN (BT_BUILD_INFO_ORIGIN + BUILD_INFO_LENGRH)\r
-#define BT_VERSION_LOAD_ORIGIN (BT_VECTORS_LOAD_ORIGIN + BT_VECTORS_LENGTH)\r
-#define BT_CHANGEID_LOAD_ORIGIN (BT_VERSION_LOAD_ORIGIN + VERSION_LENGTH)\r
-#define DSP_CHANGEID_LOAD_ORIGIN (BT_CHANGEID_LOAD_ORIGIN + CHANGE_ID_LENGTH)\r
-\r
-/* Fill 4 byte to align flash 8 byte */\r
-#define BT_PROGRAM_ORIGIN (DSP_CHANGEID_LOAD_ORIGIN + CHANGE_ID_LENGTH)\r
-#define BT_PROGRAM_LENGTH ((BT_FLASH_REGION_LENGTH) - (BT_VECTORS_LENGTH + \\r
- VERSION_LENGTH + CHANGE_ID_LENGTH + CHANGE_ID_LENGTH))\r
-\r
-/* DSP Region */\r
-#define DSP_FLASH_REGION_PAGES (HIFI0_IMAGE_PAGES)\r
-#define DSP_FLASH_REGION_START (BT_FLASH_REGION_START + BT_FLASH_REGION_LENGTH)\r
-#define DSP_FLASH_REGION_LENGTH (DSP_FLASH_REGION_PAGES * FLASH_PAGE_SIZE)\r
-\r
-/* DSP1 Region */\r
-#define DSP_CODEC_FLASH_REGION_PAGES (HIFI0_CODEC_PAGES)\r
-#define DSP_CODEC_FLASH_REGION_START (DSP_FLASH_REGION_START + DSP_FLASH_REGION_LENGTH)\r
-#define DSP_CODEC_FLASH_REGION_LENGTH (DSP_CODEC_FLASH_REGION_PAGES * FLASH_PAGE_SIZE)\r
-\r
-/* APP Region */\r
-#define APP_FLASH_REGION_PAGES (APP_IMAGE_PAGES)\r
-#define APP_FLASH_REGION_START (DSP_CODEC_FLASH_REGION_START + DSP_CODEC_FLASH_REGION_LENGTH)\r
-#define APP_FLASH_REGION_LENGTH (APP_FLASH_REGION_PAGES * FLASH_PAGE_SIZE)\r
-\r
-/* NV data Region */\r
-#define NV_FLASH_REGION_PAGES (NV_IMAGE_PAGES)\r
-#define NV_FLASH_REGION_START (APP_FLASH_REGION_START + APP_FLASH_REGION_LENGTH)\r
-#define NV_FLASH_REGION_LENGTH (NV_FLASH_REGION_PAGES * FLASH_PAGE_SIZE)\r
-\r
-/* Fota data Region */\r
-#define FOTA_FLASH_REGION_PAGES (FOTA_IMAGE_PAGES)\r
-#define FOTA_FLASH_REGION_START (NV_FLASH_REGION_START + NV_FLASH_REGION_LENGTH)\r
-#define FOTA_FLASH_REGION_LENGTH (FOTA_FLASH_REGION_PAGES * FLASH_PAGE_SIZE)\r
-\r
-#define APP_VECTORS_LOAD_ORIGIN (APP_FLASH_REGION_START)\r
-#define APP_VERSION_LOAD_ORIGIN (APP_VECTORS_LOAD_ORIGIN + APP_VECTORS_LENGTH)\r
-\r
-#define APP_PROGRAM_ORIGIN (APP_VERSION_LOAD_ORIGIN + VERSION_LENGTH)\r
-#define APP_PROGRAM_LENGTH ((APP_FLASH_REGION_LENGTH) - (APP_VECTORS_LENGTH + VERSION_LENGTH))\r
-\r
-/* cores image flash region start */\r
-#define FLASH_CORE_IMAGES_START (FLASH_START + SSB_FLASH_REGION_LENGTH + SSB_BACKUP_FLASH_REGION_LENGTH + \\r
- SEC_BOOT_FLASH_REGION_LENGTH + \\r
- KV_PAGES * FLASH_PAGE_SIZE + PARTITION_TABLE_REGION_LENGTH)\r
-/* ----------------------------------------------------------------------------------------------------------------- */\r
-/* KV Region Defines */\r
-/* Minimum System Configuration pages in FLASH reserved */\r
-#define SYSTEM_RESERVED_FLASH_PAGES 0\r
-/* Minimum reserved Non Volatile storage + Config Data. */\r
-#define FLASH_RESERVED_LENGTH (SYSTEM_RESERVED_FLASH_PAGES * FLASH_PAGE_SIZE)\r
-\r
-/*\r
- * ********************* SEC BOOT REGION *********************\r
- */\r
-#define MCU_ROOT_PUBKEY_START SEC_BOOT_FLASH_REGION_START\r
-#define MCU_SUB_PUBKEY_START (MCU_ROOT_PUBKEY_START + FLASH_PAGE_SIZE)\r
-#define MCU_SSB_IMAGE_SIGN_START (MCU_SUB_PUBKEY_START + FLASH_PAGE_SIZE)\r
-#define MCU_SUB_PUBKEY_BACKUP_START (MCU_SSB_IMAGE_SIGN_START + FLASH_PAGE_SIZE)\r
-#define MCU_SSB_IMAGE_SIGN_BACKUP_START (MCU_SUB_PUBKEY_BACKUP_START + FLASH_PAGE_SIZE)\r
-\r
-#define MCU_SEC_BOOT_SIGN_BACKUP_START MCU_SUB_PUBKEY_BACKUP_START\r
-#define MCU_SEC_BOOT_SIGN_BACKUP_LEN (2 * FLASH_PAGE_SIZE)\r
-\r
-#define MCU_CFCT_START (MCU_SEC_BOOT_SIGN_BACKUP_START + MCU_SEC_BOOT_SIGN_BACKUP_LEN)\r
-#define MCU_CFCT_LEN FLASH_PAGE_SIZE\r
-\r
-#define MCU_RECOVERY_IMAGE_SIGN_START (MCU_CFCT_START + MCU_CFCT_LEN)\r
-#define MCU_BT_IMAGE_SIGN_START (MCU_RECOVERY_IMAGE_SIGN_START + FLASH_PAGE_SIZE)\r
-#define MCU_DSP_IMAGE_SIGN_START (MCU_BT_IMAGE_SIGN_START + FLASH_PAGE_SIZE)\r
-#define MCU_DSP1_IMAGE_SIGN_START (MCU_DSP_IMAGE_SIGN_START + FLASH_PAGE_SIZE)\r
-#define MCU_APP_IMAGE_SIGN_START (MCU_DSP1_IMAGE_SIGN_START + FLASH_PAGE_SIZE)\r
-#define MCU_PARTITION_TABLE_SIGN_START (MCU_APP_IMAGE_SIGN_START + FLASH_PAGE_SIZE)\r
-\r
-#endif
\ No newline at end of file
#endif
/*
- * norflash 分区修改会导致已商用版本OTA失败,此处修改需谨慎
- * norflash修改请同时修改以下文件:
- * 分区表配置:
- * 16M:build\config\target_config\brandy\param_sector\param_sector_16M.json
- * 8M:build\config\target_config\brandy\param_sector\param_sector.json
- * 打包脚本:
- * tools\pkg\chip_packet\brandy\packet.py
-*/
-#if defined(CFG_FLASH_SIZE) && (CFG_FLASH_SIZE == 16)
-#ifdef FD230
-#include "flash_16M_FD230.h"
-#else
-#include "flash_16M.h"
-#endif
-#else
-#include "flash_8M.h"
-#endif
+ * ********************* FLASH ALLOCATION *********************
+ * Flash is shared between the cores, and also handles a limited number of
+ * non-volatile storage areas.
+ *
+ * Flash is split into 2 main areas
+ * IMAGE Area
+ * Managed by the BT core
+ * This contains, in order from the bottom of Flash:
+ * SSB - SSB image starting at the bottom of flash. Variable size depending on the SSB on the chip that
+ * the package is loaded on. The values in this file only apply to the SSB built with this file.
+ * RECOVERY_Image - starts in the page after the SSB.
+ * BT_Image - starts in the page after the RECOVERY_Image
+ * DSP_Image - starts in the page after the BT_Image
+ * APP_Image - starts in the page after the DSP_Image
+ * System On-demand region - dynamically allocated flash for FOTA etc
+ * NV Area
+ * Ends at the last page of flash, is configurable in size above a minimum allocation.
+ * NV Area, of 12 pages, is allocated, from the lowest address:
+ * 8 pages of general use (pages are not fixed and self-identifying), consisting of
+ * 1 Page for Asset Store defragmentation
+ * 3 pages for Asset Store
+ * 2 Pages for App and DSP Core KV defragmentation
+ * 1 page for DSP Core KV
+ * 1 page for App Core KV
+ * 2 pages for BT core use (last 2 pages in Flash)
+ * 1 page for BT Core KV
+ * 1 page for BT Core KV defragmentation
+ */
+
+#define FLASH_START 0x70000000
+#define FLASH_LENGTH 0x1000000
+#define FLASH_MAX_END (FLASH_START + FLASH_LENGTH)
+
+#define FLASH_PAGE_SIZE 4096
+/* APP ITCM config */
+#define MCU_ITCM_END (APP_ITCM_ORIGIN + APP_ITCM_LENGTH)
+
+#define SSB_BOOT_RAM_ORIGIN APP_ITCM_ORIGIN
+#define SSB_BOOT_RAM_LENGTH APP_ITCM_LENGTH
+
+/* ----------------------------------------------------------------------------------------------------------------- */
+/* IMAGE Area Defines */
+/* MCU SSB Region */
+#define SSB_FLASH_REGION_PAGES (SSB_IMAGE_PAGES + 5)
+#define KV_PAGES 0
+#define SSB_FLASH_REGION_START (FLASH_START)
+#define SSB_FLASH_REGION_LENGTH (SSB_FLASH_REGION_PAGES * FLASH_PAGE_SIZE)
+
+#define SSB_VECTORS_LOAD_ORIGIN (SSB_FLASH_REGION_START)
+#define SSB_VERSION_LOAD_ORIGIN (SSB_VECTORS_LOAD_ORIGIN + APP_VECTORS_LENGTH)
+#define SSB_CHANGEID_LOAD_ORIGIN (SSB_VERSION_LOAD_ORIGIN + VERSION_LENGTH)
+
+#define SSB_PROGRAM_ORIGIN (SSB_CHANGEID_LOAD_ORIGIN + CHANGE_ID_LENGTH)
+#define SSB_PROGRAM_LENGTH ((SSB_FLASH_REGION_LENGTH) - (APP_VECTORS_LENGTH + VERSION_LENGTH + CHANGE_ID_LENGTH))
+
+/* MCU SSB BACK-UP Region */
+#define SSB_BACKUP_FLASH_REGION_PAGES 32
+#define SSB_BACKUP_FLASH_REGION_START (SSB_FLASH_REGION_START + SSB_FLASH_REGION_LENGTH + KV_PAGES * FLASH_PAGE_SIZE)
+#define SSB_BACKUP_FLASH_REGION_LENGTH (SSB_BACKUP_FLASH_REGION_PAGES * FLASH_PAGE_SIZE)
+
+/* SEC_BOOT Region for Signature Certificate */
+#define SEC_BOOT_FLASH_REGION_PAGES 15
+#define SEC_BOOT_FLASH_REGION_START (SSB_BACKUP_FLASH_REGION_START + SSB_BACKUP_FLASH_REGION_LENGTH)
+#define SEC_BOOT_FLASH_REGION_LENGTH (SEC_BOOT_FLASH_REGION_PAGES * FLASH_PAGE_SIZE)
+
+#define PARTITION_TABLE_REGSION_PAGE 1
+#define PARTITION_TABLE_REGION_START (SEC_BOOT_FLASH_REGION_START + SEC_BOOT_FLASH_REGION_LENGTH)
+#define PARTITION_TABLE_REGION_LENGTH (PARTITION_TABLE_REGSION_PAGE * FLASH_PAGE_SIZE)
+
+/* DTB Region */
+#define DTB_FLASH_REGION_PAGES (DTB_IMAGE_PAGES)
+#define DTB_FLASH_REGION_START (PARTITION_TABLE_REGION_START + PARTITION_TABLE_REGION_LENGTH)
+#define DTB_FLASH_REGION_LENGTH (DTB_FLASH_REGION_PAGES * FLASH_PAGE_SIZE)
+
+/* RECOVERY Region */
+#define RECOVERY_FLASH_REGION_PAGES (RECOVERY_IMAGE_PAGES)
+#define RECOVERY_FLASH_REGION_START (DTB_FLASH_REGION_START + DTB_FLASH_REGION_LENGTH)
+#define RECOVERY_FLASH_REGION_LENGTH (RECOVERY_FLASH_REGION_PAGES * FLASH_PAGE_SIZE)
+
+#define RECOVERY_VECTORS_LOAD_ORIGIN (RECOVERY_FLASH_REGION_START)
+#define RECOVERY_VERSION_LOAD_ORIGIN (RECOVERY_VECTORS_LOAD_ORIGIN + BT_VECTORS_LENGTH)
+#define RECOVERY_CHANGEID_LOAD_ORIGIN (RECOVERY_VERSION_LOAD_ORIGIN + VERSION_LENGTH)
+
+#define RECOVERY_PROGRAM_ORIGIN (RECOVERY_CHANGEID_LOAD_ORIGIN + CHANGE_ID_LENGTH)
+#define RECOVERY_PROGRAM_LENGTH ((RECOVERY_FLASH_REGION_LENGTH) - \
+ (BT_VECTORS_LENGTH + VERSION_LENGTH + CHANGE_ID_LENGTH))
+
+/* RESERVE Region */
+#define RESERVE_FLASH_REGION_PAGES (RESERVE_IMAGE_PAGES)
+#define RESERVE_FLASH_REGION_START (RECOVERY_FLASH_REGION_START + RECOVERY_FLASH_REGION_LENGTH)
+#define RESERVE_FLASH_REGION_LENGTH (RESERVE_FLASH_REGION_PAGES * FLASH_PAGE_SIZE)
+
+/* BT Region */
+#define BT_FLASH_REGION_PAGES (BT_IMAGE_PAGES)
+#define BT_FLASH_REGION_START (RESERVE_FLASH_REGION_START + RESERVE_FLASH_REGION_LENGTH)
+#define BT_FLASH_REGION_LENGTH (BT_FLASH_REGION_PAGES * FLASH_PAGE_SIZE)
+
+#define BT_BUILD_INFO_ORIGIN (BT_FLASH_REGION_START)
+#define BT_VECTORS_LOAD_ORIGIN (BT_BUILD_INFO_ORIGIN + BUILD_INFO_LENGRH)
+#define BT_VERSION_LOAD_ORIGIN (BT_VECTORS_LOAD_ORIGIN + BT_VECTORS_LENGTH)
+#define BT_CHANGEID_LOAD_ORIGIN (BT_VERSION_LOAD_ORIGIN + VERSION_LENGTH)
+#define DSP_CHANGEID_LOAD_ORIGIN (BT_CHANGEID_LOAD_ORIGIN + CHANGE_ID_LENGTH)
+
+/* Fill 4 byte to align flash 8 byte */
+#define BT_PROGRAM_ORIGIN (DSP_CHANGEID_LOAD_ORIGIN + CHANGE_ID_LENGTH)
+#define BT_PROGRAM_LENGTH ((BT_FLASH_REGION_LENGTH) - (BT_VECTORS_LENGTH + \
+ VERSION_LENGTH + CHANGE_ID_LENGTH + CHANGE_ID_LENGTH))
+
+/* DSP Region */
+#define DSP_FLASH_REGION_PAGES (HIFI0_IMAGE_PAGES)
+#define DSP_FLASH_REGION_START (BT_FLASH_REGION_START + BT_FLASH_REGION_LENGTH)
+#define DSP_FLASH_REGION_LENGTH (DSP_FLASH_REGION_PAGES * FLASH_PAGE_SIZE)
+
+/* DSP1 Region */
+#define DSP_CODEC_FLASH_REGION_PAGES (HIFI0_CODEC_PAGES)
+#define DSP_CODEC_FLASH_REGION_START (DSP_FLASH_REGION_START + DSP_FLASH_REGION_LENGTH)
+#define DSP_CODEC_FLASH_REGION_LENGTH (DSP_CODEC_FLASH_REGION_PAGES * FLASH_PAGE_SIZE)
+
+/* APP Region */
+#define APP_FLASH_REGION_PAGES (APP_IMAGE_PAGES)
+#define APP_FLASH_REGION_START (DSP_CODEC_FLASH_REGION_START + DSP_CODEC_FLASH_REGION_LENGTH)
+#define APP_FLASH_REGION_LENGTH (APP_FLASH_REGION_PAGES * FLASH_PAGE_SIZE)
+
+/* NV data Region */
+#define NV_FLASH_REGION_PAGES (NV_IMAGE_PAGES)
+#define NV_FLASH_REGION_START (APP_FLASH_REGION_START + APP_FLASH_REGION_LENGTH)
+#define NV_FLASH_REGION_LENGTH (NV_FLASH_REGION_PAGES * FLASH_PAGE_SIZE)
+
+/* Fota data Region */
+#define FOTA_FLASH_REGION_PAGES (FOTA_IMAGE_PAGES)
+#define FOTA_FLASH_REGION_START (NV_FLASH_REGION_START + NV_FLASH_REGION_LENGTH)
+#define FOTA_FLASH_REGION_LENGTH (FOTA_FLASH_REGION_PAGES * FLASH_PAGE_SIZE)
+
+#define APP_VECTORS_LOAD_ORIGIN (APP_FLASH_REGION_START)
+#define APP_VERSION_LOAD_ORIGIN (APP_VECTORS_LOAD_ORIGIN + APP_VECTORS_LENGTH)
+
+#define APP_PROGRAM_ORIGIN (APP_VERSION_LOAD_ORIGIN + VERSION_LENGTH)
+#define APP_PROGRAM_LENGTH ((APP_FLASH_REGION_LENGTH) - (APP_VECTORS_LENGTH + VERSION_LENGTH))
+
+/* cores image flash region start */
+#define FLASH_CORE_IMAGES_START (FLASH_START + SSB_FLASH_REGION_LENGTH + SSB_BACKUP_FLASH_REGION_LENGTH + \
+ SEC_BOOT_FLASH_REGION_LENGTH + \
+ KV_PAGES * FLASH_PAGE_SIZE + PARTITION_TABLE_REGION_LENGTH)
+/* ----------------------------------------------------------------------------------------------------------------- */
+/* KV Region Defines */
+/* Minimum System Configuration pages in FLASH reserved */
+#define SYSTEM_RESERVED_FLASH_PAGES 0
+/* Minimum reserved Non Volatile storage + Config Data. */
+#define FLASH_RESERVED_LENGTH (SYSTEM_RESERVED_FLASH_PAGES * FLASH_PAGE_SIZE)
+
+/*
+ * ********************* SEC BOOT REGION *********************
+ */
+#define MCU_ROOT_PUBKEY_START SEC_BOOT_FLASH_REGION_START
+#define MCU_SUB_PUBKEY_START (MCU_ROOT_PUBKEY_START + FLASH_PAGE_SIZE)
+#define MCU_SSB_IMAGE_SIGN_START (MCU_SUB_PUBKEY_START + FLASH_PAGE_SIZE)
+#define MCU_SUB_PUBKEY_BACKUP_START (MCU_SSB_IMAGE_SIGN_START + FLASH_PAGE_SIZE)
+#define MCU_SSB_IMAGE_SIGN_BACKUP_START (MCU_SUB_PUBKEY_BACKUP_START + FLASH_PAGE_SIZE)
+
+#define MCU_SEC_BOOT_SIGN_BACKUP_START MCU_SUB_PUBKEY_BACKUP_START
+#define MCU_SEC_BOOT_SIGN_BACKUP_LEN (2 * FLASH_PAGE_SIZE)
+
+#define MCU_CFCT_START (MCU_SEC_BOOT_SIGN_BACKUP_START + MCU_SEC_BOOT_SIGN_BACKUP_LEN)
+#define MCU_CFCT_LEN FLASH_PAGE_SIZE
+
+#define MCU_RECOVERY_IMAGE_SIGN_START (MCU_CFCT_START + MCU_CFCT_LEN)
+#define MCU_BT_IMAGE_SIGN_START (MCU_RECOVERY_IMAGE_SIGN_START + FLASH_PAGE_SIZE)
+#define MCU_DSP_IMAGE_SIGN_START (MCU_BT_IMAGE_SIGN_START + FLASH_PAGE_SIZE)
+#define MCU_DSP1_IMAGE_SIGN_START (MCU_DSP_IMAGE_SIGN_START + FLASH_PAGE_SIZE)
+#define MCU_APP_IMAGE_SIGN_START (MCU_DSP1_IMAGE_SIGN_START + FLASH_PAGE_SIZE)
+#define MCU_PARTITION_TABLE_SIGN_START (MCU_APP_IMAGE_SIGN_START + FLASH_PAGE_SIZE)
/*
* ********************* RAM ALLOCATION *********************
#else
#define ENABLE_LOW_POWER NO
#endif
-#if defined(CFG_FLASH_SIZE) && (CFG_FLASH_SIZE == 16)
-#ifdef FD230
#define DTB_IMAGE_PAGES 0
#define RECOVERY_IMAGE_PAGES 64
#define RESERVE_IMAGE_PAGES 0
#define HIFI0_IMAGE_PAGES 112
#define HIFI0_CODEC_PAGES 320
#define APP_IMAGE_PAGES 3401
-#else
-#define DTB_IMAGE_PAGES 0
-#define RECOVERY_IMAGE_PAGES 256
-#define RESERVE_IMAGE_PAGES 64
-#define BT_IMAGE_PAGES 112
-#define HIFI0_IMAGE_PAGES 192
-#define HIFI0_CODEC_PAGES 448
-#define APP_IMAGE_PAGES 2048
-#endif
-#else
-#define DTB_IMAGE_PAGES 0
-#define RECOVERY_IMAGE_PAGES 64
-#define RESERVE_IMAGE_PAGES 0
-#define BT_IMAGE_PAGES 112
-#define HIFI0_IMAGE_PAGES 112
-#define HIFI0_CODEC_PAGES 320
-#define APP_IMAGE_PAGES 1353
-#endif
#define NV_IMAGE_PAGES 4
#define FOTA_IMAGE_PAGES 3
-#ifdef FD230
#define FOTA_IMAGE_START 0xFFD000
-#else
-#define FOTA_IMAGE_START 0x770000
-#endif
#define SSB_FOTA_OFFSET 0x0
#define XO_CTRIM_VALUR_DEFAULT 0x56
#define DSP1_IPC_ENABLE NO
volatile uint64_t now_count = 0;
volatile uint64_t ret_time = 0;
volatile uint64_t cost_msec = 0;
- uint64_t pre_count = g_pre_systick_count;
if (g_pre_systick_count == 0) {
- pre_count = uapi_systick_get_count();
- g_pre_systick_msec = (pre_count * OS_SYS_MS_PER_SECOND) / CLOCK_32K_CALI_FREQ;
+ g_pre_systick_count = uapi_systick_get_count();
+ g_pre_systick_msec = (g_pre_systick_count * OS_SYS_MS_PER_SECOND) / CLOCK_32K_CALI_FREQ;
} else {
now_count = uapi_systick_get_count();
- cost_msec = ((now_count - pre_count) * OS_SYS_MS_PER_SECOND) / CLOCK_32K_CALI_FREQ;
+ cost_msec = ((now_count - g_pre_systick_count) * OS_SYS_MS_PER_SECOND) / CLOCK_32K_CALI_FREQ;
g_pre_systick_count = now_count;
g_pre_systick_msec = g_pre_systick_msec + cost_msec;
+++ /dev/null
-/**
- * Copyright (c) @CompanyNameMagicTag 2023-2023. All rights reserved. \n
- *
- * Description: Button driver source file \n
- * Author: @CompanyNameTag \n
- * History: \n
- * 2023-02-24, Create file. \n
- */
-
-#include "pinctrl.h"
-#include "button_porting.h"
-#include "platform_core.h"
-#include "gpio.h"
-#include "gpio_porting.h"
-#include "debug_print.h"
-#include "rtc.h"
-#include "timer.h"
-#include "systick.h"
-#include "chip_core_irq.h"
-
-#define BUTTON_PWREN_ID 1
-/**
- * @if Eng
- * @brief Button debounce struct
- * @else
- * @brief 按键去抖动结构体定义
- * @endif
- */
-typedef struct {
- uint8_t debounced; /*!< @if Eng Recording debounced group.
- @else 记录产生抖动的按键组 @endif */
- uint32_t debounced_time; /*!< @if Eng Debounced time.
- @else 抖动计时 @endif */
-} button_debounced_t;
-
-/**
- * @if Eng
- * @brief Button information struct
- * @else
- * @brief 按键信息结构体定义
- * @endif
- */
-typedef struct {
- uint8_t pressed_group; /*!< @if Eng Recording button pressed group.
- @else 记录被按下的按键组 @endif */
- uint8_t which_pressed; /*!< @if Eng Pressed button bit turns to 1
- @else 被按下的按键置1 @endif */
- uint8_t which_released; /*!< @if Eng Releaesd button bit turns to 1
- @else 被松开的按键置1 @endif */
-} button_info_t;
-
-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;
-bool g_gpio_timer_is_running = false;
-msg_send_callback_t g_msg_send_cb = NULL;
-
-static const char* g_state_str[PRESSED_MAX] = {
- "BUTTON_PRESSED",
- "BUTTON_RESLASED",
-};
-
-static void button_debounced_timer_callback(uint32_t data);
-static void button_check_released_timer_callback(uint32_t data);
-
-void button_group_set_bit(uint8_t* group, uint8_t bit)
-{
- (*group) |= (1 << bit);
-}
-
-static void button_group_clear_bit(uint8_t* group, uint8_t bit)
-{
- (*group) &= ~(1 << bit);
-}
-
-static button_press_state_t button_get_press_state(pin_t pin)
-{
- button_peripheral_api *button_api = button_port_get_api();
- return button_api->button_get_state(pin);
-}
-
-static bool button_group_find_bit(uint8_t group, uint8_t* bit)
-{
- if (bit == NULL) {
- return false;
- }
- for (uint8_t i = 0; i < BUTTON_PIN_MAP_MAX; i++) {
- if ((group & (1 << i)) != 0) {
- *bit = i;
- return true;
- }
- }
- return false;
-}
-
-static void button_send_msg(uint8_t pin_group, button_press_state_t state)
-{
- if (g_msg_send_cb == NULL) {
- PRINT("button %d is %s\r\n", pin_group, g_state_str[state]);
- } else {
- g_msg_send_cb(pin_group, state);
- }
-}
-
-static void button_timer_start(void)
-{
- bool start = false;
- if (!g_gpio_timer_is_running) {
- g_gpio_timer_is_running = true;
- start = true;
- }
-
- if (start) {
- uapi_rtc_stop(g_gpio_button_timer);
- uapi_rtc_start(g_gpio_button_timer, BUTTON_TIMER_INTERVAL, button_debounced_timer_callback, 0);
- }
-}
-
-static void button_timer_start_check_released(void)
-{
- bool start = false;
- if (!g_timer_is_running) {
- g_timer_is_running = true;
- start = true;
- }
-
- if (start) {
- uapi_rtc_stop(g_button_timer);
- uapi_rtc_start(g_button_timer, BUTTON_CHECK_RELEADSED, button_check_released_timer_callback, 0);
- }
-}
-
-static void button_irq_callback(pin_t pin)
-{
- pin = PIN_NONE;
- uapi_ulp_wkup_type_record();
- button_peripheral_api *button_api = button_port_get_api();
- // if not vbus or pwren interrupt return
- if (button_api->button_check_interrupt(pin) == false) {
- button_api->button_clear_interrupt(pin);
- return;
- }
- // deal with vbus interrupt
- if (button_api->button_check_vbus_interrupt()) {
- button_api->button_deal_vbus_event();
- button_api->button_clear_interrupt(pin);
- return;
- }
-
- // deal with pwren interrupt
- button_api->button_clear_interrupt(pin);
- button_press_state_t press_state = button_get_press_state(pin);
- button_send_msg(BUTTON_PWREN_ID, press_state);
- button_api->button_add_veto();
- button_timer_start_check_released();
-}
-
-static void button_gpio_callback(pin_t pin, uintptr_t param)
-{
- unused(param);
- uint8_t bit = 0;
- for (uint8_t index = 0; index < BUTTON_PIN_MAP_MAX; index++) {
- if (pin == g_button_pin_map[index].pin) {
- bit = index;
- break;
- }
- }
-
- uapi_gpio_clear_interrupt(pin);
- button_press_state_t press_state = button_get_press_state(pin);
- unsigned int irq_sts = osal_irq_lock();
- if (press_state == PRESSED) {
- button_group_set_bit(&g_button_debounced.debounced, bit);
- g_button_debounced.debounced_time = (uint32_t)uapi_systick_get_ms();
- }
- osal_irq_restore(irq_sts);
-
- button_peripheral_api *button_api = button_port_get_api();
- button_api->button_add_veto();
- button_timer_start();
-}
-
-static void button_debounced_handler(void)
-{
- pin_t pin = 0;
- uint32_t time = (uint32_t)uapi_systick_get_ms();
- uint8_t pressed_group = 0;
- uint8_t bit = 0;
- uint8_t debounced = g_button_debounced.debounced;
-
- while (debounced > 0) {
- if (button_group_find_bit(debounced, &bit)) {
- button_group_clear_bit(&debounced, bit);
- pin = g_button_pin_map[bit].pin;
- if ((button_get_press_state(pin) == PRESSED) &&
- (time - g_button_debounced.debounced_time >= DEBOUNCED_INTERVAL)) {
- /* Debounce */
- button_group_set_bit(&pressed_group, bit);
- button_group_clear_bit(&g_button_debounced.debounced, bit);
- }
- }
- }
-
- /* Comparing with the old pressed state to figure out which buttons are pressed or released */
- g_button_info.which_pressed = pressed_group & ~g_button_info.pressed_group;
- g_button_info.which_released = ~pressed_group & g_button_info.pressed_group;
-
- /* Recording pressed_group */
- g_button_info.pressed_group = pressed_group;
-}
-
-static void button_debounced_timer_callback(uint32_t data)
-{
- unused(data);
- g_gpio_timer_is_running = false;
-
- button_debounced_handler();
-
- if (g_button_info.which_pressed != 0) {
- button_send_msg(g_button_info.which_pressed, PRESSED);
- } else if (g_button_info.which_released != 0) {
- button_send_msg(g_button_info.which_released, RELEASED);
- }
- if (g_button_debounced.debounced != 0) {
- button_timer_start();
- } else {
- button_peripheral_api *button_api = button_port_get_api();
- button_api->button_remove_veto();
- }
-}
-
-static void button_check_released_timer_callback(uint32_t data)
-{
- unused(data);
-
- g_timer_is_running = false;
-
- button_peripheral_api *button_api = button_port_get_api();
- button_press_state_t press_state;
- press_state = button_get_press_state(PIN_NONE);
- if (press_state == 1) {
- button_send_msg(1, RELEASED);
- button_api->button_remove_veto();
- } else {
- button_timer_start_check_released();
- }
-}
-
-errcode_t uapi_button_gpio_register(pin_t pin)
-{
- errcode_t ret;
- ret = uapi_gpio_unregister_isr_func(pin);
- if (ret != ERRCODE_SUCC) {
- return ret;
- }
- /* GPIO set input and pull up */
- if ((uapi_pin_set_mode(pin, (pin_mode_t)HAL_PIO_FUNC_GPIO) != ERRCODE_SUCC) ||
- (uapi_pin_set_pull(pin, (pin_pull_t)HAL_PIO_PULL_UP) != ERRCODE_SUCC) ||
- (uapi_gpio_set_dir(pin, GPIO_DIRECTION_INPUT) != ERRCODE_SUCC)) {
- PRINT("gpio config failed\r\n");
- return ERRCODE_FAIL;
- }
- ret = uapi_gpio_register_isr_func(pin, GPIO_INTERRUPT_DEDGE, button_gpio_callback);
- if (ret != ERRCODE_SUCC) {
- PRINT("button gpio register failed\r\n");
- return ret;
- }
- return ERRCODE_SUCC;
-}
-
-errcode_t uapi_button_deregister(pin_t pin)
-{
- errcode_t ret;
- button_peripheral_api *button_api = button_port_get_api();
- ret = button_api->button_unregister_callback(pin);
- if (ret != ERRCODE_SUCC) {
- PRINT("button deregister failed\r\n");
- return ret;
- }
-
- return ERRCODE_SUCC;
-}
-
-errcode_t uapi_button_register(button_map_t* button_map)
-{
- errcode_t ret = 0;
- if (button_map == NULL) {
- return ERRCODE_FAIL;
- }
-
- button_peripheral_api *button_api = button_port_get_api();
- for (uint8_t i = 0; i < BUTTON_PIN_MAP_MAX; i++) {
- g_button_pin_map[i].pin = button_map[i].pin;
- g_button_pin_map[i].button = button_map[i].button;
- if (button_map[i].pin != PIN_NONE && button_map[i].button != BUTTON_MAX) {
- if (button_map[i].button == BUTTON_PWR) {
- button_api->button_pmu_pwr_cfg(true);
- }
- ret |= uapi_button_gpio_register(g_button_pin_map[i].pin);
- } else if (button_map[i].pin == PIN_NONE && button_map[i].button == BUTTON_PWR) {
- ret = button_api->button_register_callback(g_button_pin_map[i].pin, (osal_irq_handler)button_irq_callback);
- if (ret != ERRCODE_SUCC) {
- PRINT("button register failed\r\n");
- return ret;
- }
- continue;
- }
- }
-
- return ret;
-}
-
-void uapi_button_deinit(void)
-{
- /* Stop the time and clear the pin map */
- 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;
- }
-}
-
-errcode_t uapi_button_init(void)
-{
- errcode_t ret = 0;
- ret = uapi_rtc_init();
-
- ret |= uapi_rtc_adapter(0, RTC_0_IRQN, irq_prio(RTC_0_IRQN)); /* 1: using timer1 */
- if (ret != ERRCODE_SUCC) {
- PRINT("uapi_rtc_init FAILED 0x%x", ret);
- return ret;
- }
- ret = uapi_rtc_create(0, &g_button_timer); /* 1: using timer1 */
- if (ret != ERRCODE_SUCC) {
- 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;
-}
-
-void uapi_button_send_msg_register(msg_send_callback_t cb)
-{
- if (cb != NULL) {
- g_msg_send_cb = cb;
- }
-}
\ No newline at end of file
static mmc_save_info_t g_mmc_cur_info = { 0 };
bool g_mmc_sleep_inited = false;
bool g_mmc_inited = false;
-static enum mmc_bus_timing g_max_timing = bus_timing_normal;
void mmc_set_first_init_flag(bool flag)
{
DPAL_WRITE_UINT16(GLB_CLKEN_ENABLE, GLB_CLKEN_REG);
}
-static uint32_t sdhci_get_config_clock(struct hci_softc *sc, uint32_t clock)
-{
- uint32_t actual_clock = clock;
- if (clock > sc->caps.max_clk) {
-#if EMMC_BOARD_DEBUG_ON
- dprintf("%s, clock:[%u] is greater than the max_clk:[%u]!\n", __FUNCTION__, clock, sc->caps.max_clk);
-#endif
- actual_clock = sc->caps.max_clk;
- }
- switch (g_max_timing) {
- case bus_timing_mmc_hs:
- case bus_timing_uhs_sdr50:
- case bus_timing_uhs_ddr50:
- case bus_timing_mmc_ddr52:
- case bus_timing_sd_hs:
- if (actual_clock >= SDIOM_SRC_CLK_FREQ_LVL_50M_VAL) {
- actual_clock = SDIOM_SRC_CLK_FREQ_LVL_49M_VAL;
- }
- break;
- default:
- break;
- }
- return actual_clock;
-}
-
uint32_t sdhci_set_clock(struct hci_softc *sc, uint32_t clock)
{
unsigned int ret;
static uint8_t inited = false;
- uint32_t actual_clk = 0;
+
if (clock == 0) {
device_printf(sc->dev, "set clock invalid param!\n");
return clock;
}
- actual_clk = sdhci_get_config_clock(sc, clock);
#if EMMC_BOARD_DEBUG_ON
- dprintf("%s, clk:%u,a_clk:%u,resource:[0x%x]!\n", __FUNCTION__, clock, actual_clk, DPAL_GET_UINT16(SDIOM_CR_REG));
+ dprintf("%s, clock: [%u], resource:[0x%x]!\n", __FUNCTION__, clock, DPAL_GET_UINT16(SDIOM_CR_REG));
#endif
- if (actual_clk <= SDIOM_SRC_CLK_FREQ_LVL_50M_VAL) {
+ if (clock <= SDIOM_SRC_CLK_FREQ_LVL_50M_VAL) {
brandy_reg16_clrbit(BRANDY_EXTERNAL_EMMC_CCLK_DIV, EMMC_TUNING_COARSE_MODE_BIT);
} else {
brandy_reg16_setbit(BRANDY_EXTERNAL_EMMC_CCLK_DIV, EMMC_TUNING_COARSE_MODE_BIT);
}
- ret = hal_mmc_set_soc_clock(sc, actual_clk);
+ ret = hal_mmc_set_soc_clock(sc, clock);
if (ret != 0) {
device_printf(sc->dev, "set clock fail!\n");
return 0;
#ifdef CFG_SDIO_EMMC_COEXIST
if (sc->num == 0) {
#endif
- // After the tuning phase value is configured, the tuning clk function is automatically enabled.
- if (actual_clk > SDIOM_SRC_CLK_FREQ_LVL_50M_VAL) {
- brandy_reg16_clrbit(HOST_CTRL2, SAMPLE_CLK_SEL_BIT);
- brandy_reg16_clrbit(AT_CTRL, 0x4); // 0x4 means SW_TUNE_EN
- dpal_writel(sc->tuning_phase, AT_STAT);
- brandy_reg16_setbit(HOST_CTRL2, SAMPLE_CLK_SEL_BIT);
+ // After the tuning phase value is configured, the tuning clk function is automatically enabled.
+ uint32_t phase = dpal_readl(AT_STAT);
+ dpal_writel(phase, AT_STAT);
// The fixed clock is less than or equal to 52 MHz, and the tuning clock is not used.
- } else {
- brandy_reg16_clrbit(HOST_CTRL2, SAMPLE_CLK_SEL_BIT);
- }
+ if (clock <= SDIOM_SRC_CLK_FREQ_LVL_50M_VAL) {
+ brandy_reg16_clrbit(HOST_CTRL2, SAMPLE_CLK_SEL_BIT);
+ }
#ifdef CFG_SDIO_EMMC_COEXIST
}
#endif
-#if EMMC_BOARD_DEBUG_ON
- dprintf("%s,clk_src=0x%X, at_ctrl=0x%X, at_stat=0x%X, host2_ctrl=0x%X, tuning_phase=0x%X\r\n", __FUNCTION__,
- readw(SDIOM_CR_REG), readw(AT_CTRL), readw(AT_STAT), readw(HOST_CTRL2), sc->tuning_phase);
-#endif
- return actual_clk;
+ return clock;
}
void mmc_set_internal_clk(uint16_t clk_level)
static bool sdhci_judge_dll_sample(uint32_t timing)
{
- if (g_max_timing < timing) { g_max_timing = timing; }
if (timing == bus_timing_mmc_hs || timing == bus_timing_sd_hs || timing == bus_timing_normal ||
timing == bus_timing_uhs_sdr25) {
return false;
}
} else {
/* SDIO device */
- if ((timing == bus_timing_sd_hs) || (timing == bus_timing_uhs_sdr25)) {
+ if ((timing == bus_timing_sd_hs) ||
+ (timing == bus_timing_uhs_sdr25)) {
drv_phase = DRV_PHASE_180_DEGREE;
phase = SAMPLE_PHASE;
} else {
}
en_flag = sdhci_judge_dll_sample(timing);
#if EMMC_BOARD_DEBUG_ON
- device_printf(sc->dev, "timing:%u, g_max_timing =%u, phase:0x%x, drv_phase:0x%x, en_flag:%d \n", timing,
- g_max_timing, phase, drv_phase, en_flag);
+ device_printf(sc->dev, "timing:%u, phase:0x%x, drv_phase:0x%x, en_flag:%d \n", timing, phase, drv_phase, en_flag);
#endif
sdhci_set_drv_phase(sc->num, drv_phase);
sdhci_en_drv_dll_sample(sc, en_flag);
#define SD_BUS_DIV_NUM_MASK 0xF8 // bit3---bit7
#define SD_BUS_DIV_NUM_POST_SHIFT 3
-#define EMMC_TUNING_BM0_VAL (0x4244)
-#define EMMC_TUNING_BM1_VAL (0x777)
+#define EMMC_TUNING_BM0_VAL (0x4210)
+#define EMMC_TUNING_BM1_VAL (0x707)
#define EMMC_TUNING_COARSE_MODE BIT(13)
#define DWC_MSHC_PTR_VENDOR1 0x500
encoded_hrm[15] = ppg_s_data.green_cur;//绿灯电流\r
encoded_hrm[16] = ppg_s_data.ir_cur;//红外电流\r
\r
- if(uapi_dev_runtime_get_bt_powerstat())\r
+ if(cm_custom_ble_service_on_flag())\r
ble_ppgtest_server_send_input_report(encoded_hrm,PPG_DATA_LEN_MAX);\r
\r
// ble_op_att_send_data(ATT_CHARACTERISTIC_2a37_01_VALUE_HANDLE,encoded_hrm, \\r
\r
encoded_hrm[15] = cal.R_LED;\r
encoded_hrm[16] = cal.IR_LED1;\r
- if(uapi_dev_runtime_get_bt_powerstat())\r
+ if(cm_custom_ble_service_on_flag())\r
ble_ppgtest_server_send_input_report(encoded_hrm,PPG_DATA_LEN_MAX);\r
}\r
}\r
@else UUID字段。 @endif */
} bt_uuid_t;
-/**
- * @if Eng
- * @brief Set BT_SERVICE_TASK priority.
- * @par Set BT_SERVICE_TASK priority.
- * @attention NULL
- * @param [in] task_priority task priority, range is 0 to 31, 0 is highest priority, 31 is lowest priority.
- * @retval #ERRCODE_BT_SUCCESS Excute successfully.
- * @retval #Other Error code, @ref errcode_bt_t
- * @par Dependency:
- * @li bts_def.h
- * @see
- * @else
- * @brief 设置BT_SERVICE_TASK任务优先级。
- * @par 设置BT_SERVICE_TASK任务优先级。
- * @attention 无
- * @param [in] 任务优先级, 0为最大优先级,31为最小优先级.
- * @retval #ERRCODE_BT_SUCCESS 执行成功。
- * @retval #Other 错误码, @ref errcode_bt_t
- * @par 依赖:
- * @li bts_def.h
- * @see
- * @endif
- */
-errcode_bt_t bts_set_service_task_priority(uint16_t task_priority);
-
/**
* @}
*/
-<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="create style_name failed. @app_style.cpp(29),ERROR" ID="0xe11800ea" />
- <MSG STRUCTURE="diag_log_msg0" NAME="style_name set string value error @app_style.cpp(33),ERROR" ID="0xe118010a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="transform prop value must be set. @app_style.cpp(169),ERROR" ID="0xe118054a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="None style to parse. @app_style.cpp(187),ERROR" ID="0xe11805da" />
- <MSG STRUCTURE="diag_log_msg0" NAME="None style to parse. @app_style.cpp(193),ERROR" ID="0xe118060a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc space error @app_style.cpp(265),ERROR" ID="0xe118084a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="convert style name to char failed, will be dropped @app_style.cpp(295),ERROR" ID="0xe118093a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="style name length is 0 or max, will be dropped @app_style.cpp(300),ERROR" ID="0xe1180962" />
- <MSG STRUCTURE="diag_log_msg0" NAME="create style error @app_style.cpp(308),ERROR" ID="0xe11809a2" />
+<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
-<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="create style item string failed. @app_style_item.cpp(58),ERROR" ID="0xe11a01d2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="app_style set string value error @app_style_item.cpp(62),ERROR" ID="0xe11a01f2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="style item transform num to string fail @app_style_item.cpp(77),ERROR" ID="0xe11a026a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="convert style prop name to char failed, will be dropped @app_style_item.cpp(90),ERROR" ID="0xe11a02d2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="style prop name length is 0, will be dropped @app_style_item.cpp(95),ERROR" ID="0xe11a02fa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="new styleItem error @app_style_item.cpp(114),ERROR" ID="0xe11a0392" />
- <MSG STRUCTURE="diag_log_msg0" NAME="convert style value to char failed, will be dropped @app_style_item.cpp(135),ERROR" ID="0xe11a043a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="new styleItem error @app_style_item.cpp(161),ERROR" ID="0xe11a050a" />
+<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
-<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="malloc flags data buffer failed @app_style_manager.cpp(62),ERROR" ID="0xe11e01f2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="convert id value to char failed, will be dropped @app_style_manager.cpp(227),ERROR" ID="0xe11e071a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="not supported yet @app_style_manager.cpp(243),WARNING" ID="0xe11e079b" />
- <MSG STRUCTURE="diag_log_msg0" NAME="invalid prop count @app_style_manager.cpp(283),ERROR" ID="0xe11e08da" />
+<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
-<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="btsrv_init: create msg queue fail ret:%08x @btsrv_task.c(44),ERROR" ID="0xd8020162" />
- <MSG STRUCTURE="diag_log_msg1" NAME="btsrv_init: create task fail ret:%08x @btsrv_task.c(54),ERROR" ID="0xd80201b2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="btsrv_init: set pri error:%08x @btsrv_task.c(59),ERROR" ID="0xd80201da" />
- <MSG STRUCTURE="diag_log_msg0" NAME="btsrv_init: task create success @btsrv_task.c(62),INFO" ID="0xd80201f5" />
- <MSG STRUCTURE="diag_log_msg1" NAME="msg id %d not register @btsrv_task.c(88),WARNING" ID="0xd80202c3" />
- <MSG STRUCTURE="diag_log_msg2" NAME="btsrv_send_simple_msg: send fail msg_id: %d ret: %08x @btsrv_task.c(96),ERROR" ID="0xd8020302" />
- <MSG STRUCTURE="diag_log_msg1" NAME="invalid msg id %d @btsrv_task.c(112),WARNING" ID="0xd8020383" />
- <MSG STRUCTURE="diag_log_msg0" NAME="handle funcs is null @btsrv_task.c(117),WARNING" ID="0xd80203ab" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="btsrv_init: create msg queue fail ret:%08x @btsrv_task.c(42),ERROR" ID="0xd8020152" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="btsrv_init: create task fail ret:%08x @btsrv_task.c(52),ERROR" ID="0xd80201a2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="btsrv_init: set pri error:%08x @btsrv_task.c(57),ERROR" ID="0xd80201ca" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="btsrv_init: task create success @btsrv_task.c(60),INFO" ID="0xd80201e5" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="msg id %d not register @btsrv_task.c(86),WARNING" ID="0xd80202b3" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="btsrv_send_simple_msg: send fail msg_id: %d ret: %08x @btsrv_task.c(94),ERROR" ID="0xd80202f2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="invalid msg id %d @btsrv_task.c(110),WARNING" ID="0xd8020373" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="handle funcs is null @btsrv_task.c(115),WARNING" ID="0xd802039b" />
</MSG_LOG>
\ No newline at end of file
<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: 0x%x @image_cache_manager.cpp(148),DBG" ID="0xcb1c04a6" />
- <MSG STRUCTURE="diag_log_msg2" NAME="LRU free long term image %s resid: 0x%x @image_cache_manager.cpp(157),DBG" ID="0xcb1c04ee" />
+ <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_LOG><MSG STRUCTURE="diag_log_msg0" NAME="undefined state -> init state @js_page_state.cpp(29),INFO" ID="0xe11200ed" />
- <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="0xe112014a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="init state -> ready state @js_page_state.cpp(49),INFO" ID="0xe112018d" />
- <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="0xe11201e2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="current state(%d) -> show state @js_page_state.cpp(68),INFO" ID="0xe1120225" />
- <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="0xe112026a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="current state(%d) -> background state @js_page_state.cpp(85),INFO" ID="0xe11202ad" />
- <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="0xe11202ea" />
- <MSG STRUCTURE="diag_log_msg1" NAME="current state(%d) -> destroy state @js_page_state.cpp(102),INFO" ID="0xe1120335" />
- <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="0xe112037a" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="undefined state -> 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 -> 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) -> 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) -> 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) -> 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
-<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="error input state:%d @js_page_state_machine.cpp(83),ERROR" ID="0xe114029a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc path memory heap failed. @js_page_state_machine.cpp(116),ERROR" ID="0xe11403a2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="delete $page property failed from global object. @js_page_state_machine.cpp(148),ERROR" ID="0xe11404a2" />
- <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="0xe1140502" />
- <MSG STRUCTURE="diag_log_msg0" NAME="statemachine init failed as object is invalid. @js_page_state_machine.cpp(177),ERROR" ID="0xe114058a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="statemachine init failed as uri is invalid. @js_page_state_machine.cpp(186),ERROR" ID="0xe11405d2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="statemachine init failed as uri is invalid. @js_page_state_machine.cpp(194),ERROR" ID="0xe1140612" />
- <MSG STRUCTURE="diag_log_msg0" NAME="statemachine init failed as uri is empty. @js_page_state_machine.cpp(201),ERROR" ID="0xe114064a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="statemachine init failed as generating js file's path failed. @js_page_state_machine.cpp(211),ERROR" ID="0xe114069a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="statemachine init failed as js file isn't existed. @js_page_state_machine.cpp(220),ERROR" ID="0xe11406e2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="error input state:%d @js_page_state_machine.cpp(278),ERROR" ID="0xe11408b2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="relocat page JS file failed @js_page_state_machine.cpp(295),ERROR" ID="0xe114093a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Eval JS file failed @js_page_state_machine.cpp(301),ERROR" ID="0xe114096a" />
- <MSG STRUCTURE="diag_log_msg2" NAME="JS Heap allocBytes[%d], peakAllocBytes[%d] @js_page_state_machine.cpp(333),DBG" ID="0xe1140a6e" />
- <MSG STRUCTURE="diag_log_msg0" NAME="StateMachine::ShowPage @js_page_state_machine.cpp(365),INFO" ID="0xe1140b6d" />
- <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="0xe1140b7b" />
- <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="0xe1140bf3" />
- <MSG STRUCTURE="diag_log_msg0" NAME="input parameter is invalid when invoking page life cycle callback. @js_page_state_machine.cpp(399),ERROR" ID="0xe1140c7a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="delete $page property failed from global object. @js_page_state_machine.cpp(424),ERROR" ID="0xe1140d42" />
- <MSG STRUCTURE="diag_log_msg0" NAME="delete $root property failed from global object. @js_page_state_machine.cpp(433),ERROR" ID="0xe1140d8a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[%d] components leaked! @js_page_state_machine.cpp(475),ERROR" ID="0xe1140eda" />
+<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
-<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="replace async failed with null input parameter @js_router.cpp(31),ERROR" ID="0xe11600fa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="router is replacing, can not handle the new request @js_router.cpp(43),ERROR" ID="0xe116015a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc state machine memory heap failed. @js_router.cpp(48),ERROR" ID="0xe1160182" />
- <MSG STRUCTURE="diag_log_msg0" NAME="dispatch replacing request failed @js_router.cpp(64),ERROR" ID="0xe1160202" />
- <MSG STRUCTURE="diag_log_msg0" NAME="replace sync failed, new sm should be prepared @js_router.cpp(78),ERROR" ID="0xe1160272" />
- <MSG STRUCTURE="diag_log_msg0" NAME="the whole application is in background, move to HIDE state directly @js_router.cpp(94),DBG" ID="0xe11602f6" />
- <MSG STRUCTURE="diag_log_msg0" NAME="no SM when performing show @js_router.cpp(110),ERROR" ID="0xe1160372" />
- <MSG STRUCTURE="diag_log_msg0" NAME="no SM when performing background @js_router.cpp(122),ERROR" ID="0xe11603d2" />
+<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
-<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="unsupported BlendMode: %u. @lite_m_gfx_engine.cpp(73),ERROR" ID="0xcb0e024a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="unsupported color format: %d @lite_m_gfx_engine.cpp(117),ERROR" ID="0xcb0e03aa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Convert2VGUCap failed! Invalid Capstyle! @lite_m_gfx_engine.cpp(130),ERROR" ID="0xcb0e0412" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Convert2VGUBuffer failed. @lite_m_gfx_engine.cpp(161),ERROR" ID="0xcb0e050a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Fill operation failed. @lite_m_gfx_engine.cpp(192),ERROR" ID="0xcb0e0602" />
- <MSG STRUCTURE="diag_log_msg1" NAME="font weight %u was not support @lite_m_gfx_engine.cpp(314),ERROR" ID="0xcb0e09d2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="VGUPathAppendData failed. @lite_m_gfx_engine.cpp(355),ERROR" ID="0xcb0e0b1a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="VGUPathSetData failed. @lite_m_gfx_engine.cpp(366),ERROR" ID="0xcb0e0b72" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Convert2VGUBuffer failed. @lite_m_gfx_engine.cpp(393),ERROR" ID="0xcb0e0c4a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="RenderPath failed. @lite_m_gfx_engine.cpp(404),ERROR" ID="0xcb0e0ca2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Convert2VGUBuffer failed. @lite_m_gfx_engine.cpp(425),ERROR" ID="0xcb0e0d4a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="RenderPath failed. @lite_m_gfx_engine.cpp(436),ERROR" ID="0xcb0e0da2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Convert2VGUBuffer failed. @lite_m_gfx_engine.cpp(452),ERROR" ID="0xcb0e0e22" />
- <MSG STRUCTURE="diag_log_msg0" NAME="RenderPath failed. @lite_m_gfx_engine.cpp(478),ERROR" ID="0xcb0e0ef2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Convert2VGUBuffer failed. @lite_m_gfx_engine.cpp(493),ERROR" ID="0xcb0e0f6a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="RenderPath failed. @lite_m_gfx_engine.cpp(505),ERROR" ID="0xcb0e0fca" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Convert2VGUBuffer failed. @lite_m_gfx_engine.cpp(615),ERROR" ID="0xcb0e133a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Convert2VGUBuffer failed. @lite_m_gfx_engine.cpp(642),ERROR" ID="0xcb0e1412" />
- <MSG STRUCTURE="diag_log_msg0" NAME="RenderBlur failed! @lite_m_gfx_engine.cpp(658),ERROR" ID="0xcb0e1492" />
- <MSG STRUCTURE="diag_log_msg0" NAME="RenderBlit failed! @lite_m_gfx_engine.cpp(711),ERROR" ID="0xcb0e163a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="DrawTransform failed. Software can only process uncompressed data. @lite_m_gfx_engine.cpp(746),ERROR" ID="0xcb0e1752" />
- <MSG STRUCTURE="diag_log_msg0" NAME="vguFuncs_ is null! @lite_m_gfx_engine.cpp(801),ERROR" ID="0xcb0e190a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="InitVgu or RenderClearRect is null! @lite_m_gfx_engine.cpp(805),ERROR" ID="0xcb0e192a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="VGUPathInit, VGUPathAppendData, VGUPathClear or RenderPath is nullptr! @lite_m_gfx_engine.cpp(812),ERROR" ID="0xcb0e1962" />
- <MSG STRUCTURE="diag_log_msg0" NAME="VGUPathInit, VGUPathAppendData, VGUPathClear or RenderPath is nullptr! @lite_m_gfx_engine.cpp(818),ERROR" ID="0xcb0e1992" />
- <MSG STRUCTURE="diag_log_msg0" NAME="InitVgu failed! @lite_m_gfx_engine.cpp(823),ERROR" ID="0xcb0e19ba" />
- <MSG STRUCTURE="diag_log_msg0" NAME="vguFuncs_ is null! @lite_m_gfx_engine.cpp(834),INFO" ID="0xcb0e1a15" />
- <MSG STRUCTURE="diag_log_msg0" NAME="DeinitVgu failed! @lite_m_gfx_engine.cpp(839),ERROR" ID="0xcb0e1a3a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="AllocBuffer failed. @lite_m_gfx_engine.cpp(858),ERROR" ID="0xcb0e1ad2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="unsupported PixelFormat: %d @lite_m_gfx_engine.cpp(885),ERROR" ID="0xcb0e1baa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="bufferInfo_ is not inited. @lite_m_gfx_engine.cpp(989),ERROR" ID="0xcb0e1eea" />
- <MSG STRUCTURE="diag_log_msg1" NAME="set value: %d @lite_m_gfx_engine.cpp(1042),DBG" ID="0xcb0e2096" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="unsupported BlendMode: %u. @lite_m_gfx_engine.cpp(84),ERROR" ID="0xcb0e02a2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="unsupported color format: %d @lite_m_gfx_engine.cpp(128),ERROR" ID="0xcb0e0402" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Convert2VGUCap failed! Invalid Capstyle! @lite_m_gfx_engine.cpp(141),ERROR" ID="0xcb0e046a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Convert2VGUBuffer failed. @lite_m_gfx_engine.cpp(172),ERROR" ID="0xcb0e0562" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Fill operation failed. @lite_m_gfx_engine.cpp(203),ERROR" ID="0xcb0e065a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="font weight %u was not support @lite_m_gfx_engine.cpp(325),ERROR" ID="0xcb0e0a2a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="VGUPathAppendData failed. @lite_m_gfx_engine.cpp(366),ERROR" ID="0xcb0e0b72" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="VGUPathSetData failed. @lite_m_gfx_engine.cpp(377),ERROR" ID="0xcb0e0bca" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Convert2VGUBuffer failed. @lite_m_gfx_engine.cpp(404),ERROR" ID="0xcb0e0ca2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="RenderPath failed. @lite_m_gfx_engine.cpp(415),ERROR" ID="0xcb0e0cfa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Convert2VGUBuffer failed. @lite_m_gfx_engine.cpp(436),ERROR" ID="0xcb0e0da2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="RenderPath failed. @lite_m_gfx_engine.cpp(447),ERROR" ID="0xcb0e0dfa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Convert2VGUBuffer failed. @lite_m_gfx_engine.cpp(463),ERROR" ID="0xcb0e0e7a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="RenderPath failed. @lite_m_gfx_engine.cpp(489),ERROR" ID="0xcb0e0f4a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Convert2VGUBuffer failed. @lite_m_gfx_engine.cpp(504),ERROR" ID="0xcb0e0fc2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="RenderPath failed. @lite_m_gfx_engine.cpp(516),ERROR" ID="0xcb0e1022" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Convert2VGUBuffer failed. @lite_m_gfx_engine.cpp(626),ERROR" ID="0xcb0e1392" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Convert2VGUBuffer failed. @lite_m_gfx_engine.cpp(653),ERROR" ID="0xcb0e146a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="RenderBlur failed! @lite_m_gfx_engine.cpp(669),ERROR" ID="0xcb0e14ea" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="RenderBlit failed! @lite_m_gfx_engine.cpp(728),ERROR" ID="0xcb0e16c2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="DrawTransform failed. Software can only process uncompressed data. @lite_m_gfx_engine.cpp(763),ERROR" ID="0xcb0e17da" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="vguFuncs_ is null! @lite_m_gfx_engine.cpp(818),ERROR" ID="0xcb0e1992" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="InitVgu or RenderClearRect is null! @lite_m_gfx_engine.cpp(822),ERROR" ID="0xcb0e19b2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="VGUPathInit, VGUPathAppendData, VGUPathClear or RenderPath is nullptr! @lite_m_gfx_engine.cpp(829),ERROR" ID="0xcb0e19ea" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="VGUPathInit, VGUPathAppendData, VGUPathClear or RenderPath is nullptr! @lite_m_gfx_engine.cpp(835),ERROR" ID="0xcb0e1a1a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="InitVgu failed! @lite_m_gfx_engine.cpp(840),ERROR" ID="0xcb0e1a42" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="vguFuncs_ is null! @lite_m_gfx_engine.cpp(851),INFO" ID="0xcb0e1a9d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="DeinitVgu failed! @lite_m_gfx_engine.cpp(856),ERROR" ID="0xcb0e1ac2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="AllocBuffer failed. @lite_m_gfx_engine.cpp(875),ERROR" ID="0xcb0e1b5a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="unsupported PixelFormat: %d @lite_m_gfx_engine.cpp(902),ERROR" ID="0xcb0e1c32" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="bufferInfo_ is not inited. @lite_m_gfx_engine.cpp(1021),ERROR" ID="0xcb0e1fea" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="set value: %d @lite_m_gfx_engine.cpp(1066),DBG" ID="0xcb0e2156" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="set svg faild, path len is 0 @map_svg_parser.cpp(54),ERROR" ID="0xcb4a01b2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Invalid file path. @map_svg_parser.cpp(67),ERROR" ID="0xcb4a021a" />
- <MSG STRUCTURE="diag_log_msg2" NAME="File(%s) can not open. errno: %d @map_svg_parser.cpp(73),ERROR" ID="0xcb4a024a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="read map header faild @map_svg_parser.cpp(78),ERROR" ID="0xcb4a0272" />
- <MSG STRUCTURE="diag_log_msg0" NAME="parser map success @map_svg_parser.cpp(97),DBG" ID="0xcb4a030e" />
- <MSG STRUCTURE="diag_log_msg0" NAME="parser map failed @map_svg_parser.cpp(104),DBG" ID="0xcb4a0346" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s map header faild @map_svg_parser.cpp(113),ERROR" ID="0xcb4a038a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="The remaining data is insufficient. The read ends. @map_svg_parser.cpp(118),WARNING" ID="0xcb4a03b3" />
- <MSG STRUCTURE="diag_log_msg0" NAME="parser map success @map_svg_parser.cpp(153),DBG" ID="0xcb4a04ce" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[%s] param error! @map_svg_parser.cpp(160),ERROR" ID="0xcb4a0502" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc map node array faild! @map_svg_parser.cpp(167),ERROR" ID="0xcb4a053a" />
- <MSG STRUCTURE="diag_log_msg2" NAME="read map node array faild, readLen:%d, realReadLen:%d @map_svg_parser.cpp(174),ERROR" ID="0xcb4a0572" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[%s] param error! @map_svg_parser.cpp(187),ERROR" ID="0xcb4a05da" />
- <MSG STRUCTURE="diag_log_msg0" NAME="read map node faild.The data length is less than the read length! @map_svg_parser.cpp(193),ERROR" ID="0xcb4a060a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc map node array faild! @map_svg_parser.cpp(198),ERROR" ID="0xcb4a0632" />
- <MSG STRUCTURE="diag_log_msg1" NAME="memcpy_s map node array faild, nodeLen: 0x%x @map_svg_parser.cpp(205),ERROR" ID="0xcb4a066a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[%s] param error! @map_svg_parser.cpp(215),ERROR" ID="0xcb4a06ba" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc path style array faild! @map_svg_parser.cpp(222),ERROR" ID="0xcb4a06f2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s path style array faild @map_svg_parser.cpp(229),ERROR" ID="0xcb4a072a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[%s] param error! @map_svg_parser.cpp(242),ERROR" ID="0xcb4a0792" />
- <MSG STRUCTURE="diag_log_msg0" NAME="read path style faild.The data length is less than the read length! @map_svg_parser.cpp(248),ERROR" ID="0xcb4a07c2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc path style array faild! @map_svg_parser.cpp(254),ERROR" ID="0xcb4a07f2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s path style array faild @map_svg_parser.cpp(261),ERROR" ID="0xcb4a082a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Alloc buffer for buffer failed. @map_svg_parser.cpp(275),ERROR" ID="0xcb4a089a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Alloc buffer for buffer failed. @map_svg_parser.cpp(284),ERROR" ID="0xcb4a08e2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[%s] param error! @map_svg_parser.cpp(295),ERROR" ID="0xcb4a093a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc map path array faild! @map_svg_parser.cpp(302),ERROR" ID="0xcb4a0972" />
- <MSG STRUCTURE="diag_log_msg0" NAME="read map path array faild @map_svg_parser.cpp(311),ERROR" ID="0xcb4a09ba" />
- <MSG STRUCTURE="diag_log_msg0" NAME="alloc path faild @map_svg_parser.cpp(318),ERROR" ID="0xcb4a09f2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="read path cmd faild @map_svg_parser.cpp(324),ERROR" ID="0xcb4a0a22" />
- <MSG STRUCTURE="diag_log_msg0" NAME="read path data faild @map_svg_parser.cpp(330),ERROR" ID="0xcb4a0a52" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[%s] param error! @map_svg_parser.cpp(341),ERROR" ID="0xcb4a0aaa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc map path array faild! @map_svg_parser.cpp(348),ERROR" ID="0xcb4a0ae2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s map path array faild @map_svg_parser.cpp(356),ERROR" ID="0xcb4a0b22" />
- <MSG STRUCTURE="diag_log_msg0" NAME="alloc path faild @map_svg_parser.cpp(366),ERROR" ID="0xcb4a0b72" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s path cmd faild @map_svg_parser.cpp(371),ERROR" ID="0xcb4a0b9a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s path data faild @map_svg_parser.cpp(378),ERROR" ID="0xcb4a0bd2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[%s] param error! @map_svg_parser.cpp(413),ERROR" ID="0xcb4a0cea" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc map path array faild! @map_svg_parser.cpp(420),ERROR" ID="0xcb4a0d22" />
- <MSG STRUCTURE="diag_log_msg0" NAME="read map text array faild @map_svg_parser.cpp(429),ERROR" ID="0xcb4a0d6a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc map path cmd faild @map_svg_parser.cpp(436),ERROR" ID="0xcb4a0da2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="read text faild @map_svg_parser.cpp(443),ERROR" ID="0xcb4a0dda" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc text offset faild @map_svg_parser.cpp(451),ERROR" ID="0xcb4a0e1a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="read text offset faild @map_svg_parser.cpp(457),ERROR" ID="0xcb4a0e4a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[%s] param error! @map_svg_parser.cpp(468),ERROR" ID="0xcb4a0ea2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc map path array faild! @map_svg_parser.cpp(475),ERROR" ID="0xcb4a0eda" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s map text array faild @map_svg_parser.cpp(483),ERROR" ID="0xcb4a0f1a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc map path cmd faild @map_svg_parser.cpp(492),ERROR" ID="0xcb4a0f62" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s text faild @map_svg_parser.cpp(497),ERROR" ID="0xcb4a0f8a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc text offset faild @map_svg_parser.cpp(507),ERROR" ID="0xcb4a0fda" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s text offset faild @map_svg_parser.cpp(512),ERROR" ID="0xcb4a1002" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[%s] param error! @map_svg_parser.cpp(546),ERROR" ID="0xcb4a1112" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc map path array faild! @map_svg_parser.cpp(553),ERROR" ID="0xcb4a114a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="read map image array faild @map_svg_parser.cpp(558),ERROR" ID="0xcb4a1172" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc map path array faild! @map_svg_parser.cpp(566),ERROR" ID="0xcb4a11b2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[%s] param error! @map_svg_parser.cpp(595),ERROR" ID="0xcb4a129a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc map path array faild! @map_svg_parser.cpp(602),ERROR" ID="0xcb4a12d2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s map text array faild @map_svg_parser.cpp(607),ERROR" ID="0xcb4a12fa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc map path array faild! @map_svg_parser.cpp(615),ERROR" ID="0xcb4a133a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[%s] param error! @map_svg_parser.cpp(647),ERROR" ID="0xcb4a143a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc map path array faild! @map_svg_parser.cpp(654),ERROR" ID="0xcb4a1472" />
- <MSG STRUCTURE="diag_log_msg0" NAME="read map road array faild @map_svg_parser.cpp(659),ERROR" ID="0xcb4a149a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[%s] param error! @map_svg_parser.cpp(669),ERROR" ID="0xcb4a14ea" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc map path array faild! @map_svg_parser.cpp(676),ERROR" ID="0xcb4a1522" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s map text array faild @map_svg_parser.cpp(681),ERROR" ID="0xcb4a154a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[%s] param error! @map_svg_parser.cpp(700),ERROR" ID="0xcb4a15e2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc map path array faild! @map_svg_parser.cpp(707),ERROR" ID="0xcb4a161a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="read map poi array faild @map_svg_parser.cpp(712),ERROR" ID="0xcb4a1642" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[%s] param error! @map_svg_parser.cpp(722),ERROR" ID="0xcb4a1692" />
- <MSG STRUCTURE="diag_log_msg0" NAME="malloc map path array faild! @map_svg_parser.cpp(729),ERROR" ID="0xcb4a16ca" />
- <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s map text array faild @map_svg_parser.cpp(734),ERROR" ID="0xcb4a16f2" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="set svg faild, path len is 0 @map_svg_parser.cpp(54),ERROR" ID="0xcb4801b2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Invalid file path. @map_svg_parser.cpp(67),ERROR" ID="0xcb48021a" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="File(%s) can not open. errno: %d @map_svg_parser.cpp(73),ERROR" ID="0xcb48024a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="read map header faild @map_svg_parser.cpp(78),ERROR" ID="0xcb480272" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="parser map success @map_svg_parser.cpp(97),DBG" ID="0xcb48030e" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="parser map failed @map_svg_parser.cpp(104),DBG" ID="0xcb480346" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s map header faild @map_svg_parser.cpp(113),ERROR" ID="0xcb48038a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="The remaining data is insufficient. The read ends. @map_svg_parser.cpp(118),WARNING" ID="0xcb4803b3" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="parser map success @map_svg_parser.cpp(153),DBG" ID="0xcb4804ce" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[%s] param error! @map_svg_parser.cpp(160),ERROR" ID="0xcb480502" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc map node array faild! @map_svg_parser.cpp(167),ERROR" ID="0xcb48053a" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="read map node array faild, readLen:%d, realReadLen:%d @map_svg_parser.cpp(174),ERROR" ID="0xcb480572" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[%s] param error! @map_svg_parser.cpp(187),ERROR" ID="0xcb4805da" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="read map node faild.The data length is less than the read length! @map_svg_parser.cpp(193),ERROR" ID="0xcb48060a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc map node array faild! @map_svg_parser.cpp(198),ERROR" ID="0xcb480632" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="memcpy_s map node array faild, nodeLen: 0x%x @map_svg_parser.cpp(205),ERROR" ID="0xcb48066a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[%s] param error! @map_svg_parser.cpp(215),ERROR" ID="0xcb4806ba" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc path style array faild! @map_svg_parser.cpp(222),ERROR" ID="0xcb4806f2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s path style array faild @map_svg_parser.cpp(229),ERROR" ID="0xcb48072a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[%s] param error! @map_svg_parser.cpp(242),ERROR" ID="0xcb480792" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="read path style faild.The data length is less than the read length! @map_svg_parser.cpp(248),ERROR" ID="0xcb4807c2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc path style array faild! @map_svg_parser.cpp(254),ERROR" ID="0xcb4807f2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s path style array faild @map_svg_parser.cpp(261),ERROR" ID="0xcb48082a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Alloc buffer for buffer failed. @map_svg_parser.cpp(275),ERROR" ID="0xcb48089a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Alloc buffer for buffer failed. @map_svg_parser.cpp(284),ERROR" ID="0xcb4808e2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[%s] param error! @map_svg_parser.cpp(295),ERROR" ID="0xcb48093a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc map path array faild! @map_svg_parser.cpp(302),ERROR" ID="0xcb480972" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="read map path array faild @map_svg_parser.cpp(311),ERROR" ID="0xcb4809ba" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="alloc path faild @map_svg_parser.cpp(318),ERROR" ID="0xcb4809f2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="read path cmd faild @map_svg_parser.cpp(324),ERROR" ID="0xcb480a22" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="read path data faild @map_svg_parser.cpp(330),ERROR" ID="0xcb480a52" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[%s] param error! @map_svg_parser.cpp(341),ERROR" ID="0xcb480aaa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc map path array faild! @map_svg_parser.cpp(348),ERROR" ID="0xcb480ae2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s map path array faild @map_svg_parser.cpp(356),ERROR" ID="0xcb480b22" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="alloc path faild @map_svg_parser.cpp(366),ERROR" ID="0xcb480b72" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s path cmd faild @map_svg_parser.cpp(371),ERROR" ID="0xcb480b9a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s path data faild @map_svg_parser.cpp(378),ERROR" ID="0xcb480bd2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[%s] param error! @map_svg_parser.cpp(413),ERROR" ID="0xcb480cea" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc map path array faild! @map_svg_parser.cpp(420),ERROR" ID="0xcb480d22" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="read map text array faild @map_svg_parser.cpp(429),ERROR" ID="0xcb480d6a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc map path cmd faild @map_svg_parser.cpp(436),ERROR" ID="0xcb480da2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="read text faild @map_svg_parser.cpp(443),ERROR" ID="0xcb480dda" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc text offset faild @map_svg_parser.cpp(451),ERROR" ID="0xcb480e1a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="read text offset faild @map_svg_parser.cpp(457),ERROR" ID="0xcb480e4a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[%s] param error! @map_svg_parser.cpp(468),ERROR" ID="0xcb480ea2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc map path array faild! @map_svg_parser.cpp(475),ERROR" ID="0xcb480eda" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s map text array faild @map_svg_parser.cpp(483),ERROR" ID="0xcb480f1a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc map path cmd faild @map_svg_parser.cpp(492),ERROR" ID="0xcb480f62" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s text faild @map_svg_parser.cpp(497),ERROR" ID="0xcb480f8a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc text offset faild @map_svg_parser.cpp(507),ERROR" ID="0xcb480fda" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s text offset faild @map_svg_parser.cpp(512),ERROR" ID="0xcb481002" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[%s] param error! @map_svg_parser.cpp(546),ERROR" ID="0xcb481112" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc map path array faild! @map_svg_parser.cpp(553),ERROR" ID="0xcb48114a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="read map image array faild @map_svg_parser.cpp(558),ERROR" ID="0xcb481172" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc map path array faild! @map_svg_parser.cpp(566),ERROR" ID="0xcb4811b2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[%s] param error! @map_svg_parser.cpp(595),ERROR" ID="0xcb48129a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc map path array faild! @map_svg_parser.cpp(602),ERROR" ID="0xcb4812d2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s map text array faild @map_svg_parser.cpp(607),ERROR" ID="0xcb4812fa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc map path array faild! @map_svg_parser.cpp(615),ERROR" ID="0xcb48133a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[%s] param error! @map_svg_parser.cpp(647),ERROR" ID="0xcb48143a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc map path array faild! @map_svg_parser.cpp(654),ERROR" ID="0xcb481472" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="read map road array faild @map_svg_parser.cpp(659),ERROR" ID="0xcb48149a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[%s] param error! @map_svg_parser.cpp(669),ERROR" ID="0xcb4814ea" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc map path array faild! @map_svg_parser.cpp(676),ERROR" ID="0xcb481522" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s map text array faild @map_svg_parser.cpp(681),ERROR" ID="0xcb48154a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[%s] param error! @map_svg_parser.cpp(700),ERROR" ID="0xcb4815e2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc map path array faild! @map_svg_parser.cpp(707),ERROR" ID="0xcb48161a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="read map poi array faild @map_svg_parser.cpp(712),ERROR" ID="0xcb481642" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[%s] param error! @map_svg_parser.cpp(722),ERROR" ID="0xcb481692" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="malloc map path array faild! @map_svg_parser.cpp(729),ERROR" ID="0xcb4816ca" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="memcpy_s map text array faild @map_svg_parser.cpp(734),ERROR" ID="0xcb4816f2" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="ACELite version: %s @platform_adapter.cpp(34),DBG" ID="0xe1220116" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ACELite commit: %s @platform_adapter.cpp(35),DBG" ID="0xe122011e" />
- <MSG STRUCTURE="diag_log_msg1" NAME="ACELite build stamp: %s @platform_adapter.cpp(36),DBG" ID="0xe1220126" />
+<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
-<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="osal_sem_init error %x @spp_service.c(86),ERROR" ID="0xd82a02b2" />
- <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),ERROR" ID="0xd82a0432" />
- <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),INFO" ID="0xd82a04f5" />
- <MSG STRUCTURE="diag_log_msg1" NAME="uuid=%s @spp_service.c(182),INFO" ID="0xd82a05b5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="client_id invalid @spp_service.c(237),ERROR" ID="0xd82a076a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="sleep too long. %d ms. @spp_service.c(250),WARNING" ID="0xd82a07d3" />
- <MSG STRUCTURE="diag_log_msg1" NAME="spp client %x delete success @spp_service.c(256),INFO" ID="0xd82a0805" />
- <MSG STRUCTURE="diag_log_msg0" NAME="add client fail @spp_service.c(265),ERROR" ID="0xd82a084a" />
+<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(357),INFO" ID="0xd82a0b2d" />
- <MSG STRUCTURE="diag_log_msg3" NAME="spp connect connHdl: %x devHdl: %x svcHdl: %x @spp_service.c(362),INFO" ID="0xd82a0b55" />
- <MSG STRUCTURE="diag_log_msg0" NAME="server not exist @spp_service.c(368),WARNING" ID="0xd82a0b83" />
- <MSG STRUCTURE="diag_log_msg0" NAME="client not exist @spp_service.c(375),WARNING" ID="0xd82a0bbb" />
- <MSG STRUCTURE="diag_log_msg1" NAME="spp disconnect connHdl: %x @spp_service.c(396),INFO" ID="0xd82a0c65" />
- <MSG STRUCTURE="diag_log_msg0" NAME="client not exist @spp_service.c(400),WARNING" ID="0xd82a0c83" />
- <MSG STRUCTURE="diag_log_msg1" NAME="server %x disconnected @spp_service.c(412),INFO" ID="0xd82a0ce5" />
- <MSG STRUCTURE="diag_log_msg1" NAME="unhandled msg id %x @spp_service.c(437),WARNING" ID="0xd82a0dab" />
- <MSG STRUCTURE="diag_log_msg0" NAME="params socket_para invalid. @spp_service.c(445),ERROR" ID="0xd82a0dea" />
- <MSG STRUCTURE="diag_log_msg0" NAME="uuid invalid @spp_service.c(450),ERROR" ID="0xd82a0e12" />
- <MSG STRUCTURE="diag_log_msg0" NAME="params name len invalid. @spp_service.c(456),ERROR" ID="0xd82a0e42" />
- <MSG STRUCTURE="diag_log_msg0" NAME="exist same uuid client @spp_service.c(463),ERROR" ID="0xd82a0e7a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="add server fail @spp_service.c(469),ERROR" ID="0xd82a0eaa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="btsdk_register_spp_service fail @spp_service.c(485),WARNING" ID="0xd82a0f2b" />
- <MSG STRUCTURE="diag_log_msg2" NAME="server %x create success. svc_hdl: %x @spp_service.c(489),INFO" ID="0xd82a0f4d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="server id %d invalid @spp_service.c(498),ERROR" ID="0xd82a0f92" />
- <MSG STRUCTURE="diag_log_msg1" NAME="server not exist. server id %d @spp_service.c(505),ERROR" ID="0xd82a0fca" />
- <MSG STRUCTURE="diag_log_msg1" NAME="server is already waiting to accept. server id %d @spp_service.c(510),ERROR" ID="0xd82a0ff2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="client not exist. server id %d @spp_service.c(522),ERROR" ID="0xd82a1052" />
- <MSG STRUCTURE="diag_log_msg1" NAME="server waiting for accept timeout. server id %d @spp_service.c(536),ERROR" ID="0xd82a10c2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="server not exist. server id %d @spp_service.c(553),ERROR" ID="0xd82a114a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="BTSDK_DisconnectConnection fail retCode: %x @spp_service.c(563),ERROR" ID="0xd82a119a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="access_cnt=%d @spp_service.c(569),INFO" ID="0xd82a11cd" />
- <MSG STRUCTURE="diag_log_msg0" NAME="socket_type invalid @spp_service.c(581),ERROR" ID="0xd82a122a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="uuid invalid @spp_service.c(586),ERROR" ID="0xd82a1252" />
- <MSG STRUCTURE="diag_log_msg0" NAME="acl not connected @spp_service.c(591),ERROR" ID="0xd82a127a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="dev_hdl invalid @spp_service.c(597),ERROR" ID="0xd82a12aa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="add client fail @spp_service.c(611),INFO" ID="0xd82a131d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="connect spp fail. ret: %x @spp_service.c(620),INFO" ID="0xd82a1365" />
- <MSG STRUCTURE="diag_log_msg1" NAME="BTSDK_DisconnectConnection fail retCode: %x @spp_service.c(645),ERROR" ID="0xd82a142a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="spp read data failed @spp_service.c(731),ERROR" ID="0xd82a16da" />
- <MSG STRUCTURE="diag_log_msg1" NAME="client is null. client id %d @spp_service.c(755),ERROR" ID="0xd82a179a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="client not connected. client id %d @spp_service.c(759),ERROR" ID="0xd82a17ba" />
- <MSG STRUCTURE="diag_log_msg4" NAME="connHdl: %x dataLen: %d writeRet: %d writeLen: %d @spp_service.c(774),WARNING" ID="0xd82a1833" />
- <MSG STRUCTURE="diag_log_msg1" NAME="hdl 0x%x not exist @spp_service.c(788),WARNING" ID="0xd82a18a3" />
- <MSG STRUCTURE="diag_log_msg0" NAME="no recieve function registered @spp_service.c(795),INFO" ID="0xd82a18dd" />
- <MSG STRUCTURE="diag_log_msg1" NAME="hdl 0x%x not exist @spp_service.c(810),WARNING" ID="0xd82a1953" />
- <MSG STRUCTURE="diag_log_msg2" NAME="no match client id for hdl 0x%x, try %d times @spp_service.c(814),INFO" ID="0xd82a1975" />
- <MSG STRUCTURE="diag_log_msg1" NAME="BTSDK_SPP_EVT_CONNECTED hdl=0x%x @spp_service.c(830),INFO" ID="0xd82a19f5" />
- <MSG STRUCTURE="diag_log_msg1" NAME="BTSDK_SPP_EVT_DISCONNECTED hdl=0x%x @spp_service.c(834),INFO" ID="0xd82a1a15" />
- <MSG STRUCTURE="diag_log_msg1" NAME="BTSDK_SPP_EVT_FC_ON hdl=0x%x @spp_service.c(841),INFO" ID="0xd82a1a4d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="unknown msg hdl=0x%x @spp_service.c(844),WARNING" ID="0xd82a1a63" />
+ <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
<MSG STRUCTURE="diag_log_msg0" NAME="insert failed, view is nullptr @ui_coverflow_view2.cpp(76),ERROR" ID="0xcb400262" />
<MSG STRUCTURE="diag_log_msg0" NAME="add failed, the view type is not support, only suppot UITransformGroup. @ui_coverflow_view2.cpp(81),ERROR" ID="0xcb40028a" />
<MSG STRUCTURE="diag_log_msg0" NAME="remove failed, view is nullptr @ui_coverflow_view2.cpp(99),ERROR" ID="0xcb40031a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="remove failed, the view type is not support, only suppot UITransformGroup. @ui_coverflow_view2.cpp(104),ERROR" ID="0xcb400342" />
- <MSG STRUCTURE="diag_log_msg0" NAME="remove failed, view parent is nullptr @ui_coverflow_view2.cpp(110),ERROR" ID="0xcb400372" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="remove failed, view parent is nullptr @ui_coverflow_view2.cpp(104),ERROR" ID="0xcb400342" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="A maximum of 20 records can be added. @ui_icosahedron_view.cpp(108),ERROR" ID="0xcb460362" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="A maximum of 20 records can be added. @ui_icosahedron_view.cpp(108),ERROR" ID="0xcb440362" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="pois_ malloc fail @ui_map_view.cpp(79),ERROR" ID="0xcb48027a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="roads_ malloc fail @ui_map_view.cpp(130),ERROR" ID="0xcb480412" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="pois_ malloc fail @ui_map_view.cpp(79),ERROR" ID="0xcb46027a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="roads_ malloc fail @ui_map_view.cpp(130),ERROR" ID="0xcb460412" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="RollerItemInfo is nullptr! @ui_roller_view.cpp(180),ERROR" ID="0xcb4405a2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Already add an item with the same name. Remove it before adding this. @ui_roller_view.cpp(224),ERROR" ID="0xcb440702" />
- <MSG STRUCTURE="diag_log_msg0" NAME="name is empty! @ui_roller_view.cpp(267),ERROR" ID="0xcb44085a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Should remove an item in DISPLAY mode @ui_roller_view.cpp(272),ERROR" ID="0xcb440882" />
- <MSG STRUCTURE="diag_log_msg0" NAME="RollerItemInfo is null! @ui_roller_view.cpp(453),ERROR" ID="0xcb440e2a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Cannot set align item when mode is about to change. @ui_roller_view.cpp(506),ERROR" ID="0xcb440fd2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Should SetCurrentItem in DISPLAY mode. @ui_roller_view.cpp(510),ERROR" ID="0xcb440ff2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="Cannot find an item with name: %s @ui_roller_view.cpp(525),ERROR" ID="0xcb44106a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Cannot set mode when AlignAnim is running @ui_roller_view.cpp(620),ERROR" ID="0xcb441362" />
- <MSG STRUCTURE="diag_log_msg0" NAME="mode is already set. @ui_roller_view.cpp(625),ERROR" ID="0xcb44138a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="Cannot Set mode during transition or cannot set TRANSITION mode. @ui_roller_view.cpp(630),ERROR" ID="0xcb4413b2" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="RollerItemInfo is nullptr! @ui_roller_view.cpp(180),ERROR" ID="0xcb4205a2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Already add an item with the same name. Remove it before adding this. @ui_roller_view.cpp(224),ERROR" ID="0xcb420702" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="name is empty! @ui_roller_view.cpp(267),ERROR" ID="0xcb42085a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Should remove an item in DISPLAY mode @ui_roller_view.cpp(272),ERROR" ID="0xcb420882" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="RollerItemInfo is null! @ui_roller_view.cpp(453),ERROR" ID="0xcb420e2a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Cannot set align item when mode is about to change. @ui_roller_view.cpp(506),ERROR" ID="0xcb420fd2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Should SetCurrentItem in DISPLAY mode. @ui_roller_view.cpp(510),ERROR" ID="0xcb420ff2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="Cannot find an item with name: %s @ui_roller_view.cpp(525),ERROR" ID="0xcb42106a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Cannot set mode when AlignAnim is running @ui_roller_view.cpp(620),ERROR" ID="0xcb421362" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="mode is already set. @ui_roller_view.cpp(625),ERROR" ID="0xcb42138a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="Cannot Set mode during transition or cannot set TRANSITION mode. @ui_roller_view.cpp(630),ERROR" ID="0xcb4213b2" />
</MSG_LOG>
\ No newline at end of file
+++ /dev/null
-<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="add failed, view is nullptr @ui_slipflow_view.cpp(60),ERROR" ID="0xcb4201e2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="remove faild, Input parameter error. @ui_slipflow_view.cpp(135),ERROR" ID="0xcb42043a" />
- </MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="Failed to create the child control. The control of this [%d] cannot be copied. @ui_transform_group.cpp(35),WARNING" ID="0xcb56011b" />
- <MSG STRUCTURE="diag_log_msg1" NAME="add failed, the view type %d is not support @ui_transform_group.cpp(49),ERROR" ID="0xcb56018a" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="Failed to create the child control. The control of this [%d] cannot be copied. @ui_transform_group.cpp(35),WARNING" ID="0xcb54011b" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="add failed, the view type %d is not support @ui_transform_group.cpp(49),ERROR" ID="0xcb54018a" />
</MSG_LOG>
\ No newline at end of file
-<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call connector_list_output_event_callback Failed, Error Code: [0x%08X] @core_sea.c(191),ERROR" ID="0x986005fa" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]event = %d @core_sea.c(207),INFO" ID="0x9860067d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]mode = %u @core_sea.c(266),ERROR" ID="0x98600852" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]eng_ind.type = 0x%08X @core_sea.c(278),ERROR" ID="0x986008b2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]eng_ind.lib_id = %u @core_sea.c(283),ERROR" ID="0x986008da" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]eng_ind.type = 0x%08X @core_sea.c(298),ERROR" ID="0x98600952" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]eng_ind.lib_id = %u @core_sea.c(303),ERROR" ID="0x9860097a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]All lib_id of afe and aai are null. @core_sea.c(334),ERROR" ID="0x98600a72" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]in_pcm->samples_per_frame = %u @core_sea.c(362),ERROR" ID="0x98600b52" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]in_pcm->sample_rate = %u @core_sea.c(363),ERROR" ID="0x98600b5a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]entry = %p, Null Pointer! @core_sea.c(398),ERROR" ID="0x98600c72" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call create Failed, Error Code: [0x%08X] @core_sea.c(411),ERROR" ID="0x98600cda" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call get_eng_attr Failed, Error Code: [0x%08X] @core_sea.c(423),WARNING" ID="0x98600d3b" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_mod_get_module Failed, Error Code: [0x%08X] @core_sea.c(585),ERROR" ID="0x9860124a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]sea = 0x%08X @core_sea.c(586),INFO" ID="0x98601255" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_mod_init Failed, Error Code: [0x%08X] @core_sea.c(683),ERROR" ID="0x9860155a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_mod_deinit Failed, Error Code: [0x%08X] @core_sea.c(705),ERROR" ID="0x9860160a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(727),INFO" ID="0x986016bd" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Error Code: [0x%08X] @core_sea.c(738),ERROR" ID="0x98601712" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call get_eng_caps Failed, Error Code: [0x%08X] @core_sea.c(746),ERROR" ID="0x98601752" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(751),INFO" ID="0x9860177d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(760),INFO" ID="0x986017c5" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call get_def_pcm_attr Failed, Error Code: [0x%08X] @core_sea.c(772),ERROR" ID="0x98601822" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(776),INFO" ID="0x98601845" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(786),INFO" ID="0x98601895" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_mod_alloc Failed, Error Code: [0x%08X] @core_sea.c(798),ERROR" ID="0x986018f2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_entry_create Failed, Error Code: [0x%08X] @core_sea.c(806),ERROR" ID="0x98601932" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_set_input_stream Failed, Error Code: [0x%08X] @core_sea.c(815),ERROR" ID="0x9860197a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(835),INFO" ID="0x98601a1d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(846),INFO" ID="0x98601a75" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]ret = %d @core_sea.c(851),ERROR" ID="0x98601a9a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_entry_destroy Failed, Error Code: [0x%08X] @core_sea.c(858),ERROR" ID="0x98601ad2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(870),INFO" ID="0x98601b35" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(879),INFO" ID="0x98601b7d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(884),INFO" ID="0x98601ba5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(894),INFO" ID="0x98601bf5" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_entry_set_enable Failed, Error Code: [0x%08X] @core_sea.c(898),ERROR" ID="0x98601c12" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(904),INFO" ID="0x98601c45" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(914),INFO" ID="0x98601c95" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_entry_set_enable Failed, Error Code: [0x%08X] @core_sea.c(918),ERROR" ID="0x98601cb2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(924),INFO" ID="0x98601ce5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(933),INFO" ID="0x98601d2d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(935),INFO" ID="0x98601d3d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(945),INFO" ID="0x98601d8d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(959),INFO" ID="0x98601dfd" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(970),INFO" ID="0x98601e55" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_entry_set_attr Failed, Error Code: [0x%08X] @core_sea.c(990),ERROR" ID="0x98601ef2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(995),INFO" ID="0x98601f1d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1004),INFO" ID="0x98601f65" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(1007),INFO" ID="0x98601f7d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1019),INFO" ID="0x98601fdd" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(1038),INFO" ID="0x98602075" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1049),INFO" ID="0x986020cd" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(1068),INFO" ID="0x98602165" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1079),INFO" ID="0x986021bd" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Error Code: [0x%08X] @core_sea.c(1083),ERROR" ID="0x986021da" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_set_input_stream Failed, Error Code: [0x%08X] @core_sea.c(1094),ERROR" ID="0x98602232" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_entry_set_input_pcm Failed, Error Code: [0x%08X] @core_sea.c(1101),ERROR" ID="0x9860226a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(1112),INFO" ID="0x986022c5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1122),INFO" ID="0x98602315" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(1130),INFO" ID="0x98602355" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1143),INFO" ID="0x986023bd" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_set_input_stream Failed, Error Code: [0x%08X] @core_sea.c(1159),ERROR" ID="0x9860243a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_entry_set_input_pcm Failed, Error Code: [0x%08X] @core_sea.c(1165),ERROR" ID="0x9860246a" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(1169),INFO" ID="0x9860248d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1179),INFO" ID="0x986024dd" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]data_port_id = %u @core_sea.c(1183),ERROR" ID="0x986024fa" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(1193),INFO" ID="0x9860254d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1204),INFO" ID="0x986025a5" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_entry_get_items Failed, Error Code: [0x%08X] @core_sea.c(1210),ERROR" ID="0x986025d2" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(1215),INFO" ID="0x986025fd" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1225),INFO" ID="0x9860264d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_entry_get_items Failed, Error Code: [0x%08X] @core_sea.c(1230),ERROR" ID="0x98602672" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(1234),INFO" ID="0x98602695" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1243),INFO" ID="0x986026dd" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(1246),INFO" ID="0x986026f5" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1255),INFO" ID="0x9860273d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(1258),INFO" ID="0x98602755" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1267),INFO" ID="0x9860279d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(1269),INFO" ID="0x986027ad" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1279),INFO" ID="0x986027fd" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(1287),INFO" ID="0x9860283d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Error Code: [0x%08X] @core_sea.c(1301),ERROR" ID="0x986028aa" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call connector_get_buffer_info Failed, Error Code: [0x%08X] @core_sea.c(1332),ERROR" ID="0x986029a2" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_get_proc_info Failed, Error Code: [0x%08X] @core_sea.c(1379),ERROR" ID="0x98602b1a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]load_type = %u @core_sea.c(1393),ERROR" ID="0x98602b8a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]load_type = %u @core_sea.c(1405),ERROR" ID="0x98602bea" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call connector_list_output_event_callback Failed, Error Code: [0x%08X] @core_sea.c(164),ERROR" ID="0x98600522" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]event = %d @core_sea.c(180),INFO" ID="0x986005a5" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]mode = %u @core_sea.c(239),ERROR" ID="0x9860077a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]eng_ind.type = 0x%08X @core_sea.c(251),ERROR" ID="0x986007da" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]eng_ind.lib_id = %u @core_sea.c(256),ERROR" ID="0x98600802" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]eng_ind.type = 0x%08X @core_sea.c(271),ERROR" ID="0x9860087a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]eng_ind.lib_id = %u @core_sea.c(276),ERROR" ID="0x986008a2" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]All lib_id of afe and aai are null. @core_sea.c(307),ERROR" ID="0x9860099a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]in_pcm->samples_per_frame = %u @core_sea.c(335),ERROR" ID="0x98600a7a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]in_pcm->sample_rate = %u @core_sea.c(336),ERROR" ID="0x98600a82" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]entry = %p, Null Pointer! @core_sea.c(371),ERROR" ID="0x98600b9a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call create Failed, Error Code: [0x%08X] @core_sea.c(384),ERROR" ID="0x98600c02" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call get_eng_attr Failed, Error Code: [0x%08X] @core_sea.c(396),WARNING" ID="0x98600c63" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_mod_get_module Failed, Error Code: [0x%08X] @core_sea.c(586),ERROR" ID="0x98601252" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]sea = 0x%08X @core_sea.c(587),INFO" ID="0x9860125d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_mod_init Failed, Error Code: [0x%08X] @core_sea.c(684),ERROR" ID="0x98601562" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_mod_deinit Failed, Error Code: [0x%08X] @core_sea.c(706),ERROR" ID="0x98601612" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(728),INFO" ID="0x986016c5" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Error Code: [0x%08X] @core_sea.c(739),ERROR" ID="0x9860171a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call get_eng_caps Failed, Error Code: [0x%08X] @core_sea.c(747),ERROR" ID="0x9860175a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(752),INFO" ID="0x98601785" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(761),INFO" ID="0x986017cd" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call get_def_pcm_attr Failed, Error Code: [0x%08X] @core_sea.c(773),ERROR" ID="0x9860182a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(777),INFO" ID="0x9860184d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(787),INFO" ID="0x9860189d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call core_mod_alloc Failed, Error Code: [0x%08X] @core_sea.c(799),ERROR" ID="0x986018fa" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_entry_create Failed, Error Code: [0x%08X] @core_sea.c(807),ERROR" ID="0x9860193a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_set_input_stream Failed, Error Code: [0x%08X] @core_sea.c(816),ERROR" ID="0x98601982" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(836),INFO" ID="0x98601a25" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(847),INFO" ID="0x98601a7d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]ret = %d @core_sea.c(852),ERROR" ID="0x98601aa2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_entry_destroy Failed, Error Code: [0x%08X] @core_sea.c(859),ERROR" ID="0x98601ada" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(871),INFO" ID="0x98601b3d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(880),INFO" ID="0x98601b85" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(885),INFO" ID="0x98601bad" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(895),INFO" ID="0x98601bfd" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_entry_set_enable Failed, Error Code: [0x%08X] @core_sea.c(899),ERROR" ID="0x98601c1a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(905),INFO" ID="0x98601c4d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(915),INFO" ID="0x98601c9d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_entry_set_enable Failed, Error Code: [0x%08X] @core_sea.c(919),ERROR" ID="0x98601cba" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(925),INFO" ID="0x98601ced" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(934),INFO" ID="0x98601d35" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(936),INFO" ID="0x98601d45" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(946),INFO" ID="0x98601d95" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(960),INFO" ID="0x98601e05" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(971),INFO" ID="0x98601e5d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_entry_set_attr Failed, Error Code: [0x%08X] @core_sea.c(991),ERROR" ID="0x98601efa" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(996),INFO" ID="0x98601f25" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1005),INFO" ID="0x98601f6d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(1008),INFO" ID="0x98601f85" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1020),INFO" ID="0x98601fe5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(1039),INFO" ID="0x9860207d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1050),INFO" ID="0x986020d5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(1069),INFO" ID="0x9860216d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1080),INFO" ID="0x986021c5" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Error Code: [0x%08X] @core_sea.c(1084),ERROR" ID="0x986021e2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_set_input_stream Failed, Error Code: [0x%08X] @core_sea.c(1095),ERROR" ID="0x9860223a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_entry_set_input_pcm Failed, Error Code: [0x%08X] @core_sea.c(1102),ERROR" ID="0x98602272" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(1113),INFO" ID="0x986022cd" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1123),INFO" ID="0x9860231d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(1131),INFO" ID="0x9860235d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1144),INFO" ID="0x986023c5" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_set_input_stream Failed, Error Code: [0x%08X] @core_sea.c(1160),ERROR" ID="0x98602442" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_entry_set_input_pcm Failed, Error Code: [0x%08X] @core_sea.c(1166),ERROR" ID="0x98602472" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(1170),INFO" ID="0x98602495" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1180),INFO" ID="0x986024e5" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]data_port_id = %u @core_sea.c(1184),ERROR" ID="0x98602502" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(1194),INFO" ID="0x98602555" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1205),INFO" ID="0x986025ad" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_entry_get_items Failed, Error Code: [0x%08X] @core_sea.c(1211),ERROR" ID="0x986025da" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(1216),INFO" ID="0x98602605" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1226),INFO" ID="0x98602655" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_entry_get_items Failed, Error Code: [0x%08X] @core_sea.c(1231),ERROR" ID="0x9860267a" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(1235),INFO" ID="0x9860269d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1244),INFO" ID="0x986026e5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(1247),INFO" ID="0x986026fd" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1256),INFO" ID="0x98602745" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(1259),INFO" ID="0x9860275d" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1268),INFO" ID="0x986027a5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(1270),INFO" ID="0x986027b5" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]enter... @core_sea.c(1280),INFO" ID="0x98602805" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[hifi]exit... @core_sea.c(1288),INFO" ID="0x98602845" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Error Code: [0x%08X] @core_sea.c(1302),ERROR" ID="0x986028b2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call connector_get_buffer_info Failed, Error Code: [0x%08X] @core_sea.c(1333),ERROR" ID="0x986029aa" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]Call sea_get_proc_info Failed, Error Code: [0x%08X] @core_sea.c(1380),ERROR" ID="0x98602b22" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]load_type = %u @core_sea.c(1394),ERROR" ID="0x98602b92" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hifi]load_type = %u @core_sea.c(1406),ERROR" ID="0x98602bf2" />
</MSG_LOG>
\ No newline at end of file
<MSG STRUCTURE="diag_log_msg0" NAME="bt_abort_when_work @ld.c(332),INFO" ID="0x88920a65" />
<MSG STRUCTURE="diag_log_msg3" NAME="[BTC][CQDDR_RX_STAT] link_id=%d, next_rate_found=%d, next_rate_idx=%d @ld.c(968),INFO" ID="0x88921e45" />
<MSG STRUCTURE="diag_log_msg3" NAME="[LD][INIT]local_bd_addr=0x%0x:0x%0x:*:*:*:0x%0x @ld.c(1171),INFO" ID="0x8892249d" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[GAP][HCI]memcpy failed @hci_core_ram.c(167),ERROR" ID="0x8ba6053a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[HCI] cmd_opcode 0x%x @hci_core_ram.c(896),ERROR" ID="0x8ba61c02" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hci][len] %02x @hci_core_ram.c(899),INFO" ID="0x8ba61c1d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[HCI][H-->C] %02x @hci_core_ram.c(902),INFO" ID="0x8ba61c35" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[T%x][TIMEOUT] OPCODE=0x%x, TIMER=0x%x @hci_core_ram.c(1250),WARNING" ID="0x8ba62713" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[HCI][TIMEOUT] OPCODE=0x%x, TIMER=0x%x @hci_core_ram.c(1254),ERROR" ID="0x8ba62732" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[MEMCPY_FAILED]RecvDataBuff Memcpy fail @hci_core_ram.c(1483),DBG" ID="0x8ba62e5e" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[MEMCPY_FAILED]RecvDataBuff Memcpy fail @hci_core_ram.c(1501),DBG" ID="0x8ba62eee" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[HCI][RX]fsm buff overflow,white type pass! limit=%lu type=%d. @hci_core_ram.c(1515),ERROR" ID="0x8ba62f5a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[HCI][RX]fsm buff overflow!,invalid acl drop! limit=%lu. @hci_core_ram.c(1521),ERROR" ID="0x8ba62f8a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[HCI][RX]fsm buff overflow,continue acl drop! limit=%lu. @hci_core_ram.c(1529),ERROR" ID="0x8ba62fca" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[HCI][RX]fsm buff overflow,white acl pass! limit=%lu cid=0x%x. @hci_core_ram.c(1539),ERROR" ID="0x8ba6301a" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[HCI][RX]fsm buff overflow,black acl drop! limit=%lu cid=0x%x. @hci_core_ram.c(1543),ERROR" ID="0x8ba6303a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[NO GLE]Gle %d! @hci_core_ram.c(1584),INFO" ID="0x8ba63185" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[GAP][HCI]memcpy failed @hci_core_ram.c(165),ERROR" ID="0x8ba6052a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[HCI] cmd_opcode 0x%x @hci_core_ram.c(894),ERROR" ID="0x8ba61bf2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hci][len] %02x @hci_core_ram.c(897),INFO" ID="0x8ba61c0d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[HCI][H-->C] %02x @hci_core_ram.c(900),INFO" ID="0x8ba61c25" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="[T%x][TIMEOUT] OPCODE=0x%x, TIMER=0x%x @hci_core_ram.c(1248),WARNING" ID="0x8ba62703" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="[HCI][TIMEOUT] OPCODE=0x%x, TIMER=0x%x @hci_core_ram.c(1252),ERROR" ID="0x8ba62722" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[MEMCPY_FAILED]RecvDataBuff Memcpy fail @hci_core_ram.c(1481),DBG" ID="0x8ba62e4e" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[MEMCPY_FAILED]RecvDataBuff Memcpy fail @hci_core_ram.c(1499),DBG" ID="0x8ba62ede" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[HCI][RX] external fsm buff overflow! fsm_limit=%lu @hci_core_ram.c(1536),ERROR" ID="0x8ba63002" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[HCI][RX]external fsm buff overflow! free buff opcode=0x%x @hci_core_ram.c(1541),ERROR" ID="0x8ba6302a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[NO GLE]Gle %d! @hci_core_ram.c(1573),INFO" ID="0x8ba6312d" />
<MSG STRUCTURE="diag_log_msg1" NAME="[INFO]:Start DFT with hook_type=%d @log_oam_msg.c(259),INFO" ID="0xa006081d" />
<MSG STRUCTURE="diag_log_msg2" NAME="[OML]recv oml msg type:%d, length:%d @log_oam_msg.c(511),INFO" ID="0xa0060ffd" />
<MSG STRUCTURE="diag_log_msg0" NAME="receive hci message succ! @log_oam_msg.c(539),INFO" ID="0xa00610dd" />
-<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="[GAP][HCI]memcpy failed @hci_core_ram.c(167),ERROR" ID="0x8ba6053a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[HCI] cmd_opcode 0x%x @hci_core_ram.c(896),ERROR" ID="0x8ba61c02" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[hci][len] %02x @hci_core_ram.c(899),INFO" ID="0x8ba61c1d" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[HCI][H-->C] %02x @hci_core_ram.c(902),INFO" ID="0x8ba61c35" />
- <MSG STRUCTURE="diag_log_msg3" NAME="[T%x][TIMEOUT] OPCODE=0x%x, TIMER=0x%x @hci_core_ram.c(1250),WARNING" ID="0x8ba62713" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[HCI][TIMEOUT] OPCODE=0x%x, TIMER=0x%x @hci_core_ram.c(1254),ERROR" ID="0x8ba62732" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[MEMCPY_FAILED]RecvDataBuff Memcpy fail @hci_core_ram.c(1483),DBG" ID="0x8ba62e5e" />
- <MSG STRUCTURE="diag_log_msg0" NAME="[MEMCPY_FAILED]RecvDataBuff Memcpy fail @hci_core_ram.c(1501),DBG" ID="0x8ba62eee" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[HCI][RX]fsm buff overflow,white type pass! limit=%lu type=%d. @hci_core_ram.c(1515),ERROR" ID="0x8ba62f5a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[HCI][RX]fsm buff overflow!,invalid acl drop! limit=%lu. @hci_core_ram.c(1521),ERROR" ID="0x8ba62f8a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[HCI][RX]fsm buff overflow,continue acl drop! limit=%lu. @hci_core_ram.c(1529),ERROR" ID="0x8ba62fca" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[HCI][RX]fsm buff overflow,white acl pass! limit=%lu cid=0x%x. @hci_core_ram.c(1539),ERROR" ID="0x8ba6301a" />
- <MSG STRUCTURE="diag_log_msg2" NAME="[HCI][RX]fsm buff overflow,black acl drop! limit=%lu cid=0x%x. @hci_core_ram.c(1543),ERROR" ID="0x8ba6303a" />
- <MSG STRUCTURE="diag_log_msg1" NAME="[NO GLE]Gle %d! @hci_core_ram.c(1584),INFO" ID="0x8ba63185" />
+<MSG_LOG><MSG STRUCTURE="diag_log_msg0" NAME="[GAP][HCI]memcpy failed @hci_core_ram.c(165),ERROR" ID="0x8ba6052a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[HCI] cmd_opcode 0x%x @hci_core_ram.c(894),ERROR" ID="0x8ba61bf2" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[hci][len] %02x @hci_core_ram.c(897),INFO" ID="0x8ba61c0d" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[HCI][H-->C] %02x @hci_core_ram.c(900),INFO" ID="0x8ba61c25" />
+ <MSG STRUCTURE="diag_log_msg3" NAME="[T%x][TIMEOUT] OPCODE=0x%x, TIMER=0x%x @hci_core_ram.c(1248),WARNING" ID="0x8ba62703" />
+ <MSG STRUCTURE="diag_log_msg2" NAME="[HCI][TIMEOUT] OPCODE=0x%x, TIMER=0x%x @hci_core_ram.c(1252),ERROR" ID="0x8ba62722" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[MEMCPY_FAILED]RecvDataBuff Memcpy fail @hci_core_ram.c(1481),DBG" ID="0x8ba62e4e" />
+ <MSG STRUCTURE="diag_log_msg0" NAME="[MEMCPY_FAILED]RecvDataBuff Memcpy fail @hci_core_ram.c(1499),DBG" ID="0x8ba62ede" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[HCI][RX] external fsm buff overflow! fsm_limit=%lu @hci_core_ram.c(1536),ERROR" ID="0x8ba63002" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[HCI][RX]external fsm buff overflow! free buff opcode=0x%x @hci_core_ram.c(1541),ERROR" ID="0x8ba6302a" />
+ <MSG STRUCTURE="diag_log_msg1" NAME="[NO GLE]Gle %d! @hci_core_ram.c(1573),INFO" ID="0x8ba6312d" />
</MSG_LOG>
\ No newline at end of file
MSG_CENTER_OTA_CPP,
MSG_CENTER_CUSTOMER_CPP,
MSG_CENTER_PROTOCOL_CPP,
- MSG_CENTER_COMMON_CPP,
ALARM_NOTIFICATION_CPP,
MAKEPHONE_NOTIFICATION_CPP,
NOTIFICATION_MANAGER_CPP,
KALEIDOSCOPE_UTILS_CPP,
UI_COVERFLOW_VIEW_CPP,
UI_COVERFLOW_VIEW2_CPP,
- UI_SLIPFLOW_VIEW_CPP,
UI_ROLLER_VIEW_CPP,
UI_ICOSAHEDRON_VIEW_CPP,
UI_MAP_VIEW_CPP,
JSI_CPP,
APP_MODULE_CPP,
DEVICE_MODULE_CPP,
- NETWORK_MODULE_CPP,
NFC_MODULE_CPP,
GEOLOCATION_MODULE_CPP,
VIBRATOR_MODULE_CPP,
CONSOLE_MODULE_CPP,
DATE_TIME_FORMAT_MODULE_CPP,
FEATURE_ABILITY_MODULE_CPP,
- IMAGE_MODULE_CPP,
INTL_MODULE_CPP,
JSTEST_MODULE_CPP,
LOCALIZATION_MODULE_CPP,
#ifndef NV_CONFIG_H
#define NV_CONFIG_H
-#include "memory_config.h"
-
#define NV_TASKS_MAX_NUM 64 /* 可支持的NV保存任务的最大数(多核系统使用) */
#define NV_NORMAL_KVALUE_MAX_LEN 4060 /* 普通NV的最大数据长度 */
#define NV_ENCRYPTED_KVALUE_MAX_LEN 4048 /* 加密NV的最大数据长度 */
/* Flash 物理地址起始和结束 */
-#define FLASH_PHYSICAL_ADDR_START (FLASH_START)
-#define FLASH_PHYSICAL_ADDR_END (FLASH_START + FLASH_LENGTH)
+#define FLASH_PHYSICAL_ADDR_START 0x70000000
+#define FLASH_PHYSICAL_ADDR_END 0x80000000
#define KV_PAGE_SIZE FLASH_PAGE_SIZE
/* NV运行区默认起始地址(物理地址) */
-#define KV_STORE_START_ADDR (NV_FLASH_REGION_START)
+#define KV_STORE_START_ADDR (FLASH_PHYSICAL_ADDR_START + 0xFF9000)
/* NV运行区page数 */
-#define KV_STORE_DATA_PAGE_NUM (NV_FLASH_REGION_PAGES)
+#define KV_STORE_DATA_PAGE_NUM 4
/* NV运行区默认长度(不包含备份区) */
#define KV_STORE_DATA_SIZE (KV_STORE_DATA_PAGE_NUM * KV_PAGE_SIZE)
}
uint8_t *addr = LosAllocMem(pool, (uint32_t)(buffer->size));
- if (((info->usage & HBM_USE_MEM_YUV) != HBM_USE_MEM_YUV) &&
- (pool == g_poolId) && (g_tryToFreeImgCallback != NULL)) {
+ if ((pool == g_poolId) && (g_tryToFreeImgCallback != NULL)) {
while (addr == NULL) {
if (g_tryToFreeImgCallback()) {
- DISP_LOGW("Success to free image during AllocMem size: %u\n", buffer->size);
+ 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: %u and no image can be free\n", buffer->size);
+ DISP_LOGE("Failed to AllocMem size:%d and no image can be free\n", buffer->size);
break;
}
}
}\r
uint32_t buffSize = LV_ALIGN_BYTE((uint32_t)width, LV_BYTE_ALIGNMENT) * height *\r
(lv_img_cf_get_px_size((lv_img_cf_t)cf) >> 3); // 3: shift by 3 bits\r
- uint8_t* buf = (uint8_t*)LvAllocBufferForImg(buffSize);\r
+ uint8_t* buf = LvAllocBufferForImg(buffSize);\r
if (buf == NULL) {\r
LV_LOGE("[%s: %d] AllocBuffer failed, size = %u.\n", __FUNCTION__, __LINE__, buffSize);\r
return false;\r
${PROP_UI_SRC}/components_ext/ui_roller_view.cpp\r
${PROP_UI_SRC}/components_ext/ui_map_view.cpp\r
${PROP_UI_SRC}/components_ext/map_svg_parser.cpp\r
- ${PROP_UI_SRC}/components_ext/ui_slipflow_view.cpp\r
${PROP_UI_SRC}/components_ext/ui_coverflow_view.cpp\r
${PROP_UI_SRC}/components_ext/ui_coverflow_view2.cpp\r
${PROP_UI_SRC}/components_ext/ui_icosahedron_view.cpp\r
#ifndef UI_CROSS_VIEW_H
#define UI_CROSS_VIEW_H
-#include <memory>
#include "components/ui_swipe_view.h"
#include "components/card_swipe.h"
#include "components_ext/hor_swipe_view.h"
UIView* tailView_ = nullptr;
UISwipeView::OnSwipeListener *swipeListener_ = nullptr;
bool isNeedClip_ = false;
- std::shared_ptr<bool> exists_;
void RemoveAllInner(UISwipeView& view);
void ProcessRes(void);
* @brief Get the Index Of View object in this view group
*
* @param view, Indicates the view to search
- * @return Returns the view, nullptr if not exsit
+ * @return Returns the index, -1 if not exsit
*/
UIView* GetViewByIndex(uint8_t index);
+++ /dev/null
-/*\r
- * Copyright (c) CompanyNameMagicTag 2024. All rights reserved.\r
- * Description: UISlipFlow\r
- * Author:\r
- * Create: 2024-08\r
- */\r
-\r
-#ifndef UI_SLIPFLOW_VIEW_H\r
-#define UI_SLIPFLOW_VIEW_H\r
-#include <string>\r
-#include <map>\r
-#include "gfx_utils/vector.h"\r
-#include "components/ui_image_view.h"\r
-#include "components/ui_label.h"\r
-#include "components/ui_abstract_scroll.h"\r
-\r
-namespace OHOS {\r
-struct TempXoffsetInfo {\r
- int16_t tempMasterXoffset;\r
- int16_t tempSlaveXoffset;\r
- int16_t tempMasterYoffset;\r
- int16_t tempSlaveYoffset;\r
-};\r
-\r
-class UISlipflowView : public UIAbstractScroll {\r
-public:\r
- explicit UISlipflowView();\r
- ~UISlipflowView() override;\r
-\r
- /**\r
- * @brief Adds a child view.\r
- *\r
- * @param view Indicates the pointer to the child view to add.\r
- * @since 1.0\r
- * @version 1.0\r
- */\r
- void Add(UIView* view) override;\r
-\r
- /**\r
- * @brief remove a child view from slipflow.\r
- *\r
- * @param id Indicates the pointer to the child view to remove.\r
- */\r
- void Remove(UIView* view) override;\r
-\r
- /**\r
- * @brief Set page size.\r
- *\r
- * @param width setting page width.\r
- * @param height setting page height.\r
- */\r
- void SetPageSize(uint16_t width, uint16_t height);\r
-\r
- /**\r
- * @brief Get page width.\r
- */\r
- uint16_t GetPageWidth() const\r
- {\r
- return pageWidth_;\r
- }\r
-\r
- /**\r
- * @brief Get page height.\r
- */\r
- uint16_t GetPageHeight() const\r
- {\r
- return pageHeight_;\r
- }\r
-\r
- /**\r
- * @brief Sets the index for the current tab.\r
- *\r
- * @param index Indicates the index of a view.\r
- * @param needAnimator Specifies whether a flip animation is needed. <b>false</b> (default value) indicates a flip\r
- * animation is not needed, and <b>true</b> indicates the opposite case.\r
- * @since 1.0\r
- * @version 1.0\r
- */\r
- void SetCurrentPage(uint16_t index, bool needAnimator = false);\r
-\r
- /**\r
- * @brief Obtains the current tab index.\r
- *\r
- * @return Returns the current tab index.\r
- * @since 1.0\r
- * @version 1.0\r
- */\r
- uint16_t GetCurrentPage() const\r
- {\r
- return curIndex_;\r
- }\r
-\r
- /**\r
- * @brief Obtains the current view.\r
- *\r
- * @return Returns the current view.\r
- * @since 1.0\r
- * @version 1.0\r
- */\r
- UIView* GetCurrentView() const\r
- {\r
- return curView_;\r
- }\r
-\r
- /**\r
- * @brief Obtains the component type.\r
- *\r
- * @return Returns the component type, as defined in {@link UIViewType}.\r
- * @since 1.0\r
- * @version 1.0\r
- */\r
- UIViewType GetViewType() const override\r
- {\r
- return UI_SLIP_FLOW;\r
- }\r
-\r
- /**\r
- * @brief Obtains a view based on its index.\r
- *\r
- * @param Indicates the index of a view.\r
- * @return Returns the view.\r
- * @since 1.0\r
- * @version 1.0\r
- */\r
- UIView* GetViewByIndex(uint16_t index) const;\r
-\r
- /**\r
- * @brief Indicates that the animation duration is 12 ticks.\r
- *\r
- * @since 1.0\r
- * @version 1.0\r
- */\r
- constexpr static uint16_t ANIMATOR_TIME = 12;\r
-\r
- /**\r
- * @brief Sets the time for the page being animated. The page will go beyond the blank during this time.\r
- *\r
- * @param time Indicates the time of the page being animated.\r
- * @since 1.0\r
- * @version 1.0\r
- */\r
- void SetAnimatorTime(uint16_t time);\r
-\r
- /**\r
- * @brief Set the movement coefficient of the current page and the page on the right compared to other pages.\r
- *\r
- * @param coefficient The moving speed of the current page and the page on the right is coefficient times\r
- * that of other pages.\r
- * @since 1.0\r
- * @version 1.0\r
- */\r
- void SetMoveCoefficient(uint16_t coefficient);\r
-\r
- /**\r
- * @fn void OnDragEvent(const DragEvent& event) override\r
- *\r
- * @brief realize drag event, Switch to specified view when drag\r
- *\r
- * @param event The drag event\r
- */\r
- bool OnDragEvent(const DragEvent& event) override;\r
-\r
- /**\r
- * @fn void OnDragStartEvent(const DragEvent& event) override\r
- *\r
- * @brief realize drag start event, Switch to specified view when drag start\r
- *\r
- * @param event The drag event start\r
- */\r
-\r
- bool OnDragStartEvent(const DragEvent& event) override;\r
-\r
- /**\r
- * @fn void OnDragEndEvent(const DragEvent& event) override\r
- *\r
- * @brief realize drag end event, Switch to specified view when drag end\r
- *\r
- * @param event The drag event end\r
- */\r
- bool OnDragEndEvent(const DragEvent& event) override;\r
-\r
- /**\r
- * @brief Represents a listener for swipe of the slipflow view.\r
- */\r
- class OnSlipflowScrollListener : public HeapBase {\r
- public:\r
- virtual bool OnScroll(int16_t distance) { return true; }\r
- virtual void OnScrollUpStart() {};\r
- virtual void OnScrollUpEnd() {};\r
- virtual bool OnRemove(UIView* view) { return true; }\r
- virtual void OnRefreshPageOpaScale(UIView* view, int16_t xOffset, int16_t yOffset) {}\r
- virtual ~OnSlipflowScrollListener() {}\r
- };\r
-\r
- /**\r
- * @brief Sets the listener that contains a callback to be invoked upon a swipe event.\r
- *\r
- * @param onSlipflowListener Indicates the listener to set.\r
- * @since 1.0\r
- * @version 1.0\r
- */\r
- void SetOnSlipflowListener(OnSlipflowScrollListener* onSlipflowListener)\r
- {\r
- slipflowListener_ = onSlipflowListener;\r
- }\r
-\r
- void SetDirection(uint8_t direction) = delete;\r
- uint8_t GetDirection() const = delete;\r
-protected:\r
- void SortChild();\r
- bool DragXInner(int16_t distance) override;\r
- bool DragYInner(int16_t distance) override;\r
- void StopAnimator() override;\r
- void RefreshCurrentView(int16_t distance, uint8_t dragDirection);\r
- void SwitchToPage(int16_t dst, bool needAnimator = true);\r
- void MoveChildByXOffset(int16_t xOffset);\r
- void DeleteMoveChild(int16_t distance);\r
- void SwipUpReleaseOperation();\r
- void SwipUpDeleteOperation();\r
- void SwipUpRebound();\r
- void CalculateInvalidate();\r
-\r
-private:\r
- void DeleteGroup(UIViewGroup* group);\r
- void AddTempXoffsetInfo();\r
- void ResetTempOffsetInfo();\r
- bool CalCurViewInfo();\r
- void RefreshChildIndex();\r
- void RefreshScreen();\r
- void RefreshPageOpaScale(UIView* view);\r
- int16_t GetPreViewOffsetToCenter();\r
-\r
- OnSlipflowScrollListener* slipflowListener_;\r
- Graphic::Vector<TempXoffsetInfo> pageTempOffsetInfo_;\r
- int16_t totalTempXoffset_{0};\r
- int16_t totalTempYoffset_{0};\r
- int16_t xMoveCoefficient_;\r
- int16_t yMoveCoefficient_;\r
- bool isSwipUpDelete_{false};\r
-\r
- uint16_t tickTime_;\r
- uint16_t curIndex_;\r
- uint16_t blankSize_;\r
- UIView* curView_;\r
- UIView* deleteView_;\r
- uint16_t lastIndex_;\r
- uint16_t pageWidth_;\r
- uint16_t pageHeight_;\r
- UIView* lastView_;\r
- uint16_t swipeMid_;\r
- int8_t dragDirection_;\r
- bool isMoveTotal_;\r
- bool isSetPage_;\r
-};\r
-} // namespace OHOS\r
-#endif // UI_SLIPFLOW_VIEW_H\r
* @version 1.0\r
*/\r
void SetStyle(uint8_t key, int64_t value) override;\r
-\r
- /**\r
- * @brief Called when a view is drawn.\r
- * @param invalidatedArea Indicates the area to draw.\r
- * @since 1.0\r
- * @version 1.0\r
- */\r
- void OnDraw(BufferInfo& gfxDstBuffer, const Rect& invalidatedArea) override;\r
private:\r
void ReMeasure() override;\r
void DeleteMirrorView();\r
HW_DRAW_SUBMIT,
HW_DRAW_FLUSH,
HW_DRAW_WAIT,
- HW_DRAW_ARC_RECT,
DRAW_MAX
};
#define GRAPHIC_LITE_MEM_CHECK_H
#include <cstdio>
+#include <cstdlib>
+#include <ctime>
+#include <new>
#include <list>
#include "gfx_utils/mem_api.h"
#include "graphic_thread.h"
-#include "graphic_mutex.h"
-#include "soc_osal.h"
#if ENABLE_MEMORY_CHECK
namespace OHOS {
+/**
+ * @brief Mem opt, add or delete
+ *
+ */
+enum class Opt {
+ ADD,
+ DEL
+};
+
+/**
+ * @brief Memory record info.
+ *
+ */
+struct MemRecord {
+ int32_t size;
+ uintptr_t address;
+ Opt opt;
+ time_t time;
+ int32_t total;
+ struct MemRecord* next;
+};
+
/**
* @brief Memory alloc info.
*
* @since 1.0
* @version 1.0
*/
- bool MemAdd(int size, uintptr_t address);
+ int MemAdd(int size, uintptr_t address);
/**
* @brief Reduce dynamic memory. You can call it when reduce dynamic memory.
* @since 1.0
* @version 1.0
*/
- bool MemDelete(uintptr_t address);
+ int MemDelete(uintptr_t address);
/**
* @brief print current memory info
leakSize_ = sz;
}
+#ifndef VERSION_IOT
+ void CollectMemory(uint32_t delayTime);
+ void SaveRecordInfo();
+#endif
+
private:
MemCheck() {}
~MemCheck();
MemCheck(const MemCheck &) = delete;
MemCheck &operator=(const MemCheck &) = delete;
+#ifndef VERSION_IOT
+ bool InsertRecord(uintptr_t address, Opt opt, int32_t size, int32_t total);
+ bool CreateRecordFile();
+ bool isBeyondTime();
+#endif
+ bool initSuc = false;
+ FILE* fp = nullptr;
+ MemRecord* recordHead = nullptr;
+ MemAllocInfo* allocHead = nullptr;
+ MemRecord* recordTail = nullptr;
+ MemAllocInfo* allocTail = nullptr;
- bool InitMemInfoList();
- void ClearMemInfoList();
-
- MemAllocInfo* allocHead_ = nullptr;
- MemAllocInfo* allocTail_ = nullptr;
- GraphicMutex lock_;
- osal_atomic totalCnt_;
+ time_t setTime_ = 0;
+ int32_t delayTime_ = 0;
+ ThreadId recordThreadId = nullptr;
+ int32_t totalSize = 0;
bool enableLeakCheck_ = false;
MemAllocInfo *leakHead_ = nullptr;
int16_t crashCnt_ = -1;
bool LiteSurface::CanRequest(uint8_t wait)
{
- bool res = false;
+ bool res = true;
if (!freeList_.IsEmpty()) {
res = true;
goto END;
bool UICustomHexagonsList::OnRotateEvent(const RotateEvent& event)
{
- float deltaScale = event.GetRotate() * ROTATE_SCALE_FACTOR * GetRotateFactor();
+ float deltaScale = event.GetRotate() * ROTATE_SCALE_FACTOR;
float targetScale = globalScale_ + deltaScale;
/* -------------------------------------------------------------------------- */
int8_t focusIndex = GetFocusedImgIndex();
currentBuffer_ = nullptr;\r
}\r
surface_->UnregisterConsumerListener();\r
- LiteMGfxEngine::GetInstance()->ClearHardwareLayer(this);\r
+ LiteMGfxEngine::GetInstance()->ClearHardwareLayer();\r
GraphicService::GetInstance()->PostGraphicEvent([] {\r
- if (LiteMGfxEngine::GetInstance()->GetHardwareLayer() == nullptr) {\r
- GraphicService::GetInstance()->EnableAsyncMode(true);\r
- }\r
+ GraphicService::GetInstance()->EnableAsyncMode(true);\r
});\r
\r
if (preView_ != nullptr) {\r
[&, ws] {\r
if (!ws.expired()) {\r
DisplayDev::GetInstance()->SetLayerColorKey(LAYER_0, false, 0);\r
- LiteMGfxEngine::GetInstance()->ClearHardwareLayer(this);\r
- if (LiteMGfxEngine::GetInstance()->GetHardwareLayer() == nullptr) {\r
- GraphicService::GetInstance()->EnableAsyncMode(true);\r
- }\r
+ LiteMGfxEngine::GetInstance()->ClearHardwareLayer();\r
+ LiteMGfxEngine::GetInstance()->EnableAsyncMode(true);\r
surface_->ClearBuffers();\r
currentBuffer_ = nullptr;\r
lastFlushedBuffer_ = nullptr;\r
struct AsyncSubmitInfo {
Rect rect;
bool hasPendingFrame;
- bool needSwapToPendingFrame;
};
class LiteMGfxEngine : public BaseGfxEngine {
{
hardwareView_ = view;
}
-
IHardwareView* GetHardwareLayer()
{
return hardwareView_;
}
-
- void ClearHardwareLayer(IHardwareView* view)
+ void ClearHardwareLayer()
{
- if (hardwareView_ == view) {
- hardwareView_ = nullptr;
- }
+ hardwareView_ = nullptr;
}
bool HasPendingFrame()
BufferInfo* bufferInfo_ = nullptr;
BufferInfo* nextBufferInfo_ = nullptr;
- AsyncSubmitInfo lastAsyncInfo_ = {{0, 0, 1, 1}, false, false};
+ AsyncSubmitInfo lastAsyncInfo_ = {{0, 0, 1, 1}, false};
bool enableAsyncSubmit_ = true;
#if ENABLE_VGU_ENGINE
void AddHwDraw(uint16_t cnt);
void AsyncFlush();
#endif
+ void FlushInner(const Rect &rect);
};
}
#endif // GRAPHIC_LITE_LITE_M_GFX_ENGINE_H
#include "hals/gralloc_engines.h"
#include "dfx/dfx_frame_trace.h"
-#ifndef _WIN32
-#include "tcxo.h"
-#ifdef __cplusplus
-extern "C" {
-#endif
-#include "soc_mipi_tx.h"
-#ifdef __cplusplus
-};
-#endif
-#endif
-
namespace OHOS {
-DisplayDev::DisplayDev() : isDisplayDevInited_(false), devId_(0), layerFuncs_(nullptr), exitUlps_(false)
+DisplayDev::DisplayDev() : isDisplayDevInited_{false}, devId_(0), layerFuncs_{nullptr}
{
for (uint8_t i = LAYER_0; i < LAYER_MAX; i++) {
currentBufferId_[i] = 0;
}
if (layerFuncs_->Flush != nullptr) {
if (layerId == LAYER_MAX) {
- TryExitUlps(true);
if (layerFuncs_->Flush(0, 0, nullptr) != DISPLAY_SUCCESS) {
GRAPHIC_LOGE("flush failed.");
}
- exitUlps_ = false;
return;
}
uint8_t currentBufferIndex = currentBufferId_[layerId];
layer_[layerId].pos.x = 0;
layer_[layerId].pos.y = 0;
if (layerFuncs_->CreateLayer(devId_, &layer_[layerId].layerInfo, &layer_[layerId].layerHdl) != DISPLAY_SUCCESS) {
- UIFree(layer_[layerId].buffer);
+ free(layer_[layerId].buffer);
layer_[layerId].buffer = nullptr;
layer_[layerId].layerHdl = 0;
layer_[layerId].bufferCount = 0;
return;
}
- UIFree(layer_[layerId].buffer);
+ free(layer_[layerId].buffer);
layer_[layerId].buffer = nullptr;
layer_[layerId].layerHdl = 0;
#endif
}
-bool DisplayDev::TryExitUlps(bool isFlushing)
-{
- if (IsUlpsEnabled() && !exitUlps_) {
-#ifndef _WIN32
- uapi_mipi_tx_exit_ulps();
- if (isFlushing) {
- uapi_tcxo_delay_ms(1);
- }
-#endif
- exitUlps_ = true;
- return true;
- }
- return false;
-}
-
bool DisplayDev::IsDoubleBuffer(void)
{
#if DOUBLE_BUFFER
return true;
}
-void LiteInputDistributer::ClearEvent(InputDevType type)
-{
- eventLock_.Lock();
- if (type == InputDevType::INDEV_TYPE_TOUCH) {
- tpList_.clear();
- deviceData_.state = 0;
- } else if (type == InputDevType::INDEV_TYPE_KEY) {
- keyList_.clear();
- } else if (type == InputDevType::INDEV_TYPE_ENCODER)
- {
- encoderDataList_.clear();
- }
- eventLock_.Unlock();
-}
-
#ifdef CONFIG_SUPPORTED_POWERMGR
void LiteInputDistributer::SendEventToPM(const RawEvent& event)
{
#include "gfx_utils/mem_check.h"
#if ENABLE_MEMORY_CHECK
+#include <cstdlib>
#include <cstdio>
+#include <iterator>
+#include <pthread.h>
+#include <iostream>
+#include <thread>
+#include <ctime>
+#include <unistd.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/time.h>
+#include <cstring>
+
#include "gfx_utils/graphic_log.h"
+#include "hal_tick.h"
+#include "securec.h"
#include "hals/gralloc_engines.h"
#ifdef __LITEOS__
#include "los_exc.h"
#endif
+#define SUPPRESS_DUMP 0
namespace OHOS {
-MemCheck::~MemCheck()
-{
- ClearMemInfoList();
-}
-
-void MemCheck::MemCheckInit()
-{
- GRAPHIC_LOGI("MemCheck::MemCheckInit");
-}
+using std::string;
+const uint8_t OFFSET_TIME = 3;
-bool MemCheck::InitMemInfoList()
+MemCheck::~MemCheck()
{
- if ((allocHead_ != nullptr) || (allocTail_ != nullptr)) {
- GRAPHIC_LOGE("allocHead_ or allocTail_ is already inited.");
- return false;
+ MemAllocInfo* allocPtr = allocHead;
+ while (allocPtr != nullptr && allocPtr->next != nullptr) {
+ MemAllocInfo* allocNote = allocPtr->next;
+ allocPtr->next = allocPtr->next->next;
+ free(allocNote);
+ allocNote = nullptr;
}
- MemAllocInfo* allocNode = (MemAllocInfo*)malloc(sizeof(MemAllocInfo));
- if (allocNode == nullptr) {
- GRAPHIC_LOGE("malloc for allocNode failed!");
- return false;
+ MemRecord* recordPtr = recordHead;
+ while (recordPtr != nullptr && recordPtr->next != nullptr) {
+ MemRecord* recordNode = recordPtr->next;
+ recordPtr->next = recordPtr->next->next;
+ free(recordNode);
+ recordNode = nullptr;
}
- allocNode->address = 0;
- allocNode->next = nullptr;
- allocNode->size = 0;
+ allocHead = nullptr;
+ recordHead = nullptr;
- allocHead_ = allocNode;
- allocTail_ = allocNode;
- return true;
+ if (fp != nullptr) {
+ fclose(fp);
+ fp = nullptr;
+ }
}
-void MemCheck::ClearMemInfoList()
+void MemCheck::MemCheckInit()
{
- if (allocHead_ == nullptr) {
+ GRAPHIC_LOGI("MemCheck::MemCheckInit\n");
+ MemRecord* recordNote = (MemRecord*)malloc(sizeof(MemRecord));
+ if (recordNote == nullptr) {
+ initSuc = false;
return;
}
- MemAllocInfo* allocPtr = allocHead_;
- while (allocPtr != nullptr && allocPtr->next != nullptr) {
- MemAllocInfo* allocNode = allocPtr->next;
- allocPtr->next = allocPtr->next->next;
- free(allocNode);
- allocNode = nullptr;
+ recordNote->address = 0;
+ recordNote->size = 0;
+ recordNote->total = 0;
+ recordNote->time = 0;
+ recordNote->next = nullptr;
+ recordHead = recordNote;
+ recordTail = recordNote;
+ MemAllocInfo* allocNote = (MemAllocInfo*)malloc(sizeof(MemAllocInfo));
+ if (allocNote == nullptr) {
+ free(recordNote);
+ recordNote = nullptr;
+ initSuc = false;
+ return;
}
- free(allocHead_);
- allocHead_ = nullptr;
- allocTail_ = nullptr;
+ allocNote->address = 0;
+ allocNote->next = nullptr;
+ allocNote->size = 0;
+ allocHead = allocNote;
+ allocTail = allocNote;
+ initSuc = true;
+ return;
}
void MemCheck::EnableLeakCheck(bool enable)
{
- lock_.Lock();
- if (enableLeakCheck_ == enable) {
- GRAPHIC_LOGE("Already set leak check: %d", enableLeakCheck_);
- lock_.Unlock();
- return;
- }
- if (enable) {
- if (!InitMemInfoList()) {
- GRAPHIC_LOGE("EnableLeakCheck failed!");
- lock_.Unlock();
- return;
- }
+ enableLeakCheck_ = enable;
+ if (enableLeakCheck_) {
leakCount_ = 0;
leakHead_ = nullptr;
- GRAPHIC_LOGP("-----Begin Memory Leak Check----");
} else {
- GRAPHIC_LOGP("total count: %d", osal_atomic_read(&totalCnt_));
MemAllocInfo *info = leakHead_;
for (; info != nullptr; info = info->next) {
GRAPHIC_LOGE("leakcheck: [%d] addr %p size %d", info->count, info->address, info->size);
}
crashCnt_ = -1;
leakSize_ = 0;
- ClearMemInfoList();
- GRAPHIC_LOGP("-----End Memory Leak Check----");
}
- enableLeakCheck_ = enable;
- lock_.Unlock();
}
-bool MemCheck::MemAdd(int size, uintptr_t address)
+int MemCheck::MemAdd(int size, uintptr_t address)
{
- osal_atomic_inc(&totalCnt_);
-
- lock_.Lock();
- if (!enableLeakCheck_) {
- lock_.Unlock();
- return false;
- }
-
- MemAllocInfo* allocNode = (MemAllocInfo*)malloc(sizeof(MemAllocInfo));
- if (allocNode == nullptr) {
- GRAPHIC_LOGE("MemAdd malloc failed");
- lock_.Unlock();
- return false;
+ if (!initSuc) {
+ return -1;
}
- allocNode->address = address;
- allocNode->size = size;
- allocNode->next = nullptr;
- allocNode->count = -1;
-
- allocTail_->next = allocNode;
- allocTail_ = allocNode;
-
- leakCount_++;
- allocNode->count = leakCount_;
- if (leakHead_ == nullptr) {
- leakHead_ = allocNode;
+ MemAllocInfo* allocNote = (MemAllocInfo*)malloc(sizeof(MemAllocInfo));
+ if (allocNote == nullptr) {
+ GRAPHIC_LOGE("MemAdd malloc failed\n");
+ return -1;
}
- if (leakCount_ == crashCnt_) {
- if (leakSize_ != allocNode->size) {
- GRAPHIC_LOGE("size not right!");
+ allocNote->address = address;
+ allocNote->size = size;
+ allocNote->next = nullptr;
+ allocNote->count = -1;
+ allocTail->next = allocNote;
+ allocTail = allocNote;
+ totalSize += allocNote->size;
+ if (enableLeakCheck_) {
+ leakCount_++;
+ allocNote->count = leakCount_;
+ if (leakHead_ == nullptr) {
+ leakHead_ = allocNote;
}
- lock_.Unlock();
+ if (leakCount_ == crashCnt_) {
+ if (leakSize_ != allocNote->size) {
+ GRAPHIC_LOGE("size not right! %d",allocNote->size);
+ }
#ifdef __LITEOS__
- LOS_Panic("mem leak here!\n");
+ LOS_Panic("mem leak here!\n");
#endif
+ }
}
- lock_.Unlock();
- return true;
+#ifndef VERSION_IOT
+ if (!isBeyondTime()) {
+ if (!InsertRecord(address, Opt::ADD, size, totalSize)) {
+ return -1;
+ }
+ }
+#endif
+ return 0;
}
-bool MemCheck::MemDelete(uintptr_t address)
+int MemCheck::MemDelete(uintptr_t address)
{
- osal_atomic_dec(&totalCnt_);
-
- lock_.Lock();
- if (!enableLeakCheck_) {
- lock_.Unlock();
- return false;
- }
-
if (address == 0) {
GRAPHIC_LOGE("MemDelete address is nullptr\n");
- lock_.Unlock();
- return false;
+ return -1;
+ }
+ if (!initSuc) {
+ return -1;
}
- MemAllocInfo* allocPtr = allocHead_;
+ int32_t currNodeSize = 0;
+ MemAllocInfo* allocPtr = allocHead;
while (allocPtr->next != nullptr) {
if (allocPtr->next->address == address) {
MemAllocInfo *cur = allocPtr->next;
- leakHead_ = (leakHead_ == cur) ? cur->next : leakHead_;
+ leakHead_ = (enableLeakCheck_ && (leakHead_ == cur)) ? cur->next : leakHead_;
+ currNodeSize = allocPtr->next->size;
+ totalSize -= currNodeSize;
MemAllocInfo* tmpInfo = allocPtr->next;
allocPtr->next = allocPtr->next->next;
if (allocPtr->next == nullptr) {
- allocTail_ = allocPtr;
+ allocTail = allocPtr;
}
free(tmpInfo);
tmpInfo = nullptr;
}
allocPtr = allocPtr->next;
}
- lock_.Unlock();
- return true;
+#ifndef VERSION_IOT
+ if (!isBeyondTime()) {
+ if (!InsertRecord(address, Opt::DEL, currNodeSize, totalSize)) {
+ return -1;
+ }
+ }
+#endif
+ return 0;
}
void MemCheck::DumpMemInfo()
{
+ int32_t total = 0;
+ int32_t count = 0;
+ int32_t max = 0;
+#if SUPPRESS_DUMP
printf("current malloc/new memory:\n");
- printf("total count: %d\n", osal_atomic_read(&totalCnt_));
+#endif
+ if(allocHead == nullptr)
+ return;
+ MemAllocInfo* allocPtr = allocHead;
+ while (allocPtr->next != nullptr) {
+ total += allocPtr->next->size;
+ if (max < allocPtr->next->size) {
+ max = allocPtr->next->size;
+ }
+ count++;
+ allocPtr = allocPtr->next;
+ }
+ printf("total size=%d, max=%d, count=%d\n", total, max, count);
+#if SUPPRESS_DUMP
printf("--------\n");
GrallocEngines::GetInstance()->DumpMem();
+#endif
+}
+
+#ifndef VERSION_IOT
+bool MemCheck::isBeyondTime()
+{
+ time_t currTime = time((time_t *)nullptr);
+ if (currTime - setTime_ > delayTime_) {
+ return true;
+ }
+ return false;
+}
+
+bool MemCheck::InsertRecord(uintptr_t address, Opt opt, int32_t size, int32_t total)
+{
+ MemRecord* recordNote = (MemRecord*)malloc(sizeof(MemRecord));
+ if (recordNote == nullptr) {
+ GRAPHIC_LOGE("MemAdd malloc failed\n");
+ return false;
+ }
+ recordNote->address = address;
+ recordNote->opt = opt;
+ recordNote->size = size;
+ recordNote->time = time(0);
+ recordNote->total = total;
+ recordNote->next = nullptr;
+ recordTail->next = recordNote;
+ recordTail = recordNote;
+ return true;
+}
+
+static void* SaveMemInfo(void* arg)
+{
+ MemCheck::GetInstance()->SaveRecordInfo();
+ return nullptr;
+}
+
+void MemCheck::SaveRecordInfo()
+{
+ // sleep 1s, wait main thread set delaytime
+ sleep(1);
+ time_t currTime = time((time_t *)nullptr);
+ while ((currTime - setTime_) < (delayTime_ + OFFSET_TIME)) {
+ MemRecord* recordPtr = recordHead;
+ while (recordPtr->next != nullptr) {
+ MemRecord* recordNote = recordPtr->next;
+ recordPtr->next = recordPtr->next->next;
+ struct tm *sttm = localtime(&(recordNote->time));
+ // 1900: year
+ fprintf(fp, "%04u-%02u-%02u %02u:%02u:%02u addr=0x%x %s size:%d total:%d\n", sttm->tm_year + 1900,
+ sttm->tm_mon+1, sttm->tm_mday, sttm->tm_hour, sttm->tm_min, sttm->tm_sec, recordNote->address,
+ recordNote->opt == Opt::ADD ? "add" : "del", recordNote->size, recordNote->total);
+ free(recordNote);
+ recordNote = nullptr;
+ }
+ recordTail = recordHead;
+ fflush(fp);
+
+ sleep(2); // 2: sleep time
+ currTime = time((time_t *)nullptr);
+ }
+ fclose(fp);
+ fp = nullptr;
+ recordThreadId = nullptr;
+}
+
+bool MemCheck::CreateRecordFile()
+{
+ char currPath[16] = "/user/mem/";
+ if (access(currPath, F_OK) == -1) {
+ GRAPHIC_LOGD("dir %s not exist, create dir\n", currPath);
+ if (mkdir(currPath, 0777) != 0) { // 0777: permission mode
+ GRAPHIC_LOGE("create dir %s failed , errno = %d : %s\n", currPath, errno, strerror(errno));
+ return false;
+ }
+ }
+ char path[20] = "";
+ if (sprintf_s(path, sizeof(path), "%s%d", currPath, getpid()) == -1) {
+ GRAPHIC_LOGE("MemCheckInit sprintf_s failed\n");
+ return false;
+ }
+ fp = fopen(path, "w+");
+ if (fp == nullptr) {
+ GRAPHIC_LOGE("open mem file %s failed ,errno = %d : %s\n", path, errno, strerror(errno));
+ return false;
+ }
+ return true;
}
+
+void MemCheck::CollectMemory(uint32_t delayTime)
+{
+ if (!initSuc) {
+ GRAPHIC_LOGE("Init failed!\n");
+ return;
+ }
+ if (fp == nullptr && !CreateRecordFile()) {
+ return;
+ }
+
+ if (recordThreadId == nullptr) {
+ recordThreadId = ThreadCreate(SaveMemInfo, nullptr, nullptr);
+ if (recordThreadId == nullptr) {
+ GRAPHIC_LOGE("create thread failed!!\n");
+ return;
+ }
+ }
+ setTime_ = time(0);
+ delayTime_ = delayTime;
+ DumpMemInfo();
+}
+#endif
} // namespace OHOS
#endif
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;
uint32_t CalcStride(uint32_t width, PixelFormat fmt);
bool IsUlpsEnabled(void);
- bool TryExitUlps(bool isFlushing);
bool IsDoubleBuffer(void);
/**
uint32_t devId_;
LayerFuncs* layerFuncs_;
uint8_t currentBufferId_[LAYER_MAX];
- bool exitUlps_;
#ifdef LAYER_PF_ARGB1555
const uint8_t layerBpp_ = 16;
void GetEventData(DeviceData& data, InputDevType type);
void SetEventData(const RawEvent& event);
bool IsEventEmpty(InputDevType type);
- void ClearEvent(InputDevType type);
#ifdef CONFIG_SUPPORTED_POWERMGR
void SendEventToPM(const RawEvent& event);
#endif
+++ /dev/null
-version https://git-lfs.github.com/spec/v1
-oid sha256:129286d49d6097dd71c38311f24ea9cad9da01ea7ea3a1160b45731fbe9eb600
-size 237624
+++ /dev/null
-version https://git-lfs.github.com/spec/v1
-oid sha256:bda994196a6f1887261fad0b0af108eb64dc2be14abc6581ef3ec2c7e1afbbb3
-size 99864
+++ /dev/null
-version https://git-lfs.github.com/spec/v1
-oid sha256:81d23195839a6cf705c083957b110a235227d40784f3b644b94b795555de2654
-size 95784
+++ /dev/null
-version https://git-lfs.github.com/spec/v1
-oid sha256:25263b886947c791d585e3a26f575bc40dcefe85bb733b759f56424d9af2e51a
-size 72184
\r
const UIView* UITestIcosahedron::GetTestView()\r
{\r
- if (enterAnimator_ != nullptr) {\r
- enterAnimator_->Start();\r
- }\r
+ enterAnimator_->Start();\r
return container_;\r
}\r
}
\ No newline at end of file
+++ /dev/null
-/*\r
- * Copyright (c) CompanyNameMagicTag 2024. All rights reserved.\r
- * Description: UITestSlip\r
- * Author:\r
- * Create: 2024-08\r
- */\r
-\r
-#include "ui_test_slipflow.h"\r
-#include "common/screen.h"\r
-#include "font/ui_font.h"\r
-#include "gfx_utils/graphic_math.h"\r
-#include "gfx_utils/rect.h"\r
-#include "common/image_cache_manager.h"\r
-\r
-namespace OHOS {\r
-namespace {\r
-struct FaceInfo {\r
- const char* name;\r
- const char* path;\r
-} ;\r
-\r
-static constexpr uint8_t SLIPFLOW_MAX_PAGE_NUM = 6;\r
-static FaceInfo g_faceInfo[SLIPFLOW_MAX_PAGE_NUM] = {\r
- {"1 rainbow", RES_PATH"/rainbow_circle.bin"},\r
- {"2 kaleidoscope", RES_PATH"/kaleidoscope_circle.bin"},\r
- {"3 planet", RES_PATH"/planet_circle.bin"},\r
- {"4 rainbow", RES_PATH"/rainbow_circle.bin"},\r
- {"5 kaleidoscope", RES_PATH"/kaleidoscope_circle.bin"},\r
- {"6 planet", RES_PATH"/planet_circle.bin"}\r
-};\r
-static constexpr const char* BACK_IMAGE_PATH = RES_PATH"/image_background_circle.bin";\r
-\r
-static constexpr uint8_t SLIPFLOW_PRELOAD_PAGE_NUM = 3;\r
-static constexpr int16_t LABEL_FONT_SIZE = 30;\r
-static constexpr uint8_t DEFAULT_STEP = 10;\r
-static constexpr uint16_t BUTTON_WIDTH = 60;\r
-static constexpr uint16_t BUTTON_HEIGHT = 40;\r
-static constexpr uint16_t BUTTON_GROUP_WIDTH = 300;\r
-static constexpr uint16_t BUTTON_GROUP_HEIGHT = 80;\r
-static constexpr uint8_t DIVISOR_TWO = 2;\r
-static constexpr uint16_t PAGE_WIDTH = 200;\r
-static constexpr uint16_t PAGE_HEIGHT = 200;\r
-} // namespace\r
-\r
-void UITestSlipflow::SetUp()\r
-{\r
- if (container_ == nullptr) {\r
- container_ = new UIScrollView();\r
- container_->SetThrowDrag(true);\r
- container_->SetHorizontalScrollState(false);\r
- container_->Resize(Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
- }\r
-}\r
-\r
-void UITestSlipflow::TearDown()\r
-{\r
- container_->Remove(slipflow_);\r
- DeleteChildren(container_);\r
- if (container_ != nullptr) {\r
- container_ = nullptr;\r
- }\r
- delete slipflow_;\r
- slipflow_ = nullptr;\r
-\r
- label_ = nullptr;\r
- slipUpNoticelabel_ = nullptr;\r
- lastIndex_ = 0;\r
- showBtn_ = nullptr;\r
- isShowBtnGrp_ = false;\r
- btnGrp_ = nullptr;\r
- loadNum_ = 0;\r
-\r
- imgWidthAddBtn_ = nullptr;\r
- imgWidthSubBtn_ = nullptr;\r
-\r
- imgWidth_ = 200; // 200: default value\r
- imgPadding_ = 50; // 50: default value\r
- mirrorOpa_ = 30; // 30: default value\r
- rotateAngle_ = 70.0f; // 70: default value\r
-}\r
-\r
-const UIView* UITestSlipflow::GetTestView()\r
-{\r
- UITestSlipflowView();\r
- return container_;\r
-}\r
-\r
-void UITestSlipflow::CreateLabelButton(UILabelButton** btn, const char* tile, int16_t x, int16_t y)\r
-{\r
- UILabelButton* tempBtn = nullptr;\r
- if (tempBtn == nullptr) {\r
- tempBtn = new UILabelButton();\r
- }\r
- tempBtn->SetPosition(x, y, BUTTON_WIDTH, BUTTON_HEIGHT);\r
- tempBtn->SetText(tile);\r
- tempBtn->SetOnClickListener(this);\r
- btnGrp_->Add(tempBtn);\r
- *btn = tempBtn;\r
-}\r
-\r
-void UITestSlipflow::InitButtonGroup()\r
-{\r
- if (showBtn_ == nullptr) {\r
- showBtn_ = new UIButton();\r
- showBtn_->SetPosition(202, 10, BUTTON_WIDTH, BUTTON_HEIGHT); // 202: x position 10: y position\r
- showBtn_->SetStyleForState(STYLE_BACKGROUND_OPA, 0, UIButton::ButtonState::RELEASED);\r
- showBtn_->SetStyleForState(STYLE_BACKGROUND_OPA, 0, UIButton::ButtonState::PRESSED);\r
- showBtn_->SetOnClickListener(this);\r
- container_->Add(showBtn_);\r
- }\r
- if (btnGrp_ == nullptr) {\r
- btnGrp_ = new UIViewGroup();\r
- btnGrp_->SetPosition(77, 40, BUTTON_GROUP_WIDTH, BUTTON_GROUP_HEIGHT); // 77: x position 40: y position\r
- btnGrp_->SetStyle(STYLE_BACKGROUND_OPA, 0);\r
- btnGrp_->SetVisible(false);\r
- container_->Add(btnGrp_);\r
- }\r
- CreateLabelButton(&imgWidthAddBtn_, "wid+", 0, 0);\r
- CreateLabelButton(&imgWidthSubBtn_, "wid-", 60, 0); // 60: x position\r
-}\r
-\r
-void UITestSlipflow::UITestSlipflowView()\r
-{\r
- if (container_ != nullptr) {\r
- if (slipflow_ == nullptr) {\r
- slipflow_ = new UISlipflowView();\r
- }\r
- slipflow_->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
- slipflow_->SetIntercept(true);\r
- slipflow_->SetThrowDrag(true);\r
- slipflow_->SetPageSize(PAGE_WIDTH, PAGE_HEIGHT);\r
- slipflow_->SetOnSlipflowListener(this);\r
- UITestSlipflowViewInitFlow();\r
-\r
- if (label_ == nullptr) {\r
- label_ = new UILabel();\r
- }\r
- label_->SetPosition(127, 50, 200, 50); // 127 50 200 50: label position\r
- label_->SetTextColor(Color::White());\r
- label_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
- lastIndex_ = slipflow_->GetCurrentPage();\r
- label_->SetText(g_faceInfo[lastIndex_].name);\r
- label_->SetFont(DEFAULT_VECTOR_FONT_FILENAME, LABEL_FONT_SIZE);\r
- if (slipUpNoticelabel_ == nullptr) {\r
- slipUpNoticelabel_ = new UILabel();\r
- }\r
- slipUpNoticelabel_->SetPosition(127, 400, 200, 50); // 127 400 200 50: label position\r
- slipUpNoticelabel_->SetTextColor(Color::White());\r
- slipUpNoticelabel_->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
- slipUpNoticelabel_->SetText("继续上滑删除");\r
- slipUpNoticelabel_->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30); // 30 : font size\r
- slipUpNoticelabel_->SetVisible(false);\r
- container_->Add(slipflow_);\r
- container_->Add(label_);\r
- container_->Add(slipUpNoticelabel_);\r
- InitButtonGroup();\r
- }\r
-}\r
-\r
-void UITestSlipflow::UITestSlipflowViewInitFlow()\r
-{\r
- for (uint8_t i = 0; i < SLIPFLOW_MAX_PAGE_NUM; i++) {\r
- UIImageView* image = new UIImageView();\r
- ImageInfo* src = ImageCacheManager::GetInstance().LoadSingleRes(std::string(g_faceInfo[i].path));\r
- image->SetViewId(g_faceInfo[i].name);\r
- image->SetSrc(src);\r
- image->Resize(PAGE_WIDTH, PAGE_HEIGHT);\r
- image->SetResizeMode(UIImageView::ImageResizeMode::FILL);\r
- image->SetAutoEnable(false);\r
- UIViewGroup* group = new UIViewGroup();\r
- group->SetViewId(g_faceInfo[i].name);\r
- group->SetPosition(0, 0, PAGE_WIDTH, Screen::GetInstance().GetHeight());\r
- group->SetStyle(STYLE_BACKGROUND_OPA, 0);\r
- group->SetDragParentInstead(true);\r
- UIImageView* backImage = new UIImageView();\r
- backImage->SetSrc(ImageCacheManager::GetInstance().LoadSingleRes(std::string(BACK_IMAGE_PATH)));\r
- backImage->Resize(PAGE_WIDTH, PAGE_HEIGHT);\r
- backImage->SetResizeMode(UIImageView::ImageResizeMode::FILL);\r
- backImage->SetAutoEnable(false);\r
- group->Add(backImage);\r
- group->Add(image);\r
- slipflow_->Add(group);\r
- backImage->LayoutCenterOfParent();\r
- image->LayoutCenterOfParent();\r
- loadNum_++;\r
- }\r
-}\r
-\r
-bool UITestSlipflow::OnScroll(int16_t distance)\r
-{\r
- if (slipflow_->GetChildrenNumber() == 0) {\r
- label_->SetText("");\r
- return true;\r
- }\r
- int16_t contMidX = static_cast<int16_t>(Screen::GetInstance().GetWidth() / DIVISOR_TWO);\r
- int16_t minOffset = contMidX;\r
- uint8_t newCenterIndex = lastIndex_;\r
- for (uint8_t i = 0; i < slipflow_->GetChildrenNumber(); i++) {\r
- Rect rect = slipflow_->GetViewByIndex(i)->GetOrigRect();\r
- int16_t x = rect.GetLeft();\r
- int16_t x1 = rect.GetRight();\r
- int16_t xMid = static_cast<int16_t>(x + (x1 - x + 1) / DIVISOR_TWO);\r
- int16_t distance = MATH_ABS(xMid - contMidX);\r
- if (distance < minOffset) {\r
- newCenterIndex = i;\r
- minOffset = distance;\r
- }\r
- }\r
- if (newCenterIndex != lastIndex_) {\r
- lastIndex_ = newCenterIndex;\r
- label_->SetText(slipflow_->GetViewByIndex(lastIndex_)->GetViewId());\r
- }\r
-\r
- Rect curViewRect = slipflow_->GetViewByIndex(lastIndex_)->GetOrigRect();\r
- int16_t centerMid = curViewRect.GetLeft() + curViewRect.GetWidth() / DIVISOR_TWO;\r
- int16_t offset = MATH_ABS(contMidX - centerMid);\r
- if (offset > curViewRect.GetWidth() / DIVISOR_TWO) {\r
- label_->SetStyle(STYLE_TEXT_OPA, 0);\r
- } else {\r
- uint8_t alpha = (uint8_t)((1.0f - ((float)offset / (curViewRect.GetWidth() / DIVISOR_TWO))) * OPA_OPAQUE);\r
- label_->SetStyle(STYLE_TEXT_OPA, alpha);\r
- }\r
- return true;\r
-}\r
-\r
-void UITestSlipflow::OnScrollUpStart()\r
-{\r
- label_->SetVisible(false);\r
- slipUpNoticelabel_->SetVisible(true);\r
-}\r
-\r
-void UITestSlipflow::OnScrollUpEnd()\r
-{\r
- OnScroll(0);\r
- label_->SetVisible(true);\r
- slipUpNoticelabel_->SetVisible(false);\r
-}\r
-\r
-void UITestSlipflow::OnRefreshPageOpaScale(UIView* view, int16_t xOffset, int16_t yOffset)\r
-{\r
- UIView* image = static_cast<UIViewGroup*>(view)->GetChildrenHead()->GetNextSibling();\r
- if (xOffset < 0) {\r
- image->SetOpaScale(OPA_OPAQUE);\r
- } else if (xOffset > slipflow_->GetPageWidth()) {\r
- image->SetOpaScale(0);\r
- } else {\r
- uint8_t alpha = (uint8_t)(OPA_OPAQUE * (1.0f - ((float)xOffset / slipflow_->GetPageWidth())));\r
- image->SetOpaScale(alpha);\r
- }\r
- if (yOffset > 0) {\r
- if (yOffset > (slipflow_->GetPageHeight() / DIVISOR_TWO)) {\r
- image->SetOpaScale(OPA_OPAQUE * 0.4f);\r
- } else {\r
- uint8_t alpha = (uint8_t)(OPA_OPAQUE *\r
- (1.0f - 0.6f * ((float)yOffset / (slipflow_->GetPageHeight() / DIVISOR_TWO))));\r
- image->SetOpaScale(alpha);\r
- }\r
- }\r
-}\r
-\r
-bool UITestSlipflow::OnRemove(UIView* view)\r
-{\r
- if (view == nullptr) {\r
- return false;\r
- }\r
- UIViewGroup* group = static_cast<UIViewGroup*>(view);\r
- UIView* curView = group->GetChildrenHead();\r
- UIView* deleteView = nullptr;\r
- while (curView != nullptr) {\r
- deleteView = curView;\r
- curView = curView->GetNextSibling();\r
- group->Remove(deleteView);\r
- delete deleteView;\r
- deleteView = nullptr;\r
- }\r
- delete group;\r
- group = nullptr;\r
- return true;\r
-}\r
-\r
-bool UITestSlipflow::OnClick(UIView& view, const ClickEvent& event)\r
-{\r
- if (&view == showBtn_) {\r
- btnGrp_->SetVisible(!btnGrp_->IsVisible());\r
- } else if (&view == imgWidthAddBtn_) {\r
- imgWidth_ += DEFAULT_STEP;\r
- slipflow_->SetPageSize(imgWidth_, imgWidth_);\r
- } else if (&view == imgWidthSubBtn_) {\r
- imgWidth_ -= DEFAULT_STEP;\r
- slipflow_->SetPageSize(imgWidth_, imgWidth_);\r
- }\r
- slipflow_->Invalidate();\r
- return true;\r
-}\r
-} // namespace OHOS\r
+++ /dev/null
-/*\r
- * Copyright (c) CompanyNameMagicTag 2024. All rights reserved.\r
- * Description: UITestSlip\r
- * Author:\r
- * Create: 2024-08\r
- */\r
-\r
-#ifndef UI_TEST_SLIPFLOW_VIEW_H\r
-#define UI_TEST_SLIPFLOW_VIEW_H\r
-\r
-#include "components/ui_slipflow_view.h"\r
-#include "components/ui_scroll_view.h"\r
-#include "components/ui_label_button.h"\r
-#include "animator/animator.h"\r
-#include "ui_test.h"\r
-\r
-namespace OHOS {\r
-class UITestSlipflow : public UITest,\r
- public UISlipflowView::OnSlipflowScrollListener, public UIView::OnClickListener {\r
-public:\r
- UITestSlipflow() {}\r
- ~UITestSlipflow() override {}\r
- void SetUp() override;\r
- void TearDown() override;\r
- const UIView* GetTestView() override;\r
- /**\r
- * @brief Test display UISlipflow\r
- */\r
- void UITestSlipflowView();\r
- void UITestSlipflowViewInitFlow();\r
-\r
- bool OnScroll(int16_t distance) override;\r
- void OnScrollUpStart() override;\r
- void OnScrollUpEnd() override;\r
- void OnRefreshPageOpaScale(UIView* view, int16_t xOffset, int16_t yOffset) override;\r
-\r
- bool OnRemove(UIView* view) override;\r
-\r
- bool OnClick(UIView& view, const ClickEvent& event) override;\r
-private:\r
- void InitButtonGroup();\r
- void CreateLabelButton(UILabelButton** btn, const char* tile, int16_t x, int16_t y);\r
-\r
- UIScrollView* container_ = nullptr;\r
- UISlipflowView* slipflow_ = nullptr;\r
- UILabel* label_ = nullptr;\r
- UILabel* slipUpNoticelabel_ = nullptr;\r
- uint16_t lastIndex_ = 0;\r
- UIButton* showBtn_ = nullptr;\r
- bool isShowBtnGrp_ = false;\r
- UIViewGroup* btnGrp_ = nullptr;\r
- uint8_t loadNum_ = 0;\r
- UILabelButton* addBtn_ = nullptr;\r
- UILabelButton* removeBtn_ = nullptr;\r
- UILabelButton* imgWidthAddBtn_ = nullptr;\r
- UILabelButton* imgWidthSubBtn_ = nullptr;\r
- UILabelButton* imgPaddingAddBtn_ = nullptr;\r
- UILabelButton* imgPaddingSubBtn_ = nullptr;\r
- UILabelButton* maxAngleAddBtn_ = nullptr;\r
- UILabelButton* maxAngleSubBtn_ = nullptr;\r
- UILabelButton* loopBtn_ = nullptr;\r
- uint16_t imgWidth_ = 200; // 200: default value\r
- uint16_t imgPadding_ = 50; // 50: default value\r
- uint8_t mirrorOpa_ = 30; // 30: default value\r
- float rotateAngle_ = 70.0f; // 70: default value\r
-};\r
-} // namespace OHOS\r
-#endif // UI_TEST_SLIPFLOW_VIEW_H\r
tempView->SetViewId(view.GetViewId());
tempView->SetPosition(tempView->GetX(), tempView->GetY());
rootView->Add(tempView);
+ if (backBtn_ == nullptr) {
+ backBtn_ = new TransparentBackButton();
+ backBtn_->SetPosition(0, (Screen::GetInstance().GetHeight() - BACK_BUTTON_SIZE) / 2, // 2, half size
+ BACK_BUTTON_SIZE, BACK_BUTTON_SIZE);
+ }
+ backBtn_->SetViewId(view.GetViewId());
+ rootView->Add(backBtn_);
}
- if (backBtn_ == nullptr) {
- backBtn_ = new TransparentBackButton();
- backBtn_->SetPosition(0, (Screen::GetInstance().GetHeight() - BACK_BUTTON_SIZE) / 2, // 2, half size
- BACK_BUTTON_SIZE, BACK_BUTTON_SIZE);
- }
- backBtn_->SetViewId(view.GetViewId());
- rootView->Add(backBtn_);
rootView->Invalidate();
return true;
}
#include "common/task_manager.h"
#include "gfx_utils/graphic_log.h"
#include "dock/pointer_input_device.h"
-#include "dock/rotate_input_device.h"
-#include "hals/lite_input_distributer.h"
-#include "gfx_utils/input_event_info.h"
namespace OHOS {
InputDeviceManager* InputDeviceManager::GetInstance()
node = node->next_;
}
}
-
-void InputDeviceManager::ClearRotateState()
-{
- ListNode<InputDevice*>* node = deviceList_.Begin();
- while (node != deviceList_.End()) {
- RotateInputDevice* device = dynamic_cast<RotateInputDevice*>(node->data_);
- if (device != nullptr) {
- device->ResetRotateState();
- }
- node = node->next_;
- }
-}
-
-void InputDeviceManager::ClearInputDeviceState(InputDeviceManager::InputDeviceType type)
-{
- switch (type) {
- case InputDeviceManager::InputDeviceType::ALL:
- InputDeviceManager::GetInstance()->ClearPressableViews();
- InputDeviceManager::GetInstance()->ClearRotateState();
- LiteInputDistributer::GetInstance()->ClearEvent(InputDevType::INDEV_TYPE_TOUCH);
- LiteInputDistributer::GetInstance()->ClearEvent(InputDevType::INDEV_TYPE_KEY);
- break;
- case InputDeviceManager::InputDeviceType::POINT:
- LiteInputDistributer::GetInstance()->ClearEvent(InputDevType::INDEV_TYPE_TOUCH);
- InputDeviceManager::GetInstance()->ClearPressableViews();
- break;
- case InputDeviceManager::InputDeviceType::ROTATE:
- InputDeviceManager::GetInstance()->ClearRotateState();
- break;
- case InputDeviceManager::InputDeviceType::KEY:
- LiteInputDistributer::GetInstance()->ClearEvent(InputDevType::INDEV_TYPE_KEY);
- default:
- GRAPHIC_LOGE("Cannot clear state of the input device: %d!", type);
- break;
- }
-}
} // namespace OHOS
\ No newline at end of file
BlendOption opt;
opt.opacity = OPA_OPAQUE;
opt.mode = BLEND_SRC;
+ if (LiteMGfxEngine::GetInstance()->IsAsyncModeEnabled()) {
+ LiteMGfxEngine::GetInstance()->Flush(Rect(0, 0, 0, 0));
+ }
BaseGfxEngine::GetInstance()->Blit(dstInfo, {0, 0}, srcInfo, dstRect, opt);
#if ENABLE_VGU_ENGINE
LiteMGfxEngine::GetInstance()->SyncHwDraw();
bool UIAbstractScroll::OnRotateEndEvent(const RotateEvent& event)
{
- if (memset_s(lastDelta_, sizeof(lastDelta_), 0, sizeof(lastDelta_)) != EOK) {
+ if (memset_s(lastDelta_, MAX_DELTA_SIZE, 0, MAX_DELTA_SIZE) != EOK) {
return UIView::OnRotateEndEvent(event);
}
#include "gfx_utils/graphic_log.h"
namespace OHOS {
-void Paint::Scale(float scaleX, float scaleY)
-{
- this->scaleRadioX_ *= scaleX;
- this->scaleRadioY_ *= scaleX;
- if (rotateAngle_ > 0.0f || rotateAngle_ < 0) {
- transfrom_.Rotate(-rotateAngle_ * UI_PI / BOXER);
- transfrom_.Scale(scaleX, scaleY);
- transfrom_.Rotate(rotateAngle_ * UI_PI / BOXER);
- } else {
- transfrom_.Scale(scaleX, scaleY);
- }
-}
-
-void Paint::Rotate(float angle)
-{
- transfrom_.Rotate(angle * UI_PI / BOXER);
- rotateAngle_ += angle;
-}
-
-void Paint::Rotate(float angle, int16_t x, int16_t y)
-{
- transfrom_.Translate(-x, -y);
- transfrom_.Rotate(angle * UI_PI / BOXER);
- rotateAngle_ += angle;
- transfrom_.Translate(x, y);
-}
-
-void Paint::Translate(int16_t x, int16_t y)
-{
- transfrom_.Translate(x, y);
- this->translationX_ += x;
- this->translationY_ += y;
-}
-
-void Paint::SetTransform(float scaleX, float shearX, float shearY,
- float scaleY, int16_t transLateX, int16_t transLateY)
-{
- transfrom_.Reset();
- rotateAngle_ = 0;
- Transform(scaleX, shearX, shearY, scaleY, transLateX, transLateY);
-}
-
-void Paint::Transform(float scaleX, float shearX, float shearY, float scaleY, int16_t transLateX, int16_t transLateY)
-{
- this->translationX_ += transLateX;
- this->translationY_ += transLateY;
- transLateX += transfrom_.GetData()[2]; // 2: index
- transLateY += transfrom_.GetData()[5]; // 5: index
- transfrom_.Translate(-transfrom_.GetData()[2], -transfrom_.GetData()[5]); // 2 5: index
- Scale(scaleX, scaleY);
- transfrom_.Translate(transLateX, transLateY);
- transfrom_.SetData(1, transfrom_.GetData()[1] + shearX);
- transfrom_.SetData(3, transfrom_.GetData()[3] + shearY); // 3: index
-}
-
UICanvas::UICanvasPath::~UICanvasPath()
{
points_.Clear();
return;
}
- if (static_cast<uint8_t>(paint.GetStyle()) & Paint::PaintStyle::FILL_STYLE) {
- UIImageView* imageView = new UIImageView();
- if (imageView == nullptr) {
- GRAPHIC_LOGE("new UIImageView fail");
- return;
- }
- imageView->SetPosition(startPoint.x, startPoint.y);
- imageView->SetSrc(image);
-
- DrawCmd cmd;
- cmd.paint = paint;
- cmd.param = imageView;
- cmd.DeleteParam = DeleteImageView;
- cmd.DrawGraphics = DoDrawImage;
- drawCmdList_.PushBack(cmd);
-
- Invalidate();
- SetStartPosition(startPoint);
+ ImageParam* imageParam = new ImageParam;
+ if (imageParam == nullptr) {
+ GRAPHIC_LOGE("new ImageParam fail");
+ return;
}
-}
-
-void UICanvas::DrawImage(const Point& startPoint, const char* image,
- const Paint& paint, int16_t width, int16_t height)
-{
- if (image == nullptr) {
+ imageParam->image = new Image();
+ if (imageParam->image == nullptr) {
+ delete imageParam;
+ imageParam = nullptr;
return;
}
- if (static_cast<uint8_t>(paint.GetStyle()) & Paint::PaintStyle::FILL_STYLE) {
- UIImageView* imageView = new UIImageView();
- if (imageView == nullptr) {
- GRAPHIC_LOGE("new UIImageView fail");
- return;
- }
- imageView->SetPosition(startPoint.x, startPoint.y);
- imageView->SetSrc(image);
- float scaleX = 1.0;
- float scaleY = 1.0;
- if (width > 0 && imageView->GetWidth() > 0) {
- scaleX = (float)width / (float)imageView->GetWidth();
- }
- if (height > 0 && imageView->GetHeight() > 0) {
- scaleY = (float)height / (float)imageView->GetHeight();
- }
- DrawCmd cmd;
- cmd.paint = paint;
- cmd.paint.Scale(scaleX, scaleY);
- cmd.param = imageView;
- cmd.DeleteParam = DeleteImageView;
- cmd.DrawGraphics = DoDrawImage;
- drawCmdList_.PushBack(cmd);
- Invalidate();
- SetStartPosition(startPoint);
- }
+ imageParam->image->SetSrc(image);
+ ImageHeader header = {0};
+ imageParam->image->GetHeader(header);
+ imageParam->start = startPoint;
+ imageParam->height = header.height;
+ imageParam->width = header.width;
+
+ DrawCmd cmd;
+ cmd.paint = paint;
+ cmd.param = imageParam;
+ cmd.DeleteParam = DeleteImageParam;
+ cmd.DrawGraphics = DoDrawImage;
+ drawCmdList_.PushBack(cmd);
Invalidate();
- SetStartPosition(startPoint);
}
void UICanvas::DrawPath(const Paint& paint)
if (param == nullptr) {
return;
}
- UIImageView* imageView = static_cast<UIImageView*>(param);
- Point startPos = {imageView->GetX(), imageView->GetY()};
+ ImageParam* imageParam = static_cast<ImageParam*>(param);
+
+ if (imageParam->image == nullptr) {
+ return;
+ }
+
Point start;
- GetAbsolutePosition({startPos.x, startPos.y}, rect, style, start);
- imageView->SetPosition(start.x, start.y);
- if (!paint.GetTransAffine().IsIdentity()) {
- float angle = paint.GetRotateAngle();
- imageView->Rotate(MATH_ROUND(angle), Vector2<float>(0, 0));
- imageView->Translate(Vector3<int16_t>(paint.GetTranslateX(), paint.GetTranslateY(), 1));
- Vector2<float> scale(static_cast<float>(paint.GetScaleX()), static_cast<float>(paint.GetScaleY()));
- imageView->Scale(scale, Vector2<float>(0, 0));
- TransAffine affine = paint.GetTransAffine();
- imageView->Shear(Vector2<float>(affine.GetData()[1], 0), Vector2<float>(affine.GetData()[3], 0),
- Vector2<float>(0, 0));
- }
- imageView->OnDraw(gfxDstBuffer, invalidatedArea);
- imageView->SetPosition(startPos.x, startPos.y);
+ GetAbsolutePosition(imageParam->start, rect, style, start);
+
+ Rect cordsTmp;
+ cordsTmp.SetPosition(start.x, start.y);
+ cordsTmp.SetHeight(imageParam->height);
+ cordsTmp.SetWidth(imageParam->width);
+ DrawImage::DrawCommon(gfxDstBuffer, cordsTmp, invalidatedArea,
+ imageParam->image->GetPath(), style, paint.GetOpacity());
}
void UICanvas::DoDrawLabel(BufferInfo& gfxDstBuffer,
{
InitLabelText();
labelText_->SetTransformMap(transMap);
+ SetTransformMap(transMap);
}
void UILabel::RefreshLabel()
}
distance = CalculateElasticDragLen(reboundSize, offset, distance);
}
- if (childrenTail_->GetRelativeRect().GetBottom() <
+ if ((childrenTail_->GetRelativeRect().GetBottom() + distance) <
(listHeight - scrollBlankSize_ - reboundSize - childrenTail_->GetStyle(STYLE_MARGIN_BOTTOM))) {
- distance = 0;
- } else if ((childrenTail_->GetRelativeRect().GetBottom() + distance) <
- (listHeight - scrollBlankSize_ - reboundSize - childrenTail_->GetStyle(STYLE_MARGIN_BOTTOM))) {
- distance = listHeight - scrollBlankSize_ - reboundSize - childrenTail_->GetStyle(STYLE_MARGIN_BOTTOM)
- - childrenTail_->GetRelativeRect().GetBottom();
+ distance = listHeight - scrollBlankSize_ - reboundSize - childrenTail_->GetStyle(STYLE_MARGIN_BOTTOM)
+ - childrenTail_->GetRelativeRect().GetBottom();
}
}
}
void UIQrcode::FillImgBackground(ImageInfo& info)
{
+ if (LiteMGfxEngine::GetInstance()->IsAsyncModeEnabled()) {
+ LiteMGfxEngine::GetInstance()->Flush(Rect(0, 0, 0, 0));
+ }
+
BufferInfo gfxDstBuffer;
gfxDstBuffer.virAddr = static_cast<void*>(const_cast<uint8_t*>(info.data));
gfxDstBuffer.phyAddr = gfxDstBuffer.virAddr;
bool UISwipeView::OnRotateEndEvent(const RotateEvent& event)
{
- if (memset_s(lastDelta_, sizeof(lastDelta_), 0, sizeof(lastDelta_)) != EOK) {
- return UIView::OnRotateEndEvent(event);
- }
-
uint8_t dir;
if (direction_ == HORIZONTAL) {
dir = (lastRotateLen_ >= 0) ? DragEvent::DIRECTION_LEFT_TO_RIGHT : DragEvent::DIRECTION_RIGHT_TO_LEFT;
uint16_t bufferWidth = static_cast<uint16_t>(mask.GetWidth());
uint16_t bufferHeight = static_cast<uint16_t>(mask.GetHeight());
+ if (LiteMGfxEngine::GetInstance()->IsAsyncModeEnabled()) {
+ LiteMGfxEngine::GetInstance()->Flush(Rect(0, 0, 0, 0));
+ }
+
#ifdef _WIN32
bitmap.header.colorMode = ARGB8888;
#else
#include "components/root_view.h"
#include "gfx_utils/graphic_math.h"
#include "common/input_method_manager.h"
-#include "common/input_device_manager.h"
namespace OHOS {
FocusManager* FocusManager::GetInstance()
lastFocusView_ = focusView_;
focusView_->Blur();
focusView_ = nullptr;
- InputDeviceManager::GetInstance()->ClearInputDeviceState(InputDeviceManager::InputDeviceType::ROTATE);
return true;
}
*/
class InputDeviceManager : public Task {
public:
-enum class InputDeviceType {
- /** All registered input device*/
- ALL = 0,
- /** Point input device */
- POINT = 1,
- /** Key input device */
- KEY = 2,
- /** Rotate input device */
- ROTATE = 3,
-};
-
/**
* @brief Get instance of InputDeviceManager.
* @returns Instance of InputDeviceManager
*/
void Clear();
- /**
- * Clear state of input devices.
- */
- void ClearInputDeviceState(InputDeviceManager::InputDeviceType type = InputDeviceManager::InputDeviceType::ALL);
-
/**
* Clear pressable views recorded in the pointer input device
*/
InputDeviceManager(InputDeviceManager&&) = delete;
InputDeviceManager& operator=(InputDeviceManager&&) = delete;
- /**
- * Clear rotate state.
- */
- void ClearRotateState();
-
List<InputDevice*> deviceList_;
};
} // namespace OHOS
threshold_ = threshold;
}
- void ResetRotateState()
- {
- rotateStart_ = false;
- }
-
protected:
void DispatchEvent(const DeviceData& data) override;
bool rotateStart_;
void OnPostDraw(BufferInfo& gfxDstBuffer, const Rect& invalidatedArea) override;
- /**
- * @brief Get state of scroll animator.
- * @since 1.0
- * @version 1.0
- */
- uint8_t GetScrollState()
- {
- return scrollAnimator_.GetState();
- }
-
static constexpr uint8_t HORIZONTAL = 0;
static constexpr uint8_t VERTICAL = 1;
#include "common/image.h"
#include "components/ui_label.h"
-#include "components/ui_image_view.h"
#include "gfx_utils/list.h"
-#include "gfx_utils/trans_affine.h"
namespace OHOS {
/**
*/
Paint()
: style_(PaintStyle::STROKE_FILL_STYLE), fillColor_(Color::Black()),
- strokeColor_(Color::White()), opacity_(OPA_OPAQUE), strokeWidth_(2),
- rotateAngle_(0), scaleRadioX_(1.0f), scaleRadioY_(1.0f), translationX_(0),
- translationY_(0) {}
+ strokeColor_(Color::White()), opacity_(OPA_OPAQUE), strokeWidth_(2) {}
/**
* @brief A destructor used to delete the <b>Paint</b> instance.
return opacity_;
}
- /* Zooms the current drawing to a larger or smaller size */
- void Scale(float scaleX, float scaleY);
-
- /**
- * @brief get the x coordinate scale value
- * @since 1.0
- * @version 1.0
- */
- float GetScaleX() const
- {
- return this->scaleRadioX_;
- }
-
- /**
- * @brief get the y coordinate scale value
- * @since 1.0
- * @version 1.0
- */
- float GetScaleY() const
- {
- return this->scaleRadioY_;
- }
-
- /**
- * @brief Rotate current drawing
- * @param angle rotate angle value.
- * @since 1.0
- * @version 1.0
- */
- void Rotate(float angle);
-
- /**
- * @brief Rotate current drawing
- * @param angle rotate angle value.
- * @param x translate x coordinate.
- * @param y translate y coordinate.
- * @since 1.0
- * @version 1.0
- */
- void Rotate(float angle, int16_t x, int16_t y);
-
- /**
- * @brief Remap the (x, y) position on the canvas
- * @param x translate x coordinate.
- * @param y translate y coordinate.
- * @since 1.0
- * @version 1.0
- */
- void Translate(int16_t x, int16_t y);
-
- /**
- * @brief Gets the x position on the remapping canvas
- * @since 1.0
- * @version 1.0
- */
- int16_t GetTranslateX() const
- {
- return this->translationX_;
- }
-
- /**
- * @brief Gets the Y position on the remapping canvas
- * @since 1.0
- * @version 1.0
- */
- int16_t GetTranslateY() const
- {
- return this->translationY_;
- }
-
- /**
- * @brief Resets the current conversion to the identity matrix. Then run transform ()
- * @param scaleX scale x value.
- * @param shearX shear x value.
- * @param shearY shear y value.
- * @param scaleY scale y value
- * @param transLateX translate x coordinate.
- * @param transLateY translate y coordinate.
- * @since 1.0
- * @version 1.0
- */
- void SetTransform(float scaleX, float shearX, float shearY, float scaleY, int16_t transLateX, int16_t transLateY);
-
- /**
- * @brief Resets the current conversion to the identity matrix. Then run transform ()
- * @param scaleX scale x value.
- * @param shearX shear x value.
- * @param shearY shear y value.
- * @param scaleY scale y value
- * @param transLateX translate x coordinate.
- * @param transLateY translate y coordinate.
- * @since 1.0
- * @version 1.0
- */
- void Transform(float scaleX, float shearX, float shearY, float scaleY, int16_t transLateX, int16_t transLateY);
-
- /**
- * @brief Gets the Trans Affine
- * @since 1.0
- * @version 1.0
- */
- TransAffine GetTransAffine() const
- {
- return transfrom_;
- }
-
- /**
- * @brief Gets the Rotate Angle
- * @since 1.0
- * @version 1.0
- */
- float GetRotateAngle() const
- {
- return rotateAngle_;
- }
private:
PaintStyle style_;
ColorType fillColor_;
ColorType strokeColor_;
uint8_t opacity_;
uint16_t strokeWidth_;
- float rotateAngle_; // Rotation angle in degrees
- float scaleRadioX_;
- float scaleRadioY_;
- int32_t translationX_;
- int32_t translationY_;
- TransAffine transfrom_; // matrix.
};
/**
*/
void DrawImage(const Point& startPoint, const char* image, const Paint& paint);
- void DrawImage(const Point& startPoint, const char* image, const Paint& paint, int16_t width, int16_t height);
/**
* @brief Defines the font style.
*/
delete arcParam;
}
- static void DeleteImageView(void* param)
+ static void DeleteImageParam(void* param)
{
- UIImageView* imageView = static_cast<UIImageView*>(param);
- delete imageView;
+ ImageParam* imageParam = static_cast<ImageParam*>(param);
+ if (imageParam->image != nullptr) {
+ delete imageParam->image;
+ }
+ delete imageParam;
}
static void DeleteLabel(void* param)
LINE_BREAK_MARQUEE,
/**
* The width and height of this label remain unchanged.
- * If this text is too long, it will be cropped to display.
+ * If this text is too long, it will be scrolled back and forth to display.
*/
- LINE_BREAK_CLIP,
+ LINE_BREAK_OSCILLATION,
/**
* The width and height of this label remain unchanged.
- * If this text is too long, it will be scrolled back and forth to display.
+ * If this text is too long, it will be cropped to display.
*/
- LINE_BREAK_OSCILLATION,
+ LINE_BREAK_CLIP,
/**
* Maximum value of the line break mode, which is used for validity check.
*/
UI_MENU_ITEM,
UI_CARD_PAGE,
UI_COVER_FLOW,
- UI_SLIP_FLOW,
UI_CROSS_VIEW,
UI_BARCODE,
UI_MAP_VIEW,
* @since 5.0
* @version 3.0
*/
- virtual void Scale(const Vector2<float>& scale, const Vector2<float>& pivot);
+ void Scale(const Vector2<float>& scale, const Vector2<float>& pivot);
/**
* @brief Scales the view in 3d.
* @since 5.0
* @version 3.0
*/
- virtual void Scale(const Vector3<float>& scale, const Vector3<float>& pivot);
+ void Scale(const Vector3<float>& scale, const Vector3<float>& pivot);
/**
* @brief Shears the view in 3d.
+++ /dev/null
-/*
- * Copyright (c) 2020-2021 Huawei Device Co., Ltd.
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#include "gfx_utils/trans_affine.h"
-#if ENABLE_CMATH
-#include <cmath>
-#endif
-
-namespace OHOS {
-const TransAffine& TransAffine::RectToParl(float x1, float y1,
- float x2, float y2,
- const float* parl)
-{
- data_[0] = x2 - x1;
- data_[3] = 0; // 3 : index
- data_[1] = x2 - x1;
- data_[4] = y2 - y1; // 4 : index
- data_[2] = x1; // 2 : index
- data_[5] = y1; // 5 : index
- Invert();
- Multiply(TransAffine(parl[2] - parl[0], parl[3] - parl[1], // 2 3 : index
- parl[4] - parl[0], parl[5] - parl[1], // 4 5 : index
- parl[0], parl[1]));
- return *this;
-}
-
-const TransAffine& TransAffine::Multiply(const TransAffine& metrix)
-{
- float t0 = data_[0] * metrix.data_[0] + data_[3] * metrix.data_[1]; // 3 : index
- float t2 = data_[1] * metrix.data_[0] + data_[4] * metrix.data_[1]; // 4 : index
- float t4 = data_[2] * metrix.data_[0] + data_[5] * metrix.data_[1] + metrix.data_[2]; // 2 5 : index
- data_[3] = data_[0] * metrix.data_[3] + data_[3] * metrix.data_[4]; // 3 4 : index
- data_[4] = data_[1] * metrix.data_[3] + data_[4] * metrix.data_[4]; // 3 4 5: index
- data_[5] = data_[2] * metrix.data_[3] + data_[5] * metrix.data_[4] + metrix.data_[5]; // 2 3 4 5 : index
- data_[0] = t0;
- data_[1] = t2;
- data_[2] = t4; // 2 : index
- return *this;
-}
-
-const TransAffine& TransAffine::Invert()
-{
- float d = DeterminantReciprocal();
-
- float t0 = data_[4] * d; // 4 : index
- data_[4] = data_[0] * d; // 4 : index
- data_[3] = -data_[3] * d; // 3 : index
- data_[1] = -data_[1] * d;
-
- float t4 = -data_[2] * t0 - data_[5] * data_[1]; // 2 5 : index
- data_[5] = -data_[2] * data_[3] - data_[5] * data_[4]; // 2 3 4 5 : index
-
- data_[0] = t0;
- data_[2] = t4; // 2 : index
- return *this;
-}
-
-const TransAffine& TransAffine::Reset()
-{
- data_[1] = 0;
- data_[2] = 0; // 2 : index
- data_[3] = 0; // 3 : index
- data_[5] = 0; // 5 : index
- data_[6] = 0; // 6 : index
- data_[7] = 0; // 7 : index
- data_[0] = 1;
- data_[4] = 1; // 4 : index
- data_[8] = 1; // 8 : index
- return *this;
-}
-
-bool TransAffine::IsIdentity() const
-{
- return MATH_FLT_EQUAL(data_[0], 1.0f) &&
- MATH_FLT_EQUAL(data_[3], 0.0f) && // 3 : index
- MATH_FLT_EQUAL(data_[1], 0.0f) &&
- MATH_FLT_EQUAL(data_[4], 1.0f) && // 4 : index
- MATH_FLT_EQUAL(data_[2], 0.0f) && // 2 : index
- MATH_FLT_EQUAL(data_[5], 0.0f); // 5 : index
-}
-
-bool TransAffine::IsValid(float epsilon) const
-{
- return (MATH_ABS(data_[0]) > epsilon) && (MATH_ABS(data_[4]) > epsilon); // 4 : index
-}
-
-TransAffine TransAffine::TransAffineRotation(float angle)
-{
-#if ENABLE_CMATH
- return TransAffine(std::cos(angle), std::sin(angle), -std::sin(angle), std::cos(angle), 0.0f, 0.0f);
-#else
- return TransAffine(Sin(QUARTER_IN_DEGREE - angle), Sin(angle), -Sin(angle), Sin(QUARTER_IN_DEGREE - angle),
- 0.0f, 0.0f);
-#endif
-}
-
-const TransAffine& TransAffine::Rotate(float angle)
-{
-#if ENABLE_CMATH
- float scaleXTemp = data_[0] * std::cos(angle) - data_[3] * std::sin(angle); // 3 : index
- float shearXTemp = data_[1] * std::cos(angle) - data_[4] * std::sin(angle); // 4 : index
- float translateXTemp = data_[2] * std::cos(angle) - data_[5] * std::sin(angle); // 5 : index
- data_[3] = data_[0] * std::sin(angle) + data_[3] * std::cos(angle); // 3 : index
- data_[4] = data_[1] * std::sin(angle) + data_[4] * std::cos(angle); // 4 : index
- data_[5] = data_[2] * std::sin(angle) + data_[5] * std::cos(angle); // 5 : index
-#else
- float scaleXTemp = data_[0] * Sin(QUARTER_IN_DEGREE - angle) - data_[3] * Sin(angle); // 3 : index
- float shearXTemp = data_[1] * Sin(QUARTER_IN_DEGREE - angle) - data_[4] * Sin(angle); // 4 : index
- float translateXTemp = data_[2] * Sin(QUARTER_IN_DEGREE - angle) - data_[5] * Sin(angle); // 2 5 : index
- data_[3] = data_[0] * Sin(angle) + data_[3] * Sin(QUARTER_IN_DEGREE - angle); // 3 : index
- data_[4] = data_[1] * Sin(angle) + data_[4] * Sin(QUARTER_IN_DEGREE - angle); // 4 : index
- data_[5] = data_[2] * Sin(angle) + data_[5] * Sin(QUARTER_IN_DEGREE - angle); // 2 5 : index
-#endif
- data_[0] = scaleXTemp;
- data_[1] = shearXTemp;
- data_[2] = translateXTemp; // 2 : index
- return *this;
-}
-} // namespace OHOS
/** A full rotation: 360 degrees */
static constexpr uint16_t CIRCLE_IN_DEGREE = 360;
/** Pi value */
-static constexpr double UI_PI = 3.14159265358979f;
+static constexpr double UI_PI = 3.14159265358979;
static constexpr float ATAN2_P3 = -0.3258775;
static constexpr float ATAN2_P5 = 0.1556117;
static constexpr float ATAN2_P7 = -0.0443360;
static constexpr float RADIAN_TO_ANGLE = 57.295779513;
static constexpr float UI_FLT_EPSILON = 1E-5;
static constexpr int16_t ORDER_MATRIX_4 = 4;
-static constexpr float VERTEX_DIST_EPSILON = 1e-14;
-static constexpr float BOXER = 180.0f;
float Sin(float angle);
float Acos(float value);
#include <cstdint>
#include "graphic_config.h"
namespace OHOS {
-#define MAX_IMG_PATH_LEN 128
+#define MAX_IMG_PATH_LEN 64
/**
* @brief Defines image head node information.
*/
+++ /dev/null
-/*
- * Copyright (c) 2020-2021 Huawei Device Co., Ltd.
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef GRAPHIC_LTE_TRANS_AFFINE_H
-#define GRAPHIC_LTE_TRANS_AFFINE_H
-
-#include "gfx_utils/graphic_math.h"
-
-namespace OHOS {
-const float affineEpsilon = 1e-14;
-const uint16_t parlIndexSize = 6;
-/**
- * @brief Map source transformation
- * @since 1.0
- * @version 1.0
- */
-class TransAffine : public Matrix3<float> {
-public:
- /**
- * @brief Initialize to identity matrix
- * @since 1.0
- * @version 1.0
- */
- TransAffine() : Matrix3<float>() {}
- /**
- * @brief Custom matrix
- * @since 1.0
- * @version 1.0
- */
- TransAffine(float v0, float v1, float v2, float v3, float v4, float v5)
- : Matrix3<float>(v0, v2, v4, v1, v3, v5, 0, 0, 1) {}
- /**
- * @brief Converts a rectangle to a parallelogram
- * @since 1.0
- * @version 1.0
- */
- TransAffine(float x1, float y1, float x2, float y2, const float* parl)
- {
- RectToParl(x1, y1, x2, y2, parl);
- }
-
- void SetData(int32_t index, float value)
- {
- data_[index] = value;
- }
- /**
- * @brief Convert the original parallelogram to the target parallelogram
- * @param x1 x-axis coordinate of the upper left corner of the rectangle
- * @param y1 y-axis coordinate of the upper left corner of the rectangle
- * @param x2 x-axis coordinates of the lower right corner of the rectangle
- * @param y2 y-axis coordinates of the lower right corner of the rectangle
- * @param parl Target parallelogram
- * @since 1.0
- * @version 1.0
- */
- const TransAffine& RectToParl(float x1, float y1,
- float x2, float y2,
- const float* parl);
-
- /**
- * @brief reset TransAffine
- * @since 1.0
- * @version 1.0
- */
- const TransAffine& Reset();
-
- /**
- * @brief Element offset
- * @param deltaX x-axis offset
- * @param deltaY y-axis offset
- * @since 1.0
- * @version 1.0
- */
- const TransAffine& Translate(float x, float y);
- /**
- * @brief Element rotation
- * @param angle Rotate angle
- * @since 1.0
- * @version 1.0
- */
- const TransAffine& Rotate(float angle);
- /**
- * @brief Element Scale
- * @param scale Overall amplification factor
- * @since 1.0
- * @version 1.0
- */
- const TransAffine& Scale(float scale);
- /**
- * @brief Element Scale
- * @param x x-axis magnification factor
- * @param y y-axis magnification factor
- * @since 1.0
- * @version 1.0
- */
- const TransAffine& Scale(float x, float y);
-
- /**
- * @brief Transformation matrix multiplication
- * @param metrix
- * @since 1.0
- * @version 1.0
- */
- const TransAffine& Multiply(const TransAffine& metrix);
-
- /**
- * @brief Matrix flip
- * @since 1.0
- * @version 1.0
- */
- const TransAffine& Invert();
-
- const TransAffine& operator*=(const TransAffine& metrix)
- {
- return Multiply(metrix);
- }
-
- /**
- * @brief Convert x, y
- * @param x x-coordinate
- * @param y y-coordinate
- * @since 1.0
- * @version 1.0
- */
- void Transform(float* x, float* y) const;
-
- /**
- * @brief inverse transformation
- * @param x x-coordinate
- * @param y y-coordinate
- * @since 1.0
- * @version 1.0
- */
- void InverseTransform(float* x, float* y) const;
-
- /**
- * @brief Computes the reciprocal of a determinant
- * @since 1.0
- * @version 1.0
- */
- float DeterminantReciprocal() const
- {
- float reciprocal = data_[0] * data_[4] - data_[3] * data_[1];
- if (reciprocal == 0) {
- return VERTEX_DIST_EPSILON;
- }
- return 1.0f / reciprocal;
- }
-
- /**
- * @brief Check the matrix for degradation
- * @since 1.0
- * @version 1.0
- */
- bool IsValid(float epsilon = affineEpsilon) const;
-
- /**
- * @brief Check whether it is an identity matrix
- * @since 1.0
- * @version 1.0
- */
- bool IsIdentity() const;
-
- /**
- * @brief zoom
- * @param x x-coordinate
- * @param y y-coordinate
- * @since 1.0
- * @version 1.0
- */
- void ScalingAbs(float* x, float* y) const;
-
- /**
- * @brief Set rotation matrix
- * @since 1.0
- * @version 1.0
- */
- static TransAffine TransAffineRotation(float angle);
-
- /**
- * @brief Set scaling matrix
- * @since 1.0
- * @version 1.0
- */
- static TransAffine TransAffineScaling(float x, float y)
- {
- return TransAffine(x, 0.0f, 0.0f, y, 0.0f, 0.0f);
- }
-
- /**
- * @brief Set scaling matrix
- * @since 1.0
- * @version 1.0
- */
- static TransAffine TransAffineScaling(float scale)
- {
- return TransAffine(scale, 0.0f, 0.0f, scale, 0.0f, 0.0f);
- }
- /**
- * @brief Set translation matrix
- * @since 1.0
- * @version 1.0
- */
- static TransAffine TransAffineTranslation(float x, float y)
- {
- return TransAffine(1.0f, 0.0f, 0.0f, 1.0f, x, y);
- }
-};
-
-inline void TransAffine::Transform(float* x, float* y) const
-{
- float tmp = *x;
- *x = tmp * data_[0] + *y * data_[1] + data_[2];
- *y = tmp * data_[3] + *y * data_[4] + data_[5];
-}
-
-inline void TransAffine::InverseTransform(float* x, float* y) const
-{
- float reciprocal = DeterminantReciprocal();
- float a = (*x - data_[2]) * reciprocal;
- float b = (*y - data_[5]) * reciprocal;
- *x = a * data_[4] - b * data_[1];
- *y = b * data_[0] - a * data_[3];
-}
-
-inline const TransAffine& TransAffine::Translate(float deltaX, float deltaY)
-{
- data_[2] += deltaX;
- data_[5] += deltaY;
- return *this;
-}
-
-inline const TransAffine& TransAffine::Scale(float scaleX, float scaleY)
-{
- data_[0] *= scaleX;
- data_[1] *= scaleX;
- data_[2] *= scaleX;
- data_[3] *= scaleY;
- data_[4] *= scaleY;
- data_[5] *= scaleY;
- return *this;
-}
-
-inline const TransAffine& TransAffine::Scale(float scale)
-{
- data_[0] *= scale;
- data_[1] *= scale;
- data_[2] *= scale;
- data_[3] *= scale;
- data_[4] *= scale;
- data_[5] *= scale;
- return *this;
-}
-
-inline void TransAffine::ScalingAbs(float* x, float* y) const
-{
- *x = Sqrt(data_[0] * data_[0] + data_[1] * data_[1]);
- *y = Sqrt(data_[3] * data_[3] + data_[4] * data_[4]);
-}
-} // namespace OHOS
-#endif
void TriggerEventListener(const AudioEventListener *listener)
{
- if (listener == nullptr) {
- // listener is nullptr
- return;
- }
if (!JsAsyncWork::DispatchAsyncWork(AsyncExecuteCallback, const_cast<AudioEventListener *>(listener))) {
MEDIA_ERR_LOG("dispatch async work failed.");
}
videoPlay->player_ = player;\r
\r
videoPlay->isPlaybackCompleted_ = false;\r
+ videoPlay->isPlaybackStopped_ = false;\r
videoPlay->interruptHintStop_ = false;\r
videoPlay->playError_ = false;\r
\r
{\r
MEDIA_ERR_LOG("StopVideoPlay start!");\r
MediaMutexLock(mutex_);\r
+ if (!isPlayed_) {\r
+ MEDIA_INFO_LOG("video play is not start,can not stop!");\r
+ goto EXIT;\r
+ }\r
if (isPlaybackStopped_ || isPlaybackCompleted_ || interruptHintStop_) {\r
if (isLoop_) {\r
if (!isPlaybackCompleted_) {\r
return MEDIA_OK;\r
}\r
}\r
+EXIT:\r
isPlaybackStopped_ = true;\r
MediaThreadCondSignal(cond_);\r
MediaMutexUnLock(mutex_);\r
if (isSyncExitMode_) {\r
MediaThreadJoin(&threadHandle_);\r
- isPlaybackStopped_ = false;\r
dynamic_cast<LiteSurface*>(surface_)->ClearBuffers(); // clear buffers safely in sync mode to reduce peak memory\r
}\r
play = nullptr;\r
\r
void MediaVideoPlay::DestroyVideoPlaySource(void)\r
{\r
+ if (!isEntered_) {\r
+ if (isSyncExitMode_) {\r
+ MediaThreadJoin(&threadHandle_);\r
+ // clear buffers safely in sync mode to reduce peak memory\r
+ dynamic_cast<LiteSurface *>(surface_)->ClearBuffers();\r
+ }\r
+ MEDIA_ERR_LOG("video is not played\n");\r
+ return;\r
+ }\r
needSendBackgroundFrame_ = false;\r
StopVideoPlay();\r
uint32_t count = 0;\r
bool ret_value = true;
uint16_t apps_area_pages;
- // set recover region
- start_address = RECOVERY_FLASH_REGION_START;
- core_section_length = FLASH_PAGE_SIZE * recovery_code_length;
- codeloader_command_set_core_region(CORE_IMAGES_RECOVERY, core_section_length, start_address);
-
- // set bt region
- start_address = BT_FLASH_REGION_START;
- core_section_length = FLASH_PAGE_SIZE * bt_code_length;
- codeloader_command_set_core_region(CORE_IMAGES_BT, core_section_length, start_address);
-
- // set dsp region
- start_address = DSP_FLASH_REGION_START;
- core_section_length = FLASH_PAGE_SIZE * dsp_code_length;
- codeloader_command_set_core_region(CORE_IMAGES_PROTOCOL, core_section_length, start_address);
-
- // set extern0 region
- start_address = DSP_CODEC_FLASH_REGION_START;
- core_section_length = FLASH_PAGE_SIZE * extern0_code_length;
- codeloader_command_set_core_region(CORE_IMAGES_EXTERN0, core_section_length, start_address);
-
- // set apps region
- apps_area_pages = (uint16_t)APP_FLASH_REGION_PAGES;
- start_address = (uint32_t)APP_FLASH_REGION_START;
-
- // check apps images will fit into allocated area
- if (apps_code_length > apps_area_pages) {
+ // Core Images always starts at end of the SSB.
+ start_address = (uint32_t)((uintptr_t)(g_hal_sectors_flash_region_end));
+ // make sure we can never put system images in the Application Area
+ if ((start_address + ((bt_code_length + recovery_code_length + dsp_code_length + extern0_code_length) *
+ FLASH_PAGE_SIZE)) > APP_FLASH_REGION_START) {
ret_value = false;
} else {
- core_section_length = FLASH_PAGE_SIZE * apps_code_length;
- codeloader_command_set_core_region(CORE_IMAGES_APPS, core_section_length, start_address);
+ // set recover region
+ core_section_length = FLASH_PAGE_SIZE * recovery_code_length;
+ codeloader_command_set_core_region(CORE_IMAGES_RECOVERY, core_section_length, start_address);
+ start_address += core_section_length;
+ // set bt region
+ core_section_length = FLASH_PAGE_SIZE * bt_code_length;
+ codeloader_command_set_core_region(CORE_IMAGES_BT, core_section_length, start_address);
+ start_address += core_section_length;
+
+ // set dsp region
+ core_section_length = FLASH_PAGE_SIZE * dsp_code_length;
+ codeloader_command_set_core_region(CORE_IMAGES_PROTOCOL, core_section_length, start_address);
+ start_address += core_section_length;
+
+ // set extern0 region
+ core_section_length = FLASH_PAGE_SIZE * extern0_code_length;
+ codeloader_command_set_core_region(CORE_IMAGES_EXTERN0, core_section_length, start_address);
+
+ // set apps region
+ apps_area_pages = (uint16_t)APP_FLASH_REGION_PAGES;
+ start_address = (uint32_t)APP_FLASH_REGION_START;
+
+ // check apps images will fit into allocated area
+ if (apps_code_length > apps_area_pages) {
+ ret_value = false;
+ } else {
+ core_section_length = FLASH_PAGE_SIZE * apps_code_length;
+ codeloader_command_set_core_region(CORE_IMAGES_APPS, core_section_length, start_address);
+ }
}
return ret_value;
}
if (ret != OSAL_SUCCESS) {
return ERRCODE_FAIL;
}
- cur_key->flush_flag = false;
return ERRCODE_SUCC;
}
nv_psram_free(cur_key);
return ERRCODE_FAIL;
}
- cur_key->flush_flag = true;
(void)nv_async_hash_add(cur_key);
}
key_found = kv_page_find_next_key(page, NULL, &key);
}
g_nv_async_flash_space = status.max_key_space;
- /* 当前key已刷新到flush上 */
- msg_data->flush_flag = true;
osal_sem_up(&nv_async_sem);
return res;
}
errcode_t nv_async_flush(void)
{
nv_queue_msg_handle_t msg_data_t;
- CstlHashIterator it;
- errcode_t res;
- /* 遍历hash表,将当前还没刷新到flash上的NV刷新到flash */
- for (it = CstlHashIterBegin(g_hash_table); it != CstlHashIterEnd(g_hash_table);
- it = CstlHashIterNext(g_hash_table, it)) {
- nv_key_map_t *cur_data = (nv_key_map_t *)CstlHashIterValue(g_hash_table, it);
- if (cur_data->flush_flag == false) {
- msg_data_t.key_id = cur_data->key_id;
- msg_data_t.key_ram_location = (uintptr_t)cur_data;
- res = nv_async_msg_process(&msg_data_t);
- if (res != ERRCODE_SUCC) {
- nv_log_err("[NV] nv_async_flush fail! key_id=0x%x", msg_data_t.key_id);
- }
- }
+ uint32_t msg_data_size = sizeof(nv_queue_msg_handle_t);
+ uint8_t cur_queue_num = (uint8_t)osal_msg_queue_get_msg_num(g_nv_msg_queue_id);
+
+ while (cur_queue_num > 0) {
+ (void)memset_s(&msg_data_t, msg_data_size, 0, msg_data_size);
+ osal_msg_queue_read_copy(g_nv_msg_queue_id, &msg_data_t, &msg_data_size, OSAL_MSGQ_NO_WAIT);
+ nv_async_msg_process(&msg_data_t);
+ cur_queue_num--;
}
return ERRCODE_SUCC;
typedef struct nv_key_map {
uint16_t key_id; /* Key ID */
- uint16_t key_len : 12; /* Key length */
+ uint16_t key_len : 13; /* Key length */
uint16_t permanent : 1; /* 是否是永久Key */
uint16_t encrypted : 1; /* 是否是加密Key */
uint16_t non_upgrade : 1; /* 是否不可以升级 */
- uint16_t flush_flag : 1; /* 是否已刷新到flash */
uint8_t kvalue[0]; /* key value */
} nv_key_map_t;
${CMAKE_CURRENT_SOURCE_DIR}/components/baidu_map_component.cpp
${CMAKE_CURRENT_SOURCE_DIR}/modules/app_module.cpp
${CMAKE_CURRENT_SOURCE_DIR}/modules/device_module.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/modules/network_module.cpp
${CMAKE_CURRENT_SOURCE_DIR}/modules/vibrator_module.cpp
${CMAKE_CURRENT_SOURCE_DIR}/modules/battery_module.cpp
${CMAKE_CURRENT_SOURCE_DIR}/modules/sensor_module.cpp
${CMAKE_CURRENT_SOURCE_DIR}/modules/presets/console_module.cpp
${CMAKE_CURRENT_SOURCE_DIR}/modules/presets/date_time_format_module.cpp
${CMAKE_CURRENT_SOURCE_DIR}/modules/presets/feature_ability_module.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/modules/presets/image_module.cpp
${CMAKE_CURRENT_SOURCE_DIR}/modules/presets/intl_module.cpp
${CMAKE_CURRENT_SOURCE_DIR}/modules/presets/jstest_module.cpp
${CMAKE_CURRENT_SOURCE_DIR}/modules/presets/localization_module.cpp
constexpr uint16_t PATH_LENGTH_MAX = 1024;
constexpr uint8_t NAME_LENGTH_MAX = 255;
constexpr uint8_t DEVICE_ID_LENGTH_MAX = 65;
-constexpr uint16_t FILE_CONTENT_LENGTH_MAX = 1024 * 48;
+constexpr uint16_t FILE_CONTENT_LENGTH_MAX = 1024 * 30;
// hex code
constexpr uint8_t DEC = 10;
jerry_value_t *ConvertKeyEventInfo(const KeyEvent &event);
#endif
void ClearEventListener(const jerry_value_t args[], uint8_t argc);
-bool DumpPrintMemoryInfo();
+
jerry_value_t *ConvertRotateEventInfo(const RotateEvent &event);
JSValue GetRootAbilitySlice();
JSValue CallWithRootAbilitySlice(JSValue func, JSValue args[], JSSize size);
#include "js_fwk_common.h"
#include "product_adapter.h"
#include "securec.h"
-#include "modules/presets/image_module.h"
-#include "image_component.h"
namespace OHOS {
namespace ACELite {
const char * const CanvasComponent::FUNC_CLOSEPATH = "closePath";
const char * const CanvasComponent::FUNC_STROKE = "stroke";
const char * const CanvasComponent::FUNC_CLEAR = "clear";
-const char * const CanvasComponent::FUNC_DRAWIMAGE = "drawImage";
-const char * const CanvasComponent::FUNC_TRANFORM = "transform";
-const char * const CanvasComponent::FUNC_SETTRANFORM = "setTransform";
-const char * const CanvasComponent::FUNC_ROTATE = "rotate";
-const char * const CanvasComponent::FUNC_SCALE = "scale";
// create canvas draw attribute-callback mapping
const AttrMap CanvasComponent::attrMap_[] = {
{FUNC_ARC, Arc},
{FUNC_CLOSEPATH, ClosePath},
{FUNC_STROKE, Stroke},
- {FUNC_CLEAR, Clear},
- {FUNC_DRAWIMAGE, DrawImage},
- {FUNC_TRANFORM, Transform},
- {FUNC_SETTRANFORM, SetTransform},
- {FUNC_ROTATE, Rotate},
- {FUNC_SCALE, Scale}
+ {FUNC_CLEAR, Clear}
};
CanvasComponent::CanvasComponent(jerry_value_t options, jerry_value_t children, AppStyleManager *styleManager)
return UNDEFINED;
}
-jerry_value_t CanvasComponent::DrawImage(const jerry_value_t func,
- const jerry_value_t context,
- const jerry_value_t args[],
- const jerry_length_t 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"));
- }
- if (argsNum < ArgsCount::NUM_1) {
- HILOG_ERROR(HILOG_MODULE_ACE, "canvas_component: DrawImage arg error!");
- return jerry_create_error(JERRY_ERROR_TYPE,
- reinterpret_cast<const jerry_char_t *>("canvas_component: DrawImage arg error!"));
- }
- char* imageName = nullptr;
- int16_t startX = 0;
- int16_t startY = 0;
- int16_t width = -1;
- int16_t height = -1;
- if (ParseImageName(args, imageName, width, height) != UNDEFINED) {
- return jerry_create_error(JERRY_ERROR_TYPE,
- reinterpret_cast<const jerry_char_t *>("parse Imagename function error"));
- }
- if (argsNum >= ArgsCount::NUM_2) {
- startX = IntegerOf(args[ArgsIndex::IDX_1]);
- }
- if (argsNum >= ArgsCount::NUM_3) {
- startY = IntegerOf(args[ArgsIndex::IDX_2]);
- }
- if (argsNum >= ArgsCount::NUM_4) {
- width = IntegerOf(args[ArgsIndex::IDX_3]);
- }
- if (argsNum >= ArgsCount::NUM_5) {
- height = IntegerOf(args[ArgsIndex::IDX_4]);
- }
- Point startLocat = {startX, startY};
-
- if (width > 0 || height > 0) {
- component->canvas_.DrawImage(startLocat, imageName, component->paint_, width, height);
- } else {
- component->canvas_.DrawImage(startLocat, imageName, component->paint_);
- }
- ACE_FREE(imageName);
- return UNDEFINED;
-}
-
-jerry_value_t CanvasComponent::Transform(const jerry_value_t func,
- const jerry_value_t dom,
- const jerry_value_t args[],
- const jerry_length_t argsNum)
-{
- (void)func;
- if (argsNum < ArgsCount::NUM_6) {
- HILOG_ERROR(HILOG_MODULE_ACE, "canvas_component: the number of rotate method parameter error!");
- return jerry_create_error(JERRY_ERROR_TYPE,
- reinterpret_cast<const jerry_char_t *>("rotate method parameter error"));
- }
-
- CanvasComponent *component = static_cast<CanvasComponent *>(ComponentUtils::GetComponentFromBindingObject(dom));
- 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"));
- }
-
- float scaleX = FloatOf(args[ArgsIndex::IDX_0]);
- float shearX = FloatOf(args[ArgsIndex::IDX_1]);
- float shearY = FloatOf(args[ArgsIndex::IDX_2]);
- float scaleY = FloatOf(args[ArgsIndex::IDX_3]);
- int16_t translateX = IntegerOf(args[ArgsIndex::IDX_4]);
- int16_t translateY = IntegerOf(args[ArgsIndex::IDX_5]);
- component->paint_.Transform(scaleX, shearX, shearY, scaleY, translateX, translateY);
- return UNDEFINED;
-}
-
-
-jerry_value_t CanvasComponent::SetTransform(const jerry_value_t func,
- const jerry_value_t dom,
- const jerry_value_t args[],
- const jerry_length_t argsNum)
-{
- (void)func;
- if (argsNum < ArgsCount::NUM_6) {
- HILOG_ERROR(HILOG_MODULE_ACE, "canvas_component: the number of rotate method parameter error!");
- return jerry_create_error(JERRY_ERROR_TYPE,
- reinterpret_cast<const jerry_char_t *>("rotate method parameter error"));
- }
-
- CanvasComponent *component = static_cast<CanvasComponent *>(ComponentUtils::GetComponentFromBindingObject(dom));
- 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"));
- }
-
- float scaleX = FloatOf(args[ArgsIndex::IDX_0]);
- float shearX = FloatOf(args[ArgsIndex::IDX_1]);
- float shearY = FloatOf(args[ArgsIndex::IDX_2]);
- float scaleY = FloatOf(args[ArgsIndex::IDX_3]);
- int16_t translateX = IntegerOf(args[ArgsIndex::IDX_4]);
- int16_t translateY = IntegerOf(args[ArgsIndex::IDX_5]);
- component->paint_.SetTransform(scaleX, shearX, shearY, scaleY, translateX, translateY);
- return UNDEFINED;
-}
-
-jerry_value_t CanvasComponent::Rotate(const jerry_value_t func,
- const jerry_value_t dom,
- const jerry_value_t args[],
- const jerry_length_t argsNum)
-{
- (void)func;
- if (argsNum < ArgsCount::NUM_1) {
- HILOG_ERROR(HILOG_MODULE_ACE, "canvas_component: the number of rotate method parameter error!");
- return jerry_create_error(JERRY_ERROR_TYPE,
- reinterpret_cast<const jerry_char_t *>("rotate method parameter error"));
- }
-
- CanvasComponent *component = static_cast<CanvasComponent *>(ComponentUtils::GetComponentFromBindingObject(dom));
- 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"));
- }
-
- float angle = FloatOf(args[ArgsIndex::IDX_0]);
- component->paint_.Rotate(angle);
- return UNDEFINED;
-}
-
-jerry_value_t CanvasComponent::Scale(const jerry_value_t func,
- const jerry_value_t dom,
- const jerry_value_t args[],
- const jerry_length_t argsNum)
-{
- (void)func;
- if (argsNum < ArgsCount::NUM_2) {
- HILOG_ERROR(HILOG_MODULE_ACE, "canvas_component: the number of scale method parameter error!");
- return jerry_create_error(JERRY_ERROR_TYPE,
- reinterpret_cast<const jerry_char_t *>("scale method parameter error"));
- }
-
- CanvasComponent *component = static_cast<CanvasComponent *>(ComponentUtils::GetComponentFromBindingObject(dom));
- 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"));
- }
-
- float scaleX = FloatOf(args[ArgsIndex::IDX_0]);
- float scaleY = FloatOf(args[ArgsIndex::IDX_1]);
- component->paint_.Scale(scaleX, scaleY);
- return UNDEFINED;
-}
-
jerry_value_t CanvasComponent::Clear(const jerry_value_t func,
const jerry_value_t context,
const jerry_value_t args[],
return UNDEFINED;
}
-jerry_value_t CanvasComponent::ParseImageName(const jerry_value_t args[],
- char*& imageName,
- int16_t &width,
- int16_t &height)
-{
- ImageComponent* imageCom = nullptr;
- const char *src = nullptr;
- char* imageNameBuf = nullptr;
- // The parameter is the file name
- if (jerry_value_is_string(args[ArgsIndex::IDX_0])) {
- imageNameBuf = MallocStringOf(args[ArgsIndex::IDX_0]);
- if (imageNameBuf == nullptr) {
- HILOG_ERROR(HILOG_MODULE_ACE, "canvas_component: get imageName value failed");
- return jerry_create_error(JERRY_ERROR_TYPE,
- reinterpret_cast<const jerry_char_t *>("get imageName value failed"));
- }
- imageName = imageNameBuf;
- return UNDEFINED;
- // Parameters are objects retrieved from HML
- } else if (jerry_value_is_object(args[ArgsIndex::IDX_0])) {
- void *nativePtr = nullptr;
- jerry_get_object_native_pointer(args[ArgsIndex::IDX_0], &nativePtr, nullptr);
- imageCom = reinterpret_cast<ImageComponent*>(nativePtr);
- if (imageCom != nullptr) {
- src = imageCom->GetSrc();
- if (src == nullptr) {
- HILOG_ERROR(HILOG_MODULE_ACE, "canvas_component: get imagePath value failed");
- return jerry_create_error(JERRY_ERROR_TYPE,
- reinterpret_cast<const jerry_char_t *>("get imagePath value failed"));
- }
- size_t strLen = strlen(src) + 1;
- imageName = static_cast<char*>(ace_malloc(strLen));
- if (memcpy_s(imageName, strLen, src, strLen) != EOK) {
- HILOG_ERROR(HILOG_MODULE_ACE, "canvas_component: get imagePath value failed");
- return UNDEFINED;
- }
- return UNDEFINED;
- } else {
- // The argument is the object passed through the new Image()
- imageName = GetImageObjectParam(args);
- if (strlen(imageName) < 1) {
- return jerry_create_error(JERRY_ERROR_TYPE,
- reinterpret_cast<const jerry_char_t *>("get imageName value failed"));
- }
- return UNDEFINED;
- }
- } else {
- HILOG_ERROR(HILOG_MODULE_ACE, "canvas_component: get imageName value failed");
- return jerry_create_error(JERRY_ERROR_TYPE,
- reinterpret_cast<const jerry_char_t *>("get imageName value failed"));
- }
- return UNDEFINED;
-}
-
-char* CanvasComponent::GetImageObjectParam(const jerry_value_t args[])
-{
- jerry_value_t src = jerryx_get_property_str(args[ArgsIndex::IDX_0], ImageModule::attrSrc);
- char* srcVal = MallocStringOf(src);
- return srcVal;
-}
-
void CanvasComponent::GetSubFont(const char *font, const uint8_t index, char *&subFont) const
{
if (font == nullptr || *font == '\0') {
const jerry_value_t args[],
const jerry_length_t argsNum);
- static jerry_value_t DrawImage(const jerry_value_t func,
- const jerry_value_t context,
- const jerry_value_t args[],
- const jerry_length_t argsNum);
-
- static jerry_value_t Transform(const jerry_value_t func,
- const jerry_value_t dom,
- const jerry_value_t args[],
- const jerry_length_t argsNum);
-
- static jerry_value_t SetTransform(const jerry_value_t func,
- const jerry_value_t dom,
- const jerry_value_t args[],
- const jerry_length_t argsNum);
-
- static jerry_value_t ParseImageName(const jerry_value_t args[],
- char*& imageName,
- int16_t &width,
- int16_t &height);
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);
- static jerry_value_t Rotate(const jerry_value_t func,
- const jerry_value_t dom,
- const jerry_value_t args[],
- const jerry_length_t argsNum);
-
- static jerry_value_t Scale(const jerry_value_t func,
- const jerry_value_t dom,
- const jerry_value_t args[],
- const jerry_length_t argsNum);
-
- static char* GetImageObjectParam(const jerry_value_t args[]);
UICanvas canvas_;
jerry_value_t context_;
Paint paint_;
static const char * const FUNC_ARC;
static const char * const FUNC_CLOSEPATH;
static const char * const FUNC_STROKE;
- static const char * const FUNC_DRAWIMAGE;
- static const char * const FUNC_TRANFORM;
- static const char * const FUNC_SETTRANFORM;
static const char * const FUNC_CLEAR;
- static const char * const FUNC_ROTATE;
- static const char * const FUNC_SCALE;
};
} // namespace ACELite
} // namespace OHOS
void Component::ReleaseCommonEventListeners()
{
- RootView *rootView = RootView::GetInstance();
- if (rootView != nullptr) {
- rootView->ClearOnKeyActListener();
- }
- ACE_DELETE(onKeyInputListener_);
ACE_DELETE(onClickListener_);
ACE_DELETE(onLongPressListener_);
#ifdef JS_TOUCH_EVENT_SUPPORT
SetComponentName(K_IMAGE);
}
-const char *ImageComponent::GetSrc()
-{
- return imageView_.GetPath();
-}
-
bool ImageComponent::CreateNativeViews()
{
// set default value
ImageComponent() = delete;
ImageComponent(jerry_value_t options, jerry_value_t children, AppStyleManager *styleManager);
~ImageComponent() override {}
- const char *GetSrc();
-
+
protected:
bool CreateNativeViews() override;
UIView *GetComponentRootView() const override;
if (flag) {
if ((!CheckIsJsValueFunction(success)) || (!CheckIsJsValueDefined(context))) {
HILOG_ERROR(HILOG_MODULE_ACE, "Error in ExecuteSendMsgToJS. Invalid params detected!");
- if (msgBody != nullptr) {
- AdapterFree(msgBody);
- msgBody = nullptr;
- }
return;
}
OHOS::ACELite::JSIValue successArgv[OHOS::ACELite::ARGC_ONE] = { dataInfo };
} else {
if ((!CheckIsJsValueDefined(context)) || (!CheckIsJsValueFunction(fail))) {
HILOG_ERROR(HILOG_MODULE_ACE, "Error in ExecuteSendMsgToJS. Invalid params detected!");
- if (msgBody != nullptr) {
- AdapterFree(msgBody);
- msgBody = nullptr;
- }
return;
}
OHOS::ACELite::JSIValue failArgv[OHOS::ACELite::ARGC_ONE] = { dataInfo };
if (!OHOS::ACELite::JSI::ValueIsUndefined(callback)) {
if (!OHOS::ACELite::JSI::ValueIsFunction(callback)) {
HILOG_ERROR(HILOG_MODULE_ACE, "Success callback value is not a function");
- ReleaseJsValue(callback);
- return false;
} else {
switch (type) {
case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI:
if (isSuccess) {
- poi_successCallback = callback;
+ poi_successCallback = OHOS::ACELite::JSI::AcquireValue(callback);
} else {
- poi_failCallback = callback;
+ poi_failCallback = OHOS::ACELite::JSI::AcquireValue(callback);
}
break;
case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_AUTH_LICENSE:
if (isSuccess) {
- auth_successCallback = callback;
+ auth_successCallback = OHOS::ACELite::JSI::AcquireValue(callback);
} else {
- auth_failCallback = callback;
+ auth_failCallback = OHOS::ACELite::JSI::AcquireValue(callback);
}
break;
case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_INIT:
if (isSuccess) {
- nav_successCallback = callback;
+ nav_successCallback = OHOS::ACELite::JSI::AcquireValue(callback);
} else {
- nav_failCallback = callback;
+ nav_failCallback = OHOS::ACELite::JSI::AcquireValue(callback);
}
break;
case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI_SUG_SEARCH:
if (isSuccess) {
- poi_sug_successCallback = callback;
+ poi_sug_successCallback = OHOS::ACELite::JSI::AcquireValue(callback);
} else {
- poi_sug_failCallback = callback;
+ poi_sug_failCallback = OHOS::ACELite::JSI::AcquireValue(callback);
}
break;
case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GEO_LOCATION:
- geo_location_Callback = callback;
+ geo_location_Callback = OHOS::ACELite::JSI::AcquireValue(callback);
break;
case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_START:
- route_plan_start_Callback = callback;
+ route_plan_start_Callback = OHOS::ACELite::JSI::AcquireValue(callback);
break;
case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_SUCC:
- route_plan_success_Callback = callback;
+ route_plan_success_Callback = OHOS::ACELite::JSI::AcquireValue(callback);
break;
case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_FAIL:
- route_plan_fail_Callback = callback;
+ route_plan_fail_Callback = OHOS::ACELite::JSI::AcquireValue(callback);
break;
case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_START:
- navi_start_Callback = callback;
+ navi_start_Callback = OHOS::ACELite::JSI::AcquireValue(callback);
break;
case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_DESTROY:
- navi_destroy_Callback = callback;
+ navi_destroy_Callback = OHOS::ACELite::JSI::AcquireValue(callback);
break;
case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROAD_GUIDE_TEXT_UPDATE:
- road_guide_text_update_Callback = callback;
+ road_guide_text_update_Callback = OHOS::ACELite::JSI::AcquireValue(callback);
break;
case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROAD_GUIDE_ICON_UPDATE:
- road_guide_icon_update_Callback = callback;
+ road_guide_icon_update_Callback = OHOS::ACELite::JSI::AcquireValue(callback);
break;
case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REMAIN_TIME_UPDATE:
- remain_time_Callback = callback;
+ remain_time_Callback = OHOS::ACELite::JSI::AcquireValue(callback);
break;
case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REMAIN_DISTANCE_UPDATE:
- remain_distance_Callback = callback;
+ remain_distance_Callback = OHOS::ACELite::JSI::AcquireValue(callback);
break;
case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REMAIN_ROUTE_UPDATE:
- remain_route_Callback = callback;
+ remain_route_Callback = OHOS::ACELite::JSI::AcquireValue(callback);
break;
case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GPS_STATUS_CHANGE:
- gps_status_Callback = callback;
+ gps_status_Callback = OHOS::ACELite::JSI::AcquireValue(callback);
break;
case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_FARAWAY:
- route_far_Callback = callback;
+ route_far_Callback = OHOS::ACELite::JSI::AcquireValue(callback);
break;
case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_YAWING:
- route_plan_yawing_Callback = callback;
+ route_plan_yawing_Callback = OHOS::ACELite::JSI::AcquireValue(callback);
break;
case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_RE_ROUTE_COMPLETE:
- reroute_Callback = callback;
+ reroute_Callback = OHOS::ACELite::JSI::AcquireValue(callback);
break;
case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ARRIVE_DSTINATION:
- arrivedest_Callback = callback;
+ arrivedest_Callback = OHOS::ACELite::JSI::AcquireValue(callback);
break;
case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GEOCODE_SEARCH:
if (isSuccess) {
- geocode_search_successCallback = callback;
+ geocode_search_successCallback = OHOS::ACELite::JSI::AcquireValue(callback);
} else {
- geocode_search_failCallback = callback;
+ geocode_search_failCallback = OHOS::ACELite::JSI::AcquireValue(callback);
}
break;
case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REGEOCODE_SEARCH:
if (isSuccess) {
- regeocode_search_successCallback = callback;
+ regeocode_search_successCallback = OHOS::ACELite::JSI::AcquireValue(callback);
} else {
- regeocode_search_failCallback = callback;
+ regeocode_search_failCallback = OHOS::ACELite::JSI::AcquireValue(callback);
}
break;
case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_RIDING_SEARCH:
if (isSuccess) {
- route_riding_successCallback = callback;
+ route_riding_successCallback = OHOS::ACELite::JSI::AcquireValue(callback);
} else {
- route_riding_failCallback = callback;
+ route_riding_failCallback = OHOS::ACELite::JSI::AcquireValue(callback);
}
break;
case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_WALKING_SEARCH:
if (isSuccess) {
- route_walking_successCallback = callback;
+ route_walking_successCallback = OHOS::ACELite::JSI::AcquireValue(callback);
} else {
- route_walking_failCallback = callback;
+ route_walking_failCallback = OHOS::ACELite::JSI::AcquireValue(callback);
}
break;
case MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_TRANSIT_SEARCH:
if (isSuccess) {
- route_transit_successCallback = callback;
+ route_transit_successCallback = OHOS::ACELite::JSI::AcquireValue(callback);
} else {
- route_transit_failCallback = callback;
+ route_transit_failCallback = OHOS::ACELite::JSI::AcquireValue(callback);
}
break;
case MSGCENTER_TYPE_ID_VECTOR_NAVI_BT_CONNECTED:
if (isSuccess) {
- bt_connect_successCallback = callback;
+ bt_connect_successCallback = OHOS::ACELite::JSI::AcquireValue(callback);
} else {
- bt_connect_failCallback = callback;
+ bt_connect_failCallback = OHOS::ACELite::JSI::AcquireValue(callback);
}
break;
default:
poi_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
OHOS::ACELite::JSIValue successCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_SUCCESS);
OHOS::ACELite::JSIValue failCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_FAIL);
- bool hasSuccessCallback = setCallbackFunction(successCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI,true);
- bool hasFailCallback = setCallbackFunction(failCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI,false);
- if (hasSuccessCallback || hasFailCallback) {
- msg_center_vector_navi_req_poi(MSGCENTER_CMD_VECTOR_NAVI,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI,data,strlen(data));
- }
- ace_free(data);
- return JSI::CreateBoolean(true);
+ setCallbackFunction(successCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI,true);
+ setCallbackFunction(failCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI,false);
+ msg_center_vector_navi_req_poi(MSGCENTER_CMD_VECTOR_NAVI,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI,data,strlen(data));
+ return JSI::CreateBoolean(0);
}
JSIValue BaiduMapComponentModule::route_riding_search(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
route_riding_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
OHOS::ACELite::JSIValue successCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_SUCCESS);
OHOS::ACELite::JSIValue failCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_FAIL);
- bool hasSuccessCallback = setCallbackFunction(successCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_RIDING_SEARCH,true);
- bool hasFailCallback = setCallbackFunction(failCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_RIDING_SEARCH,false);
- if (hasSuccessCallback || hasFailCallback) {
- msg_center_vector_navi_req_route_riding_search(MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_RIDING_SEARCH,data,strlen(data));
- }
- ace_free(data);
- return JSI::CreateBoolean(true);
+ setCallbackFunction(successCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_RIDING_SEARCH,true);
+ setCallbackFunction(failCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_RIDING_SEARCH,false);
+ msg_center_vector_navi_req_route_riding_search(MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_RIDING_SEARCH,data,strlen(data));
+ return JSI::CreateBoolean(0);
}
JSIValue BaiduMapComponentModule::route_walking_search(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
route_walking_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
OHOS::ACELite::JSIValue successCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_SUCCESS);
OHOS::ACELite::JSIValue failCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_FAIL);
- bool hasSuccessCallback = setCallbackFunction(successCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_WALKING_SEARCH,true);
- bool hasFailCallback = setCallbackFunction(failCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_WALKING_SEARCH,false);
- if (hasSuccessCallback || hasFailCallback) {
- msg_center_vector_navi_req_route_walking_search(MSGCENTER_CMD_VECTOR_NAVI,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_WALKING_SEARCH,data,strlen(data));
- }
- ace_free(data);
- return JSI::CreateBoolean(true);
+ setCallbackFunction(successCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_WALKING_SEARCH,true);
+ setCallbackFunction(failCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_WALKING_SEARCH,false);
+ msg_center_vector_navi_req_route_walking_search(MSGCENTER_CMD_VECTOR_NAVI,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_WALKING_SEARCH,data,strlen(data));
+ return JSI::CreateBoolean(0);
}
JSIValue BaiduMapComponentModule::route_transit_search(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
route_transit_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
OHOS::ACELite::JSIValue successCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_SUCCESS);
OHOS::ACELite::JSIValue failCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_FAIL);
- bool hasSuccessCallback = setCallbackFunction(successCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_TRANSIT_SEARCH,true);
- bool hasFailCallback = setCallbackFunction(failCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_TRANSIT_SEARCH,false);
- if (hasSuccessCallback || hasFailCallback) {
- msg_center_vector_navi_req_route_transit_search(MSGCENTER_CMD_VECTOR_NAVI,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_TRANSIT_SEARCH,data,strlen(data));
- }
- ace_free(data);
- return JSI::CreateBoolean(true);
+ setCallbackFunction(successCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_TRANSIT_SEARCH,true);
+ setCallbackFunction(failCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_TRANSIT_SEARCH,false);
+ msg_center_vector_navi_req_route_transit_search(MSGCENTER_CMD_VECTOR_NAVI,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_TRANSIT_SEARCH,data,strlen(data));
+ return JSI::CreateBoolean(0);
}
JSIValue BaiduMapComponentModule::auth_license(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
auth_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
OHOS::ACELite::JSIValue successCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_SUCCESS);
OHOS::ACELite::JSIValue failCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_FAIL);
- bool hasSuccessCallback = setCallbackFunction(successCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_AUTH_LICENSE,true);
- bool hasFailCallback = setCallbackFunction(failCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_AUTH_LICENSE,false);
- if (hasSuccessCallback || hasFailCallback) {
- msg_center_vector_navi_req_auth_license(MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_AUTH_LICENSE,data,strlen(data));
- }
- ace_free(data);
- return JSI::CreateBoolean(true);
+ setCallbackFunction(successCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_AUTH_LICENSE,true);
+ setCallbackFunction(failCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_AUTH_LICENSE,false);
+ msg_center_vector_navi_req_auth_license(MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_AUTH_LICENSE,data,strlen(data));
+ return JSI::CreateBoolean(0);
}
JSIValue BaiduMapComponentModule::getGeolocation(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GEO_LOCATION);
geo_location_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
OHOS::ACELite::JSIValue Callback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_CALLBACK);
- bool hasCallback = setCallbackFunction(Callback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GEO_LOCATION,true);
- if (hasCallback) {
- msg_center_vector_navi_req_geo_location(MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GEO_LOCATION,data,strlen(data));
- }
- ace_free(data);
- return JSI::CreateBoolean(true);
+ setCallbackFunction(Callback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GEO_LOCATION,true);
+ msg_center_vector_navi_req_geo_location(MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GEO_LOCATION,data,strlen(data));
+ return JSI::CreateBoolean(0);
}
JSIValue BaiduMapComponentModule::naviInit(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
nav_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
OHOS::ACELite::JSIValue successCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_SUCCESS);
OHOS::ACELite::JSIValue failCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_FAIL);
- bool hasSuccessCallback = setCallbackFunction(successCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_INIT,true);
- bool hasFailCallback = setCallbackFunction(failCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_INIT,false);
- if (hasSuccessCallback || hasFailCallback) {
- msg_center_vector_navi_req_navi_init(MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_INIT,data,strlen(data));
- }
- ace_free(data);
- return JSI::CreateBoolean(true);
+ setCallbackFunction(successCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_INIT,true);
+ setCallbackFunction(failCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_INIT,false);
+ msg_center_vector_navi_req_navi_init(MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_INIT,data,strlen(data));
+ return JSI::CreateBoolean(0);
}
JSIValue BaiduMapComponentModule::onRoutePlanStart(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_START);
route_plan_start_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
setCallbackFunction(Callback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_START,true);
- return JSI::CreateBoolean(true);
+ return JSI::CreateBoolean(0);
}
JSIValue BaiduMapComponentModule::onRoutePlanSuccess(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_SUCC);
route_plan_success_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
setCallbackFunction(Callback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_SUCC,true);
- return JSI::CreateBoolean(true);
+ return JSI::CreateBoolean(0);
}
JSIValue BaiduMapComponentModule::onRoutePlanFail(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_FAIL);
route_plan_fail_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
setCallbackFunction(Callback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_FAIL,true);
- return JSI::CreateBoolean(true);
+ return JSI::CreateBoolean(0);
}
JSIValue BaiduMapComponentModule::onNaviStart(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_START);
navi_start_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
setCallbackFunction(Callback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_START,true);
- return JSI::CreateBoolean(true);
+ return JSI::CreateBoolean(0);
}
JSIValue BaiduMapComponentModule::onNaviDestroy(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_DESTROY);
navi_destroy_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
setCallbackFunction(Callback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_NAVI_DESTROY,true);
- return JSI::CreateBoolean(true);
+ return JSI::CreateBoolean(0);
}
JSIValue BaiduMapComponentModule::onRoadGuideTextUpdate(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROAD_GUIDE_TEXT_UPDATE);
road_guide_text_update_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
setCallbackFunction(Callback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROAD_GUIDE_TEXT_UPDATE,true);
- return JSI::CreateBoolean(true);
+ return JSI::CreateBoolean(0);
}
JSIValue BaiduMapComponentModule::onRouteGuideIconUpdate(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROAD_GUIDE_ICON_UPDATE);
road_guide_icon_update_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
setCallbackFunction(Callback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROAD_GUIDE_ICON_UPDATE,true);
- return JSI::CreateBoolean(true);
+ return JSI::CreateBoolean(0);
}
JSIValue BaiduMapComponentModule::onRemainTimeUpdate(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REMAIN_TIME_UPDATE);
remain_time_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
setCallbackFunction(Callback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REMAIN_TIME_UPDATE,true);
- return JSI::CreateBoolean(true);
+ return JSI::CreateBoolean(0);
}
JSIValue BaiduMapComponentModule::onRemainDistanceUpdate(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REMAIN_DISTANCE_UPDATE);
remain_distance_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
setCallbackFunction(Callback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REMAIN_DISTANCE_UPDATE,true);
- return JSI::CreateBoolean(true);
+ return JSI::CreateBoolean(0);
}
JSIValue BaiduMapComponentModule::onRemainRouteUpdate(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REMAIN_ROUTE_UPDATE);
remain_route_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
setCallbackFunction(Callback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REMAIN_ROUTE_UPDATE,true);
- return JSI::CreateBoolean(true);
+ return JSI::CreateBoolean(0);
}
JSIValue BaiduMapComponentModule::onGpsStatusChange(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GPS_STATUS_CHANGE);
gps_status_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
setCallbackFunction(Callback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GPS_STATUS_CHANGE,true);
- return JSI::CreateBoolean(true);
+ return JSI::CreateBoolean(0);
}
JSIValue BaiduMapComponentModule::onRouteFarAway(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_FARAWAY);
route_far_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
setCallbackFunction(Callback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_FARAWAY,true);
- return JSI::CreateBoolean(true);
+ return JSI::CreateBoolean(0);
}
JSIValue BaiduMapComponentModule::onRoutePlanYawing(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
route_plan_yawing_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
setCallbackFunction(Callback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_YAWING,true);
//msg_center_vector_navi_req_route_plan_yawing(MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ROUTE_PLAN_YAWING,Callback,1);
- return JSI::CreateBoolean(true);
+ return JSI::CreateBoolean(0);
}
JSIValue BaiduMapComponentModule::onReRouteComplete(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_RE_ROUTE_COMPLETE);
reroute_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
setCallbackFunction(Callback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_RE_ROUTE_COMPLETE,true);
- return JSI::CreateBoolean(true);
+ return JSI::CreateBoolean(0);
}
JSIValue BaiduMapComponentModule::onArriveDest(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
ReleaseMsgJsValue(MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ARRIVE_DSTINATION);
arrivedest_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
setCallbackFunction(Callback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_ARRIVE_DSTINATION,true);
- return JSI::CreateBoolean(true);
+ return JSI::CreateBoolean(0);
}
JSIValue BaiduMapComponentModule::poi_sug_search(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize)
poi_sug_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
OHOS::ACELite::JSIValue successCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_SUCCESS);
OHOS::ACELite::JSIValue failCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_FAIL);
- bool hasSuccessCallback = setCallbackFunction(successCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI_SUG_SEARCH,true);
- bool hasFailCallback = setCallbackFunction(failCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI_SUG_SEARCH,false);
- if (hasSuccessCallback || hasFailCallback) {
- msg_center_vertor_navi_req_poi_sug_search(MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI_SUG_SEARCH,data,strlen(data));
- }
- ace_free(data);
- return JSI::CreateBoolean(true);
+ setCallbackFunction(successCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI_SUG_SEARCH,true);
+ setCallbackFunction(failCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI_SUG_SEARCH,false);
+ msg_center_vertor_navi_req_poi_sug_search(MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_POI_SUG_SEARCH,data,strlen(data));
+ return JSI::CreateBoolean(0);
}
/**
geocode_search_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
OHOS::ACELite::JSIValue successCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_SUCCESS);
OHOS::ACELite::JSIValue failCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_FAIL);
- bool hasSuccessCallback = setCallbackFunction(successCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GEOCODE_SEARCH,true);
- bool hasFailCallback = setCallbackFunction(failCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GEOCODE_SEARCH,false);
- if (hasSuccessCallback || hasFailCallback) {
- msg_center_vector_navi_req_geocode_search(MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GEOCODE_SEARCH,data,strlen(data));
- }
- ace_free(data);
- return JSI::CreateBoolean(true);
+ setCallbackFunction(successCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GEOCODE_SEARCH,true);
+ setCallbackFunction(failCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GEOCODE_SEARCH,false);
+ msg_center_vector_navi_req_geocode_search(MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_GEOCODE_SEARCH,data,strlen(data));
+ return JSI::CreateBoolean(0);
}
regeocode_search_callbackContext = OHOS::ACELite::JSI::AcquireValue(thisVal);
OHOS::ACELite::JSIValue successCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_SUCCESS);
OHOS::ACELite::JSIValue failCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], CB_FAIL);
- bool hasSuccessCallback = setCallbackFunction(successCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REGEOCODE_SEARCH,true);
- bool hasFailCallback = setCallbackFunction(failCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REGEOCODE_SEARCH,false);
- if (hasSuccessCallback || hasFailCallback) {
- msg_center_vector_navi_req_regeocode_search(MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REGEOCODE_SEARCH,data,strlen(data));
- }
- ace_free(data);
- return JSI::CreateBoolean(true);
+ setCallbackFunction(successCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REGEOCODE_SEARCH,true);
+ setCallbackFunction(failCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REGEOCODE_SEARCH,false);
+ msg_center_vector_navi_req_regeocode_search(MSGCENTER_CMD_VECTOR_NAVI, MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_REGEOCODE_SEARCH,data,strlen(data));
+ return JSI::CreateBoolean(0);
}
/**
char *data = JSI::JsonStringify(args[0]);
HILOG_INFO(HILOG_MODULE_ACE,"Destroy_page : %s \n",data);
msg_center_vector_navi_req_destroy_page(MSGCENTER_CMD_VECTOR_NAVI,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_DESTROY_PAGE,data,strlen(data));
- ace_free(data);
- return JSI::CreateBoolean(true);
+ return JSI::CreateBoolean(0);
}
/**
OHOS::ACELite::JSIValue disconnectCallback = OHOS::ACELite::JSI::GetNamedProperty(args[0], DISCONNECT);
setCallbackFunction(connectCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_BT_CONNECTED,true);
setCallbackFunction(disconnectCallback,MSGCENTER_TYPE_ID_VECTOR_NAVI_BT_CONNECTED,false);
- ace_free(data);
- return JSI::CreateBoolean(true);
+ return JSI::CreateBoolean(0);
}
/**
char *data = JSI::JsonStringify(args[0]);
HILOG_INFO(HILOG_MODULE_ACE,"exitNavigation : %s \n",data);
msg_center_vector_navi_req_destroy_from_watch(MSGCENTER_CMD_VECTOR_NAVI,MSGCENTER_TYPE_ID_VECTOR_NAVI_REQ_DESTROY_FROM_WATCH,data,strlen(data));
- ace_free(data);
- return JSI::CreateBoolean(true);
+ return JSI::CreateBoolean(0);
}
/**
char *data = JSI::JsonStringify(args[0]);
HILOG_INFO(HILOG_MODULE_ACE,"StopAnswer : %s \n",data);
msg_center_xiaodu_send_stop_answer(MSGCENTER_CMD_XIAODU,MSGCENTER_TYPE_ID_XIAODU_SEND_JS_EXIT,data,strlen(data));
- ace_free(data);
- return JSI::CreateBoolean(true);
+ return JSI::CreateBoolean(0);
}
-void BaiduMapComponentModule::OnDestroy()
-{
- HILOG_INFO(HILOG_MODULE_ACE, "BaiduMapComponent OnDestroy\n");
-
- //poi_nearby_search
- ReleaseJsValue(poi_successCallback);
- ReleaseJsValue(poi_failCallback);
- ReleaseJsValue(poi_callbackContext);
- //route_riding_search
- ReleaseJsValue(route_riding_successCallback);
- ReleaseJsValue(route_riding_failCallback);
- ReleaseJsValue(route_riding_callbackContext);
- //route_walking_search
- ReleaseJsValue(route_walking_successCallback);
- ReleaseJsValue(route_walking_failCallback);
- ReleaseJsValue(route_walking_callbackContext);
- //route_transit_search
- ReleaseJsValue(route_transit_successCallback);
- ReleaseJsValue(route_transit_failCallback);
- ReleaseJsValue(route_transit_callbackContext);
- //auth_license
- ReleaseJsValue(auth_successCallback);
- ReleaseJsValue(auth_failCallback);
- ReleaseJsValue(auth_callbackContext);
- //onRoutePlanStart
- ReleaseJsValue(route_plan_start_Callback);
- ReleaseJsValue(route_plan_start_callbackContext);
- //onRoutePlanSuccess
- ReleaseJsValue(route_plan_success_Callback);
- ReleaseJsValue(route_plan_success_callbackContext);
- //onRoutePlanFail
- ReleaseJsValue(route_plan_fail_Callback);
- ReleaseJsValue(route_plan_fail_callbackContext);
- //onNaviStart
- ReleaseJsValue(navi_start_Callback);
- ReleaseJsValue(navi_start_callbackContext);
- //onNaviDestroy
- ReleaseJsValue(navi_destroy_Callback);
- ReleaseJsValue(navi_destroy_callbackContext);
- //onRoadGuideTextUpdate
- ReleaseJsValue(road_guide_text_update_Callback);
- ReleaseJsValue(road_guide_text_update_callbackContext);
- //onRouteGuideIconUpdate
- ReleaseJsValue(road_guide_icon_update_Callback);
- ReleaseJsValue(road_guide_icon_update_callbackContext);
- //onRemainTimeUpdate
- ReleaseJsValue(remain_time_Callback);
- ReleaseJsValue(remain_time_callbackContext);
- //onRemainDistanceUpdate
- ReleaseJsValue(remain_distance_Callback);
- ReleaseJsValue(remain_distance_callbackContext);
- //onRemainRouteUpdate
- ReleaseJsValue(remain_route_Callback);
- ReleaseJsValue(remain_route_callbackContext);
- //onGpsStatusChange
- ReleaseJsValue(gps_status_Callback);
- ReleaseJsValue(gps_status_callbackContext);
- //onRouteFarAway
- ReleaseJsValue(route_far_Callback);
- ReleaseJsValue(route_far_callbackContext);
- //onRoutePlanYawing
- ReleaseJsValue(route_plan_yawing_Callback);
- ReleaseJsValue(route_plan_yawing_callbackContext);
- //onReRouteComplete
- ReleaseJsValue(reroute_Callback);
- ReleaseJsValue(reroute_callbackContext);
- //onArriveDest
- ReleaseJsValue(arrivedest_Callback);
- ReleaseJsValue(arrivedest_callbackContext);
- //poi_sug_search
- ReleaseJsValue(poi_sug_successCallback);
- ReleaseJsValue(poi_sug_failCallback);
- ReleaseJsValue(poi_sug_callbackContext);
- //geocode_search
- ReleaseJsValue(geocode_search_successCallback);
- ReleaseJsValue(geocode_search_failCallback);
- ReleaseJsValue(geocode_search_callbackContext);
- //regeocode_search
- ReleaseJsValue(regeocode_search_successCallback);
- ReleaseJsValue(regeocode_search_failCallback);
- ReleaseJsValue(regeocode_search_callbackContext);
- //BT_connect
- ReleaseJsValue(bt_connect_successCallback);
- ReleaseJsValue(bt_connect_failCallback);
- ReleaseJsValue(bt_connect_callbackContext);
-}
void InitBaiduMapComponentModule(JSIValue exports)
{
* stop anwser
*/
JSI::SetModuleAPI(exports, "stopAnswer", BaiduMapComponentModule::StopAnswer);
- /**
- * destroy
- */
- JSI::SetOnDestroy(exports, BaiduMapComponentModule::OnDestroy);
}
} // namespace ACELite
* stop answer
*/
static JSIValue StopAnswer(const JSIValue thisVal, const JSIValue *args, uint8_t argsSize);
-
- /**
- * destroy
- */
- static void OnDestroy();
};
void InitBaiduMapComponentModule(JSIValue exports);
+++ /dev/null
-/*\r
- * Copyright (c) 2020 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
-#include "ace_log.h"\r
-#include "js_app_context.h"\r
-#include "js_async_work.h"\r
-#include "product_adapter.h"\r
-#include <securec.h>\r
-#include <unistd.h>\r
-#include "media_log.h"\r
-#include "network_module.h"\r
-\r
-namespace OHOS {\r
-namespace ACELite {\r
-NetCallBack NetWorkModule::callback_;\r
-\r
-void NetWorkModule::TriggerCallbackListener(char *netConnectStatus, uint32_t Len)\r
-{\r
- if (netConnectStatus != nullptr) {\r
- callback_.netParam.Len = Len;\r
- char *newData = (char *)realloc(callback_.netParam.status, Len + 1);\r
- memset_s(newData, Len + 1, 0, Len + 1);\r
- if (newData != nullptr) {\r
- callback_.netParam.status = newData;\r
- memcpy_s(callback_.netParam.status, Len, netConnectStatus, Len);\r
- }\r
- }\r
- callback_.netParam.Len = Len;\r
- if (!JsAsyncWork::DispatchAsyncWork(AsyncExecuteCallback, const_cast<NetParam *>(&callback_.netParam))) {\r
- MEDIA_ERR_LOG("dispatch async work failed.");\r
- }\r
-}\r
-\r
-static bool ValidJsValue(JSIValue value)\r
-{\r
- return (value != nullptr) && (!JSI::ValueIsUndefined(value));\r
-}\r
-\r
-void NetWorkModule::AsyncExecuteCallback(void *arg)\r
-{\r
- NetParam *netParam = static_cast<NetParam *>(arg);\r
- if (ValidJsValue(callback_.net_connect_callback) && netParam != nullptr) {\r
- JSIValue result = JSI::CreateString(static_cast<char *>(netParam->status));\r
- JSIValue argv[ARGC_ONE] = {result};\r
- JSI::CallFunction(callback_.net_connect_callback, callback_.net_connect_thisVal, argv, ARGC_ONE);\r
- JSI::ReleaseValue(result);\r
- }\r
-}\r
-\r
-JSIValue NetWorkModule::RegisterConnectListener(const JSIValue thisVal, const JSIValue *args, uint8_t argsNum)\r
-{\r
- if ((args == nullptr) || (argsNum == 0) || JSI::ValueIsUndefined(args[0])) {\r
- HILOG_ERROR(HILOG_MODULE_ACE, "Invalid arguments for registering net connection callback");\r
- return JSI::CreateUndefined();\r
- }\r
-\r
- if (callback_.net_connect_callback != nullptr) {\r
- HILOG_WARN(HILOG_MODULE_ACE, "net connection callback already registered");\r
- return JSI::CreateUndefined();\r
- }\r
-\r
- callback_.net_connect_thisVal = JSI::AcquireValue(thisVal);\r
- callback_.net_connect_callback = JSI::AcquireValue(args[0]);\r
- if (callback_.net_connect_callback == nullptr) {\r
- HILOG_ERROR(HILOG_MODULE_ACE, "Failed to register net connection callback");\r
- return JSI::CreateUndefined();\r
- }\r
-\r
- // 可以在注册回调后执行其他必要的操作\r
- net_connect_status_change("test", strlen("test"));\r
-\r
- return JSI::CreateUndefined();\r
-}\r
-\r
-JSIValue NetWorkModule::UnregisterConnectListener(const JSIValue thisVal, const JSIValue *args, uint8_t argsNum)\r
-{\r
- if (callback_.net_connect_callback == nullptr) {\r
- HILOG_ERROR(HILOG_MODULE_ACE, "No net connection callback registered to unregister");\r
- return JSI::CreateUndefined();\r
- }\r
- JSI::ReleaseValue(callback_.net_connect_thisVal);\r
- JSI::ReleaseValue(callback_.net_connect_callback);\r
- callback_.net_connect_thisVal = nullptr;\r
- callback_.net_connect_callback = nullptr;\r
-\r
- return JSI::CreateUndefined();\r
-}\r
-\r
-JSIValue NetWorkModule::GetConnectState(const JSIValue thisVal, const JSIValue *args, uint8_t argsNum)\r
-{\r
-\r
- return JSI::CreateString(callback_.netParam.status);\r
-}\r
-\r
-}\r
-}\r
-\r
-#ifdef __cplusplus\r
-extern "C" {\r
-#endif\r
-\r
-void net_connect_status_change(char *netConnectStatus, uint32_t Len)\r
-{\r
- OHOS::ACELite::NetWorkModule::TriggerCallbackListener(netConnectStatus, Len);\r
-}\r
-\r
-#ifdef __cplusplus\r
-}\r
-#endif
\ No newline at end of file
+++ /dev/null
-/*\r
-* Copyright (c) CompanyNameMagicTag. 2021-2021. All rights reserved.\r
-* Description: audio capture wrapper\r
-* Author: Media Software Group\r
-* Create: 2021-09-13\r
-*/\r
-\r
-#ifndef NET_CONNECT_MODULE_H\r
-#define NET_CONNECT_MODULE_H\r
-\r
-#include <cJSON.h>\r
-#include "acelite_config.h"\r
-#include "jsi.h"\r
-#include "js_async_work.h"\r
-#include "non_copyable.h"\r
-#include "product_adapter.h"\r
-#include "abilityms_slite_client.h"\r
-\r
-#ifdef __cplusplus\r
-extern "C" {\r
-#endif\r
-void net_connect_status_change(char *netConnectStatus, uint32_t Len);\r
-#ifdef __cplusplus\r
-};\r
-#endif\r
-\r
-namespace OHOS {\r
-namespace ACELite {\r
-\r
-struct NetParam {\r
- char *status = nullptr;\r
- uint32_t Len = 0;\r
-};\r
-\r
-struct NetCallBack {\r
- JSIValue net_connect_callback = nullptr;\r
- JSIValue net_connect_thisVal = nullptr;\r
- NetParam netParam;\r
-};\r
-\r
-class NetWorkModule final : public MemoryHeap {\r
-public:\r
- ACE_DISALLOW_COPY_AND_MOVE(NetWorkModule);\r
- NetWorkModule() = default;\r
- ~NetWorkModule() = default;\r
- static NetCallBack callback_;\r
- static JSIValue RegisterConnectListener(const JSIValue thisVal, const JSIValue *args, uint8_t argsNum);\r
- static JSIValue UnregisterConnectListener(const JSIValue thisVal, const JSIValue *args, uint8_t argsNum);\r
- static JSIValue GetConnectState(const JSIValue thisVal, const JSIValue *args, uint8_t argsNum);\r
- static void AsyncExecuteCallback(void *arg);\r
- static void TriggerCallbackListener(char *netConnectStatus, uint32_t Len);\r
-};\r
-\r
-void InitNetWorkModule(JSIValue exports)\r
-{\r
- JSI::SetModuleAPI(exports, "registerConnectListener", NetWorkModule::RegisterConnectListener);\r
- JSI::SetModuleAPI(exports, "unregisterConnectListener", NetWorkModule::UnregisterConnectListener);\r
- JSI::SetModuleAPI(exports, "getConnectState", NetWorkModule::GetConnectState);\r
-}\r
-\r
-\r
-}\r
-}\r
-\r
-\r
-#endif\r
extern void InitLocaleModule(JSIValue exports);
#endif
-extern void InitNetWorkModule(JSIValue exports);
// #ifdef FEATURE_ACELITE_SYSTEM_CAPABILITY
// extern void InitCapabilityModule(JSIValue exports);
// #endif
// #ifdef FEATURE_ACELITE_SYSTEM_CAPABILITY
// {"capability", InitCapabilityModule},
// #endif
- {"network", InitNetWorkModule},
};
} // namespace ACELite
} // namespace OHOS
+++ /dev/null
-/*\r
- * Copyright (c) 2022 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
-#include <cstring>\r
-\r
-#include "ace_log.h"\r
-#include "locale_util.h"\r
-#include "key_parser.h"\r
-#include "keys.h"\r
-#include "image.h"\r
-#include "image_module.h"\r
-#include "common/image_cache_manager.h"\r
-namespace OHOS {\r
-namespace ACELite {\r
-constexpr jerry_object_native_info_t ImageModule::gcCallback;\r
-const char * const ImageModule::attrOnload = "onload";\r
-const char * const ImageModule::attrOnError = "onerror";\r
-const char * const ImageModule::attrSrc = "src";\r
-const char * const ImageModule::attrWidth = "width";\r
-const char * const ImageModule::attrHeight = "height";\r
-const char * const ImageModule::className = "Image";\r
-\r
-void ImageModule::Init(jerry_value_t intlHandle)\r
-{\r
- (void)intlHandle;\r
- jerry_value_t gObj = jerry_get_global_object();\r
- JerrySetFuncProperty(gObj, className, CreateImage);\r
-}\r
-void ImageModule::RegisterAttributeFunc(jerry_value_t canvas2dContext,\r
- const char *attributeName,\r
- jerry_external_handler_t setterHandler,\r
- jerry_external_handler_t getterHandler)\r
-{\r
- // register canvas js attribute setter property via the jerry_define_own_property method\r
- jerry_value_t propName = jerry_create_string(reinterpret_cast<const jerry_char_t *>(attributeName));\r
- jerry_property_descriptor_t desc;\r
- jerry_init_property_descriptor_fields(&desc);\r
- desc.is_set_defined = true;\r
- desc.setter = jerry_create_external_function(setterHandler);\r
- desc.is_get_defined = true;\r
- desc.getter = jerry_create_external_function(getterHandler);\r
- jerry_value_t returnValue = jerry_define_own_property(canvas2dContext, propName, &desc);\r
- jerry_free_property_descriptor_fields(&desc);\r
- ReleaseJerryValue(propName, returnValue, VA_ARG_END_FLAG);\r
-}\r
-jerry_value_t ImageModule::CreateImage(const jerry_value_t func,\r
- const jerry_value_t context,\r
- const jerry_value_t args[],\r
- const jerry_length_t argsNum)\r
-{\r
- if (!jerry_value_is_constructor(func)) {\r
- return jerry_create_error(JERRY_ERROR_EVAL,\r
- reinterpret_cast<const jerry_char_t *>("use new to create Image"));\r
- }\r
- ImageModule *imageModule = new ImageModule();\r
- if (imageModule == nullptr) {\r
- return jerry_create_error(JERRY_ERROR_EVAL,\r
- reinterpret_cast<const jerry_char_t *>("memory is not enough"));\r
- }\r
-\r
- imageModule->width_ = -1;\r
- imageModule->height_ = -1;\r
- if (argsNum >= 1) {\r
- if (jerry_value_is_number(args[0])) {\r
- imageModule->width_ = jerry_value_to_number(args[0]);\r
- } else if (jerry_value_is_string(args[0])) {\r
- char* val = MallocStringOf(args[0]);\r
- if (val == nullptr) {\r
- return jerry_create_error(JERRY_ERROR_EVAL,\r
- reinterpret_cast<const jerry_char_t *>("val is nullptr"));\r
- }\r
- imageModule->width_ = atoi(val);\r
- ACE_FREE(val);\r
- }\r
- }\r
- if (argsNum >= static_cast<uint32_t>(ArgsCount::NUM_2)) {\r
- if (jerry_value_is_number(args[1])) {\r
- imageModule->height_ = jerry_value_to_number(args[1]);\r
- } else if (jerry_value_is_string(args[1])) {\r
- char* val = MallocStringOf(args[1]);\r
- if (val == nullptr) {\r
- return jerry_create_error(JERRY_ERROR_EVAL,\r
- reinterpret_cast<const jerry_char_t *>("val is nullptr"));\r
- }\r
- imageModule->height_ = atoi(val);\r
- ACE_FREE(val);\r
- }\r
- }\r
-\r
- jerry_set_object_native_pointer(context, imageModule, &gcCallback);\r
- RegisterAttributeFunc(context, attrOnload, OnLoadSetter, OnLoadGetter);\r
- RegisterAttributeFunc(context, attrOnError, OnErrorSetter, OnErrorGetter);\r
- RegisterAttributeFunc(context, attrSrc, OnSrcSetter, OnSrcGetter);\r
- RegisterAttributeFunc(context, attrWidth, OnWidthSetter, OnWidthGetter);\r
- RegisterAttributeFunc(context, attrHeight, OnHeightSetter, OnHeightGetter);\r
- return UNDEFINED;\r
-}\r
-\r
-jerry_value_t ImageModule::OnLoadSetter(const jerry_value_t func,\r
- const jerry_value_t context,\r
- const jerry_value_t args[],\r
- const jerry_length_t argsNum)\r
-{\r
- (void)func;\r
- ImageModule* imageModel = nullptr;\r
- jerry_get_object_native_pointer(context, (void**)&imageModel, &gcCallback);\r
- if (imageModel == nullptr) {\r
- return jerry_create_error(JERRY_ERROR_EVAL,\r
- reinterpret_cast<const jerry_char_t *>("get imageModel fail"));\r
- }\r
- if (argsNum == 1 && jerry_value_is_function(args[0])) {\r
- jerry_release_value(imageModel->onLoadFunc_);\r
- imageModel->onLoadFunc_ = args[0];\r
- } else {\r
- return jerry_create_error(JERRY_ERROR_EVAL,\r
- reinterpret_cast<const jerry_char_t *>("set imageModel onload arg fail"));\r
- }\r
- return UNDEFINED;\r
-}\r
-\r
-jerry_value_t ImageModule::OnLoadGetter(const jerry_value_t func,\r
- const jerry_value_t context,\r
- const jerry_value_t args[],\r
- const jerry_length_t argsNum)\r
-{\r
- (void)func;\r
- (void)args;\r
- (void)argsNum;\r
- ImageModule* imageModel = nullptr;\r
- jerry_get_object_native_pointer(context, (void**)&imageModel, &gcCallback);\r
- if (imageModel == nullptr) {\r
- return jerry_create_error(JERRY_ERROR_EVAL,\r
- reinterpret_cast<const jerry_char_t *>("get imageModel fail"));\r
- }\r
- return imageModel->onLoadFunc_;\r
-}\r
-\r
-jerry_value_t ImageModule::OnErrorSetter(const jerry_value_t func,\r
- const jerry_value_t context,\r
- const jerry_value_t args[],\r
- const jerry_length_t argsNum)\r
-{\r
- (void)func;\r
- ImageModule* imageModel = nullptr;\r
- jerry_get_object_native_pointer(context, (void**)&imageModel, &gcCallback);\r
- if (imageModel == nullptr) {\r
- return jerry_create_error(JERRY_ERROR_EVAL,\r
- reinterpret_cast<const jerry_char_t *>("get imageModel fail"));\r
- }\r
- if (argsNum >= 1 && jerry_value_is_function(args[0])) {\r
- jerry_release_value(imageModel->onErrorFunc_);\r
- imageModel->onErrorFunc_ = args[0];\r
- } else {\r
- return jerry_create_error(JERRY_ERROR_EVAL,\r
- reinterpret_cast<const jerry_char_t *>("set imageModel onload arg fail"));\r
- }\r
- return UNDEFINED;\r
-}\r
-\r
-jerry_value_t ImageModule::OnErrorGetter(const jerry_value_t func,\r
- const jerry_value_t context,\r
- const jerry_value_t args[],\r
- const jerry_length_t argsNum)\r
-{\r
- (void)func;\r
- (void)args;\r
- (void)argsNum;\r
- ImageModule* imageModel = nullptr;\r
- jerry_get_object_native_pointer(context, (void**)&imageModel, &gcCallback);\r
- if (imageModel == nullptr) {\r
- return jerry_create_error(JERRY_ERROR_EVAL,\r
- reinterpret_cast<const jerry_char_t *>("get imageModel fail"));\r
- }\r
- return imageModel->onErrorFunc_;\r
-}\r
-\r
-jerry_value_t ImageModule::OnSrcSetter(const jerry_value_t func,\r
- const jerry_value_t context,\r
- const jerry_value_t args[],\r
- const jerry_length_t argsNum)\r
-{\r
- (void)func;\r
- ImageModule* imageModel = nullptr;\r
- jerry_get_object_native_pointer(context, (void**)&imageModel, &gcCallback);\r
- if (imageModel == nullptr) {\r
- return jerry_create_error(JERRY_ERROR_EVAL,\r
- reinterpret_cast<const jerry_char_t *>("get imageModel fail"));\r
- }\r
- \r
- if (argsNum >= 1) {\r
- ACE_FREE(imageModel->src_);\r
- imageModel->src_ = const_cast<char *>(ParseImageSrc(args[0]));\r
- }\r
- if (imageModel->src_ == nullptr || strlen(imageModel->src_) == 0) {\r
- OnCallBack(context, imageModel, false, "src is null");\r
- return UNDEFINED;\r
- }\r
- jerry_release_value(imageModel->jerrySrc_);\r
- imageModel->jerrySrc_ = jerry_create_string(reinterpret_cast<const jerry_char_t *>(imageModel->src_));\r
-\r
- ImageInfo* image = ImageCacheManager::GetInstance().LoadSingleRes(imageModel->src_);\r
- if (!image) {\r
- OnCallBack(context, imageModel, false, "unknown image");\r
- return UNDEFINED;\r
- }\r
- OnCallBack(context, imageModel, true, "load sucess");\r
- return UNDEFINED;\r
-}\r
-\r
-jerry_value_t ImageModule::OnSrcGetter(const jerry_value_t func,\r
- const jerry_value_t context,\r
- const jerry_value_t args[],\r
- const jerry_length_t argsNum)\r
-{\r
- (void)func;\r
- (void)args;\r
- (void)argsNum;\r
- ImageModule* imageModel = nullptr;\r
- jerry_get_object_native_pointer(context, (void**)&imageModel, &gcCallback);\r
- if (imageModel == nullptr) {\r
- return jerry_create_error(JERRY_ERROR_EVAL,\r
- reinterpret_cast<const jerry_char_t *>("get imageModel fail"));\r
- }\r
- if (jerry_value_is_string(imageModel->jerrySrc_)) {\r
- return imageModel->jerrySrc_;\r
- }\r
- return UNDEFINED;\r
-}\r
-\r
-jerry_value_t ImageModule::OnHeightSetter(const jerry_value_t func,\r
- const jerry_value_t context,\r
- const jerry_value_t args[],\r
- const jerry_length_t argsNum)\r
-{\r
- (void)func;\r
- ImageModule* imageModel = nullptr;\r
- jerry_get_object_native_pointer(context, (void**)&imageModel, &gcCallback);\r
- if (imageModel == nullptr) {\r
- return jerry_create_error(JERRY_ERROR_EVAL,\r
- reinterpret_cast<const jerry_char_t *>("get imageModel fail"));\r
- }\r
- if (argsNum < 1) {\r
- return jerry_create_error(JERRY_ERROR_EVAL,\r
- reinterpret_cast<const jerry_char_t *>("set height fail"));\r
- }\r
- imageModel->height_ = IntegerOf(args[0]);\r
- return UNDEFINED;\r
-}\r
-\r
-jerry_value_t ImageModule::OnHeightGetter(const jerry_value_t func,\r
- const jerry_value_t context,\r
- const jerry_value_t args[],\r
- const jerry_length_t argsNum)\r
-{\r
- (void)func;\r
- (void)args;\r
- (void)argsNum;\r
- ImageModule* imageModel = nullptr;\r
- jerry_get_object_native_pointer(context, (void**)&imageModel, &gcCallback);\r
- if (imageModel == nullptr) {\r
- return jerry_create_error(JERRY_ERROR_EVAL,\r
- reinterpret_cast<const jerry_char_t *>("get imageModel fail"));\r
- }\r
- return imageModel->height_;\r
-}\r
-\r
-jerry_value_t ImageModule::OnWidthSetter(const jerry_value_t func,\r
- const jerry_value_t context,\r
- const jerry_value_t args[],\r
- const jerry_length_t argsNum)\r
-{\r
- (void)func;\r
- ImageModule* imageModel = nullptr;\r
- jerry_get_object_native_pointer(context, (void**)&imageModel, &gcCallback);\r
- if (imageModel == nullptr) {\r
- return jerry_create_error(JERRY_ERROR_EVAL,\r
- reinterpret_cast<const jerry_char_t *>("get imageModel fail"));\r
- }\r
- if (argsNum < 1) {\r
- return jerry_create_error(JERRY_ERROR_EVAL,\r
- reinterpret_cast<const jerry_char_t *>("set width fail"));\r
- }\r
- imageModel->width_ = IntegerOf(args[0]);\r
- return UNDEFINED;\r
-}\r
-\r
-jerry_value_t ImageModule::OnWidthGetter(const jerry_value_t func,\r
- const jerry_value_t context,\r
- const jerry_value_t args[],\r
- const jerry_length_t argsNum)\r
-{\r
- (void)func;\r
- (void)args;\r
- (void)argsNum;\r
- ImageModule* imageModel = nullptr;\r
- jerry_get_object_native_pointer(context, (void**)&imageModel, &gcCallback);\r
- if (imageModel == nullptr) {\r
- return jerry_create_error(JERRY_ERROR_EVAL,\r
- reinterpret_cast<const jerry_char_t *>("get imageModel fail"));\r
- }\r
- return imageModel->width_;\r
-}\r
-\r
-void ImageModule::OnCallBack(const jerry_value_t context,\r
- const ImageModule *imageModule,\r
- bool isSucess,\r
- const char* msg)\r
-{\r
- jerry_value_t targetFunction;\r
- if (imageModule == nullptr) {\r
- return;\r
- }\r
- if (isSucess) {\r
- targetFunction = imageModule->onLoadFunc_;\r
- } else {\r
- targetFunction = imageModule->onErrorFunc_;\r
- }\r
- if (!jerry_value_is_function(targetFunction)) {\r
- return;\r
- }\r
- const int16_t argcount = 1;\r
- jerry_value_t arg = jerry_create_string(reinterpret_cast<const jerry_char_t *>(msg));\r
- jerry_value_t args[argcount] = {arg};\r
- jerry_value_t ret_val = jerry_call_function (targetFunction, context, args, argcount);\r
- if (jerry_value_is_error (ret_val)) {\r
- HILOG_ERROR(HILOG_MODULE_ACE, "call back failed!");\r
- }\r
- jerry_release_value(arg);\r
- jerry_release_value (ret_val);\r
-}\r
-}\r
-}\r
-\r
+++ /dev/null
-/*\r
- * Copyright (c) 2022 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
-#ifndef OHOS_ACELITE_IMAGE_MODEL_H\r
-#define OHOS_ACELITE_IMAGE_MODEL_H\r
-\r
-#include "acelite_config.h"\r
-#include "image_component.h"\r
-#include "gfx_utils/list.h"\r
-#include "js_fwk_common.h"\r
-namespace OHOS {\r
-namespace ACELite {\r
-class ImageModule final : public MemoryHeap {\r
-enum class ArgsCount { NUM_1 = 1, NUM_2, NUM_3, NUM_4, NUM_5, NUM_6 };\r
-public:\r
- const char* GetSrc()\r
- {\r
- return src_;\r
- }\r
-\r
- int16_t GetWidth()\r
- {\r
- return width_;\r
- }\r
-\r
- int16_t GetHeight()\r
- {\r
- return height_;\r
- }\r
-\r
- ACE_DISALLOW_COPY(ImageModule);\r
- /**\r
- * @brief register Image object\r
- */\r
- static void Init(jerry_value_t intlHandle);\r
-\r
- static void RegisterAttributeFunc(jerry_value_t canvas2dContext,\r
- const char *attributeName,\r
- jerry_external_handler_t setterHandler,\r
- jerry_external_handler_t getterHandler);\r
-#if (defined(ENABLED_DELETE_MODULE_IAMGE) && (ENABLED_DELETE_MODULE_IAMGE == 1))\r
- static void DeleteImage(void* ptr)\r
- {\r
- ImageModule* image = reinterpret_cast<ImageModule*>(ptr);\r
- ACE_DELETE(image);\r
- }\r
-#endif\r
-\r
- static void OnCallBack(const jerry_value_t context, const ImageModule *imageModule, bool isSucess, const char* msg);\r
- // the handle to release the native value when the js value number format object is not needed.\r
- static constexpr jerry_object_native_info_t gcCallback = {\r
-#if ENABLED_DELETE_MODULE_IAMGE\r
- .free_cb = DeleteImage\r
-#endif\r
- };\r
- static const char * const attrOnload;\r
- static const char * const attrOnError;\r
- static const char * const attrSrc;\r
- static const char * const attrWidth;\r
- static const char * const attrHeight;\r
- static const char * const className;\r
-private:\r
- ImageModule()\r
- : src_(nullptr),\r
- width_(-1),\r
- height_(-1),\r
- onLoadFunc_(UNDEFINED),\r
- onErrorFunc_(UNDEFINED),\r
- jerrySrc_(UNDEFINED) {}\r
-\r
- ~ImageModule()\r
- {\r
- jerry_release_value(onLoadFunc_);\r
- jerry_release_value(onErrorFunc_);\r
- jerry_release_value(jerrySrc_);\r
- ACE_FREE(src_);\r
- }\r
-\r
- static jerry_value_t CreateImage(const jerry_value_t func,\r
- const jerry_value_t context,\r
- const jerry_value_t args[],\r
- const jerry_length_t argsNum);\r
- static jerry_value_t OnLoadSetter(const jerry_value_t func,\r
- const jerry_value_t context,\r
- const jerry_value_t args[],\r
- const jerry_length_t argsNum);\r
- static jerry_value_t OnLoadGetter(const jerry_value_t func,\r
- const jerry_value_t context,\r
- const jerry_value_t args[],\r
- const jerry_length_t argsNum);\r
- static jerry_value_t OnErrorSetter(const jerry_value_t func,\r
- const jerry_value_t context,\r
- const jerry_value_t args[],\r
- const jerry_length_t argsNum);\r
- static jerry_value_t OnErrorGetter(const jerry_value_t func,\r
- const jerry_value_t context,\r
- const jerry_value_t args[],\r
- const jerry_length_t argsNum);\r
- static jerry_value_t OnSrcSetter(const jerry_value_t func,\r
- const jerry_value_t context,\r
- const jerry_value_t args[],\r
- const jerry_length_t argsNum);\r
- static jerry_value_t OnSrcGetter(const jerry_value_t func,\r
- const jerry_value_t context,\r
- const jerry_value_t args[],\r
- const jerry_length_t argsNum);\r
- static jerry_value_t OnHeightSetter(const jerry_value_t func,\r
- const jerry_value_t context,\r
- const jerry_value_t args[],\r
- const jerry_length_t argsNum);\r
- static jerry_value_t OnHeightGetter(const jerry_value_t func,\r
- const jerry_value_t context,\r
- const jerry_value_t args[],\r
- const jerry_length_t argsNum);\r
- static jerry_value_t OnWidthSetter(const jerry_value_t func,\r
- const jerry_value_t context,\r
- const jerry_value_t args[],\r
- const jerry_length_t argsNum);\r
- static jerry_value_t OnWidthGetter(const jerry_value_t func,\r
- const jerry_value_t context,\r
- const jerry_value_t args[],\r
- const jerry_length_t argsNum);\r
-\r
-private:\r
- char* src_;\r
- int16_t width_;\r
- int16_t height_;\r
- jerry_value_t onLoadFunc_;\r
- jerry_value_t onErrorFunc_;\r
- jerry_value_t jerrySrc_;\r
-};\r
-}\r
-}\r
-#endif // NUMBER_FORMAT_MODEL_H\r
#include "string.h"
#include "number_format_module.h"
#include "js_fwk_common.h"
-#include "image_module.h"
namespace OHOS {
namespace ACELite {
void IntlModule::Init()
#ifdef FEATURE_DATE_FORMAT
DateTimeFormatModule::Init(baseObj);
#endif
- ImageModule::Init(baseObj);
JerrySetNamedProperty(globalObj, "Intl", baseObj);
jerry_release_value(globalObj);
}
#include "bts_br_gap.h"
#include "bts_hfp_hf.h"
#include "sample_common.h"
-#ifdef MEMORY_MINI_HFP_SUPPORT
+#ifdef MEMORY_MINI
#include "audio_manager.h"
#else
#include "bt_audio_manager_wrapper.h"
hfp_hf_sample_cmd_handle_func func;
} sample_hfp_hf_hdl_info;
-#ifdef MEMORY_MINI_HFP_SUPPORT
+#ifdef MEMORY_MINI
struct AudioManager *g_audio_manager = NULL;
struct AudioAdapter *g_primary_adapter = NULL;
struct AudioAdapter *g_bluetooth_adapter = NULL;
static int32_t g_hfp_media_status = 0;
static int32_t g_hfp_media_flag = 0;
-#ifdef MEMORY_MINI_HFP_SUPPORT
+#ifdef MEMORY_MINI
#define MAX_AUDIO_ADAPTER_NUM 2
#define MAX_KEY_VALUE_LEN 25
static int32_t g_hdl_dn_sco = -1;
#endif
-#ifdef MEMORY_MINI_HFP_SUPPORT
+#ifdef MEMORY_MINI
static void audio_sample_attr_init(enum AudioFormat audio_format, struct AudioSampleAttributes *param)
{
param->type = AUDIO_IN_COMMUNICATION;
}
#endif
-#ifndef MEMORY_MINI_HFP_SUPPORT
+#ifndef MEMORY_MINI
static int32_t audio_stream_init(void)
{
/* 请求音频焦点 */
g_hfp_media_flag = HFP_MEDIA_FLAG_BUSY;
int ret;
-#ifdef MEMORY_MINI_HFP_SUPPORT
+#ifdef MEMORY_MINI
ret = audio_capture_render_init();
if (ret != 0) {
bts_sample_log("{%s():%d} audio capture render init failed\n", __FUNCTION__, __LINE__);
g_hfp_media_status = HFP_MEDIA_STATUS_INIT;
/* 建立电话上下行通路 */
-#ifdef MEMORY_MINI_HFP_SUPPORT
+#ifdef MEMORY_MINI
ret = establish_audio_capture_render_pipeline();
if (ret != 0) {
bts_sample_log("{%s():%d} establish audio capture render pipeline failed\n", __FUNCTION__, __LINE__);
/* 设置媒体状态繁忙 */
g_hfp_media_flag = HFP_MEDIA_FLAG_BUSY;
-#ifdef MEMORY_MINI_HFP_SUPPORT
+#ifdef MEMORY_MINI
abrogation_audio_capture_render_pipeline();
#else
abrogation_audio_stream_pipeline();
void sample_hfp_hf_set_spk_volume(uint8_t volume)
{
-#ifdef MEMORY_MINI_HFP_SUPPORT
+#ifdef MEMORY_MINI
/* vol range [0, 1.0] */
float vol = (float)volume / SAMPLE_HFP_PROF_VOL_LEVEL;
if (g_audio_render_down_link != NULL) {
sample_hfp_hf_print_addr(bd_addr);
bts_sample_log_with_func("codec : %d\n", codec);
if (codec == HFP_HF_CODEC_ID_CVSD) {
-#ifdef MEMORY_MINI_HFP_SUPPORT
+#ifdef MEMORY_MINI
g_hfp_codec = AUDIO_FORMAT_PCM_16_BIT;
#else
g_hfp_codec = PCM;
#endif
} else if (codec == HFP_HF_CODEC_ID_MSBC) {
-#ifdef MEMORY_MINI_HFP_SUPPORT
+#ifdef MEMORY_MINI
g_hfp_codec = AUDIO_FORMAT_mSBC;
#else
g_hfp_codec = mSBC;
// 蓝牙通话注册回调
void wstp_hfp_hf_reg_callback(void)
{
-#ifdef MEMORY_MINI_HFP_SUPPORT
+#ifdef MEMORY_MINI
audio_hal_init();
#endif
errcode_t ret = ERRCODE_BT_SUCCESS;
bts_sample_log_with_func("spp_server_create ret: %x\n", ret);
}
-static osal_task *g_spp_server_accept_task = NULL;
-static bool g_spp_server_wait_accept = false;
static int sample_spp_server_accept_task_body(const void *data)
{
int server_id = (int)(intptr_t)data;
int ret = spp_server_accept(server_id);
bts_sample_log_with_func("spp_server_accept ret: %x\n", ret);
- g_spp_server_wait_accept = false;
- bts_sample_log_with_func("spp_server_accept task %x task.task %x\n",
- g_spp_server_accept_task, g_spp_server_accept_task->task);
- if (g_spp_server_accept_task != NULL && g_spp_server_accept_task->task != NULL) {
- osal_kthread_destroy(g_spp_server_accept_task, 0);
- g_spp_server_accept_task = NULL;
- }
return OSAL_SUCCESS;
}
/* 等待client连接 */
void wstp_spp_cmd_server_accept(uint32_t server_id)
{
- if (g_spp_server_wait_accept == true) {
- bts_sample_log_with_func("create task fail. exsit running task.\n");
- return;
- }
- g_spp_server_wait_accept = true;
- g_spp_server_accept_task = osal_kthread_create(sample_spp_server_accept_task_body,
+ osal_task *task = osal_kthread_create(sample_spp_server_accept_task_body,
(void *)(uintptr_t)server_id,
"spp_server_accept_task",
SAMPLE_SPP_TASK_STACK_SIZE);
- if (g_spp_server_accept_task == NULL) {
+ if (task == NULL) {
bts_sample_log_with_func("create task fail\n");
return;
}
- int ret = osal_kthread_set_priority(g_spp_server_accept_task, SAMPLE_SPP_TASK_PRI);
+ int ret = osal_kthread_set_priority(task, SAMPLE_SPP_TASK_PRI);
if (ret != OSAL_SUCCESS) {
bts_sample_log_with_func("set pri error: %08x\n", ret);
}
BTSRV_SAMPLE_GAP_GET_FEATURE_CONFIG, /* 33 蓝牙特性获取 */
BTSRV_SAMPLE_GAP_RECONNECT_PHONE, /* 34 重连手机 */
- BTSRV_SAMPLE_GAP_SET_INQUIRY_PARAM, /* 35 设置搜到参数 */
- BTSRV_SAMPLE_GAP_SET_SERVICE_TASK_PRIORITY, /* 36 设置BT_SERVICE_TASK优先级 */
+ BTSRV_SAMPLE_GAP_SET_INQUIRY_PARAM, /* 35 设置搜到参数 */
} btsrv_gap_sample_cmd_id;
typedef enum {
errcode_t ret = gap_ble_disconnect_remote_device(&bd_addr);
bts_sample_log("gap_disconnect_remote_device ret(bool): %u\n", ret);
}
-
-bd_addr_t g_remote_connect_addr = {0};
acl_conn_ext_mode g_acl_conn_ext_mode = ACL_EXT_MODE_CONNECT_A2DP;
/* 连接设备 params: addr addr_type */
static void btsrv_sample_cmd_connect_remote_device(const char **params, int32_t params_cnt)
return false;
}
errcode_t ret = gap_connect_remote_device(bd_addr);
- (void)memcpy_s(&g_remote_connect_addr, sizeof(bd_addr_t), bd_addr, sizeof(bd_addr_t));
bts_sample_log("gap_connect_remote_device ret(errcode_t): %x\n", ret);
return (ret == ERRCODE_BT_SUCCESS) ? true : false;
}
bts_sample_log("gap_state_changed_callback transport: %d status: %d\n", transport, status);
}
-/* 主动发起连接 */
-static bool is_active_connection(const bd_addr_t *bd_addr)
-{
- if (memcmp(g_remote_connect_addr.addr, bd_addr->addr, BD_ADDR_LEN) == 0) {
- (void)memset_s(g_remote_connect_addr.addr, sizeof(bd_addr_t), 0, sizeof(bd_addr_t));
- return true;
- } else {
- return false;
- }
-}
-
static void sample_gap_acl_state_changed_callback(const bd_addr_t *bd_addr, gap_acl_state_t state, unsigned int reason)
{
bts_sample_log("gap_acl_state_changed_callback addr: ");
}
#ifndef MEMORY_MINI
#if (BTH_BREDR_ONLY == YES) || (BTH_BREDR_LE_DOUBLE == YES)
- if (state == GAP_ACL_STATE_CONNECTED && ((uint32_t)device_class & 0x200) == 0 && is_active_connection(bd_addr)) {
+ if (state == GAP_ACL_STATE_CONNECTED && ((uint32_t)device_class & 0x200) == 0) {
/* 只要是非手机设备,连接成功后就先初始化audio manager为音乐播放 */
bts_sample_log("sample_gap_acl_state_changed_callback call AudioManagerInit - AUDIO_STREAM_MUSIC\n");
bts_sample_log("reconnect phone ret:%d.\n", ret);
}
-static void btsrv_sample_cmd_set_service_task_priority(const char **params, int32_t params_cnt)
-{
- if (params_cnt != 1) { /* 1:参数个数 */
- bts_sample_log("params_cnt error! need one param!\n");
- return;
- }
- uint16_t task_priority = (uint16_t)atoi(params[0]);
- errcode_t ret = bts_set_service_task_priority(task_priority);
- bts_sample_log("bts set service task priority ret:0x%x priority:%d\n", ret, task_priority);
-}
-
btsrv_sample_cmd_hdl_info g_btsrv_gap_sample_hdls[] = {
/* 0 */
{ BTSRV_SAMPLE_GAP_ENABLE_BLE, btsrv_sample_cmd_enable_ble },
/* 35 */
{ BTSRV_SAMPLE_GAP_SET_INQUIRY_PARAM, btsrv_sample_cmd_set_filter_device_class },
- { BTSRV_SAMPLE_GAP_SET_SERVICE_TASK_PRIORITY, btsrv_sample_cmd_set_service_task_priority}
};
void btsrv_gap_sample_cmd(uint32_t cmd_id, const char **params, int32_t params_cnt)
version https://git-lfs.github.com/spec/v1
-oid sha256:1c2c6e827eb257e312c39c379615dc65f4d340df62244627fe0f2502f55ed513
-size 425632
+oid sha256:23a8ebf4fe1e677662ba96dd9882af0c8247ecfee9fcb7c5c79666128b66f125
+size 425536
version https://git-lfs.github.com/spec/v1
-oid sha256:c132d7fb64e2064b3f823e2415fda1ccf6c490c84c89651397f51823b8d72782
+oid sha256:52718d4082ae98fca23b0b5e19bd01a07bcb42bb9f7f152e203854f8bac7bd7a
size 350088
version https://git-lfs.github.com/spec/v1
-oid sha256:955fa51b4e669f5c6730cdb6a1af28a886593e312c7de19a294be3416f37f09e
+oid sha256:37c3879f164d520afa160bee7505eabd501840aca871b3077033ebc3bfbe0c23
size 331008
version https://git-lfs.github.com/spec/v1
-oid sha256:3cbcb5af41b109af9b8385fb4dd2412013115cd287c7b7fa88e4752a2d9dee23
+oid sha256:7ef85fa292de2d6ccfd8009f7a758234cf2fa4d5a2df9def4e8fc46f0765ba6b
size 344736
from nv_binary import nv_begin
# brandy packet
-def build_brandy_other_bin(pack_style_str, flash_size):
+def build_brandy_other_bin(pack_style_str):
''' build brandy partition and nv '''
chip_dir = os.path.join(SDK_DIR, "build", "config", "target_config", "brandy")
# 分区配置文件路径
- partition_cfg = os.path.join(chip_dir, "param_sector")
- if flash_size.endswith("0x1000000"):
- # partition_cfg = os.path.join(partition_cfg, "param_sector_16M.json")
- partition_cfg = os.path.join(partition_cfg, "param_sector_fd230.json")
- else:
- partition_cfg = os.path.join(partition_cfg, "param_sector.json")
-
+ partition_cfg = os.path.join(chip_dir, "param_sector", "param_sector.json")
partition_bin = os.path.join(SDK_DIR, "output", "brandy", "partition_table.bin")
# nv配置文件路径
nv_config_json = os.path.join(chip_dir, "nv_bin_cfg")
gen_flash_part_bin(partition_cfg, partition_bin)
nv_begin(nv_config_json, targets, 0)
-def make_all_in_one_packet_8M(pack_style_str):
- # make all in one packet
- bin_dir = os.path.join(PKG_DIR, "bin", "brandy")
- application_dir = os.path.join(SDK_DIR,
- "output",
- "brandy",
- "acore",
- pack_style_str)
- recovery_target = "%s-r" % pack_style_str
- recovery_target = recovery_target.replace('-user', '')
- recovery_bin = os.path.join(SDK_DIR,
- "output",
- "brandy",
- "acore",
- recovery_target,
- "recovery.bin")
- recovery_bx = recovery_bin + "|0x70050000|0x40000|100"
-
- upload_app_fwpkg = os.path.join(PKG_DIR, "fwpkg", "brandy", "upload_app.fwpkg")
-
- ssb = os.path.join(SDK_DIR, "output", "brandy", "acore", "brandy-ssb", "ssb.bin")
- if not os.path.exists(ssb):
- ssb = os.path.join(bin_dir, "ssb.bin")
- print("ssb_path: ", ssb)
- ssb_bx = ssb + "|0x70000000|0x20000|0"
-
- partition = os.path.join(SDK_DIR, "output", "brandy", "partition_table.bin")
- partition_bx = partition + "|0x7004F000|0x1000|100"
- nv = os.path.join(SDK_DIR, "output", "brandy", "nv_bin", "brandy_all_nv.bin")
- nv_bx = nv + "|0x707F9000|0x4000|100"
-
- app = os.path.join(application_dir, "application.bin")
- app_bx = app + "|0x702B0000|0x549000|18"
- bt = os.path.join(bin_dir, "bt.bin")
- bt_bx = bt + "|0x70090000|0x70000|20"
-
- target_env = TargetEnvironment(pack_style_str)
- dsp_version = target_env.get("dsp_version")
- dsp_main = os.path.join(bin_dir, "dsp", dsp_version, "dsp_main.bin")
- dsp_main_bx = dsp_main + "|0x70100000|0x70000|22"
- dsp_overlay = os.path.join(bin_dir, "dsp", dsp_version, "dsp_overlay.bin")
- dsp_overlay_bx = dsp_overlay + "|0x70170000|0x140000|26"
-
- fs = os.path.join(application_dir, "file.bin")
- fs_bx = fs + "|0xFFFFFFFF|0xFFFFFFFF|101"
-
- try:
- packet_post_agvs = list()
- packet_post_agvs.append(ssb_bx)
- packet_post_agvs.append(partition_bx)
- packet_post_agvs.append(app_bx)
- packet_post_agvs.append(recovery_bx)
- packet_post_agvs.append(bt_bx)
- packet_post_agvs.append(dsp_main_bx)
- packet_post_agvs.append(dsp_overlay_bx)
- packet_post_agvs.append(nv_bx)
- packet_post_agvs.append(fs_bx)
- packet_bin(upload_app_fwpkg, packet_post_agvs)
- except Exception as e:
- print(e)
- exit(-1)
-
-def make_all_in_one_packet_fd230(pack_style_str):
+def make_all_in_one_packet(pack_style_str):
# make all in one packet
+ build_brandy_other_bin(pack_style_str)
+
bin_dir = os.path.join(PKG_DIR, "bin", "brandy")
application_dir = os.path.join(SDK_DIR,
"output",
print(e)
exit(-1)
-def make_all_in_one_packet_16M(pack_style_str):
- # make all in one packet
- bin_dir = os.path.join(PKG_DIR, "bin", "brandy")
- application_dir = os.path.join(SDK_DIR,
- "output",
- "brandy",
- "acore",
- pack_style_str)
- recovery_target = "%s-r" % pack_style_str
- recovery_target = recovery_target.replace('-user', '')
- recovery_bin = os.path.join(SDK_DIR,
- "output",
- "brandy",
- "acore",
- recovery_target,
- "recovery.bin")
- recovery_bx = recovery_bin + "|0x70B80000|0x100000|100"
-
- upload_app_fwpkg = os.path.join(PKG_DIR, "fwpkg", "brandy", "upload_app.fwpkg")
-
- ssb = os.path.join(SDK_DIR, "output", "brandy", "acore", "brandy-ssb", "ssb.bin")
- if not os.path.exists(ssb):
- ssb = os.path.join(bin_dir, "ssb.bin")
- print("ssb_path: ", ssb)
- ssb_bx = ssb + "|0x70000000|0x20000|0"
-
- partition = os.path.join(SDK_DIR, "output", "brandy", "partition_table.bin")
- partition_bx = partition + "|0x7004F000|0x1000|100"
- nv = os.path.join(SDK_DIR, "output", "brandy", "nv_bin", "brandy_all_nv.bin")
- nv_bx = nv + "|0x70C80000|0x4000|100"
-
- app = os.path.join(application_dir, "application.bin")
- app_bx = app + "|0x70380000|0x800000|18"
-
- bt = os.path.join(bin_dir, "bt.bin")
- bt_bx = bt + "|0x70090000|0x70000|20"
-
- target_env = TargetEnvironment(pack_style_str)
- dsp_version = target_env.get("dsp_version")
- dsp_main = os.path.join(bin_dir, "dsp", dsp_version, "dsp_main.bin")
- dsp_main_bx = dsp_main + "|0x70100000|0xC0000|22"
- dsp_overlay = os.path.join(bin_dir, "dsp", dsp_version, "dsp_overlay.bin")
- dsp_overlay_bx = dsp_overlay + "|0x701C0000|0x1C0000|26"
-
- fs = os.path.join(application_dir, "file.bin")
- fs_bx = fs + "|0xFFFFFFFF|0xFFFFFFFF|101"
-
- try:
- packet_post_agvs = list()
- packet_post_agvs.append(ssb_bx)
- packet_post_agvs.append(partition_bx)
- packet_post_agvs.append(app_bx)
- packet_post_agvs.append(recovery_bx)
- packet_post_agvs.append(bt_bx)
- packet_post_agvs.append(dsp_main_bx)
- packet_post_agvs.append(dsp_overlay_bx)
- packet_post_agvs.append(nv_bx)
- packet_post_agvs.append(fs_bx)
- packet_bin(upload_app_fwpkg, packet_post_agvs)
- except Exception as e:
- print(e)
- exit(-1)
-
-
-def make_all_in_one_packet(pack_style_str, flash_size):
- # make all in one packet
- build_brandy_other_bin(pack_style_str, flash_size)
- if flash_size.endswith("0x1000000"):
- make_all_in_one_packet_fd230(pack_style_str)
- # make_all_in_one_packet_16M(pack_style_str)
- else:
- make_all_in_one_packet_8M(pack_style_str)
-
def is_packing_files_exist(soc, pack_style_str):
"""
判断打包文件是否存在
print("Parameter error")
build_soc = sys.argv[1]
build_target = sys.argv[2]
- flash_size = sys.argv[3]
load_fmt = "chip_packet.%s.packet" %build_soc
load_mod = importlib.import_module(load_fmt)
lost = ";".join(lost_file)
print(f"cannot find {lost}")
exit(-1)
- load_mod.make_all_in_one_packet(build_target, flash_size)
+ load_mod.make_all_in_one_packet(build_target)
if __name__ == "__main__":
main()
+++ /dev/null
-【补丁名称】patch_602_0812_to_0911\r
-【基础版本】b602 + 0521 + 0626 + 7020 + 0812\r
-【修复问题】\r
-BT合入内容\r
- 1、提供配置BT_SERVICE_TASK任务优先级的接口。\r
- 2、白名单流控方案,解决BLE配对B核数据积压导致内存不足问题。\r
- 3、解决T1来电未打断音乐的问题。 \r
- 4、解决task创建过多导致通话通路未创建的问题。\r
- 5、屏蔽bt睡眠唤醒统计日志。\r
-PLT合入内容\r
- 1、msgcenter与native app代码解耦。\r
- 2、nv flash下电前刷新机制调整。\r
- 3、支持16M norFlash部署。\r
-MEDIA合入内容\r
- 1、解决视频停播问题。\r
-GUI合入内容\r
- 1、修复MemCheck挂死问题\r
- 2、修复UIKIT SAMPLE选择足球效果死机重启\r
- 3、UICrossView优化\r
- 4、针对无动画的ChangeSlice优化\r
- 5、异步及ULPS优化\r
- 6、支持切换页面时清除设备分发状态和缓存数据\r
- 7、支持SlipFlow\r
- 8、修复视频表盘滑动到指南针不转动问题\r
-OHOS合入内容\r
- 1、解决jsapp内多次跳转page内存持续增长OOM问题。\r
- 2、增加network jsi,方便客户native对接。\r
- 3、解决贪吃蛇性能问题,提供drawImage方式。\r
-NATIVE-JS sample合入内容\r
- 1、解决美人鱼耳机无法控制音量问题。\r
- 2、解决取消配对后连接状态未刷新问题。\r
- 3、调整音量同步逻辑。\r
- 4、音乐播放结束回调不能直接操作UI。\r
- 5、刪除PresenterTask类。\r
- 6、解决蜂窝list内存泄露。\r
-【修改影响】NA\r
-\r
-【使用方法】\r
- 1、合入0521补丁\r
- 2、合入0626补丁\r
- 3、合入0720补丁\r
- 4、合入0812补丁\r
- 4、合入0909补丁\r
-【自测情况】\r
- 自验证范围:\r
- 全功能冒烟\r
- 自验证target:\r
- Native-js、target3 rc版本\r
-【是否合入版本】根据测试结果确定\r