From ea933cb3fddbf5971dd4c62090edabbed295c3a7 Mon Sep 17 00:00:00 2001 From: Irfan Sheriff Date: Fri, 9 Dec 2011 10:04:30 -0800 Subject: Change RSSI notification levels to 5 in framework At some point the system UI switched to using 5 rssi levels while the framework only broadcasts a change for 4 levels. Hence RSSI change can be slow to be displayed on the UI, fix this Bug: 5732700 Change-Id: I21700f96ba7a8dd678fb2ccfff8ef59f9b696666 --- wifi/java/android/net/wifi/WifiManager.java | 7 +++++++ wifi/java/android/net/wifi/WifiStateMachine.java | 7 ++----- 2 files changed, 9 insertions(+), 5 deletions(-) (limited to 'wifi/java/android/net') diff --git a/wifi/java/android/net/wifi/WifiManager.java b/wifi/java/android/net/wifi/WifiManager.java index 40ac2a0..1a0e0da 100644 --- a/wifi/java/android/net/wifi/WifiManager.java +++ b/wifi/java/android/net/wifi/WifiManager.java @@ -413,6 +413,13 @@ public class WifiManager { private static final int MAX_RSSI = -55; /** + * Number of RSSI levels used in the framework to initiate + * {@link #RSSI_CHANGED_ACTION} broadcast + * @hide + */ + public static final int RSSI_LEVELS = 5; + + /** * Auto settings in the driver. The driver could choose to operate on both * 2.4 GHz and 5 GHz or make a dynamic decision on selecting the band. * @hide diff --git a/wifi/java/android/net/wifi/WifiStateMachine.java b/wifi/java/android/net/wifi/WifiStateMachine.java index aadcaad..23b726e 100644 --- a/wifi/java/android/net/wifi/WifiStateMachine.java +++ b/wifi/java/android/net/wifi/WifiStateMachine.java @@ -1423,14 +1423,11 @@ public class WifiStateMachine extends StateMachine { * be displayed in the status bar, and only send the * broadcast if that much more coarse-grained number * changes. This cuts down greatly on the number of - * broadcasts, at the cost of not mWifiInforming others + * broadcasts, at the cost of not informing others * interested in RSSI of all the changes in signal * level. */ - // TODO: The second arg to the call below needs to be a symbol somewhere, but - // it's actually the size of an array of icons that's private - // to StatusBar Policy. - int newSignalLevel = WifiManager.calculateSignalLevel(newRssi, 4); + int newSignalLevel = WifiManager.calculateSignalLevel(newRssi, WifiManager.RSSI_LEVELS); if (newSignalLevel != mLastSignalLevel) { sendRssiChangeBroadcast(newRssi); } -- cgit v1.1