case REQUEST_CMD_CHANGE_PERIOD:
result = requestChangePeriod(boxInfo->instanceId, boxInfo->period);
break;
+ case REQUEST_CMD_UPDATE_BOX:
+ result = requestUpdateBox(boxInfo->instanceId);
+ break;
default:
LogD("not available request type");
break;
return false;
}
- return box->pause();
+ // paused by switching other page
+ return box->pause(false);
}
bool BoxManager::requestResumeAll()
{
LogD("enter");
for (auto it = m_boxMap.begin(); it != m_boxMap.end(); it++) {
- it->second->resume();
+ if (it->second->isCurrentTab()) {
+ it->second->resume();
+ }
}
return true;
{
LogD("enter");
for (auto it = m_boxMap.begin(); it != m_boxMap.end(); it++) {
- it->second->pause();
+ if (it->second->isCurrentTab()) {
+ // paused by entering background
+ it->second->pause(true);
+ }
}
return true;
return box->changePeriod(period);
}
+bool BoxManager::requestUpdateBox(std::string& instanceId)
+{
+ LogD("enter");
+ IBoxPtr box = searchBoxMap(instanceId);
+ if (!box) {
+ return false;
+ }
+
+ return box->update();
+}
+
void BoxManager::insertBoxMap(std::string& instanceId, IBoxPtr box)
{
if (!searchBoxMap(instanceId)) {