, __isMoreInformationContextMenuShowing(false)
, __isKeypadOpened(false)
, __scrolledDistance(0)
+, __pAppControl(null)
, __pPhoneNumberFieldItem(null)
, __pEmailFieldItem(null)
, __pAddressFieldItem(null)
delete __pImAddressFieldItem;
}
+ delete __pAppControl;
delete __pNameFieldItem;
delete __pNoteFieldItem;
delete __pDefaultPhoneNumberContextMenu;
SetEnabled(true);
Invalidate(true);
+ if (__pAppControl != null)
+ {
+ delete __pAppControl;
+ __pAppControl = null;
+ }
+
TryReturnVoid(appControlResult == APP_CTRL_RESULT_SUCCEEDED, "[E_FAILURE] The result of an appcontrol is not succeeded.");
TryReturnVoid(pExtraData != null, "[E_FAILURE] The extra data is null.");
extraData.Add(new (std::nothrow) String(INPUT_KEY_SELECTION_MODE), new (std::nothrow) String(INPUT_DATA_SELECTION_MODE_SINGLE));
}
- AppControl* pAppControl = AppManager::FindAppControlN(appId, operationId);
+ __pAppControl = AppManager::FindAppControlN(appId, operationId);
- if (pAppControl != null)
+ if (__pAppControl != null)
{
- r = pAppControl->Start(&uri, &mimeType, &extraData, this);
+ r = __pAppControl->Start(&uri, &mimeType, &extraData, this);
TryCatch(r == E_SUCCESS, , "[%s] Unable to launch app control.", GetErrorMessage(r));
SetEnabled(false);
Invalidate(true);
}
+ extraData.RemoveAll(true);
+
+ return r;
CATCH:
extraData.RemoveAll(true);
- delete pAppControl;
+ delete __pAppControl;
+ __pAppControl = null;
return r;
}
{
if (__pPresentationModel->IsContactRemoved())
{
- pSceneManager->GoBackward(BackwardSceneTransition(SCENE_TRANSITION_ANIMATION_TYPE_RIGHT));
+ ContactsApp* pContactsApp = static_cast<ContactsApp*>(ContactsApp::GetInstance());
+
+ if (pContactsApp->GetOperationId() == OPERATION_ID_VIEW)
+ {
+ __pPresentationModel->RemoveContactChangeListener(*this);
+ }
+ else
+ {
+ if (__pAppControl != null)
+ {
+ __pAppControl->Stop();
+ }
+ pSceneManager->GoBackward(BackwardSceneTransition(SCENE_TRANSITION_ANIMATION_TYPE_RIGHT));
+ }
}
return;
SetFocus();
- if (__isAppControl == true)
+ if (__isAppControl)
{
- UiApp* pApp = UiApp::GetInstance();
- pApp->Terminate();
+ UiApp::GetInstance()->Terminate();
}
else
{