[Power] isScreenOn() adjusted to the documentation.
authorTomasz Marciniak <t.marciniak@samsung.com>
Wed, 9 Sep 2015 06:54:18 +0000 (08:54 +0200)
committerTomasz Marciniak <t.marciniak@samsung.com>
Wed, 9 Sep 2015 06:56:35 +0000 (08:56 +0200)
[Verification] Code compiles. TCT did not changed.

Change-Id: I65b7d6ac0a40213b050bb7b0160938b790b937ec
Signed-off-by: Tomasz Marciniak <t.marciniak@samsung.com>
src/power/power_instance.cc
src/power/power_manager.cc
src/power/power_manager.h

index f8469f77bbd2d52578574d0457003bccebcd6a8c..5d2e1328ab21c64e295c714bce0db125ab93199f 100755 (executable)
@@ -145,9 +145,14 @@ void PowerInstance::PowerManagerSetscreenbrightness(const picojson::value& args,
 
 void PowerInstance::PowerManagerIsscreenon(const picojson::value& args, picojson::object& out) {
   LoggerD("Enter");
-  bool ret = PowerManager::GetInstance()->IsScreenOn();
-  ReportSuccess(picojson::value(ret), out);
+  bool state = false;
+  PlatformResult result = PowerManager::GetInstance()->IsScreenOn(&state);
+  if (result.IsError())
+    ReportError(result, &out);
+  else
+    ReportSuccess(picojson::value(state), out);
 }
+
 void PowerInstance::PowerManagerRestorescreenbrightness(const picojson::value& args, picojson::object& out) {
   LoggerD("Enter");
   PlatformResult result =
index fff19a5810fc61e306c798de4bd0dca320894881..5965b6fa51f05c1489dea73fdc6d7d193cdbe3d5 100755 (executable)
@@ -319,13 +319,18 @@ PlatformResult PowerManager::SetScreenBrightness(double brightness) {
   return set_result;
 }
 
-bool PowerManager::IsScreenOn() {
+PlatformResult PowerManager::IsScreenOn(bool* state) {
   LoggerD("Enter");
   display_state_e platform_state = DISPLAY_STATE_NORMAL;
+
   int ret = device_display_get_state(&platform_state);
-  if (DEVICE_ERROR_NONE != ret)
+  if (DEVICE_ERROR_NONE != ret) {
     LoggerE("device_display_get_state failed (%d)", ret);
-  return DISPLAY_STATE_SCREEN_OFF != platform_state;
+    return PlatformResult(ErrorCode::UNKNOWN_ERR, "Error while getting screen state.");
+  }
+
+  *state = (DISPLAY_STATE_SCREEN_OFF != platform_state);
+  return PlatformResult(ErrorCode::NO_ERROR);
 }
 
 PlatformResult PowerManager::SetScreenState(bool onoff) {
@@ -338,10 +343,17 @@ PlatformResult PowerManager::SetScreenState(bool onoff) {
   }
 
   int timeout = 100;
+  bool state = false;
   while (timeout--) {
-    if (IsScreenOn() == onoff) {
+    PlatformResult result = IsScreenOn(&state);
+    if (result.IsError()) {
+      return result;
+    }
+
+    if (state == onoff) {
       break;
     }
+
     struct timespec sleep_time = { 0, 100L * 1000L * 1000L };
     nanosleep(&sleep_time, nullptr);
   }
index c42b93eef323a4ecb7d386d9126c702fd19af7ba..56191ac522611ebe47e2b0e7118bf00c393a330c 100755 (executable)
@@ -54,7 +54,7 @@ class PowerManager {
   common::PlatformResult GetScreenBrightness(double* output);
   common::PlatformResult SetScreenBrightness(double brightness);
   common::PlatformResult RestoreScreenBrightness();
-  bool IsScreenOn();
+  common::PlatformResult IsScreenOn(bool* state);
   common::PlatformResult SetScreenState(bool onoff);
 
   static PowerManager* GetInstance();