diff options
| -rw-r--r-- | packages/SettingsLib/res/values/strings.xml | 2 | ||||
| -rw-r--r-- | packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java | 2 | ||||
| -rw-r--r-- | wifi/java/android/net/wifi/WifiConfiguration.java | 25 |
3 files changed, 29 insertions, 0 deletions
diff --git a/packages/SettingsLib/res/values/strings.xml b/packages/SettingsLib/res/values/strings.xml index 3627c29e3cae..064059baa7d2 100644 --- a/packages/SettingsLib/res/values/strings.xml +++ b/packages/SettingsLib/res/values/strings.xml @@ -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 diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java b/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java index 2dbec5e23f59..6166cd80cef9 100644 --- a/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java +++ b/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java @@ -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. diff --git a/wifi/java/android/net/wifi/WifiConfiguration.java b/wifi/java/android/net/wifi/WifiConfiguration.java index 306f6f5e15a9..14deabec7467 100644 --- a/wifi/java/android/net/wifi/WifiConfiguration.java +++ b/wifi/java/android/net/wifi/WifiConfiguration.java @@ -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 */ @@ -969,6 +970,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); } } |