Add a disabled reason for recommendation providers

Display a message indicating that a saved networks has not been
automatically connecting due to low quality if
WifiConfiguration#mNotRecommended is set.

Bug: 34745259
Bug: 35671673
Test: m RunSettingsLibRoboTests && runtest frameworks-wifi
Change-Id: I275e2711da68715fb6d92bf954e9f58a3386b1f4
Merged-In: I275e2711da68715fb6d92bf954e9f58a3386b1f4
This commit is contained in:
Amin Shaikh
2017-02-02 17:50:12 -08:00
parent 27ad05169e
commit a70bc57ef9
3 changed files with 29 additions and 0 deletions

View File

@@ -57,6 +57,8 @@
<string name="wifi_disabled_generic">Disabled</string>
<!-- Status for networked disabled from a DNS or DHCP failure -->
<string name="wifi_disabled_network_failure">IP Configuration Failure</string>
<!-- Status for networks disabled by the network recommendation provider -->
<string name="wifi_disabled_by_recommendation_provider">Not connected due to low quality network</string>
<!-- Status for networked disabled from a wifi association failure -->
<string name="wifi_disabled_wifi_failure">WiFi Connection Failure</string>
<!-- Status for networks disabled from authentication failure (wrong password

View File

@@ -446,6 +446,8 @@ public class AccessPoint implements Comparable<AccessPoint> {
summary.append(mContext.getString(R.string.wifi_disabled_generic));
break;
}
} else if (config != null && config.getNetworkSelectionStatus().isNotRecommended()) {
summary.append(mContext.getString(R.string.wifi_disabled_by_recommendation_provider));
} else if (mRssi == Integer.MAX_VALUE) { // Wifi out of range
summary.append(mContext.getString(R.string.wifi_not_in_range));
} else { // In range, not disabled.

View File

@@ -845,6 +845,7 @@ public class WifiConfiguration implements Parcelable {
* This network is disabled because EAP-TLS failure
*/
public static final int DISABLED_TLS_VERSION_MISMATCH = 7;
// Values above are for temporary disablement; values below are for permanent disablement.
/**
* This network is disabled due to absence of user credentials
*/
@@ -968,6 +969,28 @@ public class WifiConfiguration implements Parcelable {
*/
private boolean mHasEverConnected;
/**
* Boolean indicating whether {@link com.android.server.wifi.RecommendedNetworkEvaluator}
* chose not to connect to this network in the last qualified network selection process.
*/
private boolean mNotRecommended;
/**
* Set whether {@link com.android.server.wifi.RecommendedNetworkEvaluator} does not
* recommend connecting to this network.
*/
public void setNotRecommended(boolean notRecommended) {
mNotRecommended = notRecommended;
}
/**
* Returns whether {@link com.android.server.wifi.RecommendedNetworkEvaluator} does not
* recommend connecting to this network.
*/
public boolean isNotRecommended() {
return mNotRecommended;
}
/**
* set whether this network is visible in latest Qualified Network Selection
* @param seen value set to candidate
@@ -1291,6 +1314,7 @@ public class WifiConfiguration implements Parcelable {
dest.writeInt(CONNECT_CHOICE_NOT_EXISTS);
}
dest.writeInt(getHasEverConnected() ? 1 : 0);
dest.writeInt(isNotRecommended() ? 1 : 0);
}
public void readFromParcel(Parcel in) {
@@ -1310,6 +1334,7 @@ public class WifiConfiguration implements Parcelable {
setConnectChoiceTimestamp(INVALID_NETWORK_SELECTION_DISABLE_TIMESTAMP);
}
setHasEverConnected(in.readInt() != 0);
setNotRecommended(in.readInt() != 0);
}
}