summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--wifi/java/android/net/wifi/WifiStateTracker.java9
1 files changed, 6 insertions, 3 deletions
diff --git a/wifi/java/android/net/wifi/WifiStateTracker.java b/wifi/java/android/net/wifi/WifiStateTracker.java
index 7e95f79..f84bccc 100644
--- a/wifi/java/android/net/wifi/WifiStateTracker.java
+++ b/wifi/java/android/net/wifi/WifiStateTracker.java
@@ -1333,9 +1333,12 @@ public class WifiStateTracker extends NetworkStateTracker {
*/
private synchronized void requestPolledInfo(WifiInfo info, boolean polling)
{
- int newRssi = (polling ? WifiNative.getRssiApproxCommand():
- WifiNative.getRssiCommand());
- if (newRssi != -1 && -200 < newRssi && newRssi < 100) { // screen out invalid values
+ int newRssi = WifiNative.getRssiCommand();
+ if (newRssi != -1 && -200 < newRssi && newRssi < 256) { // screen out invalid values
+ /* some implementations avoid negative values by adding 256
+ * so we need to adjust for that here.
+ */
+ if (newRssi > 0) newRssi -= 256;
info.setRssi(newRssi);
/*
* Rather then sending the raw RSSI out every time it