callerlog 文件夹更新
authorluozheng <1732036298@qq.com>
Wed, 29 May 2024 04:23:45 +0000 (12:23 +0800)
committerluozheng <1732036298@qq.com>
Wed, 29 May 2024 04:23:45 +0000 (12:23 +0800)
code/sdk/application/wearable/fd230app/nativeui/callerlog/include/CallerItemView.h
code/sdk/application/wearable/fd230app/nativeui/callerlog/include/CallerLogModel.h
code/sdk/application/wearable/fd230app/nativeui/callerlog/include/CallerLogPresenter.h
code/sdk/application/wearable/fd230app/nativeui/callerlog/include/CallerLogView.h
code/sdk/application/wearable/fd230app/nativeui/callerlog/src/CallerItemView.cpp
code/sdk/application/wearable/fd230app/nativeui/callerlog/src/CallerLogModel.cpp
code/sdk/application/wearable/fd230app/nativeui/callerlog/src/CallerLogPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/callerlog/src/CallerLogView.cpp

index 4b5bd51..215b92a 100644 (file)
@@ -25,17 +25,17 @@ public:
 \r
     // @param yCoordinates Y轴坐标值\r
     explicit CallerItemView(int32 yCoordinates);\r
-    virtual ~CallerItemView();\r
+    ~CallerItemView() override;\r
 \r
-    virtual void SetItemInfo(CallLogInfo *itemInfo, char len);\r
-    virtual void SetUpChild();\r
+    void SetItemInfo(CallLogInfo *itemInfo, char len);\r
+    void SetUpChild();\r
 private:\r
     CallerItemView(const CallerItemView &);\r
     CallerItemView &operator = (const CallerItemView &);\r
     void InitDateMonTime(time_t seconds);\r
 \r
-    string infoTel; // 电话号码\r
-    string timeDisplay; // 日期显示\r
+    std::string infoTel; // 电话号码\r
+    std::string timeDisplay; // 日期显示\r
     UIImageView icon_;\r
     UIImageView icons_;\r
     UILabel label_;\r
index fc7bce0..03cf154 100644 (file)
@@ -45,14 +45,14 @@ void UsingPhoneChangeStatusCallback(const PhoneCallInfo *phoneCall);
 void UsingPhoneErrorCallback(PhoneServiceErrorType type);\r
 \r
 namespace OHOS {\r
-using namespace std;\r
+\r
 \r
 class CallerLogModel {\r
 public:\r
     void InitPhoneService();\r
     static CallerLogModel *GetInstance(void);\r
 \r
-    string GetPhoneNumber(void);\r
+    std::string GetPhoneNumber(void);\r
     void SetoperateNumber(const char *number, char number_len);\r
 \r
     bool GetPhoneStatus();\r
@@ -70,25 +70,26 @@ public:
     bool GetMulitplePhoneStatus();\r
     void SetMulitplePhoneStatus(bool status);\r
 \r
-    string GetDialingStatus(void);\r
+    std::string GetDialingStatus(void);\r
     void SetDialingStatus(const char *text);\r
 \r
-    string InitDateHourTime();\r
-    char *DisplayCallDuration();\r
+    std::string InitDateHourTime();\r
+    std::string &DisplayCallDuration();\r
     int CurrCallNum();\r
 \r
     bool GetNotifyFlag(void);\r
     void SetNotifyFlag(bool flag);\r
+    bool IsMulitplePhoneStatus(void);\r
 private:\r
     CallerLogModel();\r
     CallerLogModel(const CallerLogModel &);\r
     CallerLogModel &operator=(const CallerLogModel &);\r
     virtual ~CallerLogModel();\r
 \r
-    string dialingStatus; // 拨号状态\r
-    string timers; // 时间显示\r
-    string callDuration; // 通话时长\r
-    string phoneNumber; // 电话号码\r
+    std::string dialingStatus; // 拨号状态\r
+    std::string timers; // 时间显示\r
+    std::string callDuration; // 通话时长\r
+    std::string phoneNumber; // 电话号码\r
     bool mulitplePhoneStatus{false}; // 判断是否多路通话界面\r
     bool waitingStatus{false}; // 判断是否等待提醒界面\r
     bool volumeStatus{false}; // 判断是否音量界面\r
index e66e4fb..23a86fd 100644 (file)
@@ -19,7 +19,7 @@ class CallerLogView;
 class CallerLogPresenter : public Presenter<CallerLogView>, public UIView::OnClickListener {\r
 public:\r
     CallerLogPresenter();\r
-    virtual ~CallerLogPresenter();\r
+    ~CallerLogPresenter() override;\r
 \r
     void OnStart() override;\r
     void OnPause() override;\r
index b99e1d5..16e6bfb 100644 (file)
@@ -29,9 +29,9 @@ using namespace Graphic;
 class CallerListOnDragListener : public UIView::OnDragListener {\r
 public:\r
     CallerListOnDragListener() {}\r
-    virtual ~CallerListOnDragListener() {}\r
+    ~CallerListOnDragListener() override {}\r
 \r
-    virtual bool OnDrag(UIView& view, const DragEvent& event)\r
+    bool OnDrag(UIView& view, const DragEvent& event) override\r
     {\r
         UNUSED(view);\r
         if ((event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT) &&\r
@@ -46,7 +46,7 @@ public:
 class CallerUIScrollView : public UIScrollView {\r
 public:\r
     CallerUIScrollView() {}\r
-    virtual ~CallerUIScrollView() {}\r
+    ~CallerUIScrollView() {}\r
 \r
     bool OnDragEvent(const DragEvent& event) override\r
     {\r
index c0acd54..c63f185 100644 (file)
@@ -34,7 +34,6 @@ CallerItemView::CallerItemView(int32 yCoordinates)
     SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full);\r
     SetStyle(STYLE_BACKGROUND_OPA, OPA_OPAQUE);\r
     SetTouchable(true);\r
-\r
 }\r
 \r
 CallerItemView::~CallerItemView()\r
@@ -78,11 +77,11 @@ void CallerItemView::InitDateMonTime(time_t seconds)
     localtime_r(&seconds, &pTM);\r
     timeDisplay.erase();\r
     if (pTM.tm_mday < NUM_10) {\r
-        string day = "0" + to_string(pTM.tm_mday);\r
-        timeDisplay = to_string(pTM.tm_mon) + "/" + day;\r
+        std::string day = "0" + std::to_string(pTM.tm_mday);\r
+        timeDisplay = std::to_string(pTM.tm_mon) + "/" + day;\r
         return;\r
     }\r
-    timeDisplay = to_string(pTM.tm_mon) + "/" + to_string(pTM.tm_mday);\r
+    timeDisplay = std::to_string(pTM.tm_mon) + "/" + std::to_string(pTM.tm_mday);\r
     return;\r
 }\r
 \r
index 19174a6..6e90c21 100644 (file)
@@ -7,7 +7,7 @@
 #include "CallerLogModel.h"
 #include "CallerLogView.h"
 #include "DialingScreenView.h"
-#include "MainCallingView.h"
+#include "CallingView.h"
 #include "service_id_define.h"
 #include "cmsis_os.h"
 #include "samgr_lite.h"
@@ -29,7 +29,7 @@ static int g_isCall{NO_NUMBER_STATUS}; // 电话状态
 static PhoneCallInfo callInfo{};
 static int g_retNum{0}; // 电话个数
 static int g_volumeLocal{0}; // 错误码返回
-osTimerId_t g_startCounting = NULL; // 定时器
+osTimerId_t g_startCounting = nullptr; // 定时器
 static constexpr uint64_t MS_ONE_SECONDS = 1000;
 static PhoneCallInfo callList[MULTI_CALL_MAX_NUME]{};
 // 电话优先级标志位
@@ -37,6 +37,8 @@ static int g_firstPriority = NO_NUMBER_STATUS;
 static int g_secondPriority = NO_NUMBER_STATUS;
 static int g_thirdPriority = NO_NUMBER_STATUS;
 static int g_fourthPriority = NO_NUMBER_STATUS;
+// 是否为手表接听状态
+static bool g_isWatchCallView = false;
 
 void g_callTimesclean()
 {
@@ -80,13 +82,13 @@ static void SetPriorityNumber()
 /* 关闭定时器 */
 static void DisableCallingTimer()
 {
-    if (g_startCounting != NULL) {
+    if (g_startCounting != nullptr) {
         osStatus_t ret = osTimerDelete(g_startCounting);
         if (ret != osOK) {
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScanTimerCallback osTimerDelete failed, ret = %lx!!", ret);
             return;
         }
-        g_startCounting = NULL;
+        g_startCounting = nullptr;
         g_callTimes = 0;
     }
 }
@@ -98,8 +100,10 @@ static void StatusReset()
     CallerLogModel::GetInstance()->SetWaitingStatus(false);
     DisableCallingTimer();
     // If the call is handling in the notification, the slice is not switched
-    if (CallerLogModel::GetInstance()->GetNotifyFlag() == false) {
+    if (!CallerLogModel::GetInstance()->GetNotifyFlag()) {
         NativeAbility::GetInstance().ChangeSlice(VIEW_MAIN);
+    } else {
+        g_isWatchCallView = false;
     }
     return;
 }
@@ -110,22 +114,17 @@ static void CallTimerCallbackProc(int data)
     g_callTimes++;
 
     if (CallingView::GetInstance() == nullptr) {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[CallTimerCallbackProc] GetInstance is NULL");
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[CallTimerCallbackProc] GetInstance is nullptr");
         return;
     }
 
     if (CallingView::GetInstance()->GetCallingDurationLabel() == nullptr) {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[CallTimerCallbackProc] GetInstance()->GetCallingDurationLabel is NULL");
-        return;
-    }
-
-    if (CallerLogModel::GetInstance()->DisplayCallDuration() == nullptr) {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[CallTimerCallbackProc] DisplayCallDuration is NULL");
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[CallTimerCallbackProc] GetInstance()->GetCallingDurationLabel is nullptr");
         return;
     }
 
     CallingView::GetInstance()->GetCallingDurationLabel()->
-        SetText(CallerLogModel::GetInstance()->DisplayCallDuration());
+        SetText(CallerLogModel::GetInstance()->DisplayCallDuration().c_str());
 }
 
 static void CallTimerCallback(int data)
@@ -136,12 +135,12 @@ static void CallTimerCallback(int data)
 /* 开启定时器 */
 static void InitCallingTimer()
 {
-    if (g_startCounting != NULL) {
+    if (g_startCounting != nullptr) {
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "CallerLogModel::CallerTimer already exists!!");
         return;
     }
-    g_startCounting = osTimerNew((osTimerFunc_t)CallTimerCallback, osTimerPeriodic, NULL, NULL);
-    if (g_startCounting == NULL) {
+    g_startCounting = osTimerNew((osTimerFunc_t)CallTimerCallback, osTimerPeriodic, nullptr, nullptr);
+    if (g_startCounting == nullptr) {
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CallerLogModel::CallerTimer osTimerNew failed!!");
         return;
     }
@@ -149,13 +148,13 @@ static void InitCallingTimer()
     osStatus_t retTimer = osTimerStart(g_startCounting, tick);
     if (retTimer != osOK) {
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CallerLogModel::CallerTimer osTimerStart failed, ret = %lx!!", retTimer);
-        if (g_startCounting != NULL) {
+        if (g_startCounting != nullptr) {
             retTimer = osTimerDelete(g_startCounting);
             if (retTimer != osOK) {
                 WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CallerLogModel::osTimerDelete failed, ret = %lx!!", retTimer);
                 return;
             }
-            g_startCounting = NULL;
+            g_startCounting = nullptr;
         }
         return;
     }
@@ -219,7 +218,7 @@ static void CallModelResumePlayer(void)
     usleep(5000); // 延时等待通话释放媒体资源
     std::shared_ptr<PlayerInterruptListener> PlayerIntrptListener =
         OHOS::PlayersModel::GetInstance()->GetPlayerIntrptListener();
-    if (PlayerIntrptListener != nullptr && PlayerIntrptListener->IsPaused() == true) {
+    if (PlayerIntrptListener != nullptr && PlayerIntrptListener->IsPaused()) {
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[CallModelResumePlayer] ResumePlayer ");
         PlayerIntrptListener->ResumePlayer();
     }
@@ -246,6 +245,9 @@ static void ExitMakePhoneSlice(void)
     }
     CallerLogModel::GetInstance()->SetCallStatus(false);
     DisableCallingTimer();
+    if (CallerLogModel::GetInstance()->GetNotifyFlag()) {
+        g_isWatchCallView = false;
+    }
 }
 
 static void DialingHandle(void)
@@ -268,7 +270,7 @@ static void IncomingHandle(void)
 // 来电等待界面
 static void WaitingOpreate()
 {
-    if (IsCompleteCallFlow() == false) {
+    if (!IsCompleteCallFlow()) {
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[UsingPhoneChangeStatusCallback] is not complete call flow");
         return;
     }
@@ -276,8 +278,11 @@ static void WaitingOpreate()
     CallerLogModel::GetInstance()->SetCallStatus(false);
     CallerLogModel::GetInstance()->SetWaitingStatus(true);
     // If the call is handling in the notification, the slice is not switched
-    if (CallerLogModel::GetInstance()->GetNotifyFlag() == false) {
-        NativeAbility::GetInstance().ChangeSlice(VIEW_INCOMING_CALL, TransitionType::TRANSITION_INVALID, PRIORITY_ONE);
+    if (!CallerLogModel::GetInstance()->GetNotifyFlag()) {
+        NativeAbility::GetInstance().ChangeSlice(VIEW_INCOMING_CALL, TransitionType::TRANSITION_INVALID,
+            PRIORITY_ONE);
+    } else {
+        g_isWatchCallView = true;
     }
 }
 
@@ -285,7 +290,7 @@ static void WatchActiveHandle(const PhoneCallInfo *phoneCall)
 {
     if (NativeAbility::GetInstance().GetCurSliceId() == VIEW_INCOMING_CALL ||
         NativeAbility::GetInstance().GetCurSliceId() == VIEW_OFFLINEVOICE ||
-        CallerLogModel::GetInstance()->GetNotifyFlag() == true) {
+        CallerLogModel::GetInstance()->GetNotifyFlag()) {
         time_t seconds;
         time(&seconds);
         g_callTimes = seconds - phoneCall->activeTime;
@@ -293,12 +298,15 @@ static void WatchActiveHandle(const PhoneCallInfo *phoneCall)
         InitCallingTimer();
         CallerLogModel::GetInstance()->SetCallStatus(true);
     }
+    if (CallerLogModel::GetInstance()->GetNotifyFlag()) {
+        g_isWatchCallView = true;
+    }
 }
 
 static void PhoneActiveHandle(void)
 {
     if (NativeAbility::GetInstance().GetCurSliceId() == VIEW_INCOMING_CALL ||
-        CallerLogModel::GetInstance()->GetNotifyFlag() == true) {
+        g_isWatchCallView) {
         if (GetCurrCallNum() > 1) {
             g_phoneStatus = PHONE_MULTI_STATUS;
             if (GetScoConnectState() == HFP_SCO_STATE_DISCONNECTED) {
@@ -307,8 +315,10 @@ static void PhoneActiveHandle(void)
         }
         TransCallToMobilePhone();
         // If the call is handling in the notification, the slice is not switched
-        if (CallerLogModel::GetInstance()->GetNotifyFlag() == false) {
+        if (!CallerLogModel::GetInstance()->GetNotifyFlag()) {
             NativeAbility::GetInstance().ChangeSlice(VIEW_MAIN); // 退出通话界面,回到主表盘应用
+        } else {
+            g_isWatchCallView = false;
         }
         CallModelPostGraphicEvent(CallModelResumePlayer);
     }
@@ -319,7 +329,7 @@ static void PhoneActiveHandle(void)
 static void OppoActiveHandle(const PhoneCallInfo *phoneCall)
 {
     if (NativeAbility::GetInstance().GetCurSliceId() == VIEW_INCOMING_CALL ||
-        CallerLogModel::GetInstance()->GetNotifyFlag() == true) {
+        g_isWatchCallView) {
         if (GetCurrCallNum() > 1) {
             g_phoneStatus = PHONE_MULTI_STATUS;
             return;
@@ -337,27 +347,27 @@ bool MulitplePhoneTextReplaces()
 {
     DisableCallingTimer();
     if (CallingView::GetInstance() == nullptr) {
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[MultiplePhonesViewDisplay] GetInstance is NULL");
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[MultiplePhonesViewDisplay] GetInstance is nullptr");
         return false;
     }
 
     if (CallingView::GetInstance()->GetCallingDurationLabel() == nullptr) {
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[MultiplePhonesViewDisplay] GetInstance()->GetCallingDurationLabel is NULL");
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[MultiplePhonesViewDisplay] GetInstance()->GetCallingDurationLabel is nullptr");
         return false;
     }
 
     if (CallingView::GetInstance()->GetCallingDisplayLabel() == nullptr) {
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[MultiplePhonesViewDisplay] GetInstance()->GetCallingDurationLabel is NULL");
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[MultiplePhonesViewDisplay] GetInstance()->GetCallingDurationLabel is nullptr");
         return false;
     }
 
     if (MainCallingPresenter::GetInstance() == nullptr) {
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[MultiplePhonesViewDisplay] GetInstance()->MainCallingPresenter is NULL");
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[MultiplePhonesViewDisplay] GetInstance()->MainCallingPresenter is nullptr");
         return false;
     }
 
-    if (MainCallingPresenter::GetInstance()->CallingViewDisplay() == false) {
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[MultiplePhonesViewDisplay] GetInstance()->CallingViewDisplay is NULL");
+    if (!MainCallingPresenter::GetInstance()->CallingViewDisplay()) {
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[MultiplePhonesViewDisplay] GetInstance()->CallingViewDisplay is nullptr");
         return false;
     }
 
@@ -375,10 +385,15 @@ static bool MultiplePhonesViewDisplay()
             DisableCallingTimer();
             CallerLogModel::GetInstance()->SetMulitplePhoneStatus(true);
             CallerLogModel::GetInstance()->SetCallStatus(true);
-            NativeAbility::GetInstance().ChangeSlice(VIEW_INCOMING_CALL, TransitionType::TRANSITION_INVALID, PRIORITY_ONE);
+            if (!CallerLogModel::GetInstance()->GetNotifyFlag()) {
+                NativeAbility::GetInstance().ChangeSlice(VIEW_INCOMING_CALL, TransitionType::TRANSITION_INVALID,
+                    PRIORITY_ONE);
+            } else {
+                g_isWatchCallView = true;
+            }
             return true;
         }
-        if (MulitplePhoneTextReplaces() == false) {
+        if (!MulitplePhoneTextReplaces()) {
             return false;
         }
         return true;
@@ -390,14 +405,14 @@ static bool MultiplePhonesViewDisplay()
 static void NonWatchFinishHandle(int laststatus)
 {
     if (NativeAbility::GetInstance().GetCurSliceId() == VIEW_INCOMING_CALL ||
-        CallerLogModel::GetInstance()->GetNotifyFlag() == true) {
+        CallerLogModel::GetInstance()->GetNotifyFlag()) {
         if (GetCurrCallNum() == 0) {
             StatusReset();
             CallModelPostGraphicEvent(CallModelResumePlayer);
             g_phoneStatus = PHONE_SINGLE_STATUS;
         } else if (g_phoneStatus == PHONE_MULTI_STATUS) {
             MultiplePhonesViewDisplay();
-        } else if (FindCallListInfoAndSetPriorityNumber() == true) {
+        } else if (FindCallListInfoAndSetPriorityNumber()) {
             if (laststatus == HFP_HF_CALL_STATE_ACTIVE || laststatus == HFP_HF_CALL_STATE_HELD) {
                 CallerLogModel::GetInstance()->SetCallStatus(false);
                 CallerLogModel::GetInstance()->SetWaitingStatus(false);
@@ -406,11 +421,16 @@ static void NonWatchFinishHandle(int laststatus)
                 CallerLogModel::GetInstance()->SetWaitingStatus(false);
             }
             // If the call is handling in the notification, the slice is not switched
-            if (CallerLogModel::GetInstance()->GetNotifyFlag() == false) {
-                NativeAbility::GetInstance().ChangeSlice(VIEW_INCOMING_CALL, TransitionType::TRANSITION_INVALID, PRIORITY_ONE);
+            if (!CallerLogModel::GetInstance()->GetNotifyFlag()) {
+                NativeAbility::GetInstance().ChangeSlice(VIEW_INCOMING_CALL, TransitionType::TRANSITION_INVALID,
+                    PRIORITY_ONE);
+            } else {
+                g_isWatchCallView = true;
             }
         }
-        CallerLogModel::GetInstance()->SetNotifyFlag(false);
+        if (GetCurrCallNum() == 0) {
+            CallerLogModel::GetInstance()->SetNotifyFlag(false);
+        }
     }
     if (GetCurrCallNum() == 0) {
         g_phoneStatus = PHONE_SINGLE_STATUS;
@@ -420,16 +440,16 @@ static void NonWatchFinishHandle(int laststatus)
 static void WatchFinishHandle(void)
 {
     if (NativeAbility::GetInstance().GetCurSliceId() == VIEW_INCOMING_CALL ||
-        CallerLogModel::GetInstance()->GetNotifyFlag() == true) {
+        CallerLogModel::GetInstance()->GetNotifyFlag()) {
         if (GetCurrCallNum() == 0) {
             StatusReset();
+            CallerLogModel::GetInstance()->SetNotifyFlag(false);
         } else {
             StatusReset();
             for (int i = GetCurrCallNum(); i > 0; i--) {
                 FinishCall();
             }
         }
-        CallerLogModel::GetInstance()->SetNotifyFlag(false);
     }
     g_phoneStatus = PHONE_SINGLE_STATUS;
 }
@@ -437,28 +457,33 @@ static void WatchFinishHandle(void)
 static void ChangeStatusScreendisplay(int lastStatus)
 {
     if (GetScoConnectState() != HFP_SCO_STATE_CONNECTED) {
-        if (lastStatus == OPERATE_INCOMING) {
-            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[ChangeStatusScreendisplay] lastStatus OPERATE_INCOMING");
-        } else if (GetCurrCallNum() == 1 && (lastStatus == OPERATE_DIALING ||
-            lastStatus == OPERATE_ALERTING)) {
-            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[ChangeStatusScreendisplay] lastStatus OPERATE_ALERTING");
+        if (lastStatus == HFP_HF_CALL_STATE_ACTIVE) {
+            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[ChangeStatusScreendisplay] STATE_ACTIVE");
+            StatusReset();
+            return;
+        } else if (lastStatus == HFP_HF_CALL_STATE_INCOMING) {
+            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[ChangeStatusScreendisplay] STATE_INCOMING");
+        } else if (GetCurrCallNum() == 1 && (lastStatus == HFP_HF_CALL_STATE_DIALING ||
+            lastStatus == HFP_HF_CALL_STATE_ALERTING)) {
+            WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[ChangeStatusScreendisplay] STATE_ALERTING");
         } else if (GetCurrCallNum() > 1) {
             WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[ChangeStatusScreendisplay] GetCurrCallNum MULITE");
             DisableCallingTimer();
             return;
         }
     }
-    if (IsCompleteCallFlow() == false) {
+    if (!IsCompleteCallFlow()) {
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[ChangeStatusScreendisplay] is not complete call flow");
         return;
     }
-    if (MultiplePhonesViewDisplay() == true) {
+    if (MultiplePhonesViewDisplay()) {
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[ChangeStatusScreendisplay] MultiplePhonesViewDisplay");
         return;
     }
     // If the call is handling in the notification, the slice is not switched
-    if (g_callOperate != OPERATE_PHONE_ACTIVE && CallerLogModel::GetInstance()->GetNotifyFlag() != true) {
-        NativeAbility::GetInstance().ChangeSlice(VIEW_INCOMING_CALL, TransitionType::TRANSITION_INVALID, PRIORITY_ONE);
+    if (g_callOperate != OPERATE_PHONE_ACTIVE && (!CallerLogModel::GetInstance()->GetNotifyFlag())) {
+        NativeAbility::GetInstance().ChangeSlice(VIEW_INCOMING_CALL, TransitionType::TRANSITION_INVALID,
+            PRIORITY_ONE);
     }
 }
 
@@ -537,7 +562,7 @@ static void ScoConnectHandle(void)
         return;
     }
 
-    if (FindCallListInfoAndSetPriorityNumber() == false) {
+    if (!FindCallListInfoAndSetPriorityNumber()) {
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ScoConnectHandle FindCallListInfoAndSetPriorityNumber false");
         return;
     }
@@ -571,17 +596,20 @@ static void ScoConnectHandle(void)
             break;
     }
     g_isCall = NO_NUMBER_STATUS;
-    if (IsCompleteCallFlow() == false) {
+    if (!IsCompleteCallFlow()) {
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[ScoConnectHandle] is not complete call flow");
         return;
     }
-    if (MultiplePhonesViewDisplay() == true) {
+    if (MultiplePhonesViewDisplay()) {
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[ScoConnectHandle] MultiplePhonesViewDisplay");
         return;
     }
     // If the call is handling in the notification, the slice is not switched
-    if (CallerLogModel::GetInstance()->GetNotifyFlag() == false) {
-        NativeAbility::GetInstance().ChangeSlice(VIEW_INCOMING_CALL, TransitionType::TRANSITION_INVALID, PRIORITY_ONE);
+    if (!CallerLogModel::GetInstance()->GetNotifyFlag()) {
+        NativeAbility::GetInstance().ChangeSlice(VIEW_INCOMING_CALL, TransitionType::TRANSITION_INVALID,
+            PRIORITY_ONE);
+    } else {
+        g_isWatchCallView = true;
     }
 }
 
@@ -595,7 +623,7 @@ void UsingPhoneScoStatausCallback(hfp_sco_connect_state_t state)
 {
     WEARABLE_LOGD(HILOG_MODULE_AAFWK, "UsingPhoneScoStatausCallback SOC state: %d", state);
 
-    if (IsCompleteCallFlow() == false) {
+    if (!IsCompleteCallFlow()) {
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[UsingPhoneScoStatausCallback] is not complete call flow");
         return;
     }
@@ -655,7 +683,7 @@ void CallerLogModel::InitPhoneService()
 }
 
 /* 表盘底部时间显示 */
-string CallerLogModel::InitDateHourTime(void)
+std::string CallerLogModel::InitDateHourTime(void)
 {
     struct tm pTM;
     time_t seconds;
@@ -663,21 +691,21 @@ string CallerLogModel::InitDateHourTime(void)
     localtime_r(&seconds, &pTM);
     timers.erase();
     if (pTM.tm_min < NUM_TEN) {
-        string min = "0" + to_string(pTM.tm_min);
-        timers = to_string(pTM.tm_hour) + ":" + min;
+        std::string min = "0" + std::to_string(pTM.tm_min);
+        timers = std::to_string(pTM.tm_hour) + ":" + min;
         return timers;
     }
-    timers = to_string(pTM.tm_hour) + ":" + to_string(pTM.tm_min);
+    timers = std::to_string(pTM.tm_hour) + ":" + std::to_string(pTM.tm_min);
     return timers;
 }
 
 /* 表盘通话时间显示 */
-char *CallerLogModel::DisplayCallDuration()
+std::string& CallerLogModel::DisplayCallDuration()
 {
     callDuration.erase();
-    string hours;
-    string minute;
-    string seconds;
+    std::string hours;
+    std::string minute;
+    std::string seconds;
     if (g_callTimes >= NUM_TIME_DAY) {
         g_callTimes = 0;
     }
@@ -685,19 +713,19 @@ char *CallerLogModel::DisplayCallDuration()
     int min = (g_callTimes % NUM_TIME_HOUR) / NUM_TIME_MIN;
     int sec = (g_callTimes % NUM_TIME_HOUR) % NUM_TIME_MIN;
     if (hour >= 0 && hour < NUM_TEN) {
-        hours = "0" + to_string(hour);
+        hours = "0" + std::to_string(hour);
     } else {
-        hours = to_string(hour);
+        hours = std::to_string(hour);
     }
     if (min >= 0 && min < NUM_TEN) {
-        minute = "0" + to_string(min);
+        minute = "0" + std::to_string(min);
     } else {
-        minute = to_string(min);
+        minute = std::to_string(min);
     }
     if (sec >= 0 && sec < NUM_TEN) {
-        seconds = "0" + to_string(sec);
+        seconds = "0" + std::to_string(sec);
     } else {
-        seconds = to_string(sec);
+        seconds = std::to_string(sec);
     }
 
     if (hour == 0) {
@@ -705,7 +733,7 @@ char *CallerLogModel::DisplayCallDuration()
     } else {
         callDuration = hours + ":" + minute + ":" + seconds;
     }
-    return (char *)callDuration.c_str();
+    return callDuration;
 }
 
 /* 拨号与响铃状态显示 */
@@ -715,7 +743,7 @@ void CallerLogModel::SetDialingStatus(const char *text)
     dialingStatus.append(reinterpret_cast<const char*>(text));
 }
 
-string CallerLogModel::GetDialingStatus(void)
+std::string CallerLogModel::GetDialingStatus(void)
 {
     return dialingStatus;
 }
@@ -730,6 +758,13 @@ bool CallerLogModel::GetNotifyFlag(void)
     return notifyFlag;
 }
 
+// 电话是否为多路状态
+bool CallerLogModel::IsMulitplePhoneStatus(void)
+{
+    WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "IsMulitplePhoneStatus phoneStatus:%d", g_phoneStatus);
+    return g_phoneStatus == PHONE_MULTI_STATUS;
+}
+
 /* 是否为多路通话界面 */
 void CallerLogModel::SetMulitplePhoneStatus(bool status)
 {
@@ -780,7 +815,7 @@ void CallerLogModel::SetoperateNumber(const char *number, char number_len)
     phoneNumber.append(reinterpret_cast<const char*>(number), number_len);
 }
 
-string CallerLogModel::GetPhoneNumber(void)
+std::string CallerLogModel::GetPhoneNumber(void)
 {
     return phoneNumber;
 }
index 63d74d9..6311f7b 100644 (file)
@@ -46,7 +46,7 @@ void CallerLogPresenter::OnPause(void) {}
 \r
 void CallerLogPresenter::OnStop(void)\r
 {\r
-    if (hintsCounting != NULL) {\r
+    if (hintsCounting != nullptr) {\r
         if (g_pMainView == nullptr) {\r
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CallerLogPresenter::CallerLogPresenter g_pMainView nullptr");\r
             return;\r
@@ -65,12 +65,12 @@ void BuletoothHintsCallback(int data)
 /* 开启定时器 */\r
 void CallerLogPresenter::InitBluetoothHints()\r
 {\r
-    if (hintsCounting != NULL) {\r
+    if (hintsCounting != nullptr) {\r
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "CallerLogPresenter::BluetoothHints already exists!");\r
         return;\r
     }\r
-    hintsCounting = osTimerNew((osTimerFunc_t)BuletoothHintsCallback, osTimerPeriodic, NULL, NULL);\r
-    if (hintsCounting == NULL) {\r
+    hintsCounting = osTimerNew((osTimerFunc_t)BuletoothHintsCallback, osTimerPeriodic, nullptr, nullptr);\r
+    if (hintsCounting == nullptr) {\r
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CallerLogPresenter::BluetoothHints osTimerNew failed!");\r
         return;\r
     }\r
@@ -78,13 +78,13 @@ void CallerLogPresenter::InitBluetoothHints()
     osStatus_t retTimer = osTimerStart(hintsCounting, tick);\r
     if (retTimer != osOK) {\r
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CallerLogPresenter::BluetoothHints osTimerStart failed, ret = %lx!", retTimer);\r
-        if (hintsCounting != NULL) {\r
+        if (hintsCounting != nullptr) {\r
             retTimer = osTimerDelete(hintsCounting);\r
             if (retTimer != osOK) {\r
                 WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CallerLogPresenter::osTimerDelete failed, ret = %lx!", retTimer);\r
                 return;\r
             }\r
-            hintsCounting = NULL;\r
+            hintsCounting = nullptr;\r
         }\r
         return;\r
     }\r
@@ -107,13 +107,13 @@ void CallerLogPresenter::BuletoothHintsCallbackProc(int data)
 /* 关闭定时器 */\r
 void CallerLogPresenter::DisableBluetoothHints()\r
 {\r
-    if (hintsCounting != NULL) {\r
+    if (hintsCounting != nullptr) {\r
         osStatus_t ret = osTimerDelete(hintsCounting);\r
         if (ret != osOK) {\r
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScanBuletoothHintsCallback osTimerDelete failed, ret = %lx!!", ret);\r
             return;\r
         }\r
-        hintsCounting = NULL;\r
+        hintsCounting = nullptr;\r
     }\r
 }\r
 \r
@@ -147,8 +147,8 @@ bool CallerLogPresenter::OnClick(UIView &view, const ClickEvent &event)
         }\r
         if (0 <= view.GetViewIndex() && view.GetViewIndex() < dataNumber) {\r
             WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "callnumber %s, callnumbernum %d",\r
-            (char *)(view_->GetCurrentCallInfo() + dataNumber - view.GetViewIndex() - 1)->tel,\r
-            (view_->GetCurrentCallInfo() + dataNumber - view.GetViewIndex() - 1)->telLen);\r
+                          (char *)(view_->GetCurrentCallInfo() + dataNumber - view.GetViewIndex() - 1)->tel,\r
+                          (view_->GetCurrentCallInfo() + dataNumber - view.GetViewIndex() - 1)->telLen);\r
             \r
             CallerLogModel::GetInstance()->SetoperateNumber(\r
                 (char *)(view_->GetCurrentCallInfo() + dataNumber - view.GetViewIndex() - 1)->tel,\r
index ac65dc7..8d44525 100644 (file)
@@ -41,7 +41,7 @@ CallerLogView::~CallerLogView()
     delete imageView;\r
     imageView = nullptr;\r
 \r
-    if (item.IsEmpty() == false) {\r
+    if (!item.IsEmpty()) {\r
         Vector<CallerItemView *>().Swap(item);\r
     }\r
 \r
@@ -206,18 +206,18 @@ void CallerLogView::OnStart()
     View<CallerLogPresenter>::OnStart();\r
 \r
     BaseView::RootView(Color::Black().full);\r
-    if (CreateNoDataCallerLogViewGroup() == false) {\r
+    if (!CreateNoDataCallerLogViewGroup()) {\r
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CallerLogView::CreateNoDataCallerLogViewGroup error");\r
         return;\r
     }\r
     RootView::GetInstance()->Add(group);\r
 \r
-    if (CreateCallerLogViewGroup() == false) {\r
+    if (!CreateCallerLogViewGroup()) {\r
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CallerLogView::CreateCallerLogViewGroup error");\r
         return;\r
     }\r
 \r
-    if (InitOrBandOnclickEvent() == false) {\r
+    if (!InitOrBandOnclickEvent()) {\r
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "CallerLogView::InitOrBandOnclickEvent fail");\r
         return;\r
     }\r