sos增加适配HFP呼叫,呼叫备注显示#933 #932
authorhcj <1224667075@qq.com>
Wed, 9 Oct 2024 10:11:04 +0000 (18:11 +0800)
committerhcj <1224667075@qq.com>
Wed, 9 Oct 2024 10:11:04 +0000 (18:11 +0800)
code/sdk/application/wearable/fd230app/nativeui/phone/src/phoneaddressmodel.cpp
code/sdk/application/wearable/service/msg_center/include/notify/dial_sos_c.h
code/sdk/application/wearable/service/msg_center/src/notify/makephone_notification.cpp

index 9954351..578a873 100644 (file)
@@ -169,6 +169,19 @@ namespace OHOS
 
     bool get_phone_addrss_name(char *name,const char *phone,uint8_t *sex)
     {
+
+        for(int i=0;i<get_sos_number_count();i++)
+        {
+            if(addrss_strcmp((char *)phone,sos_number_data[i].number))
+            {
+                strcpy_s(name,NAME_LEN+1,sos_number_data[i].name);
+                if(sex!=NULL)
+                *sex= sos_number_data[i].sex==0 ? 1:2;
+                return true;
+            }
+        }
+
+
         for(int i=0;i<addressbook_t.num;i++)
         {
             //if(strcmp(phone,addressbook_t.Contact_t[i].phone_number_t[0].number)==0)
@@ -191,6 +204,7 @@ namespace OHOS
                 }   
             }
         }
+       
         strcpy_s(name,NAME_LEN+1,"未知");
         return false;
     }
index 98ce870..d15f37b 100755 (executable)
@@ -50,7 +50,7 @@ static uint8_t sos_dail_falg=0;
 
 #define SOS_TEST_FLAG 0
 
-#define SOS_HFP_FALG 0
+#define SOS_HFP_FALG 1
 
 #define DIAL_TIME 30
 
@@ -66,7 +66,7 @@ void sos_falg_add(void)
 {
     if(sos_dail_falg)
     {
-
+        printf("sos dial %d\r\n",sos_dail_falg);
         #if SOS_TEST_FLAG
         if(1)
         #else
@@ -86,7 +86,7 @@ void sos_falg_add(void)
              calldial_event_sendmsg_toUI("SOS");
         }
         sos_dail_falg++;
-        if(sos_dail_falg>=9)
+        if(sos_dail_falg>=OHOS::get_sos_number_count()*3)
         {
             sos_dail_falg=0;
         }
@@ -112,7 +112,7 @@ void start_SOS_phone_dail(void)
     #if SOS_HFP_FALG
     else if(uapi_hfp_connect_state())
     {
-        DialCall((unsigned char *)sos_dail_buf,osal_strlen((const char*)sos_dail_buf));
+        DialCall((unsigned char *)OHOS::get_sos_number(0),osal_strlen((const char*)OHOS::get_sos_number(0)));
         sos_dail_falg=1;
     }
     #endif
@@ -545,31 +545,31 @@ static void WatchFinishHandle(void)
 {
     if (NotificationManager::GetInstance()->GetWatchCallStatus()) 
     {
-        if(get_falg_SOS())
+       if(get_falg_SOS())
         {
             addcalllog();
             sos_falg_add();
         }
         else
         {
-            if(CallerLogModel::GetInstance()->GetCallSource()==CallerLogModel::CallSourcePhone)
-            {
-                addcalllog();
-            }
-            else if(uapi_dev_runtime_get_train_status() || transmittingISShow())
-            {
-                addcalllog();
-                StatusReset();
-            }
-            else
-            {
-                uapi_cat1_stop_volte_voice();
-
-                addcalllog();
-                StatusReset();
-            }   
+        if(CallerLogModel::GetInstance()->GetCallSource()==CallerLogModel::CallSourcePhone)
+        {
+            addcalllog();
         }
-       
+        else if(uapi_dev_runtime_get_train_status() || transmittingISShow())
+        {
+            addcalllog();
+            StatusReset();
+        }
+        else
+        {
+            uapi_cat1_stop_volte_voice();
+
+            addcalllog();
+            StatusReset();
+}   
+        }   
+               
     }
     DisableCallTimer(CallTimerType::NOTIFY_PHONE_DIAL_DISPLAY);
 }
@@ -614,7 +614,6 @@ void cat1_phone_state_change_cb(uint8_t state)
             if(call_stat==2)
             call_stat=1;
             PhoneServiceScreenCtr(true);
-            sos_falg_clean();
             WatchActiveHandle();
             break;
         case OPERATE_PHONE_HOLD: