OSDN Git Service

Fix auto-brightness adjustment sentinel value.
authorJeff Brown <jeffbrown@google.com>
Wed, 22 Aug 2012 20:22:02 +0000 (13:22 -0700)
committerJeff Brown <jeffbrown@google.com>
Wed, 22 Aug 2012 20:22:02 +0000 (13:22 -0700)
Change-Id: I1b0da4566eb350333d3c3b09a96266627260baa3

services/java/com/android/server/power/PowerManagerService.java

index 1ba1022..d3a3ffb 100644 (file)
@@ -405,7 +405,7 @@ public final class PowerManagerService extends IPowerManager.Stub
         mScreenAutoBrightnessAdjustmentSetting = Settings.System.getFloat(resolver,
                 Settings.System.SCREEN_AUTO_BRIGHTNESS_ADJ, 0.0f);
         if (oldScreenAutoBrightnessAdjustmentSetting != mScreenAutoBrightnessAdjustmentSetting) {
-            mTemporaryScreenAutoBrightnessAdjustmentSettingOverride = -1;
+            mTemporaryScreenAutoBrightnessAdjustmentSettingOverride = Float.NaN;
         }
 
         mScreenBrightnessModeSetting = Settings.System.getInt(resolver,
@@ -1347,7 +1347,8 @@ public final class PowerManagerService extends IPowerManager.Stub
     }
 
     private static boolean isValidAutoBrightnessAdjustment(float value) {
-        return !Float.isNaN(value);
+        // Handles NaN by always returning false.
+        return value >= -1.0f && value <= 1.0f;
     }
 
     private int getDesiredScreenPowerState() {