Merge "Fix WiFi + "x" stil visible" into rvc-d1-dev am: a270a22a23

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12353922

Change-Id: I548a9ca1f5f2d9f9970c1751a9aebe64eb00f3b1
This commit is contained in:
Etan Cohen
2020-08-14 18:35:57 +00:00
committed by Automerger Merge Worker
2 changed files with 16 additions and 5 deletions

View File

@@ -189,10 +189,12 @@ public class WifiStatusTracker {
} }
} }
updateStatusLabel(); updateStatusLabel();
mCallback.run();
} else if (action.equals(WifiManager.RSSI_CHANGED_ACTION)) { } else if (action.equals(WifiManager.RSSI_CHANGED_ACTION)) {
// Default to -200 as its below WifiManager.MIN_RSSI. // Default to -200 as its below WifiManager.MIN_RSSI.
updateRssi(intent.getIntExtra(WifiManager.EXTRA_NEW_RSSI, -200)); updateRssi(intent.getIntExtra(WifiManager.EXTRA_NEW_RSSI, -200));
updateStatusLabel(); updateStatusLabel();
mCallback.run();
} }
} }
@@ -215,13 +217,15 @@ public class WifiStatusTracker {
private void updateStatusLabel() { private void updateStatusLabel() {
NetworkCapabilities networkCapabilities; NetworkCapabilities networkCapabilities;
final Network currentWifiNetwork = mWifiManager.getCurrentNetwork(); isDefaultNetwork = false;
if (currentWifiNetwork != null && currentWifiNetwork.equals(mDefaultNetwork)) { if (mDefaultNetworkCapabilities != null) {
isDefaultNetwork = mDefaultNetworkCapabilities.hasTransport(
NetworkCapabilities.TRANSPORT_WIFI);
}
if (isDefaultNetwork) {
// Wifi is connected and the default network. // Wifi is connected and the default network.
isDefaultNetwork = true;
networkCapabilities = mDefaultNetworkCapabilities; networkCapabilities = mDefaultNetworkCapabilities;
} else { } else {
isDefaultNetwork = false;
networkCapabilities = mConnectivityManager.getNetworkCapabilities( networkCapabilities = mConnectivityManager.getNetworkCapabilities(
mWifiManager.getCurrentNetwork()); mWifiManager.getCurrentNetwork());
} }

View File

@@ -84,7 +84,7 @@ public class WifiSignalController extends
R.bool.config_showWifiIndicatorWhenEnabled); R.bool.config_showWifiIndicatorWhenEnabled);
boolean wifiVisible = mCurrentState.enabled && ( boolean wifiVisible = mCurrentState.enabled && (
(mCurrentState.connected && mCurrentState.inetCondition == 1) (mCurrentState.connected && mCurrentState.inetCondition == 1)
|| !mHasMobileDataFeature || mWifiTracker.isDefaultNetwork || !mHasMobileDataFeature || mCurrentState.isDefault
|| visibleWhenEnabled); || visibleWhenEnabled);
String wifiDesc = mCurrentState.connected ? mCurrentState.ssid : null; String wifiDesc = mCurrentState.connected ? mCurrentState.ssid : null;
boolean ssidPresent = wifiVisible && mCurrentState.ssid != null; boolean ssidPresent = wifiVisible && mCurrentState.ssid != null;
@@ -107,6 +107,7 @@ public class WifiSignalController extends
public void fetchInitialState() { public void fetchInitialState() {
mWifiTracker.fetchInitialState(); mWifiTracker.fetchInitialState();
mCurrentState.enabled = mWifiTracker.enabled; mCurrentState.enabled = mWifiTracker.enabled;
mCurrentState.isDefault = mWifiTracker.isDefaultNetwork;
mCurrentState.connected = mWifiTracker.connected; mCurrentState.connected = mWifiTracker.connected;
mCurrentState.ssid = mWifiTracker.ssid; mCurrentState.ssid = mWifiTracker.ssid;
mCurrentState.rssi = mWifiTracker.rssi; mCurrentState.rssi = mWifiTracker.rssi;
@@ -121,6 +122,7 @@ public class WifiSignalController extends
public void handleBroadcast(Intent intent) { public void handleBroadcast(Intent intent) {
mWifiTracker.handleBroadcast(intent); mWifiTracker.handleBroadcast(intent);
mCurrentState.enabled = mWifiTracker.enabled; mCurrentState.enabled = mWifiTracker.enabled;
mCurrentState.isDefault = mWifiTracker.isDefaultNetwork;
mCurrentState.connected = mWifiTracker.connected; mCurrentState.connected = mWifiTracker.connected;
mCurrentState.ssid = mWifiTracker.ssid; mCurrentState.ssid = mWifiTracker.ssid;
mCurrentState.rssi = mWifiTracker.rssi; mCurrentState.rssi = mWifiTracker.rssi;
@@ -131,6 +133,7 @@ public class WifiSignalController extends
private void handleStatusUpdated() { private void handleStatusUpdated() {
mCurrentState.statusLabel = mWifiTracker.statusLabel; mCurrentState.statusLabel = mWifiTracker.statusLabel;
mCurrentState.isDefault = mWifiTracker.isDefaultNetwork;
notifyListenersIfNecessary(); notifyListenersIfNecessary();
} }
@@ -156,6 +159,7 @@ public class WifiSignalController extends
static class WifiState extends SignalController.State { static class WifiState extends SignalController.State {
String ssid; String ssid;
boolean isTransient; boolean isTransient;
boolean isDefault;
String statusLabel; String statusLabel;
@Override @Override
@@ -164,6 +168,7 @@ public class WifiSignalController extends
WifiState state = (WifiState) s; WifiState state = (WifiState) s;
ssid = state.ssid; ssid = state.ssid;
isTransient = state.isTransient; isTransient = state.isTransient;
isDefault = state.isDefault;
statusLabel = state.statusLabel; statusLabel = state.statusLabel;
} }
@@ -172,6 +177,7 @@ public class WifiSignalController extends
super.toString(builder); super.toString(builder);
builder.append(",ssid=").append(ssid) builder.append(",ssid=").append(ssid)
.append(",isTransient=").append(isTransient) .append(",isTransient=").append(isTransient)
.append(",isDefault=").append(isDefault)
.append(",statusLabel=").append(statusLabel); .append(",statusLabel=").append(statusLabel);
} }
@@ -183,6 +189,7 @@ public class WifiSignalController extends
WifiState other = (WifiState) o; WifiState other = (WifiState) o;
return Objects.equals(other.ssid, ssid) return Objects.equals(other.ssid, ssid)
&& other.isTransient == isTransient && other.isTransient == isTransient
&& other.isDefault == isDefault
&& TextUtils.equals(other.statusLabel, statusLabel); && TextUtils.equals(other.statusLabel, statusLabel);
} }
} }