Merge change Ie994c0e8 into eclair

* changes:
  Update CdmaSmsTest unit test.
diff --git a/api/current.xml b/api/current.xml
index 2cda5bd..50b45d6 100644
--- a/api/current.xml
+++ b/api/current.xml
@@ -105888,6 +105888,17 @@
 <parameter name="time" type="long">
 </parameter>
 </method>
+<method name="isScreenOn"
+ return="boolean"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</method>
 <method name="newWakeLock"
  return="android.os.PowerManager.WakeLock"
  abstract="false"
diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java
index 5f2de0f..daf4090 100644
--- a/core/java/android/app/ActivityThread.java
+++ b/core/java/android/app/ActivityThread.java
@@ -1447,7 +1447,6 @@
                 Bundle instrumentationArgs, IInstrumentationWatcher instrumentationWatcher,
                 int debugMode, boolean isRestrictedBackupMode, Configuration config,
                 Map<String, IBinder> services) {
-            Process.setArgV0(processName);
 
             if (services != null) {
                 // Setup the service cache in the ServiceManager
@@ -3818,6 +3817,7 @@
         //Process.setUid(data.appInfo.uid);
 
         // send up app name; do this *before* waiting for debugger
+        Process.setArgV0(data.processName);
         android.ddm.DdmHandleAppName.setAppName(data.processName);
 
         /*
diff --git a/core/java/android/os/IPowerManager.aidl b/core/java/android/os/IPowerManager.aidl
index 5ac543d..bcf769d 100644
--- a/core/java/android/os/IPowerManager.aidl
+++ b/core/java/android/os/IPowerManager.aidl
@@ -31,6 +31,7 @@
     long getScreenOnTime();
     void preventScreenOn(boolean prevent);
     void setScreenBrightnessOverride(int brightness);
+    boolean isScreenOn();
 
     // sets the brightness of the backlights (screen, keyboard, button) 0-255
     void setBacklightBrightness(int brightness);
diff --git a/core/java/android/os/PowerManager.java b/core/java/android/os/PowerManager.java
index 11c96d2..2efc230 100644
--- a/core/java/android/os/PowerManager.java
+++ b/core/java/android/os/PowerManager.java
@@ -420,6 +420,26 @@
         }
     }
 
+    /**
+      * Returns whether the screen is currently on. The screen could be bright
+      * or dim.
+      *
+      * {@samplecode
+      * PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
+      * boolean isScreenOn = pm.isScreenOn();
+      * }
+      *
+      * @return whether the screen is on (bright or dim).
+      */
+    public boolean isScreenOn()
+    {
+        try {
+            return mService.isScreenOn();
+        } catch (RemoteException e) {
+            return false;
+        }
+    }
+
     private PowerManager()
     {
     }
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java
index fe91229..06c70ca 100644
--- a/core/java/android/webkit/WebView.java
+++ b/core/java/android/webkit/WebView.java
@@ -1713,6 +1713,7 @@
      *            as the data member with "url" as key. The result can be null.
      */
     public void requestImageRef(Message msg) {
+        if (0 == mNativeClass) return; // client isn't initialized
         int contentX = viewToContentX((int) mLastTouchX + mScrollX);
         int contentY = viewToContentY((int) mLastTouchY + mScrollY);
         String ref = nativeImageURI(contentX, contentY);
@@ -2331,6 +2332,7 @@
      * @param forward Direction to search.
      */
     public void findNext(boolean forward) {
+        if (0 == mNativeClass) return; // client isn't initialized
         nativeFindNext(forward);
     }
 
@@ -2341,6 +2343,7 @@
      *              that were found.
      */
     public int findAll(String find) {
+        if (0 == mNativeClass) return 0; // client isn't initialized
         if (mFindIsUp == false) {
             recordNewContentSize(mContentWidth, mContentHeight + mFindHeight,
                     false);
@@ -3431,6 +3434,7 @@
      * @hide
      */
     public void emulateShiftHeld() {
+        if (0 == mNativeClass) return; // client isn't initialized
         mExtendSelection = false;
         mShiftIsPressed = true;
         nativeHideCursor();
diff --git a/libs/binder/IPCThreadState.cpp b/libs/binder/IPCThreadState.cpp
index d474571..e04b2bf 100644
--- a/libs/binder/IPCThreadState.cpp
+++ b/libs/binder/IPCThreadState.cpp
@@ -424,11 +424,6 @@
 
 
             result = executeCommand(cmd);
-
-            // Make sure that after executing the command that we put the thread back into the
-            // default cgroup. This is just a failsafe incase the thread's priority or cgroup was 
-            // not properly restored.
-            set_sched_policy(getpid(), SP_FOREGROUND);
         }
         
         // Let this thread exit the thread pool if it is no longer
diff --git a/services/java/com/android/server/PowerManagerService.java b/services/java/com/android/server/PowerManagerService.java
index 611a86e..2e1cf56 100644
--- a/services/java/com/android/server/PowerManagerService.java
+++ b/services/java/com/android/server/PowerManagerService.java
@@ -91,7 +91,7 @@
     private static final int LONG_DIM_TIME = 7000;              // t+N-5 sec
 
     // How long to wait to debounce light sensor changes.
-    private static final int LIGHT_SENSOR_DELAY = 1000;
+    private static final int LIGHT_SENSOR_DELAY = 2000;
 
     // For debouncing the proximity sensor.
     private static final int PROXIMITY_SENSOR_DELAY = 1000;
@@ -1780,13 +1780,13 @@
         }
     }
 
-    boolean screenIsOn() {
+    public boolean isScreenOn() {
         synchronized (mLocks) {
             return (mPowerState & SCREEN_ON_BIT) != 0;
         }
     }
 
-    boolean screenIsBright() {
+    boolean isScreenBright() {
         synchronized (mLocks) {
             return (mPowerState & SCREEN_BRIGHT) == SCREEN_BRIGHT;
         }
@@ -2089,7 +2089,7 @@
         boolean enabled = (mode == SCREEN_BRIGHTNESS_MODE_AUTOMATIC);
         if (mUseSoftwareAutoBrightness && mAutoBrightessEnabled != enabled) {
             mAutoBrightessEnabled = enabled;
-            if (screenIsOn()) {
+            if (isScreenOn()) {
                 // force recompute of backlight values
                 if (mLightSensorValue >= 0) {
                     int value = (int)mLightSensorValue;
diff --git a/services/java/com/android/server/WindowManagerService.java b/services/java/com/android/server/WindowManagerService.java
index d3645c3..9acc97a 100644
--- a/services/java/com/android/server/WindowManagerService.java
+++ b/services/java/com/android/server/WindowManagerService.java
@@ -6095,8 +6095,8 @@
                     }
                     // XXX end hack
 
-                    boolean screenIsOff = !mPowerManager.screenIsOn();
-                    boolean screenIsDim = !mPowerManager.screenIsBright();
+                    boolean screenIsOff = !mPowerManager.isScreenOn();
+                    boolean screenIsDim = !mPowerManager.isScreenBright();
                     int actions = mPolicy.interceptKeyTq(event, !screenIsOff);
 
                     if ((actions & WindowManagerPolicy.ACTION_GO_TO_SLEEP) != 0) {
@@ -6126,8 +6126,8 @@
                 }
 
                 case RawInputEvent.EV_REL: {
-                    boolean screenIsOff = !mPowerManager.screenIsOn();
-                    boolean screenIsDim = !mPowerManager.screenIsBright();
+                    boolean screenIsOff = !mPowerManager.isScreenOn();
+                    boolean screenIsDim = !mPowerManager.isScreenBright();
                     if (screenIsOff) {
                         if (!mPolicy.isWakeRelMovementTq(event.deviceId,
                                 device.classes, event)) {
@@ -6143,8 +6143,8 @@
                 }
 
                 case RawInputEvent.EV_ABS: {
-                    boolean screenIsOff = !mPowerManager.screenIsOn();
-                    boolean screenIsDim = !mPowerManager.screenIsBright();
+                    boolean screenIsOff = !mPowerManager.isScreenOn();
+                    boolean screenIsDim = !mPowerManager.isScreenBright();
                     if (screenIsOff) {
                         if (!mPolicy.isWakeAbsMovementTq(event.deviceId,
                                 device.classes, event)) {