throw InvalidValuesException("invalid PowerState");
int ret=0;
- int native_state = POWER_STATE_SCREEN_OFF;
switch( state ){
case PowerState::SCREENDIM :
- native_state = POWER_STATE_SCREEN_DIM;
case PowerState::SCREENNORMAL :
- native_state = POWER_STATE_NORMAL;
case PowerState::CPUAWAKE :
- ret = power_lock_state( state.mState == PowerState::SCREENDIM ? POWER_STATE_SCREEN_DIM : POWER_STATE_NORMAL, 0);
- if( POWER_ERROR_NONE!=ret )
+ {
+ int native_state = POWER_STATE_SCREEN_OFF;
+ if( state == PowerState::SCREENDIM )
+ native_state = POWER_STATE_SCREEN_DIM;
+ else if( state == PowerState::SCREENNORMAL )
+ native_state = POWER_STATE_NORMAL;
+ else
+ native_state = POWER_STATE_SCREEN_OFF;
+
+ ret = power_lock_state( (power_state_e)native_state , 0);
+ if( POWER_ERROR_NONE!=ret ){
+ LOGE("power_lock_state(%d) error %d",native_state, ret);
throw UnknownException("power_lock_state error");
+ }
break;
+ }
case PowerState::SCREENBRIGHT :
{
int maxBrightness;
}
ret = device_set_brightness(0, maxBrightness);
- if( DEVICE_ERROR_NONE!=ret)
- throw UnknownException("Platform error while setting max brightness:");
+ if( DEVICE_ERROR_NONE!=ret){
+ LOGE("Platform error while setting %d brightness: %d", maxBrightness, ret);
+ throw UnknownException("Platform error while setting max brightness");
+ }
LOGI("Succeeded setting the brightness to a max level: %d", maxBrightness);
ret = power_lock_state(POWER_STATE_NORMAL, 0);
- if( POWER_ERROR_NONE!=ret )
+ if( POWER_ERROR_NONE!=ret ){
+ LOGE("Platform error while locking state %d", ret);
throw UnknownException("Platform error while locking state");
+ }
mBrightStateEnable = true;
power_state_e platform_state = power_get_state();
broadcastScreenState(PowerState::SCREENBRIGHT);
break;
}
+ case PowerState::SCREENOFF:
+ LOGE("SCREEN_OFF state cannot be requested");
+ throw InvalidValuesException("SCREEN_OFF state cannot be requested");
+
default :
throw UnknownException("Platform error while locking state");
}
LOGI("Platform return value from dim unlock: %d", ret);
ret = device_set_brightness_from_settings(0);
- if( DEVICE_ERROR_NONE!=ret)
+ if( DEVICE_ERROR_NONE!=ret){
+ LOGE("Platform error while setting restore brightness %d", ret);
throw UnknownException("Platform error while setting restore brightness");
+ }
mBrightStateEnable = false;
power_state_e platform_state = power_get_state();
double PowerManager::getScreenBrightness(){
int ret, brightness;
ret = device_get_brightness(0, &brightness);
- if( DEVICE_ERROR_NONE!=ret )
+ if( DEVICE_ERROR_NONE!=ret ){
+ LOGE("Platform error while get brightness %d", ret);
throw UnknownException("Platform error while get brightness");
+ }
LOGI("Brightness value: %d", brightness);
return brightness/100.0;
}
LOGE("Platform error while setting restore brightness: %d", ret);
throw UnknownException("Platform error while getting max brightness");
}
-
- ret = device_set_brightness(0, (int)(brightness*maxBrightness));
- if( DEVICE_ERROR_NONE!=ret )
+ int nativeBrightness = (int)(brightness*maxBrightness);
+ ret = device_set_brightness(0, nativeBrightness);
+ if( DEVICE_ERROR_NONE!=ret ){
+ LOGE("Platform error while setting %d brightness : %d",nativeBrightness, ret);
throw UnknownException("Platform error while setting brightness.");
- LOGI("Set the brightness value: %d", (int)(brightness*maxBrightness));
+ }
+ LOGI("Set the brightness value: %d", nativeBrightness);
}
bool PowerManager::isScreenOn(){
else
ret = pm_change_state(LCD_OFF);
- if( ret<0 )
+ if( ret<0 ){
+ LOGE("Platform error while changing screen state %d", ret);
throw UnknownException("Platform error while changing screen state");
+ }
}
void PowerManager::restoreScreenBrightness(){
int ret;
ret = device_set_brightness_from_settings(0);
- if( DEVICE_ERROR_NONE!=ret)
+ if( DEVICE_ERROR_NONE!=ret){
+ LOGE("Platform error while restoring brightness %d", ret);
throw UnknownException("Platform error while restoring brightness");
+ }
}
PowerManager* PowerManager::getInstance(){