virtual ~ActiveCallForm(void);
//From BaseForm
virtual void Initialize(void);
+ void SetSwapInProgress(bool progress);
public:
virtual result OnInitializing(void);
virtual int GetItemCount(void);
//Method to show thumbnail image
void ShowThumbnailImage(const Tizen::Graphics::Bitmap* pPhotoId,Tizen::Base::String& photoLabel);
+ //Check if swap in progress
+ bool IsSwapInProgress(void);
private:
//Start time for Active call
Tizen::Base::String __DtmfString;
AppCallInfo* __pActiveCallInfo;
AppCallInfo* __pHeldCallInfo;
+ bool __isSwapInProgress;
};
#endif //_PHN_ACTIVE_CALL_FORM_H_
, public Tizen::Ui::Scenes::ISceneEventListener
, public Tizen::Base::Runtime::ITimerEventListener
, public Tizen::App::IAppControlResponseListener
+ , public Tizen::Social::IAddressbookChangeEventListener
, public IAppStateChangeListener
, public Tizen::Ui::IOrientationEventListener
{
void ShowViewContactButton(void);
//Used to set the Viewcontact button state in the end call form
void ShowAddContactButton(void);
+ // Called by AddressBook to notify when contacts are changed.
+ virtual void OnContactsChanged(const Tizen::Base::Collection::IList& contactChangeInfoList);
+ // Called by AddressBook to notify when categories are changed.
+ virtual void OnCategoriesChanged(const Tizen::Base::Collection::IList& categoryChangeInfoList) {};
//Called when App comes to foreground
virtual void OnForeground(void);
//Called when App goes to background
//From IOrientationEventListener
virtual void OnOrientationChanged(const Tizen::Ui::Control& source, Tizen::Ui::OrientationStatus orientationStatus);
+ void UpdatePersonDetail(void);
+
private:
//initialise the end call panel
void InitializeCallButtonsPanel(void);
Tizen::Base::String* __pContactNumber;
//Timer used to show End call scene for 3 sec
Tizen::Base::Runtime::Timer* __pEndCallEventTimer;
+ Tizen::Social::Addressbook* __pAddressBook;
Tizen::Ui::Controls::Label* __pSmallPhotoLabel;
bool __isMsgAppControlLaunched;
bool __isContactAppControlLaunched;
extern const wchar_t* IDS_INVALID_NUMBER;
extern const wchar_t* IDS_NUMBER_UNKNOWN;
extern const wchar_t* IDS_GPRS_NUMBER;
+extern const wchar_t* IDS_CONFERENCE_CALL_STRING;
//Panel
extern const wchar_t* PANEL_DIALER;
extern const wchar_t* PANEL_LOGS;
<Version>1.0.0</Version>
<Type>C++App</Type>
<Requirements>
+ <Feature Name="http://tizen.org/feature/platform.core.cpu.arch.armv7">true</Feature>
<Feature Name="http://tizen.org/feature/platform.core.cpu.arch.x86">true</Feature>
<Feature Name="http://tizen.org/feature/platform.core.fpu.arch.vfpv3">true</Feature>
</Requirements>
<Privilege>http://tizen.org/privilege/power</Privilege>
<Privilege>http://tizen.org/privilege/appusage</Privilege>
<Privilege>http://tizen.org/privilege/lockmanager</Privilege>
- <Privilege>http://tizen.org/privilege/messaging.write</Privilege>
<Privilege>http://tizen.org/privilege/telephony</Privilege>
+ <Privilege>http://tizen.org/privilege/messaging.write</Privilege>
<Privilege>http://tizen.org/privilege/vibrator</Privilege>
<Privilege>http://tizen.org/privilege/contact.read</Privilege>
</Privileges>
<text id="IDS_SETTINGS_DELETE_NUMBER_TITLE_STRING">Select number</text>
<text id="IDS_MESSAGE_SELECTED">%d Message Selected</text>
<text id="IDS_NOT_ASSIGNED_STR">Not assigned</text>
- <text id="IDS_MATCHCRITERIA_START_STRING">Start with</text>
+ <text id="IDS_MATCHCRITERIA_START_STRING">Starts with</text>
<text id="IDS_VOICE_CALL_BTN_NAME">Voice call</text>
<text id="IDS_INVALID_ARGS_ERROR_MSG">Invalid Parameters Passed.</text>
<text id="IDS_SETTING_STATUS_TONES_HLP_STRING">Edit alerts that sound during calls</text>
-->
<!DOCTYPE Scene SYSTEM "UIForm.dtd">
-<Scene Bversion="2.0.0.201304041646" Dversion="20120315">
+<Scene Bversion="2.0.0.201305162056" Dversion="20120315">
<LogicalCoordinate>720</LogicalCoordinate>
<Form id="IDL_CONFCALL_FORM">
<property backgroundColor="#000000" backgroundColorOpacity="100" notificationTrayOpenEnabled="false" orientation="Automatic:4Dir" softKey0NormalIcon="" softKey0PressedIcon="" softKey0Text="" softKey1NormalIcon="" softKey1PressedIcon="" softKey1Text="" title="" titleAlign="ALIGN_CENTER" titleIcon="" translucentFooter="false" translucentHeader="false" translucentIndicator="false"/>
<Label id="IDC_CONFCALL_BIGPHOTO_LABEL" parent="IDL_CONFCALL_FORM">
<property accessibilityHint="" backgroundBitmapPath="C01-1_call_group_caller ID_720x720.png" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_LEFT" leftMargin="16" text="" textColor="" textSize="33.0" textStyle="LABEL_TEXT_STYLE_NORMAL" topMargin="0" verticalAlign="ALIGN_TOP"/>
<layout bottomRelation="IDL_CONFCALL_FORM" bottomRelationType="RECT_EDGE_RELATION_BOTTOM_TO_BOTTOM" centerHorizontal="true" centerVertical="false" height="720.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="IDL_CONFCALL_FORM" leftRelationType="RECT_EDGE_RELATION_LEFT_TO_LEFT" marginBottom="500.0" marginLeft="0.0" marginRight="0.0" marginTop="0.0" mode="Portrait" rightRelation="" rightRelationType="" topRelation="IDL_CONFCALL_FORM" topRelationType="RECT_EDGE_RELATION_TOP_TO_TOP" verticalFitPolicy="FIT_POLICY_FIXED" width="720.0" x="0.0" y="0.0"/>
- <layout bottomRelation="IDL_CONFCALL_FORM" bottomRelationType="RECT_EDGE_RELATION_BOTTOM_TO_BOTTOM" centerHorizontal="false" centerVertical="false" height="660.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="IDL_CONFCALL_FORM" leftRelationType="RECT_EDGE_RELATION_LEFT_TO_LEFT" marginBottom="0.0" marginLeft="0.0" marginRight="0.0" marginTop="0.0" mode="Landscape" rightRelation="" rightRelationType="" topRelation="IDL_CONFCALL_FORM" topRelationType="RECT_EDGE_RELATION_TOP_TO_TOP" verticalFitPolicy="FIT_POLICY_FIXED" width="560.0" x="0.0" y="0.0"/>
+ <layout bottomRelation="IDL_CONFCALL_FORM" bottomRelationType="RECT_EDGE_RELATION_BOTTOM_TO_BOTTOM" centerHorizontal="false" centerVertical="false" height="699.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="IDL_CONFCALL_FORM" leftRelationType="RECT_EDGE_RELATION_LEFT_TO_LEFT" marginBottom="0.0" marginLeft="0.0" marginRight="0.0" marginTop="0.0" mode="Landscape" rightRelation="" rightRelationType="" topRelation="IDL_CONFCALL_FORM" topRelationType="RECT_EDGE_RELATION_TOP_TO_TOP" verticalFitPolicy="FIT_POLICY_FIXED" width="560.0" x="0.0" y="0.0"/>
</Label>
<Label id="IDC_BACKGROUND_LABEL" parent="IDL_CONFCALL_FORM">
<property accessibilityHint="" backgroundBitmapPath="C01-1_Incoming call_BG_01.png" backgroundColor="#000000" backgroundColorOpacity="50" horizontalAlign="ALIGN_LEFT" leftMargin="16" text="" textColor="" textSize="33.0" textStyle="LABEL_TEXT_STYLE_NORMAL" topMargin="0" verticalAlign="ALIGN_TOP"/>
<layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="160.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="IDL_CONFCALL_FORM" leftRelationType="RECT_EDGE_RELATION_LEFT_TO_LEFT" marginBottom="0.0" marginLeft="0.0" marginRight="0.0" marginTop="0.0" mode="Portrait" rightRelation="IDL_CONFCALL_FORM" rightRelationType="RECT_EDGE_RELATION_RIGHT_TO_RIGHT" topRelation="" topRelationType="RECT_EDGE_RELATION_TOP_TO_TOP" verticalFitPolicy="FIT_POLICY_FIXED" width="720.0" x="0.0" y="0.0"/>
- <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="160.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="IDC_CONFCALL_BIGPHOTO_LABEL" leftRelationType="RECT_EDGE_RELATION_LEFT_TO_RIGHT" marginBottom="0.0" marginLeft="0.0" marginRight="0.0" marginTop="0.0" mode="Landscape" rightRelation="IDL_CONFCALL_FORM" rightRelationType="RECT_EDGE_RELATION_RIGHT_TO_RIGHT" topRelation="IDL_CONFCALL_FORM" topRelationType="RECT_EDGE_RELATION_TOP_TO_TOP" verticalFitPolicy="FIT_POLICY_FIXED" width="720.0" x="560.0" y="0.0"/>
+ <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="199.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="IDC_CONFCALL_BIGPHOTO_LABEL" leftRelationType="RECT_EDGE_RELATION_LEFT_TO_RIGHT" marginBottom="0.0" marginLeft="0.0" marginRight="0.0" marginTop="0.0" mode="Landscape" rightRelation="IDL_CONFCALL_FORM" rightRelationType="RECT_EDGE_RELATION_RIGHT_TO_RIGHT" topRelation="IDL_CONFCALL_FORM" topRelationType="RECT_EDGE_RELATION_TOP_TO_TOP" verticalFitPolicy="FIT_POLICY_FIXED" width="720.0" x="560.0" y="0.0"/>
</Label>
<Button id="IDC_CONF_CALL_MORE_BUTTON" parent="IDL_CONFCALL_FORM">
<property DisabledBitmapX="0.0" DisabledBitmapY="0.0" NormalBitmapX="0.0" NormalBitmapY="0.0" PressedBitmapX="0.0" PressedBitmapY="0.0" accessibilityHint="" disableTextColor="" disabledBGBitmapPath="" disabledBitmapPath="" disabledColor="" disabledColorOpacity="100" highlightedBGBitmapPath="" highlightedBitmapPath="" highlightedBitmapX="0.0" highlightedBitmapY="0.0" highlightedColor="" highlightedColorOpacity="100" highlightedTextColor="" horizontalAlign="ALIGN_CENTER" normalBGBitmapPath="C01-1_button_more.png" normalBitmapPath="" normalColor="#FFFFFF" normalColorOpacity="0" normalTextColor="" pressedBGBitmapPath="C01-1_button_more_press.png" pressedBitmapPath="" pressedColor="" pressedColorOpacity="100" pressedTextColor="" text="" textSize="33.0" verticalAlign="ALIGN_MIDDLE"/>
<Button id="IDC_HOLD_BUTTON" parent="IDL_CONFCALL_FORM">
<property DisabledBitmapX="0.0" DisabledBitmapY="0.0" NormalBitmapX="0.0" NormalBitmapY="0.0" PressedBitmapX="0.0" PressedBitmapY="0.0" accessibilityHint="" disableTextColor="" disabledBGBitmapPath="" disabledBitmapPath="" disabledColor="" disabledColorOpacity="100" highlightedBGBitmapPath="" highlightedBitmapPath="" highlightedBitmapX="0.0" highlightedBitmapY="0.0" highlightedColor="" highlightedColorOpacity="100" highlightedTextColor="" horizontalAlign="ALIGN_CENTER" normalBGBitmapPath="C01-1_button_hold_01.png" normalBitmapPath="" normalColor="" normalColorOpacity="100" normalTextColor="" pressedBGBitmapPath="C01-1_button_hold_01_press.png" pressedBitmapPath="" pressedColor="" pressedColorOpacity="100" pressedTextColor="" text="" textSize="33.0" verticalAlign="ALIGN_MIDDLE"/>
<layout bottomRelation="IDC_CONFCALL_BIGPHOTO_LABEL" bottomRelationType="RECT_EDGE_RELATION_BOTTOM_TO_BOTTOM" centerHorizontal="false" centerVertical="false" height="74.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="10.0" marginLeft="0.0" marginRight="20.0" marginTop="0.0" mode="Portrait" rightRelation="IDL_CONFCALL_FORM" rightRelationType="RECT_EDGE_RELATION_RIGHT_TO_RIGHT" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="78.0" x="622.0" y="636.0"/>
- <layout bottomRelation="IDL_CONFCALL_FORM" bottomRelationType="RECT_EDGE_RELATION_BOTTOM_TO_BOTTOM" centerHorizontal="false" centerVertical="false" height="74.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="10.0" marginLeft="0.0" marginRight="20.0" marginTop="0.0" mode="Landscape" rightRelation="IDC_CONFCALL_BIGPHOTO_LABEL" rightRelationType="RECT_EDGE_RELATION_RIGHT_TO_RIGHT" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="78.0" x="462.0" y="576.0"/>
+ <layout bottomRelation="IDL_CONFCALL_FORM" bottomRelationType="RECT_EDGE_RELATION_BOTTOM_TO_BOTTOM" centerHorizontal="false" centerVertical="false" height="74.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="10.0" marginLeft="0.0" marginRight="20.0" marginTop="0.0" mode="Landscape" rightRelation="IDC_CONFCALL_BIGPHOTO_LABEL" rightRelationType="RECT_EDGE_RELATION_RIGHT_TO_RIGHT" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="78.0" x="462.0" y="615.0"/>
</Button>
<Label id="IDC_HOLD_LABEL" parent="IDL_CONFCALL_FORM">
<property accessibilityHint="" backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_RIGHT" leftMargin="16" text="" textColor="#FFFFFF" textSize="36.0" textStyle="LABEL_TEXT_STYLE_BOLD" topMargin="0" verticalAlign="ALIGN_MIDDLE"/>
<layout bottomRelation="IDC_CONFCALL_BIGPHOTO_LABEL" bottomRelationType="RECT_EDGE_RELATION_BOTTOM_TO_BOTTOM" centerHorizontal="false" centerVertical="false" height="74.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="10.0" marginLeft="0.0" marginRight="0.0" marginTop="0.0" mode="Portrait" rightRelation="IDC_HOLD_BUTTON" rightRelationType="RECT_EDGE_RELATION_RIGHT_TO_LEFT" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="170.0" x="452.0" y="636.0"/>
- <layout bottomRelation="IDL_CONFCALL_FORM" bottomRelationType="RECT_EDGE_RELATION_BOTTOM_TO_BOTTOM" centerHorizontal="false" centerVertical="false" height="52.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="10.0" marginLeft="0.0" marginRight="114.0" marginTop="0.0" mode="Landscape" rightRelation="IDC_CONFCALL_BIGPHOTO_LABEL" rightRelationType="RECT_EDGE_RELATION_RIGHT_TO_RIGHT" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="229.0" x="217.0" y="598.0"/>
+ <layout bottomRelation="IDL_CONFCALL_FORM" bottomRelationType="RECT_EDGE_RELATION_BOTTOM_TO_BOTTOM" centerHorizontal="false" centerVertical="false" height="52.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="10.0" marginLeft="0.0" marginRight="114.0" marginTop="0.0" mode="Landscape" rightRelation="IDC_CONFCALL_BIGPHOTO_LABEL" rightRelationType="RECT_EDGE_RELATION_RIGHT_TO_RIGHT" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="229.0" x="217.0" y="637.0"/>
</Label>
<Label id="IDC_KEY_BG_LABEL" parent="IDL_CONFCALL_FORM">
<property accessibilityHint="" backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_LEFT" leftMargin="16" text="" textColor="" textSize="33.0" textStyle="LABEL_TEXT_STYLE_NORMAL" topMargin="0" verticalAlign="ALIGN_TOP"/>
<layout bottomRelation="IDL_CONFCALL_FORM" bottomRelationType="RECT_EDGE_RELATION_BOTTOM_TO_BOTTOM" centerHorizontal="false" centerVertical="false" height="500.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="IDL_CONFCALL_FORM" leftRelationType="RECT_EDGE_RELATION_LEFT_TO_LEFT" marginBottom="0.0" marginLeft="0.0" marginRight="0.0" marginTop="0.0" mode="Portrait" rightRelation="IDL_CONFCALL_FORM" rightRelationType="RECT_EDGE_RELATION_RIGHT_TO_RIGHT" topRelation="IDC_CONFCALL_BIGPHOTO_LABEL" topRelationType="RECT_EDGE_RELATION_TOP_TO_BOTTOM" verticalFitPolicy="FIT_POLICY_FIXED" width="720.0" x="0.0" y="720.0"/>
- <layout bottomRelation="IDL_CONFCALL_FORM" bottomRelationType="RECT_EDGE_RELATION_BOTTOM_TO_BOTTOM" centerHorizontal="false" centerVertical="false" height="500.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="IDC_CONFCALL_BIGPHOTO_LABEL" leftRelationType="RECT_EDGE_RELATION_LEFT_TO_RIGHT" marginBottom="0.0" marginLeft="0.0" marginRight="0.0" marginTop="0.0" mode="Landscape" rightRelation="IDL_CONFCALL_FORM" rightRelationType="RECT_EDGE_RELATION_RIGHT_TO_RIGHT" topRelation="IDC_BACKGROUND_LABEL" topRelationType="RECT_EDGE_RELATION_TOP_TO_BOTTOM" verticalFitPolicy="FIT_POLICY_FIXED" width="720.0" x="560.0" y="160.0"/>
+ <layout bottomRelation="IDL_CONFCALL_FORM" bottomRelationType="RECT_EDGE_RELATION_BOTTOM_TO_BOTTOM" centerHorizontal="false" centerVertical="false" height="500.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="IDC_CONFCALL_BIGPHOTO_LABEL" leftRelationType="RECT_EDGE_RELATION_LEFT_TO_RIGHT" marginBottom="0.0" marginLeft="0.0" marginRight="0.0" marginTop="0.0" mode="Landscape" rightRelation="IDL_CONFCALL_FORM" rightRelationType="RECT_EDGE_RELATION_RIGHT_TO_RIGHT" topRelation="IDC_BACKGROUND_LABEL" topRelationType="RECT_EDGE_RELATION_TOP_TO_BOTTOM" verticalFitPolicy="FIT_POLICY_FIXED" width="720.0" x="560.0" y="199.0"/>
</Label>
</Scene>
This XML file was automatically generated by UiBuilder - do not modify by hand.
-->
<!DOCTYPE Scene SYSTEM "UIForm.dtd">
-<Scene Bversion="2.0.0.201304261605" Dversion="20120315">
+
+<Scene Bversion="2.0.0.201305162056" Dversion="20120315">
<LogicalCoordinate>720</LogicalCoordinate>
<Form id="IDL_MULTIPLE_CALL_FORM">
<property backgroundColor="#000000" backgroundColorOpacity="100" notificationTrayOpenEnabled="false" orientation="Automatic:4Dir" softKey0NormalIcon="" softKey0PressedIcon="" softKey0Text="" softKey1NormalIcon="" softKey1PressedIcon="" softKey1Text="" title="" titleAlign="ALIGN_CENTER" titleIcon="" translucentFooter="false" translucentHeader="false" translucentIndicator="false"/>
<Label id="IDC_CALLER1_TIME_LABEL" parent="IDL_MULTIPLE_CALL_FORM">
<property accessibilityHint="" backgroundBitmapPath="" backgroundColor="#FFFFFF" backgroundColorOpacity="0" horizontalAlign="ALIGN_RIGHT" leftMargin="16" text="00:01:24" textColor="#8BF632" textSize="30.0" textStyle="LABEL_TEXT_STYLE_NORMAL" topMargin="0" verticalAlign="ALIGN_MIDDLE"/>
<layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="46.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="IDC_NUMBER1_LABEL" leftRelationType="RECT_EDGE_RELATION_LEFT_TO_RIGHT" marginBottom="0.0" marginLeft="0.0" marginRight="24.0" marginTop="6.0" mode="Portrait" rightRelation="IDL_MULTIPLE_CALL_FORM" rightRelationType="RECT_EDGE_RELATION_RIGHT_TO_RIGHT" topRelation="" topRelationType="RECT_EDGE_RELATION_TOP_TO_BOTTOM" verticalFitPolicy="FIT_POLICY_FIXED" width="184.0" x="512.0" y="99.0"/>
- <layout bottomRelation="IDC_BACKGROUND_LABEL" bottomRelationType="RECT_EDGE_RELATION_BOTTOM_TO_BOTTOM" centerHorizontal="false" centerVertical="false" height="85.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="16.0" marginLeft="0.0" marginRight="24.0" marginTop="6.0" mode="Landscape" rightRelation="IDL_MULTIPLE_CALL_FORM" rightRelationType="RECT_EDGE_RELATION_RIGHT_TO_RIGHT" topRelation="IDC_VOICE_CALL_ICON_LABEL" topRelationType="RECT_EDGE_RELATION_TOP_TO_BOTTOM" verticalFitPolicy="FIT_POLICY_FIXED" width="184.0" x="1072.0" y="98.0"/>
+ <layout bottomRelation="IDC_BACKGROUND_LABEL" bottomRelationType="RECT_EDGE_RELATION_BOTTOM_TO_BOTTOM" centerHorizontal="false" centerVertical="false" height="53.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="48.0" marginLeft="0.0" marginRight="24.0" marginTop="6.0" mode="Landscape" rightRelation="IDL_MULTIPLE_CALL_FORM" rightRelationType="RECT_EDGE_RELATION_RIGHT_TO_RIGHT" topRelation="IDC_VOICE_CALL_ICON_LABEL" topRelationType="RECT_EDGE_RELATION_TOP_TO_BOTTOM" verticalFitPolicy="FIT_POLICY_FIXED" width="184.0" x="1072.0" y="98.0"/>
</Label>
<Label id="IDC_CALLER2_PHOTO_LABEL" parent="IDL_MULTIPLE_CALL_FORM">
<property accessibilityHint="" backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_LEFT" leftMargin="16" text="" textColor="#FFFFFF" textSize="33.0" textStyle="LABEL_TEXT_STYLE_NORMAL" topMargin="0" verticalAlign="ALIGN_TOP"/>
__pSmallPhotoLabel = null;
__pActiveCallInfo = null;
__pHeldCallInfo = null;
+ __isSwapInProgress = false;
}
ActiveCallForm::~ActiveCallForm(void)
case IDA_SWAP_CALLS:
{
- AppAssert(__formType == FORMTYPE_MULTIPLECALLS);
- __pCallPresentor->SwapCalls();
+ if(IsSwapInProgress() == false)
+ {
+ AppAssert(__formType == FORMTYPE_MULTIPLECALLS);
+ __pCallPresentor->SwapCalls();
+ SetSwapInProgress(true);
+ }
}
break;
}
}
+bool
+ActiveCallForm::IsSwapInProgress(void)
+{
+ return __isSwapInProgress;
+}
+
+void
+ActiveCallForm::SetSwapInProgress(bool progress)
+{
+ __isSwapInProgress = progress;
+}
+
void
ActiveCallForm::SetTextToDTMFTextField(const String& dtmfStr)
{
{
//Goto conference call list form
SceneManager* pSceneManager = SceneManager::GetInstance();
- pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SCENE_CONFCALLLIST), null);
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SCENE_CONFCALLLIST, SCENE_TRANSITION_ANIMATION_TYPE_NONE,
+ SCENE_HISTORY_OPTION_NO_HISTORY, SCENE_DESTROY_OPTION_DESTROY), null);
}
void
//Fetch incoming call details
CallPresentationModel* pCallPresentor = CallPresentationModel::GetInstance();
+ //Check if there is already a dial call present .This can happen in some
+ //race conditions N_SE-39531
+ if(pCallPresentor->IsIncomingorDialingCallPresent())
+ {
+ int incomingHandle;
+ Integer::Parse(callHandle,incomingHandle);
+ pCallPresentor->RejectCall(incomingHandle,false,contactNumber);
+ AppLog("Cancelled already an incoming call present");
+ appControlResult = APP_CTRL_RESULT_CANCELED;
+ AppControlProviderManager::GetInstance()->SendAppControlResult(reqId, appControlResult, null);
+ return;
+ }
+
AppCallInfo* pIncomingCall = pCallPresentor->FetchIncomingCallDetailsN(callHandle, contactNumber);
if(pIncomingCall != null)
{
bool isCallRejected = pCallPresentor->CheckIncomingCallToBeRejected(pIncomingCall);
if(isCallRejected == false)
{
- //Abort any AppControl Request running already to show incoming call screen
- if (pCallPresentor->IsAppControlRunning() == true)
- {
- pCallPresentor->AbortAppControlRequest();
- }
//save app launch argument list
__pLaunchArgs = new (std::nothrow) ArrayList(SingleObjectDeleter);
__pLaunchArgs->Construct(1);
else
{
//App already initialized, goto incoming call form
- pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SCENE_INCOMINGCALL), __pLaunchArgs);
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SCENE_INCOMINGCALL, SCENE_TRANSITION_ANIMATION_TYPE_NONE,
+ SCENE_HISTORY_OPTION_NO_HISTORY, SCENE_DESTROY_OPTION_DESTROY), __pLaunchArgs);
__pLaunchArgs = null;
}
+
+
}
else
{
AppControlProviderManager::GetInstance()->SendAppControlResult(reqId, appControlResult, null);
return;
}
+
CallPresentationModel* pCallPresentor = CallPresentationModel::GetInstance();
+ //Check if there is already an incoming call
+ //this can happen in some race conditions N_SE-39531
+ if(pCallPresentor->IsIncomingorDialingCallPresent() == true)
+ {
+ AppLog("Cancelled already an incoming call present");
+ appControlResult = APP_CTRL_RESULT_CANCELED;
+ AppControlProviderManager::GetInstance()->SendAppControlResult(reqId, appControlResult, null);
+ return;
+ }
int currentActiveCallCount = pCallPresentor->GetCurrentCallCount();
if(currentActiveCallCount <= 1)
{
else
{
AppLog("Outgoing call");
- pSceneManager->GoForward( ForwardSceneTransition( nextScene), __pLaunchArgs);
+ pSceneManager->GoForward( ForwardSceneTransition( nextScene, SCENE_TRANSITION_ANIMATION_TYPE_NONE,
+ SCENE_HISTORY_OPTION_NO_HISTORY, SCENE_DESTROY_OPTION_DESTROY), __pLaunchArgs);
}
appControlResult = APP_CTRL_RESULT_SUCCEEDED;
}
{
GetAppFrame()->GetFrame()->SetZOrderGroup(WINDOW_Z_ORDER_GROUP_HIGHEST);
AppManager::GetInstance()->AddActiveAppEventListener(*this);
- if(PowerManager::IsScreenOn() == false)
+ /*if(PowerManager::IsScreenOn() == false)
{
AppLogDebug("TurnScreenOn");
res = PowerManager::TurnScreenOn();
AppLogDebug("TurnScreenOn %d",res);
- }
+ }*/
}
else
//goto next scene
SceneManager* pSceneManager = SceneManager::GetInstance();
r = pSceneManager->GoForward( ForwardSceneTransition(pPhoneApp->GetInitialScene(),
- SCENE_TRANSITION_ANIMATION_TYPE_NONE, SCENE_HISTORY_OPTION_NO_HISTORY),
+ SCENE_TRANSITION_ANIMATION_TYPE_NONE, SCENE_HISTORY_OPTION_NO_HISTORY,SCENE_DESTROY_OPTION_DESTROY),
pPhoneApp->GetAppLaunchArguments());
}
AppLogDebug("Exit %d",r);
if(pActiveCallInfo->IsConferenceCall() == true)
{
//single Conference call - goto active Conf. call form
- pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SCENE_CONFCALL), pCallInfoList);
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SCENE_CONFCALL,
+ SCENE_TRANSITION_ANIMATION_TYPE_NONE, SCENE_HISTORY_OPTION_NO_HISTORY,SCENE_DESTROY_OPTION_DESTROY), pCallInfoList);
}
else
{
//single active call - goto active call form
- pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SCENE_ACTIVECALL), pCallInfoList);
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SCENE_ACTIVECALL,
+ SCENE_TRANSITION_ANIMATION_TYPE_NONE, SCENE_HISTORY_OPTION_NO_HISTORY,SCENE_DESTROY_OPTION_DESTROY), pCallInfoList);
}
}
else if(noOfCalls == 2)
{
//goto multiple active call form
- pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SCENE_MULTIPLEACTIVECALL), pCallInfoList);
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SCENE_MULTIPLEACTIVECALL,
+ SCENE_TRANSITION_ANIMATION_TYPE_NONE, SCENE_HISTORY_OPTION_NO_HISTORY,SCENE_DESTROY_OPTION_DESTROY), pCallInfoList);
}
}
break;
*pCaller = callInfo;
pCallInfoList->Add(pCaller);
//single active call - goto active call form
- pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SCENE_ACTIVE_EMERGENCYCALL), pCallInfoList);
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SCENE_ACTIVE_EMERGENCYCALL,
+ SCENE_TRANSITION_ANIMATION_TYPE_NONE, SCENE_HISTORY_OPTION_NO_HISTORY,SCENE_DESTROY_OPTION_DESTROY), pCallInfoList);
}
}
break;
void
BaseForm::HandleCallDisconnected(bool isLastCall, IListT<AppCallInfo>& pCurrentActiveCallList)
{
+ AppLogDebug("Enter");
if(__pCallPresentor->IsIncomingorDialingCallPresent() == true)
{
//This scenario will come, if this disconnected call is neither incoming nor dialing call.
//In this case, if there is any dialing call exists, then ignore.
//Else, if there is any incoming call exists, then update call option popup.
+ AppLogDebug("IsIncomingorDialingCallPresent %d",__formType);
switch (__formType)
{
case FORMTYPE_INCOMINGCALL:
{
//list contains 1 last ended call to show EndCall screen.
//goto End Call form if single call was ended else terminate
- if (callInfo.IsConferenceCall() == false)
+ // if (callInfo.IsConferenceCall() == false)
+ if (1)
{
- pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SCENE_ENDCALL), pCallInfoList);
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SCENE_ENDCALL,
+ SCENE_TRANSITION_ANIMATION_TYPE_NONE, SCENE_HISTORY_OPTION_NO_HISTORY,SCENE_DESTROY_OPTION_DESTROY), pCallInfoList);
}
else
{
{
if (callInfo.IsConferenceCall() == true)
{
- pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SCENE_CONFCALL), pCallInfoList);
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SCENE_CONFCALL,
+ SCENE_TRANSITION_ANIMATION_TYPE_NONE, SCENE_HISTORY_OPTION_NO_HISTORY,SCENE_DESTROY_OPTION_DESTROY), pCallInfoList);
}
else
{
//goto Single Active Call form
- pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SCENE_ACTIVECALL), pCallInfoList);
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SCENE_ACTIVECALL,
+ SCENE_TRANSITION_ANIMATION_TYPE_NONE, SCENE_HISTORY_OPTION_NO_HISTORY,SCENE_DESTROY_OPTION_DESTROY), pCallInfoList);
}
}
}
else
{
//multiple active calls are present.
- pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SCENE_MULTIPLEACTIVECALL), pCallInfoList);
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SCENE_MULTIPLEACTIVECALL,
+ SCENE_TRANSITION_ANIMATION_TYPE_NONE, SCENE_HISTORY_OPTION_NO_HISTORY,SCENE_DESTROY_OPTION_DESTROY), pCallInfoList);
}
}
else
{
- pPhoneApp->Terminate();
+ //This is done to show end call form in missed call case also
+ //this was done on request received from HQ to solve a bug in
+ //camera application. In which if a call comes when camera is
+ //running and user disconnects before the ui is shown the camera
+ //application hangs
+ ArrayList* pCallInfoList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+ pCallInfoList->Construct(1);
+ AppCallInfo callInfo;
+ result r = pCurrentActiveCallList.GetAt(0, callInfo);
+ if (r == E_SUCCESS)
+ {
+ //copy call information to new instance
+ AppCallInfo* pCaller = new (std::nothrow) AppCallInfo();
+ *pCaller = callInfo;
+ pCallInfoList->Add(pCaller);
+ //multiple active calls are present.
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SCENE_ENDCALL,
+ SCENE_TRANSITION_ANIMATION_TYPE_NONE, SCENE_HISTORY_OPTION_NO_HISTORY,SCENE_DESTROY_OPTION_DESTROY), pCallInfoList);
+
+ }
+ else
+ {
+ pPhoneApp->Terminate();
+ }
+
}
}
pCallInfoList->Add(pConfInfo);
//Todo: create screens for single conf call and conf call with another held call
- pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SCENE_CONFCALL), pCallInfoList);
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SCENE_CONFCALL,
+ SCENE_TRANSITION_ANIMATION_TYPE_NONE, SCENE_HISTORY_OPTION_NO_HISTORY,SCENE_DESTROY_OPTION_DESTROY), pCallInfoList);
}
void
*pIncomingCall = pCallInfo;
pCallInfoList->Add(pIncomingCall);
- pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SCENE_INCOMINGCALL), pCallInfoList);
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SCENE_INCOMINGCALL,
+ SCENE_TRANSITION_ANIMATION_TYPE_NONE, SCENE_HISTORY_OPTION_NO_HISTORY,SCENE_DESTROY_OPTION_DESTROY), pCallInfoList);
}
void
{
//update calls state
pActiveCallForm->UpdateMultipleCallScreen(pCallList);
+ pActiveCallForm->SetSwapInProgress(false);
+
}
}
if (noOfCalls == 1)
{
//single active call - goto active call form
- pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SCENE_CONFCALL), pCallInfoList);
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SCENE_CONFCALL,
+ SCENE_TRANSITION_ANIMATION_TYPE_NONE, SCENE_HISTORY_OPTION_NO_HISTORY,SCENE_DESTROY_OPTION_DESTROY), pCallInfoList);
}
else
{
//goto multiple active call form
- pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SCENE_MULTIPLEACTIVECALL), pCallInfoList);
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SCENE_MULTIPLEACTIVECALL,
+ SCENE_TRANSITION_ANIMATION_TYPE_NONE, SCENE_HISTORY_OPTION_NO_HISTORY,SCENE_DESTROY_OPTION_DESTROY), pCallInfoList);
}
pCallList->RemoveAll();
delete pCallList;
if (noOfCalls == 1)
{
//single active call - goto active call form
- pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SCENE_CONFCALL), pCallInfoList);
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SCENE_CONFCALL,
+ SCENE_TRANSITION_ANIMATION_TYPE_NONE, SCENE_HISTORY_OPTION_NO_HISTORY,SCENE_DESTROY_OPTION_DESTROY), pCallInfoList);
}
else
{
//goto multiple active call form
- pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SCENE_MULTIPLEACTIVECALL), pCallInfoList);
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SCENE_MULTIPLEACTIVECALL,
+ SCENE_TRANSITION_ANIMATION_TYPE_NONE, SCENE_HISTORY_OPTION_NO_HISTORY,SCENE_DESTROY_OPTION_DESTROY), pCallInfoList);
}
pCallList->RemoveAll();
delete pCallList;
#include "CallPresentationModel.h"
#include "CallSceneRegister.h"
#include "CallTypes.h"
+#include "CallAppControlRequestMgr.h"
using namespace Tizen::App;
using namespace Tizen::Base;
__pSmallPhotoLabel = null;
__isMsgAppControlLaunched = false;
__isContactAppControlLaunched = false;
+ __pAddressBook = null;
}
EndCallForm::~EndCallForm(void)
{
__pSmallPhotoLabel = null;
}
+ if (__pAddressBook != null)
+ {
+ delete __pAddressBook;
+ __pAddressBook = null;
+ }
}
void
if (__pCallPresentor)
{
+ //Abort any AppControl Request running already to show incoming call screen
+ if (__pCallPresentor->IsAppControlRunning() == true)
+ {
+ __pCallPresentor->AbortAppControlRequest();
+ }
__pCallPresentor = null;
}
return r;
{
case IDA_VOICE_CALL:
{
+ if(CallAppControlRequestMgr::GetInstance()->IsAppControlRunning() == true)
+ {
+ return;
+ }
if (__isMsgAppControlLaunched == true)
{
//AppControl already launched.
bool isEmergencyCall = __pCallPresentor->IsEmergencyNumber(*contactTxt, true);
if (isEmergencyCall)
{
- pSceneManager->GoForward( ForwardSceneTransition( IDSCN_SCENE_OUT_EMERGENCYCALL), pContact);
+ pSceneManager->GoForward( ForwardSceneTransition( IDSCN_SCENE_OUT_EMERGENCYCALL,
+ SCENE_TRANSITION_ANIMATION_TYPE_NONE, SCENE_HISTORY_OPTION_NO_HISTORY,SCENE_DESTROY_OPTION_DESTROY), pContact);
}
else
{
- pSceneManager->GoForward( ForwardSceneTransition(IDSCN_SCENE_OUTCALL), pContact);
+ pSceneManager->GoForward( ForwardSceneTransition(IDSCN_SCENE_OUTCALL,
+ SCENE_TRANSITION_ANIMATION_TYPE_NONE, SCENE_HISTORY_OPTION_NO_HISTORY,SCENE_DESTROY_OPTION_DESTROY), pContact);
}
}
else
//contact number
__pContactNumber = new (std::nothrow) String();
- if(pEndCall->GetContactNumber().IsEmpty() == false)
+ if(pEndCall->IsConferenceCall() == false)
{
- __pContactNumber->Append(pEndCall->GetContactNumber());
+ if(pEndCall->GetContactNumber().IsEmpty() == false)
+ {
+ __pContactNumber->Append(pEndCall->GetContactNumber());
+ }
+ else
+ {
+ __pContactNumber->Append(AppUtility::GetResourceString(IDS_NUMBER_UNKNOWN));
+ }
}
else
{
- __pContactNumber->Append(AppUtility::GetResourceString(IDS_NUMBER_UNKNOWN));
+ String count;
+ count.Append(pEndCall->GetCallerListCount());
+ count.Append(" ");
+ count.Append(AppUtility::GetResourceString(IDS_PEOPLE_STR));
+ __pContactNumber->Append(count);
}
//Fetch & show contact person details
//Check if call is Emergency call or Hidden call,
//then disable all button in Call button panel.
- if (pEndCall->IsEmergency() == true || pEndCall->GetContactNumber().IsEmpty() == true)
+ if(pEndCall->IsConferenceCall() == false)
{
- __pCallButtonsPanel->SetEndCallPanelState(false);
+ if (pEndCall->IsEmergency() == true || pEndCall->GetContactNumber().IsEmpty() == true)
+ {
+ __pCallButtonsPanel->SetEndCallPanelState(false);
+ }
+ else
+ {
+ __pCallButtonsPanel->SetEndCallPanelState(true);
+ }
}
else
{
- __pCallButtonsPanel->SetEndCallPanelState(true);
+ __pCallButtonsPanel->SetEndCallPanelState(false);
}
//check if we reached the end call form of an outgoing call then don't show add to contacts
CallApp* pCallApp = static_cast<CallApp*>(CallApp::GetInstance());
pCallApp->SetTopMostWindow(false);
AddOrientationEventListener(*this);
+ __pAddressBook = AddressbookManager::GetInstance()->GetAddressbookN();
+ //Add address book listener to listen to contacts changed events
+ if(__pAddressBook != null)
+ {
+ __pAddressBook->SetAddressbookChangeEventListener(this);
+ }
}
void
{
__pSmallPhotoLabel->SetShowState(false);
}
+ //remove contact change event listener
+ if(__pAddressBook != null)
+ {
+ __pAddressBook->SetAddressbookChangeEventListener(null);
+ }
//remove itself as listener
CallApp* pPhoneApp = static_cast<CallApp*>(CallApp::GetInstance());
pPhoneApp->RemoveAppStateChangeListener(*this);
Label* pNameLbl = static_cast<Label*>(GetControl(nameLblName));
Label* pPhotoLbl = static_cast<Label*>(GetControl(photoLblName));
- //fetch contact details based on phone number
- String* pDisplayName = pCallInfo->FetchCallerNameN();
- Bitmap* pPhotoBitmap = pCallInfo->FetchCallerPhotoN();
+ String* pDisplayName;
+ if(pCallInfo->IsConferenceCall() == false)
+ {
+ //fetch contact details based on phone number
+ pDisplayName = pCallInfo->FetchCallerNameN();
+ }
+ else
+ {
+ pDisplayName = new (std::nothrow) String(AppUtility::GetResourceString(IDS_CONFERENCE_CALL_STRING));
+ }
+ Bitmap* pPhotoBitmap = null;
+ if(pCallInfo->IsConferenceCall() == false)
+ {
+ pPhotoBitmap = pCallInfo->FetchCallerPhotoN();
+ }
//passing an empty string to SetText fails in label,
//if previously valid text has been set
else
{
//Set Default Photo
- Bitmap* pDefaultPhoto = AppUtility::GetBitmapFromResourcesN(IDB_END_CALL_DEFAULT_ICON,W_PHOTO_LABEL,H_PHOTO_LABEL);
+ Bitmap* pDefaultPhoto = null;
+ if(pCallInfo->IsConferenceCall() == false)
+ {
+ pDefaultPhoto = AppUtility::GetBitmapFromResourcesN(IDB_END_CALL_DEFAULT_ICON,W_PHOTO_LABEL,H_PHOTO_LABEL);
+ }
+ else
+ {
+ pDefaultPhoto = AppUtility::GetBitmapFromResourcesN(IDB_CONFERENCE_BG_ICON,W_CONFERENCE_PHOTO,H_CONFERENCE_PHOTO);
+ }
if (pDefaultPhoto != null)
{
pPhotoLbl->SetBackgroundBitmap(*pDefaultPhoto);
{
__pEndCallEventTimer->Start(END_CALL_TIMER_VAL);
}
- if (__pContactNumber != null && __pContactNumber->IsEmpty() == false)
- {
- AppCallInfo* ActiveCallInfo = new (std::nothrow) AppCallInfo();
- ActiveCallInfo->SetContactNumber(*__pContactNumber);
- Contact* pContact = __pCallPresentor->GetContactN(*__pContactNumber);
- if (pContact != null)
- {
- ActiveCallInfo->SetContactInfo(*pContact);
- }
- //before setting check if the contact is deleted
- if(pContact != null)
- {
-
- ShowViewContactButton();
- delete pContact;
- pContact = null;
- }
- else
- {
- ShowAddContactButton();
- }
- ShowPersonDetails(*__pContactNumber, IDC_CALLER1_LABEL, IDC_CALLER1_BIGPHOTO_LABEL,ActiveCallInfo);
- delete ActiveCallInfo;
- }
-
+ UpdatePersonDetail();
//notify app control completed
__isContactAppControlLaunched = false;
__pCallPresentor->AppControlRequestCompleted();
}
}
}
+
+void
+EndCallForm::OnContactsChanged(const IList& contactChangeInfoList)
+{
+ UpdatePersonDetail();
+}
+
+void
+EndCallForm::UpdatePersonDetail()
+{
+ AppLog("Enter");
+ if (__pContactNumber != null && __pContactNumber->IsEmpty() == false)
+ {
+ AppCallInfo* ActiveCallInfo = new (std::nothrow) AppCallInfo();
+ ActiveCallInfo->SetContactNumber(*__pContactNumber);
+ Contact* pContact = __pCallPresentor->GetContactN(*__pContactNumber);
+ if (pContact != null)
+ {
+ ActiveCallInfo->SetContactInfo(*pContact);
+ }
+ //before setting check if the contact is deleted
+ if(pContact != null)
+ {
+ ShowViewContactButton();
+ delete pContact;
+ pContact = null;
+ }
+ else
+ {
+ ShowAddContactButton();
+ }
+ ShowPersonDetails(*__pContactNumber, IDC_CALLER1_LABEL, IDC_CALLER1_BIGPHOTO_LABEL,ActiveCallInfo);
+ delete ActiveCallInfo;
+ }
+ AppLog("Exit");
+}
pButtonReject->SetActionId(IDA_CANCEL_REJECT_CALL_MESSAGE_PANEL);
pButtonReject->AddActionEventListener(*this);
pButtonReject->SetEnabled(true);
- pButtonReject->SetFocus();
+ //pButtonReject->SetFocus();
ShowRejectMessageFooter();
pButtonRejectMessage->SetActionId(IDA_SHOW_REJECT_CALL_MESSAGE_PANEL);
pButtonRejectMessage->AddActionEventListener(*this);
}
+
//This called here to handle the case when incoming call comes when
// add call is in foreground.
- __pCallPresentor->OnAppForeground();
+ //__pCallPresentor->OnAppForeground();
}
IncomingCallForm::OnForeground(void)
{
AppLogDebug("Enter");
- __pCallPresentor->OnAppForeground();
+// __pCallPresentor->OnAppForeground();
}
void
TryReturn(r == E_SUCCESS, r, "CallOptionPopup::AddControl() failed");
ListView* pListView = new (std::nothrow) ListView();
- pListView->Construct(Rectangle(0, 0, W_POPUP, listHeight), true, SCROLL_STYLE_FADE_OUT);
+ pListView->Construct(Rectangle(0, 0, W_POPUP + HORIZONTAL_PADDING, listHeight), true, SCROLL_STYLE_FADE_OUT);
pListView->AddListViewItemEventListener(*this);
pListView->SetItemProvider(*this);
r = AddControl(pListView);
{
nextScene = IDSCN_SCENE_OUT_EMERGENCYCALL;
}
- pSceneManager->GoForward( ForwardSceneTransition( nextScene), pLaunchArgs);
+ pSceneManager->GoForward( ForwardSceneTransition( nextScene,
+ SCENE_TRANSITION_ANIMATION_TYPE_NONE, SCENE_HISTORY_OPTION_NO_HISTORY,SCENE_DESTROY_OPTION_DESTROY), pLaunchArgs);
}
}
CallPresentationModel::SendMessage(String& strMsg,String& recpientNum)
{
AppLogDebug("Enter");
+ result r;
if(__pSmsManager == null)
{
__pSmsManager = new (std::nothrow) SmsManager();
+ result r = __pSmsManager->Construct(*this);
+ if (IsFailed(r) == true)
+ {
+ delete __pSmsManager;
+ __pSmsManager = null;
+ return;
+ }
+
}
- result r = __pSmsManager->Construct(*this);
+ RecipientList recipient;
+ recipient.Add(RECIPIENT_TYPE_TO,recpientNum);
+ SmsMessage smsMessage;
+ r = smsMessage.SetText(strMsg);
if (IsFailed(r) == false)
{
- RecipientList recipient;
- recipient.Add(RECIPIENT_TYPE_TO,recpientNum);
- SmsMessage smsMessage;
- r = smsMessage.SetText(strMsg);
+ r = __pSmsManager->Send(smsMessage,recipient,true);
if (IsFailed(r) == false)
{
- r = __pSmsManager->Send(smsMessage,recipient,true);
- if (IsFailed(r) == true)
- {
- //todo: error message
- }
- else
- {
- __isMessageSendInProgress = true;
- }
+ __isMessageSendInProgress = true;
}
- else
- {
- //todo: error message
- }
- }
- else
- {
- //todo: error message
+
}
}
//Call connected successfully
r = E_SUCCESS;
//Add calls information to call log before deleting from active call list.
- IListT<AppCallInfo>* pCallList = pEndCallsList->GetValuesN();
+ /*IListT<AppCallInfo>* pCallList = pEndCallsList->GetValuesN();
if(pCallList != null)
{
AppCallInfo endCallInfo;
SaveCallInfoToLogsDb(endCallInfo);
}
delete pCallList;
- }
+ }*/
pEndCallsList->RemoveAll();
delete pEndCallsList;
}
//Incoming Call connected successfully
r = E_SUCCESS;
//save to ended call to call logs db.
- SaveCallInfoToLogsDb(callToBeEnded);
+ //SaveCallInfoToLogsDb(callToBeEnded);
}
break;
break;
}
//"Held" call successfully ended - Add call ended to call log database
- SaveCallInfoToLogsDb(callToBeEnded);
+ //SaveCallInfoToLogsDb(callToBeEnded);
//accept incoming call by Holding "Active" call using "TAPI_CALL_ANSWER_HOLD_AND_ACCEPT".
res = tel_answer_call(__pTapiHandle, incomingCallHandle, TAPI_CALL_ANSWER_HOLD_AND_ACCEPT, &HandleCallbackResponse, this);
IListT<AppCallInfo>* pCallList = pEndCallsList->GetValuesN();
if(pCallList != null)
{
- int callCount = pCallList->GetCount();
+/* int callCount = pCallList->GetCount();
for (int index = 0; index < callCount; index++)
{
AppCallInfo endCallInfo;
{
SaveCallInfoToLogsDb(endCallInfo);
}
- }
+ }*/
delete pCallList;
pCallList = null;
}
conferenceCall.RemoveCallFromCallerList(index);
//update its status to individual call before saving to database
callToBeEnded.SetConference(false);
- SaveCallInfoToLogsDb(callToBeEnded);
+ // SaveCallInfoToLogsDb(callToBeEnded);
isParticipantCallEnded = true;
break;
}
//remove the conference call handle from active call list to avoid any processing in HandleIdleCallback().
pTelManager->__pActiveCallList->Remove(endConfCallInfo.GetCallHandle()->ToLong());
//Save "End" Conf. call info to call log database
- pTelManager->SaveCallInfoToLogsDb(endConfCallInfo);
+ // pTelManager->SaveCallInfoToLogsDb(endConfCallInfo);
//check if the ended call was the last call and show notification to user
bool isLastCall = (pTelManager->__pActiveCallList->GetCount() == 0);
//stop sound session
pTelManager->__pSoundManager->StopSession();
//send empty call list to show dialer or call log screen
- pCallList = new (std::nothrow) ArrayListT<AppCallInfo>();
+ pCallList =new (std::nothrow) ArrayListT<AppCallInfo>();
+ pCallList->Construct(1);
+ pCallList->Add(endConfCallInfo);
}
else
{
//2) an "unconnected" dialed call is ended by caller or other party.
//3) Any normal active calls(NOT conference calls) ended by user or by other party.
- if(__pSoundManager->GetLastConferenceCall() == false)
- {
- __pSoundManager->SetDisconnectTone();
- }
+
TelCallStatusIdleNoti_t idleNotification;
memcpy(&idleNotification, pData, sizeof(TelCallStatusIdleNoti_t));
AppLogDebug("EXIT - no calls exist");
return;
}
-
+ if(__pSoundManager->GetLastConferenceCall() == false)
+ {
+ __pSoundManager->SetDisconnectTone();
+ }
//Check if ended call was among conference caller list,
//then divert event to "HandleParticipantEndedFromConference()"
AppCallInfo confCallInfo;
__pIncomingCall = null;
//update missed status
endCallInfo.SetCalllogType(CALL_LOG_TYPE_VOICE_MISSED_UNSEEN);
+ //save ended call to call log db.
+ SaveCallInfoToLogsDb(endCallInfo);
}
- //save ended call to call log db.
- SaveCallInfoToLogsDb(endCallInfo);
+ /*//save ended call to call log db.
+ SaveCallInfoToLogsDb(endCallInfo);*/
//notify listener that call is disconnected.
if (isLastCall == true)
__pSoundManager->StopSession();
pCallList = new (std::nothrow) ArrayListT<AppCallInfo>();
pCallList->Construct(1);
- if (isMissedIncomingCallEnded == false)
+ //This is done to show end call form in missed call case also
+ //this was done on request received from HQ to solve a bug in
+ //camera application. In which if a call comes when camera is
+ //running and user disconnects before the ui is shown the camera
+ //application hangs
+ //if (isMissedIncomingCallEnded == false)
{
//save to list to show EndCallForm
pCallList->Add(endCallInfo);
}
//Save "End" call info to call log database
- SaveCallInfoToLogsDb(endCallInfo);
+ //SaveCallInfoToLogsDb(endCallInfo);
//notify listener that call is disconnected.
__pEventListener->HandleCallDisconnected(isLastCall, *pCallList);
delete pCallList;
long long startTime = 0;
SystemTime::GetTicks(startTime);
__pDialedCall->SetCallNotificationTime(startTime);
+ SaveCallInfoToLogsDb(*__pDialedCall);
}
void
//transfer ownership to Active calls list
__pActiveCallList->Add(connectedCallHandle, *(pConnectedCall));
+ if (pConnectedCall->GetCalllogType() == CALL_LOG_TYPE_VOICE_INCOMING)
+ {
+ SaveCallInfoToLogsDb(*pConnectedCall);
+ }
pConnectedCall = null;
//notify listener that call is connected.
const wchar_t* IDS_INVALID_NUMBER = L"IDS_INVALID_NUMBER";
const wchar_t* IDS_NUMBER_UNKNOWN = L"IDS_NUMBER_UNKNOWN";
const wchar_t* IDS_GPRS_NUMBER = L"IDS_GPRS_NUMBER";
+const wchar_t* IDS_CONFERENCE_CALL_STRING = L"IDS_CONFERENCE_CALL_STRING";
//Panel
const wchar_t* PANEL_DIALER = L"PanelDialer";
const wchar_t* PANEL_LOGS = L"PanelLogs";