diff options
| author | 2014-12-01 18:38:19 +0000 | |
|---|---|---|
| committer | 2014-12-01 18:38:19 +0000 | |
| commit | c0c34b428f6d3de635bc832bbebdb7b9cb500ccd (patch) | |
| tree | eb5a6e822b073e0c5010fc033edd3e7eb83de556 | |
| parent | 0c81034cac4efe7d538ff303cc9f2badbb22b8d8 (diff) | |
| parent | 03d705abd60dcd918ae7dcce4c9c48299c1c4995 (diff) | |
am 03d705ab: Merge "SysUI: QS Wifi get connected wifi rssi from NC" into lmp-mr1-dev
* commit '03d705abd60dcd918ae7dcce4c9c48299c1c4995':
SysUI: QS Wifi get connected wifi rssi from NC
2 files changed, 18 insertions, 3 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/AccessPointControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/AccessPointControllerImpl.java index f9a68d0b21f6..479c982eac93 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/AccessPointControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/AccessPointControllerImpl.java @@ -67,6 +67,7 @@ public class AccessPointControllerImpl implements NetworkController.AccessPointC private final UserManager mUserManager; private final Receiver mReceiver = new Receiver(); + private NetworkControllerImpl mNetworkController; private boolean mScanning; private int mCurrentUser; @@ -77,6 +78,10 @@ public class AccessPointControllerImpl implements NetworkController.AccessPointC mCurrentUser = ActivityManager.getCurrentUser(); } + void setNetworkController(NetworkControllerImpl networkController) { + mNetworkController = networkController; + } + public boolean canConfigWifi() { return !mUserManager.hasUserRestriction(UserManager.DISALLOW_CONFIG_WIFI, new UserHandle(mCurrentUser)); @@ -181,7 +186,6 @@ public class AccessPointControllerImpl implements NetworkController.AccessPointC ap.isConfigured = config != null; ap.networkId = config != null ? config.networkId : AccessPoint.NO_NETWORK; ap.ssid = ssid; - ap.iconId = ICONS[level]; // Connected if either: // -The network ID in the active WifiInfo matches this network's ID. // -The network is ephemeral (no configuration) but the SSID matches. @@ -189,7 +193,13 @@ public class AccessPointControllerImpl implements NetworkController.AccessPointC && ap.networkId == connectedNetworkId) || (ap.networkId == WifiConfiguration.INVALID_NETWORK_ID && wifiInfo != null && ap.ssid.equals(trimDoubleQuotes(wifiInfo.getSSID()))); - ap.level = level; + if (ap.isConnected && mNetworkController != null) { + // Ensure we have the connected network's RSSI. + ap.level = mNetworkController.getConnectedWifiLevel(); + } else { + ap.level = level; + } + ap.iconId = ICONS[ap.level]; // Based on Settings AccessPoint#getSecurity, keep up to date // with better methods of determining no security or not. ap.hasSecurity = scanResult.capabilities.contains("WEP") diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java index 5a97c75e313b..f3a04b6ab235 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java @@ -82,7 +82,7 @@ public class NetworkControllerImpl extends BroadcastReceiver final WifiSignalController mWifiSignalController; @VisibleForTesting final MobileSignalController mMobileSignalController; - private final AccessPointController mAccessPoints; + private final AccessPointControllerImpl mAccessPoints; private final MobileDataControllerImpl mMobileDataController; // bluetooth @@ -154,6 +154,7 @@ public class NetworkControllerImpl extends BroadcastReceiver // AIRPLANE_MODE_CHANGED is sent at boot; we've probably already missed it updateAirplaneMode(true); + mAccessPoints.setNetworkController(this); } private void registerListeners() { @@ -178,6 +179,10 @@ public class NetworkControllerImpl extends BroadcastReceiver mContext.unregisterReceiver(this); } + public int getConnectedWifiLevel() { + return mWifiSignalController.getState().level; + } + @Override public AccessPointController getAccessPointController() { return mAccessPoints; |