Fix power policy
authorJoohyun Kim <joohyune.kim@samsung.com>
Tue, 19 Mar 2013 12:20:19 +0000 (21:20 +0900)
committerGerrit Code Review <gerrit2@kim11>
Tue, 19 Mar 2013 12:21:47 +0000 (21:21 +0900)
Change-Id: Ie58fc9ac8f2aa02b771c71a6f23ea30ad8157409
Signed-off-by: Joohyun Kim <joohyune.kim@samsung.com>
src/system/FSys_PowerManagerImpl.cpp

index 21ba9b5..7807259 100644 (file)
@@ -96,6 +96,8 @@ void
 _ActiveEventListener::OnActiveAppChanged(const Tizen::App::AppId& appId)
 {
        int ret = 0;
+       SysLog(NID_SYS, "Active App is %ls.", appId.GetPointer());
+
        if(appId == _AppInfo::GetApplicationId())
        {
                _activeApp = true;
@@ -323,6 +325,9 @@ _PowerManagerImpl::Init()
        if(_InitPowerManager == false)
        {
                __powerEventList.Construct();
+               pActiveEventListener = new (std::nothrow) _ActiveEventListener();
+               _AppManagerImpl* pAppManager = _AppManagerImpl::GetInstance();
+               pAppManager->AddActiveAppEventListener(*pActiveEventListener);
                _InitPowerManager = true;
        }
 }
@@ -332,6 +337,11 @@ _PowerManagerImpl::Term()
 {
        if(_InitPowerManager == true)
        {
+               _AppManagerImpl* pAppManager = _AppManagerImpl::GetInstance();
+               pAppManager->RemoveActiveAppEventListener(*pActiveEventListener);
+               delete(pActiveEventListener);
+               pActiveEventListener = null;
+
                _InitPowerManager = false;
        }
 }
@@ -376,6 +386,7 @@ _PowerManagerImpl::KeepScreenOnState(bool keepOn, bool dimming)
 {
        int ret = -1;
        unsigned int state = LCD_DIM;
+       _PowerManagerImpl::Init();
 
        if (keepOn == true && IsActive() == true)
        {
@@ -407,6 +418,8 @@ result
 _PowerManagerImpl::KeepCpuAwake(bool enable)
 {
        int ret = 0;
+       _PowerManagerImpl::Init();
+
        if (enable)
        {
                ret = power_lock_state(POWER_STATE_SCREEN_OFF, 0);