PowerManager: Require proximity sensor value be less than Sensor.getMaximumRange()

This allows us to support binary proximity sensors that only return 0.0 and 1.0

Change-Id: Ifaf3a4e6fc720cb246ac3558e3e733b4b612c95b
Signed-off-by: Mike Lockwood <lockwood@android.com>
diff --git a/services/java/com/android/server/PowerManagerService.java b/services/java/com/android/server/PowerManagerService.java
index 9d2fc27..b2e3a8c 100644
--- a/services/java/com/android/server/PowerManagerService.java
+++ b/services/java/com/android/server/PowerManagerService.java
@@ -2131,7 +2131,9 @@
         long milliseconds = event.timestamp / 1000000;
         synchronized (mLocks) {
             float distance = event.values[0];
-            if (distance >= 0.0 && distance < PROXIMITY_THRESHOLD) {
+            // compare against getMaximumRange to support sensors that only return 0 or 1
+            if (distance >= 0.0 && distance < PROXIMITY_THRESHOLD &&
+                    distance < mProximitySensor.getMaximumRange()) {
                 if (mSpew) {
                     Log.d(TAG, "onSensorChanged: proximity active, distance: " + distance);
                 }