合并
authorhcj <1224667075@qq.com>
Thu, 11 Sep 2025 04:06:44 +0000 (12:06 +0800)
committerhcj <1224667075@qq.com>
Thu, 11 Sep 2025 04:06:44 +0000 (12:06 +0800)
1  2 
code/sdk/application/wearable/fd230/service/msg_center/src/msg_center_customer.cpp
code/sdk/application/wearable/ln/nativeapp/nativeui/bluetooth/src/BluetoothDeviceCaseListAdapter.cpp
code/sdk/application/wearable/ln/nativeapp/nativeui/bluetooth/src/BluetoothItemView.cpp
code/sdk/application/wearable/ln/nativeapp/nativeui/bluetooth/src/BluetoothModel.cpp
code/sdk/application/wearable/ln/nativeapp/nativeui/callerlog/src/CallerLogModel.cpp
code/sdk/application/wearable/ln/nativeapp/nativeui/phoneservice/src/PhoneService.cpp
code/sdk/build/config/target_config/brandy/config.py
code/sdk/zhihui/4g/cat1Service/Service/cat1_ctl.c
code/sdk/zhihui/4gTest/cat1_porting.c
code/sdk/zhihui/utils/custom_utils.h

   * Create: 2021-07-26
   */
  #include <string>
- #include "bluetooth/include/BluetoothDeviceCaseListAdapter.h"
- #include "bluetooth/include/BluetoothOptionsView.h"
+ #include "bluetooth/BluetoothDeviceCaseListAdapter.h"
+ #include "bluetooth/BluetoothOptionsView.h"
  #include "gfx_utils/list.h"
- #include "bluetooth/include/BluetoothModel.h"
+ #include "bluetooth/BluetoothModel.h"
  #include "wearable_log.h"
  #include "UiConfig.h"
- #include "bluetooth/include/BluetoothPresenter.h"
- #include "callerlog/include/CallerLogModel.h"
- #include "custom_utils.h"
- #include "notification_manager.h"
+ #include "bluetooth/BluetoothPresenter.h"
  
 -namespace OHOS {
 -BluetoothDeviceCaseListAdapter::~BluetoothDeviceCaseListAdapter()
 -{
 -    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "BluetoothDeviceCaseListAdapter::~BluetoothDeviceCaseListAdapter");
 -    UIView::OnClickListener *click = item->GetOnClickListener();
 -    if (click != nullptr) {
 -        delete click;
 -        click = nullptr;
 -    }
 -}
 +#ifdef SUPPORT_CAT1_HFP_AG_SERV
 +#include "phoneservice/include/PhoneAGService.h"
 +#endif
  
- namespace OHOS
+ uint16_t BluetoothDeviceCaseListAdapter::GetCount()
  {
-     class BluetoothDeviceOnClickListListener;
-     static BluetoothDeviceOnClickListListener *g_btOnClickListListener = nullptr;
-     class BluetoothDeviceOnClickListListener : public UIView::OnClickListener
+     return BluetoothModel::GetInstance()->GetConnedDevicesCase().Size();
+ }
+ 
+ class BluetoothDeviceOnClickListListener : public UIView::OnClickListener {
+ public:
+     BluetoothDeviceOnClickListListener(BluetoothCaseInfo *bluetoothInfo)
      {
-     public:
-         BluetoothDeviceOnClickListListener() {}
-         ~BluetoothDeviceOnClickListListener() {}
-         void SetItemInfo(const BluetoothCaseInfo *bluetoothInfo)
-         {
-             if (bluetoothInfo != nullptr)
-             {
-                 (void)memcpy_s(addr.addr, BD_ADDR_LEN,
-                                bluetoothInfo->addr, BD_ADDR_LEN); // 源和目标内存长度一样,不做返回值判断
-                 (void)memcpy_s(bluetoothInfo_.addr, BD_ADDR_LEN,
-                                bluetoothInfo->addr, BD_ADDR_LEN); // 源和目标内存长度一样,不做返回值判断
-                 (void)memcpy_s(bluetoothInfo_.deviceName, BD_NAME_LEN,
-                                bluetoothInfo->deviceName, BD_NAME_LEN); // 源和目标内存长度一样,不做返回值判断
-                 bluetoothInfo_.index = bluetoothInfo->index;
-                 bluetoothInfo_.connIndex = bluetoothInfo->connIndex;
-             }
+         if (bluetoothInfo != nullptr) {
+             (void)memcpy_s(addr.addr, BD_ADDR_LEN,
+                            bluetoothInfo->addr, BD_ADDR_LEN); // 源和目标内存长度一样,不做返回值判断
+             (void)memcpy_s(bluetoothInfo_.addr, BD_ADDR_LEN,
+                            bluetoothInfo->addr, BD_ADDR_LEN); // 源和目标内存长度一样,不做返回值判断
+             (void)memcpy_s(bluetoothInfo_.deviceName, BD_NAME_LEN,
+                            bluetoothInfo->deviceName, BD_NAME_LEN); // 源和目标内存长度一样,不做返回值判断
+             bluetoothInfo_.index = bluetoothInfo->index;
+             bluetoothInfo_.connIndex = bluetoothInfo->connIndex;
          }
-         bool OnClick(UIView &view, const ClickEvent &event) override
-         {
-             UNUSED(event);
-             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BluetoothOnClickListListener");
-             BluetoothItemView *itemView = static_cast<BluetoothItemView *>(view.GetParent());
-             BluetoothCaseInfo *g_BluetoothCaseInfo = itemView->GetItemInfo();
-             SetItemInfo(g_BluetoothCaseInfo); // 保存点击的设备信息
-             BluetoothModel::GetInstance()->SetTempMacValue(&bluetoothInfo_);
-             if (BluetoothModel::GetInstance()->GetBluetoothCalleridStatus() == CALLERPLAYERS)
-             {
-                 JumpView *jumpView = JumpView::GetInstance();
-                 if (jumpView == nullptr)
-                 {
-                     WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BluetoothDeviceOnClick jumpView GetInstance fail");
-                     return false;
-                 }
-                 jumpView->ChangeView(JumpView::BluetoothJumpViewNum::BLUETOOTHDEVICELISTVIEW,
-                                      JumpView::BluetoothJumpViewNum::BLUETOOTHEOPTIONSVIEW);
+     }
+     ~BluetoothDeviceOnClickListListener() {}
+     bool OnClick(UIView& view, const ClickEvent& event) override
+     {
+         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "BluetoothDeviceOnClickListListener");
+         UNUSED(view);
+         UNUSED(event);
+         /* 点击事件 */
+         // 跳转可选页
+         if (BluetoothModel::GetInstance()->GetBluetoothCalleridStatus() == CALLERPLAYERS) {
+             JumpView *jumpView = JumpView::GetInstance();
+             if (jumpView == nullptr) {
+                 WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BluetoothDeviceOnClick jumpView GetInstance fail");
+                 return false;
              }
-             #ifdef  SUPPORT_BT_SERVICE
-             else if (BluetoothModel::GetInstance()->GetBluetoothCalleridStatus() == CALLERSETTING)
-             {
-                 MainBluetoothView *mainBluetoothView = MainBluetoothView::GetInstance();
-                 if (mainBluetoothView == nullptr)
-                 {
-                     WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BluetoothDeviceOnClick mainBluetoothView GetInstance fail");
-                     return false;
-                 }
-                 if (view.GetViewType() == UIViewType::UI_BUTTON) // 点击的是按钮
-                 {
-                     WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "UIViewType::UI_BUTTON,%s", reinterpret_cast<const char *>(bluetoothInfo_.deviceName));
-                     bd_addr_t *lastAddr = BluetoothModel::GetInstance()->GetLastConnedAddr();
-                     bool ret = bt_is_acl_connected(lastAddr);
-                     WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "bt_is_acl_connected:%d lastAddr:%02X %02X %02X * * *",
-                                   ret, lastAddr->addr[0], lastAddr->addr[1], lastAddr->addr[2]);
- 
-                     // 地址不是全0并且ret为真
-                     if(OHOS::CallerLogModel::GetInstance()->GetCallSource() == OHOS::CallerLogModel::CallSourceCat1
-                     && OHOS::NotificationManager::GetInstance()->GetWatchCallStatus())
-                     {
-                          if (!(lastAddr->addr[0] == 0 && lastAddr->addr[1] == 0 && lastAddr->addr[2] == 0 &&
-                           lastAddr->addr[3] == 0 && lastAddr->addr[4] == 0 && lastAddr->addr[5] == 0) &&
-                             ret)
-                         {   
-                             if(headset_Is_connect())
-                             {
-                                 if(headset_SCO_Is_connect_extend(lastAddr))
-                                 {
-                                     do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_CAT_HFP_DIS_SCO_CONNECT, nullptr, 0);
-                                 }
-                                 else
-                                 {
-                                     uint8_t time=200;
-                                     do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_CAT_HFP_SCO_CONNECT, &time, sizeof(uint8_t));
-                                 }
-                             }
-                             else
-                             {
-                                 do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_CONNECT_AG, nullptr, 0);
-                             }
-                             
-                         }
-                         else
-                         {
-                             mainBluetoothView->ChangeView(BluetoothModel::GetInstance()->GetCurView(), BLUETOOTHRECONNECTVIEW);
-                             errcode_t retVal = BluetoothModel::GetInstance()->ConnectRemoteDevice(&addr);
-                             WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[ConnectRemoteDevice] retVal =  %d", retVal);
-                         }
- 
-                     }
-                     else
-                     {
-                          if (!(lastAddr->addr[0] == 0 && lastAddr->addr[1] == 0 && lastAddr->addr[2] == 0 &&
-                           lastAddr->addr[3] == 0 && lastAddr->addr[4] == 0 && lastAddr->addr[5] == 0) &&
-                             ret)
-                         {
-                             BluetoothModel::GetInstance()->SetTagConnectNew(false); //主动断开连接不需要回连该设备
-                             errcode_t retVal = gap_disconnect_remote_device(lastAddr);
-                             WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[gap_disconnect_remote_device] retVal =  %d", retVal);
-                         }
-                         else
-                         {
-                             mainBluetoothView->ChangeView(BluetoothModel::GetInstance()->GetCurView(), BLUETOOTHRECONNECTVIEW);
-                             errcode_t retVal = BluetoothModel::GetInstance()->ConnectRemoteDevice(&addr);
-                             WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[ConnectRemoteDevice] retVal =  %d", retVal);
-                         }
-                     }
-                    
-                 }
-                 else if (view.GetViewType() == UIViewType::UI_IMAGE_VIEW) /*点击的是图片*/
-                 {
-                     WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "UIViewType::UI_IMAGE_VIEW,%s", reinterpret_cast<const char *>(bluetoothInfo_.deviceName));
-                     mainBluetoothView->ChangeView(BluetoothModel::GetInstance()->GetCurView(), BLUETOOTHEOPTIONSVIEW);
-                     BluetoothOptionsView *bluetoothOptionsView = BluetoothOptionsView::GetInstance();
-                     if (bluetoothOptionsView == nullptr)
-                     {
-                         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "OnClick bluetoothOptionsView new fail");
-                         return false;
-                     }
-                     bluetoothOptionsView->SetCurrentAddr(addr);
-                     bluetoothOptionsView->RefreshText();
-                 }
+             jumpView->ChangeView(JumpView::BluetoothJumpViewNum::BLUETOOTHDEVICELISTVIEW,
+                                  JumpView::BluetoothJumpViewNum::BLUETOOTHEOPTIONSVIEW);
+         } else if (BluetoothModel::GetInstance()->GetBluetoothCalleridStatus() == CALLERSETTING) {
+             MainBluetoothView *mainBluetoothView = MainBluetoothView::GetInstance();
+             if (mainBluetoothView == nullptr) {
+                 WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BluetoothDeviceOnClick mainBluetoothView GetInstance fail");
+                 return false;
              }
-             #endif
- 
-             return true;
+             mainBluetoothView->ChangeView(BLUETOOTHDEVICELISTVIEW, BLUETOOTHEOPTIONSVIEW);
          }
- 
-     private:
-         BluetoothCaseInfo bluetoothInfo_{};
-         bd_addr_t addr;
-     };
- 
-     BluetoothDeviceCaseListAdapter::~BluetoothDeviceCaseListAdapter()
-     {
-         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "BluetoothDeviceCaseListAdapter::~BluetoothDeviceCaseListAdapter");
-         if (g_btOnClickListListener != nullptr)
-         {
-             delete g_btOnClickListListener;
-             g_btOnClickListListener = nullptr;
+         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "BluetoothDeviceOnClickListListener addr: %02x%02x%02x%02x%02x%02x",
+             bluetoothInfo_.addr[5], bluetoothInfo_.addr[4], bluetoothInfo_.addr[3], /* mac下标 0 1 2 3 4 5 */
+             bluetoothInfo_.addr[2], bluetoothInfo_.addr[1], bluetoothInfo_.addr[0]); /* mac下标 0 1 2 3 4 5 */
+         BluetoothModel::GetInstance()->SetTempMacValue(&bluetoothInfo_);
+         // 用于查询连接状态
+         BluetoothOptionsView *bluetoothOptionsView = BluetoothOptionsView::GetInstance();
+         if (bluetoothOptionsView == nullptr) {
+             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "OnClick bluetoothOptionsView new fail");
+             return false;
          }
+         bluetoothOptionsView->SetCurrentAddr(addr);
+         bluetoothOptionsView->RefreshText();
+         return true;
      }
  
-     uint16_t BluetoothDeviceCaseListAdapter::GetCount()
-     {
-         return BluetoothModel::GetInstance()->GetConnedDevicesCase().Size();
-     }
+ private:
+     BluetoothCaseInfo bluetoothInfo_{};
+     bd_addr_t addr;
+ };
  
-     UIView *BluetoothDeviceCaseListAdapter::GetView(UIView *inView, int16_t index)
-     {
-         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "BluetoothDeviceCaseListAdapter GetView");
-         List<BluetoothCaseInfo> &bluetoothCaseList = BluetoothModel::GetInstance()->GetConnedDevicesCase();
-         if (bluetoothCaseList.IsEmpty())
-         {
-             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "bluetoothCaseList IsEmpty");
-             return nullptr;
-         }
-         if ((index > bluetoothCaseList.Size() - 1) || (index < 0))
-         {
-             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BluetoothDeviceCaseListAdapter::GetView err,%d,%d", index, bluetoothCaseList.Size());
+ 
+ UIView *BluetoothDeviceCaseListAdapter::GetView(UIView *inView, int16_t index)
+ {
+     WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "BluetoothDeviceCaseListAdapter GetView");
+     List<BluetoothCaseInfo> &bluetoothCaseList = BluetoothModel::GetInstance()->GetConnedDevicesCase();
+     if (bluetoothCaseList.IsEmpty()) {
+         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "bluetoothCaseList IsEmpty");
+         return nullptr;
+     }
+     if ((index > bluetoothCaseList.Size() - 1) || (index < 0)) {
+         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BluetoothDeviceCaseListAdapter::GetView err");
+         return nullptr;
+     }
+     ListNode<BluetoothCaseInfo>* node = bluetoothCaseList.Begin();
+     for (uint16_t i = 0; i < index; i++) {
+         node = node->next_;
+     }
+     node->data_.index = index;
+     BluetoothCaseInfo itemData = node->data_;
+     if (inView == nullptr) {
+         item = new BluetoothItemView();
+         if (item == nullptr) {
+             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "GetView item err");
              return nullptr;
          }
-         ListNode<BluetoothCaseInfo> *node = bluetoothCaseList.Begin();
-         for (uint16_t i = 0; i < index; i++)
-         {
-             node = node->next_;
-         }
-         node->data_.index = index;
-         BluetoothCaseInfo itemData = node->data_;
-         if (inView == nullptr)
-         {
-             item = new BluetoothItemView();
-             if (item == nullptr)
-             {
-                 WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "GetView item err");
-                 return nullptr;
-             }
-         }
-         else
-         {
-             item = static_cast<BluetoothItemView *>(inView);
-         }
-         item->SetViewIndex(index);
-         item->SetItemInfo(itemData, false);
-         item->SetConnectionstatus(itemData);
+     } else {
+         item = static_cast<BluetoothItemView *>(inView);
+     }
+     item->SetItemInfo(itemData, false);
+     item->SetConnectionstatus(itemData);
  
-         if (g_btOnClickListListener == nullptr)
-         {
-             g_btOnClickListListener = new BluetoothDeviceOnClickListListener();
-             if (g_btOnClickListListener == nullptr)
-             {
-                 WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BluetoothDeviceCaseListAdapter::GetView new fail");
-                 return nullptr;
-             }
-         }
-         listener = static_cast<UIView::OnClickListener *>(g_btOnClickListListener);
-         item->SetViewOnClickListener(listener);
-         sprintf_s(addrTmp, sizeof(addrTmp), "%02x%02x%02x%02x%02x%02x", node->data_.addr[0], node->data_.addr[1],
-                   node->data_.addr[2], node->data_.addr[3], node->data_.addr[4], node->data_.addr[5]); // 没有%s类型,不做返回判断
-         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "addrTmp %s", addrTmp);
-         return item;
+     listener = item->GetOnClickListener();
+     if (listener != nullptr) {
+         delete listener;
+         listener = nullptr;
+     }
+     listener = new BluetoothDeviceOnClickListListener(&node->data_);
+     if (listener == nullptr) {
+         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "GetView BluetoothDeviceOnClickListListener err");
+         return nullptr;
      }
+     sprintf_s(addrTmp, sizeof(addrTmp), "%02x%02x%02x%02x%02x%02x", node->data_.addr[0], node->data_.addr[1],
+         node->data_.addr[2], node->data_.addr[3], node->data_.addr[4], node->data_.addr[5]); // 没有%s类型,不做返回判断
+     WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "addrTmp %s", addrTmp);
+ 
+     item->SetViewIndex(index);
+     item->SetOnClickListener(listener);
+     return item;
+ }
  } // namespace OHOS
@@@ -5,32 -5,19 +5,27 @@@
   * Create: 2021-10-13\r
   */\r
  \r
- #include "bluetooth/include/BluetoothItemView.h"\r
+ #include "bluetooth/BluetoothItemView.h"\r
  #include "wearable_log.h"\r
  #include "UiConfig.h"\r
- #include "player/include/PlayersView.h"\r
- #include "ui_resource_image.h"\r
- #include "ui_resource_string.h"\r
- #include "callerlog/include/CallerLogModel.h"\r
- #include "custom_utils.h"\r
- #include "notification_manager.h"\r
+ #include "common/image_cache_manager.h"\r
  \r
 -namespace OHOS {\r
 -constexpr uint16_t BUTTON_WIDTH = 351;\r
 -constexpr uint16_t BUTTON_HEIGHT = 81;\r
 -constexpr uint16_t IMAGE_WIDTH = 81;\r
 -constexpr uint16_t IMAGE_HEIGHT = 81;\r
 -constexpr uint16_t LABEL_HEIGHT = 81;\r
 -constexpr uint16_t LABEL_WIDTH = 189;\r
 -constexpr uint16_t BLELIST_BUTTON_HEIGHT = 81;\r
 +#ifdef SUPPORT_CAT1_HFP_AG_SERV\r
 +#include "phoneservice/include/PhoneAGService.h"\r
 +#endif\r
 +\r
 +#include "ConfigModel.h"\r
 +#include "languagecode/LanguageInit.h"\r
 +\r
 +namespace OHOS\r
 +{\r
 +    constexpr uint16_t BUTTON_WIDTH = 351;\r
 +    constexpr uint16_t BUTTON_HEIGHT = 81;\r
 +    constexpr uint16_t IMAGE_WIDTH = 81;\r
 +    constexpr uint16_t IMAGE_HEIGHT = 81;\r
 +    constexpr uint16_t LABEL_HEIGHT = 81;\r
 +    constexpr uint16_t LABEL_WIDTH = 189;\r
 +    constexpr uint16_t BLELIST_BUTTON_HEIGHT = 81;\r
  \r
  #define BLUETOOTH_CONNECT_DELAY 200\r
  #define BLUETOOTH_CONNECT_X 294\r
@@@ -4,40 -4,16 +4,40 @@@
   * Author:
   * Create: 2021-10-12
   */
- #include "callerlog/include/CallerLogModel.h"
- #include "callerlog/include/CallerLogView.h"
- #include "makephone/include/DialingScreenView.h"
- #include "makephone/include/CallingView.h"
- #include "service_id_define.h"
- #include "cmsis_os.h"
+ #include "callerlog/CallerLogModel.h"
+ #include "callerlog/CallerLogView.h"
+ #include "makephone/DialingScreenView.h"
+ #include "makephone/CallingView.h"
+ #include "ohos_timer.h"
+ #include "graphic_timer.h"
  #include "samgr_lite.h"
- #include "makephone/include/MainCallingPresenter.h"
- #include "player/include/PlayersModel.h"
+ #include "makephone/MainCallingPresenter.h"
+ #include "player/PlayersModel.h"
  #include "graphic_service.h"
 +#include "notification_manager.h"
 +#include "osal_timer.h"
 +#include "cmsis_os2.h"
 +#include "custom_utils.h"
 +#include "ConfigModel.h"
 +#include "vibrator_service.h"
 +#include "custom_runtime.h"
 +#include "makephone/include/MainCallingView.h"
 +
 +#ifdef FD230_650
 +#include "dial_sos_c.h"
 +#endif
 +
 +#ifdef SUPPORT_CAT1_SERVICE
 +#include "cat1_ctl.h"
 +#include "cat1_server.h"
 +#endif
 +#include "alarm/include/AlarmClockModel.h"
 +
 +#ifdef SUPPORT_CAT1_HFP_AG_SERV
 +#include "phoneservice/include/PhoneAGService.h"
 +#endif
 +
 +#include "custom_save_runtime.h"
  
  #ifdef __cplusplus
  extern "C" {
  #include "broadcast_service.h"
  #include "broadcast_feature.h"
  #include "service_id_define.h"
+ #include "graphic_mutex.h"
  #include "samgr_lite.h"
 -#include "uiservice/ui_service.h"
 +#include "uiservice/include/ui_service.h"
 +#ifdef SUPPORT_CAT1_SERVICE
 +#include "cat1_server_hal.h"
 +#include "cat1_ctl.h"
 +#endif
 +#include "bluetooth/include/BluetoothModel.h"
 +#include "notification_manager.h"
 +#include "callerlog/include/CallerLogModel.h"
 +#include "custom_utils.h"
 +// #include "BluetoothHpabpserver.h"
 +#include "alarm/include/AlarmClockModel.h"
 +#include "ConfigModel.h"
 +#include "custom_runtime.h"
 +#include "vibrator_service.h"
 +#include "gfx_utils/mem_api.h"
 +#include "ConfigModelC.h"
 +#include "UiConfig.h"
 +
 +#ifdef SUPPORT_CAT1_HFP_AG_SERV
 +#include "phoneservice/include/PhoneAGService.h"
 +#endif
  
 +#include "cmath"
  #ifdef __cplusplus
  extern "C" {
  #endif
Simple merge
Simple merge