diff options
| author | 2013-09-11 15:21:10 -0700 | |
|---|---|---|
| committer | 2013-09-12 14:23:51 -0700 | |
| commit | dee971b98c3b084af54ae2f42b6fa3d4734d58d9 (patch) | |
| tree | 8372ea3413ceb1bade0bcd74771bd3ebb9809ee9 | |
| parent | 8f435baca8b5285a6b4658fc9563f5fcbbdafc6e (diff) | |
Fix Batched Scan Results to give Timestamp in uS
ScanResult should have timestamp in uS but we are getting age in ms
from the wifi driver - multiply to have the same units though not
the implied precision.
bug: 10410465
Change-Id: Idf5c5996d69a4793dae3d74edb790d40b9bd3298
| -rw-r--r-- | wifi/java/android/net/wifi/WifiStateMachine.java | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/wifi/java/android/net/wifi/WifiStateMachine.java b/wifi/java/android/net/wifi/WifiStateMachine.java index 0f1aa71e0d69..ad89716d8f84 100644 --- a/wifi/java/android/net/wifi/WifiStateMachine.java +++ b/wifi/java/android/net/wifi/WifiStateMachine.java @@ -65,6 +65,7 @@ import android.os.PowerManager; import android.os.Process; import android.os.RemoteException; import android.os.ServiceManager; +import android.os.SystemClock; import android.os.SystemProperties; import android.os.UserHandle; import android.os.WorkSource; @@ -1016,7 +1017,7 @@ public class WifiStateMachine extends StateMachine { int dist, distSd; long tsf = 0; dist = distSd = ScanResult.UNSPECIFIED; - long now = System.currentTimeMillis(); + long now = SystemClock.elapsedRealtime(); while (true) { while (n < splitData.length) { @@ -1064,6 +1065,7 @@ public class WifiStateMachine extends StateMachine { } else if (splitData[n].startsWith(AGE)) { try { tsf = now - Long.parseLong(splitData[n].substring(AGE.length())); + tsf *= 1000; // convert mS -> uS } catch (NumberFormatException e) { loge("Invalid timestamp: " + splitData[n]); tsf = 0; |