优化电话中再呼叫SOS
authorhcj <1224667075@qq.com>
Mon, 21 Oct 2024 02:55:29 +0000 (10:55 +0800)
committerhcj <1224667075@qq.com>
Mon, 21 Oct 2024 02:55:29 +0000 (10:55 +0800)
code/sdk/application/wearable/fd230app/nativeui/callerlog/src/CallerLogModel.cpp
code/sdk/application/wearable/nativeabilityfwk/include/Ability.h
code/sdk/application/wearable/nativeabilityfwk/src/Ability.cpp
code/sdk/application/wearable/service/msg_center/src/notify/makephone_notification.cpp

index 04b870c..b351145 100644 (file)
@@ -194,7 +194,7 @@ static void CallTimerCallbackProc(int data)
         }
        
         {
-            if(get_call_hungup_flag()>=2)
+            if(get_call_hungup_flag()>=1)
             {
                 cat1_handle_call_disconnected((char *)CallerLogModel::GetInstance()->GetPhoneNumber().c_str());
             }
@@ -778,7 +778,7 @@ static void ScoConnectHandle(void)
                 TransCallToMobilePhone();
                 return;
             }
-            
+
             CallerLogModel::GetInstance()->SetDialingStatus("正在拨号");
             CallerLogModel::GetInstance()->SetMakePhoneStatus(true);
 
index 5db5bcd..69136fd 100755 (executable)
@@ -61,6 +61,8 @@ public:
         return allSlices_[allSlices_.size() - 2];
     }
 
+ 
+
     void SetCurSlicePriority(const uint16_t priority) {
         curSlicePriority_ = priority;
     }
@@ -85,6 +87,14 @@ public:
         ChangeSlice(sliceId,transitionId,priority); // 切换到新的Slice
     }
 
+    uint16_t GettopSliceId(void) {
+        if (!backStack_.empty() ) {
+            return backStack_.top();
+        }
+        return 0;
+    }
+
+
     // 处理后退操作
 
     /// @brief 处理后退操作。
index 8ae0503..77c6998 100755 (executable)
@@ -141,7 +141,12 @@ namespace OHOS
         if (targetSliceId == VIEW_INCOMING_CALL)
         {
            uint16_t id=GetCurSliceId();
-           if(id!=VIEW_INCOMING_CALL)
+           if(id==VIEW_REBOOTANDSHUTDOWN && VIEW_INCOMING_CALL==GettopSliceId())
+           {
+                ClearSliceIdStack();
+           }
+
+            if(id!=VIEW_INCOMING_CALL)
            make_phone_push(id);
         }
         // showsStackSliceId();
index cd1ab01..67d5b9c 100755 (executable)
@@ -66,6 +66,12 @@ void sos_falg_add(void)
 {
     if(sos_dail_falg)
     {
+        if(OHOS::get_sos_number_count()<=0)
+        {
+            sos_dail_falg=0;
+            return;
+        }
+
         printf("sos dial %d\r\n",sos_dail_falg);
         #if SOS_TEST_FLAG
         if(1)
@@ -100,6 +106,10 @@ void sos_falg_clean(void)
 
 void start_SOS_phone_dail(void)
 {
+    if(OHOS::get_sos_number_count()<=0)
+    {
+        return;
+    }
     #if SOS_TEST_FLAG
     if(1)
     #else