修改蓝牙耳机处理电话逻辑 1614/1 1614/head 1620/target/1 1623/target/1 1625/target/1
authorhcj <1224667075@qq.com>
Thu, 9 Jan 2025 09:21:42 +0000 (17:21 +0800)
committerhcj <1224667075@qq.com>
Thu, 9 Jan 2025 09:21:42 +0000 (17:21 +0800)
code/sdk/application/wearable/fd230app/nativeui/callerlog/src/CallerLogModel.cpp
code/sdk/application/wearable/fd230app/nativeui/phoneservice/src/PhoneAGService.cpp
code/sdk/application/wearable/service/msg_center/src/msg_center_customer.cpp
code/sdk/drivers/peripheral/slip/cat1Service/cat1_server.cpp

index b2beeb6..c6f0621 100644 (file)
@@ -148,7 +148,7 @@ void StatusReset(void)
     if(CallerLogModel::GetInstance()->GetCallSource()==CallerLogModel::CallSourceCat1)
     {
         #ifdef SUPPORT_CAT1_HFP_AG_SERV
-        if(volte_voice_state()==2 && headset_Is_connect())
+        if(headset_SCO_Is_connect())
         {
             do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_CAT_HFP_DIS_SCO_CONNECT, nullptr, 0);
         }
index 0fe30a1..dae05df 100644 (file)
@@ -956,6 +956,7 @@ int cat1_ag_send_call_event( uint32_t event_topic, const char* info)
             ret=ERRCODE_BT_FAIL;
             break;
     }
+    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"hfp_ag_send_answer_call_event %d %d\n",event_topic,ret);
     return ret;
 }
 
index 27dbc77..28a0f8e 100644 (file)
@@ -1083,6 +1083,7 @@ void MsgCenterNotifyCatIncomingCallProc(const Topic topic, Request* req)
         //uapi_hfp_disconnect();
 //来电
         #ifdef SUPPORT_CAT1_HFP_AG_SERV
+        if(headset_Is_connect())
         cat1_ag_send_call_event(TOPIC_EVENT_CAT1_INCOMMING,call_data);
         #endif
 
@@ -1146,21 +1147,19 @@ void MsgCenterNotifyCat1CallConnectedProc(const Topic topic, Request* req)
         return;
     }
     AlarmClockModel::GetInstance()->AlarmPlayerStop();
-     //AlarmViewEventListener::GetInstance()->CancelAlarmRing();
     #ifdef SUPPORT_CAT1_HFP_AG_SERV
     if(headset_Is_connect())
     {   
-        do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_CAT_HFP_SCO_CONNECT, nullptr, 0); 
+        cat1_ag_send_call_event(TOPIC_EVENT_CAT1_CALLCONNTED,NULL);
+        do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_CAT_HFP_SCO_CONNECT, nullptr, 0);
+
     }
     else
     #endif
     {
-     do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_CAT1_AUDIO_START, nullptr, 0);
+        do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_CAT1_AUDIO_START, nullptr, 0);
     }
-    #ifdef SUPPORT_CAT1_HFP_AG_SERV
 
-    cat1_ag_send_call_event(TOPIC_EVENT_CAT1_CALLCONNTED,NULL);
-    #endif
 
     SetMicMutecat1(false);
 
@@ -1198,21 +1197,24 @@ void MsgCenterNotifyCat1dialProc(const Topic topic, Request* req)
     }
     
     cat1_call_dial(call_data);
-     #ifdef SUPPORT_CAT1_HFP_AG_SERV
-    cat1_ag_send_call_event(TOPIC_EVENT_CAT1_CALLDIAL,NULL);
-    #endif
+   
     CallerLogModel::GetInstance()->SetoperateNumber(call_data,req->len);
 
     cat1_phone_state_change_cb(OPERATE_DIALING);
-     #ifdef SUPPORT_CAT1_HFP_AG_SERV
+
+    #ifdef SUPPORT_CAT1_HFP_AG_SERV
     if(headset_Is_connect())
-    {   
-        do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_CAT_HFP_SCO_CONNECT, nullptr, 0); 
+    {
+       
+        cat1_ag_send_call_event(TOPIC_EVENT_CAT1_CALLDIAL,NULL);
+        do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_CAT_HFP_SCO_CONNECT, nullptr, 0);
+
+       
     }
     else
     #endif
     {
-    do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_CAT1_AUDIO_START, nullptr, 0);
+        do_custom_cmd_service_check_msg(CUSTOM_CMD_MSG_CAT1_AUDIO_START, nullptr, 0);
     }
    
     }
@@ -1248,8 +1250,10 @@ void MsgCenterNotifyCat1CallEndedProc(const Topic topic, Request* req)
         cat1_call_hungup();
 
         cat1_phone_state_change_cb(OPERATE_WATCH_FINISH);
+
         #ifdef SUPPORT_CAT1_HFP_AG_SERV
-            cat1_ag_send_call_event(TOPIC_EVENT_CAT1_CALLENDED,NULL);
+        if(headset_Is_connect())
+        cat1_ag_send_call_event(TOPIC_EVENT_CAT1_CALLENDED,NULL);
         #endif
 
         CustomEventPublish(TOPIC_EVENT_CAT1_CALL_FAIL,NULL,0);
@@ -1276,8 +1280,8 @@ void MsgCenterNotifyCat1CallEndedProc(const Topic topic, Request* req)
     {
        
        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "no OPERATE_WATCH_FINISH");
-       #ifdef SUPPORT_CAT1_HFP_AG_SERV
-        cat1_ag_send_call_event(TOPIC_EVENT_CAT1_CALLENDED,NULL);
+        #ifdef SUPPORT_CAT1_HFP_AG_SERV
+        // cat1_ag_send_call_event(TOPIC_EVENT_CAT1_CALLENDED,NULL);
         #endif       
     } 
     else
@@ -1285,7 +1289,11 @@ void MsgCenterNotifyCat1CallEndedProc(const Topic topic, Request* req)
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "OPERATE_WATCH_FINISH");
         cat1_phone_state_change_cb(OPERATE_WATCH_FINISH);
         #ifdef SUPPORT_CAT1_HFP_AG_SERV
-        cat1_ag_send_call_event(TOPIC_EVENT_CAT1_CALLENDED,NULL);
+        if(headset_Is_connect())
+        {
+            cat1_ag_send_call_event(TOPIC_EVENT_CAT1_CALLENDED,NULL);
+        }
+        
         #endif
     }
 
index dd3d636..7ee7bf7 100644 (file)
@@ -1403,6 +1403,7 @@ static int udp_packet_parse(char *rx_buffer, int len)
              uapi_save_runtime_log(RUNTIME_LOG_CAT1_UDP_MSG_TIME);
             break;
         case UDP_MSG_CALL_CONNECTED:
+        
             if(g_timer_time_answer)
             osTimerStop(g_timer_time_answer);
 
@@ -1469,9 +1470,11 @@ static int udp_packet_parse(char *rx_buffer, int len)
             }
             if(strstr(msg_buffer,"callanswer_success")!=NULL)
             {
-                osTimerStop(g_timer_time_answer);
-                incomedcall_event_sendmsg_toUI("callanswer_success");
-               
+                if(osTimerIsRunning(g_timer_time_answer))
+                {
+                    osTimerStop(g_timer_time_answer);
+                    incomedcall_event_sendmsg_toUI("callanswer_success");
+                }
             }
             if(strstr(msg_buffer,"callcmd_fail")!=NULL)
             {