Modify svc power command so it pokes the wake lock when called. This will ensure screen is not asleep if stayon is requested.
diff --git a/cmds/svc/src/com/android/commands/svc/PowerCommand.java b/cmds/svc/src/com/android/commands/svc/PowerCommand.java
index 2b54f54..e021012 100644
--- a/cmds/svc/src/com/android/commands/svc/PowerCommand.java
+++ b/cmds/svc/src/com/android/commands/svc/PowerCommand.java
@@ -16,7 +16,10 @@
 
 package com.android.commands.svc;
 
+import android.os.Binder;
+import android.os.IBinder;
 import android.os.IPowerManager;
+import android.os.PowerManager;
 import android.os.ServiceManager;
 import android.os.RemoteException;
 import android.os.BatteryManager;
@@ -60,7 +63,10 @@
                     IPowerManager pm
                             = IPowerManager.Stub.asInterface(ServiceManager.getService(Context.POWER_SERVICE));
                     try {
+                        IBinder lock = new Binder();
+                        pm.acquireWakeLock(PowerManager.FULL_WAKE_LOCK, lock, "svc power");
                         pm.setStayOnSetting(val);
+                        pm.releaseWakeLock(lock);
                     }
                     catch (RemoteException e) {
                         System.err.println("Faild to set setting: " + e);