Prevent issue fix. Nabi issues fixed
[apps/osp/Call.git] / src / CallTelephonyManager.cpp
index fc34ab0..9b31aa4 100644 (file)
@@ -1529,6 +1529,10 @@ TelephonyManager::HandleEndFromConferenceCallbackResponse(TapiHandle* pHandle, i
                        isParticipantCallEnded = pTelManager->HandleParticipantEndedFromConference(callEndNotification.id, endConfCall);
                }
        }
+       else
+       {
+               AppLog("TAPI Failed - %d", callBackResult);
+       }
 
        //Check if participant call or Conference call was not found, then show error
        if (isParticipantCallEnded == false)
@@ -1586,12 +1590,17 @@ TelephonyManager::HandleParticipantEndedFromConference(unsigned int participantC
                __pActiveCallList->Remove(confCallHandle);
                __pActiveCallList->Add(pActiveCall->GetCallHandle()->ToLong(), *pActiveCall);
                pActiveCall = null;
-               //using the callConnected to switch to single active screen
-               //or update multiple active call screen
-               IListT<AppCallInfo>* pActiveCallList = __pActiveCallList->GetValuesN();
-               __pEventListener->HandleCallConnected(*pActiveCallList);
-               delete pActiveCallList;
-               pActiveCallList = null;
+
+               //Check if there is no incoming or dialing call exist, then only notify to change screen, Else ignore
+               if (IsIncomingorDialingCallPresent() == false)
+               {
+                       //using the callConnected to switch to single active screen
+                       //or update multiple active call screen
+                       IListT<AppCallInfo>* pActiveCallList = __pActiveCallList->GetValuesN();
+                       __pEventListener->HandleCallConnected(*pActiveCallList);
+                       delete pActiveCallList;
+                       pActiveCallList = null;
+               }
        }
        else
        {
@@ -2610,9 +2619,15 @@ TelephonyManager::SaveCallInfoToLogsDb(AppCallInfo& endCallInfo)
 void
 TelephonyManager::OnTelephonyNetworkStatusChanged(const NetworkStatus& networkStatus)
 {
-
        if(networkStatus.IsCallServiceAvailable() == false)
        {
                EndAllCalls();
        }
 }
+
+bool
+TelephonyManager::IsIncomingorDialingCallPresent(void)
+{
+       //returns false, if incoming call or dialed call is present.
+       return ((__pIncomingCall != null) || (__pDialedCall != null));
+}