From ee176912177eba7df0559d2a02e49ae94a7f9a93 Mon Sep 17 00:00:00 2001 From: "ravi.n2@samsung.com" Date: Wed, 31 Jul 2013 18:24:03 +0530 Subject: [PATCH] NABI issue 47695 47846 Change-Id: Idde319c9dbd79baae21450bbd72b4e624f418c7b --- inc/CmCamcorderForm.h | 1 + inc/CmCameraPresentationModel.h | 3 +++ src/CmCamcorderForm.cpp | 35 +++++++++++++++++++++++++++++++++-- src/CmCameraForm.cpp | 14 +++++++++++++- src/CmCameraPresentationModel.cpp | 19 +++++++++++++++++++ 5 files changed, 69 insertions(+), 3 deletions(-) diff --git a/inc/CmCamcorderForm.h b/inc/CmCamcorderForm.h index 5dfdb83..698a080 100644 --- a/inc/CmCamcorderForm.h +++ b/inc/CmCamcorderForm.h @@ -370,6 +370,7 @@ private: bool __isOrientationChanged; bool __doRecording; bool __recorderStopped; + bool __appcontrolRecordingEnabled; Tizen::Ui::Controls::Panel* __pSettingPanel; Tizen::Ui::Controls::Panel* __pActionPanel; diff --git a/inc/CmCameraPresentationModel.h b/inc/CmCameraPresentationModel.h index afb3dcd..5a2dd18 100644 --- a/inc/CmCameraPresentationModel.h +++ b/inc/CmCameraPresentationModel.h @@ -228,6 +228,8 @@ public: void SetCurrentSourceForm(SourceForm source); SourceForm GetCurrentSourceForm(void); void SetRecorderEndReached(bool currentStatus); + void SetTimerEnabled(bool timerEnabled); + bool GetTimerEnabled(void); private: CameraPresentationModel(void); @@ -283,6 +285,7 @@ private: bool __recorderStopException; bool __memoryFullException; bool __recorderEndReached; + bool __timerEnabled; SourceForm __pCurrentSource; Tizen::Media::RecorderErrorReason __recorderError; }; diff --git a/src/CmCamcorderForm.cpp b/src/CmCamcorderForm.cpp index 66d3b7e..e9b03cb 100644 --- a/src/CmCamcorderForm.cpp +++ b/src/CmCamcorderForm.cpp @@ -347,6 +347,7 @@ CamcorderForm::CamcorderForm(void) , __isOrientationChanged(false) , __doRecording(false) ,__recorderStopped(true) + ,__appcontrolRecordingEnabled(false) , __pSettingPanel(null) , __pActionPanel(null) , __dir(ORIENTATION_STATUS_NONE) @@ -1127,7 +1128,15 @@ CamcorderForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId) case IDA_BUTTON_CAMCORDER_SHUTTER: { - result r = E_SUCCESS; + result r = E_SUCCESS; + int requestType = 0; + int appcontrolRequest = 0; + requestType = _pCameraPresentationModel->GetAppControlRequestType(); + + if (GetAppLaunchType() == APP_LAUNCH_TYPE_REQUESET) + { + appcontrolRequest = 1; + } r = _pCameraPresentationModel->SetFlashModeOnRecord(true); @@ -1137,6 +1146,15 @@ CamcorderForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId) return; } + if (appcontrolRequest == 1) + { + if (__appcontrolRecordingEnabled && _isRecording == false) + { + AppLogDebug("Appcontrol Launch so cannot do recording twice"); + return; + } + } + MakeSettingPopupTab(false); if (_isRecording == false) { @@ -1151,6 +1169,12 @@ CamcorderForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId) AppLogDebug("DoRecording"); _pCameraPresentationModel->SetMemoryFullException(true); + + if (appcontrolRequest == 1) + { + __appcontrolRecordingEnabled = true; + } + DoRecording(); } else @@ -1824,10 +1848,17 @@ CamcorderForm::OnCameraActionPerformed(CameraActionEvent event) if (GetAppLaunchType() == APP_LAUNCH_TYPE_REQUESET && requestType == CameraPresentationModel::APP_CONTROL_REQUEST_TYPE_SUCCEEDED) { - AppLogDebug("Recrrder after TerminateApp"); + AppLogDebug("onvideoRecorder after TerminateApp"); + CameraApp* pCameraApp = static_cast(CameraApp::GetInstance()); pCameraApp->SetFrameEnabled(false); + if (__appcontrolRecordingEnabled) + { + __appcontrolRecordingEnabled = false; + } + + r = TerminateApp(); return; AppLogDebug("TerminateApp fail [%s]", GetErrorMessage(r)); diff --git a/src/CmCameraForm.cpp b/src/CmCameraForm.cpp index 3f0d4cf..cc73288 100644 --- a/src/CmCameraForm.cpp +++ b/src/CmCameraForm.cpp @@ -538,6 +538,7 @@ CameraForm::OnTerminating(void) __lowMemoryCapacity = false; __isTimerRunning = false; + _pCameraPresentationModel->SetTimerEnabled(false); _pCameraPresentationModel->SetIntervalTimerRun(false); @@ -625,6 +626,9 @@ CameraForm::OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId, BatteryLevel batteryLevel; __isTimerRunning = false; + _pCameraPresentationModel->SetTimerEnabled(false); + + _pCameraPresentationModel->SetIntervalTimerRun(false); @@ -776,6 +780,8 @@ CameraForm::OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId, AppLogDebug("ENTER"); __isTimerRunning = false; + _pCameraPresentationModel->SetTimerEnabled(false); + _pCameraPresentationModel->SetIntervalTimerRun(false); __resolutionChange = false; @@ -2099,6 +2105,9 @@ CameraForm::OnIntervalValueTimerExpired(void) } } + + + _pCameraPresentationModel->SetTimerEnabled(true); _pCameraPresentationModel->Capture(); __isTimerRunning = false; @@ -9480,6 +9489,7 @@ CameraForm::SendCameraToBackground(void) StopPopupTimer(); _timeCount = INDEX_UNIT_ZERO; __isTimerRunning = false; + _pCameraPresentationModel->SetTimerEnabled(false); _pCameraPresentationModel->SetIntervalTimerRun(false); _isUsedTimerCaptured = false; @@ -12085,7 +12095,9 @@ CameraForm::OnFormBackRequested(Tizen::Ui::Controls::Form& source) AppLogDebug("ENTER"); int checkActivePanel=-1; - if (!__isTimerRunning) + bool timerEnabled = _pCameraPresentationModel->GetTimerEnabled(); + + if (!__isTimerRunning && !timerEnabled) { if ((_pListViewCameraTabMainMenu!= null && _pListViewCameraTabMainMenu->GetShowState()) || (_pListViewGeneralTabMainMenu!= null && _pListViewGeneralTabMainMenu->GetShowState()) ) diff --git a/src/CmCameraPresentationModel.cpp b/src/CmCameraPresentationModel.cpp index 36debc0..ea2159f 100644 --- a/src/CmCameraPresentationModel.cpp +++ b/src/CmCameraPresentationModel.cpp @@ -126,6 +126,7 @@ CameraPresentationModel::CameraPresentationModel(void) ,__recorderStopException(false) ,__memoryFullException(false) ,__recorderEndReached(false) + ,__timerEnabled(false) ,__pCurrentSource(SOURCE_FORM_CAMERA) ,__recorderError(RECORDER_ERROR_OUT_OF_STORAGE) { @@ -3308,6 +3309,11 @@ CameraPresentationModel::OnCameraCaptured(Tizen::Base::ByteBuffer& capturedData, } } + if (__timerEnabled) + { + __timerEnabled = false; + } + AppLogDebug("EXIT"); return; @@ -4063,3 +4069,16 @@ CameraPresentationModel::SetRecorderEndReached(bool currentStatus) { __recorderEndReached = currentStatus; } + + +void +CameraPresentationModel::SetTimerEnabled(bool timerEnabled) +{ + __timerEnabled = timerEnabled; +} + +bool +CameraPresentationModel::GetTimerEnabled(void) +{ + return __timerEnabled; +} -- 2.7.4