2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 // Licensed under the Flora License, Version 1.1 (the License);
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
8 // http://floralicense.org/license/
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an AS IS BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
18 * @file GlTimerBase.cpp
19 * @brief This is the source file for GlTimerBase class.
25 #include "GlContentUpdateEventListener.h"
26 #include "GlProgressBar.h"
27 #include "GlTimerBase.h"
30 using namespace Tizen::Ui;
31 using namespace Tizen::Base::Runtime;
33 GlTimerBase::GlTimerBase(IFileOpInvalidateListener* invalidateListener, enum FileActionMode actionId)
35 , __pContentIdList(null)
38 , __pInvalidate(invalidateListener)
42 AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
45 GlTimerBase::~GlTimerBase(void)
49 if (__pContentIdList != null && __pContentIdList->GetCount() > 0 && __isStarted)
54 delete __pContentIdList;
57 __pMoveProBar->HideFileProgressingPopup();
64 GlTimerBase::StartTimer(void)
67 __pContentIdList = TimerStart();
68 if (__pContentIdList != null && __pContentIdList->GetCount() > 0)
70 AppLogDebug("Starting timer");
71 __pMoveProBar = new (std::nothrow) GlProgressBar(static_cast<IActionEventListener*>(this),
72 static_cast<IPropagatedKeyEventListener*>(this));
73 __pMoveProBar->ShowFileProgressingPopup(__pContentIdList->GetCount(), _actionId);
75 __moveTimer.Construct(*this);
78 ContentUpdateEventListener* pContentListener = ContentUpdateEventListener::GetInstance();
79 pContentListener->RemoveContentListener();
80 AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
83 AppLogDebug("EXIT1(%s)", GetErrorMessage(GetLastResult()));
88 GlTimerBase::CancelTimer(void)
93 OnOpCancelled(CANCEL_USER);
95 AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
99 GlTimerBase::OnTimerExpired(Timer& timer)
101 AppLogDebug("ENTER");
102 if (&timer == &__moveTimer)
104 AppLogDebug("__pContentIdList count is %d", __pContentIdList->GetCount());
105 if (__moveToCount < __pContentIdList->GetCount())
107 AppLogDebug("__pContentIdList count is %d", __pContentIdList->GetCount());
108 if (__pContentIdList->GetAt(__moveToCount) != null)
110 result r = TimerExpired(__pContentIdList->GetAt(__moveToCount));
113 __pMoveProBar->IncProgress(__moveToCount);
116 __pInvalidate->OnFileOpInvalidate(_actionId);
118 __moveTimer.Start(1);
123 __moveTimer.Cancel();
125 OnOpComplete(COMPLETE_SUCCESS);
129 AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
133 GlTimerBase::OnActionPerformed(const Control& source, int actionId)
135 AppLogDebug("ENTER");
138 case IDA_PROGRESSBAR_CANCEL:
147 AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
151 GlTimerBase::GetMovedCount() const
153 return __moveToCount;
157 GlTimerBase::OnOpCancelled(enum FileActionCancelRes res)
159 AppLogDebug("ENTER");
160 __pMoveProBar->HideFileProgressingPopup();
161 ContentUpdateEventListener* pContentListener = ContentUpdateEventListener::GetInstance();
162 pContentListener->AddContentListener();
165 __pInvalidate->OnFileOpInvalidate(_actionId);
167 if (__moveToCount > 0)
171 if (res != CANCEL_USER)
173 __pInvalidate->OnFileOpComplete(_actionId, COMPLETE_SYS_PARTIAL);
177 __pInvalidate->OnFileOpComplete(_actionId, COMPLETE_SUCCESS);
185 if (res != CANCEL_USER)
187 __pInvalidate->OnFileOpComplete(_actionId, COMPLETE_SYS_FAILURE);
191 __pInvalidate->OnFileOpComplete(_actionId, COMPLETE_SUCCESS);
195 TimerCancel(__moveToCount, res);
200 GlTimerBase::OnOpComplete(enum FileActionCompleteRes res)
202 AppLogDebug("ENTER");
203 ContentUpdateEventListener* pContentListener = ContentUpdateEventListener::GetInstance();
204 pContentListener->AddContentListener();
205 __pMoveProBar->HideFileProgressingPopup();
208 __pInvalidate->OnFileOpInvalidate(_actionId);
209 __pInvalidate->OnFileOpComplete(_actionId, res);
211 TimerComplete(__moveToCount, res);
216 GlTimerBase::SetActionMode(const enum FileActionMode actionId)
218 _actionId = actionId;
222 GlTimerBase::IsStarted(void)
228 GlTimerBase::Cancel(void)
232 ContentUpdateEventListener* pContentListener = ContentUpdateEventListener::GetInstance();
233 pContentListener->AddContentListener();
234 __pMoveProBar->HideFileProgressingPopup();
235 __moveTimer.Cancel();
241 GlTimerBase::OnKeyReleased(Control& source, const Tizen::Ui::KeyEventInfo& keyEventInfo)
243 AppLogDebug("ENTER");
245 if(keyEventInfo.GetKeyCode() == KEY_BACK)