*/
#include <sstream>
#include <feedback.h>
-#include <boost/shared_ptr.hpp>
#include "cluster-view-impl.h"
#include "custom-cluster-impl.h"
if(widgetDataProvider)
{
- widgetDataProvider->updateBoxBadgeCnt(pkgname, count);
+ if(action == BADGE_ACTION_UPDATE)
+ {
+ widgetDataProvider->updateBoxBadgeCnt(pkgname, count);
+ }
+ else if(action == BADGE_ACTION_CHANGED_DISPLAY)
+ {
+ if(count == 0)
+ {
+ widgetDataProvider->updateBoxBadgeCnt(pkgname, 0);
+ }
+ else if(count == 1)
+ {
+ unsigned int nCount=0;
+ if(badge_get_count(pkgname, &nCount) != BADGE_ERROR_NONE)
+ {
+ HOME_ERR("Failed to get badge count [%s]", pkgname);
+ nCount=0;
+ }
+ widgetDataProvider->updateBoxBadgeCnt(pkgname, nCount);
+ }
+ }
+ else if(action == BADGE_ACTION_REMOVE)
+ {
+ widgetDataProvider->updateBoxBadgeCnt(pkgname, 0);
+ }
}
return ;
mApplication.PauseSignal().Connect( this, &CHomeScreen::OnPause );
mApplication.ResumeSignal().Connect( this, &CHomeScreen::OnResume );
mApplication.LanguageChangedSignal().Connect( this, &CHomeScreen::OnLanguageChanged);
- mApplication.AppControlSignal().Connect( this, &CHomeScreen::OnAppsConstrol);
+ mApplication.AppControlSignal().Connect( this, &CHomeScreen::OnAppsControl);
}
CHomeScreen::~CHomeScreen()
}
-void CHomeScreen::OnAppsConstrol( Dali::Application& application, void * data)
+void CHomeScreen::OnAppsControl( Dali::Application& application, void * data)
{
+ HOME_ERR("app control");
app_control_h app_control = (app_control_h)data;
char *ret_data = NULL;
app_control_get_operation(app_control, &ret_data);
void OnPause(Dali::Application& application);
void OnResume(Dali::Application& application);
void OnLanguageChanged( Dali::Application& application);
- void OnAppsConstrol( Dali::Application& application, void * data);
+ void OnAppsControl( Dali::Application& application, void * data);
/* initialize */
void Initialize(void);
CMainMenuPresenter *pPresenter = static_cast<CMainMenuPresenter *>(pData);
if (pPresenter && sPkgname)
{
- pPresenter->_BadgeChanged(sPkgname, nCount);
+ if(nAction == BADGE_ACTION_UPDATE)
+ {
+ pPresenter->_BadgeChanged(sPkgname, nCount);
+ }
+ else if(nAction == BADGE_ACTION_CHANGED_DISPLAY)
+ {
+ if(nCount == 0)
+ {
+ pPresenter->_BadgeChanged(sPkgname, 0);
+ }
+ else if(nCount == 1)
+ {
+ unsigned int count=0;
+ if(badge_get_count(sPkgname, &count) != BADGE_ERROR_NONE)
+ {
+ HOME_ERR("Failed to get badge count [%s]", sPkgname);
+ count=0;
+ }
+ pPresenter->_BadgeChanged(sPkgname, count);
+ }
+ }
+ else if(nAction == BADGE_ACTION_REMOVE)
+ {
+ pPresenter->_BadgeChanged(sPkgname, 0);
+ }
}
}