Merge changes from topic 'disabled-reason'
* changes: Fix failing WifiConfigManagerTest test. Add a disabled reason for recommendation providers
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
@@ -1272,6 +1295,7 @@ public class WifiConfiguration implements Parcelable {
|
||||
setConnectChoice(source.getConnectChoice());
|
||||
setConnectChoiceTimestamp(source.getConnectChoiceTimestamp());
|
||||
setHasEverConnected(source.getHasEverConnected());
|
||||
setNotRecommended(source.isNotRecommended());
|
||||
}
|
||||
|
||||
public void writeToParcel(Parcel dest) {
|
||||
@@ -1291,6 +1315,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 +1335,7 @@ public class WifiConfiguration implements Parcelable {
|
||||
setConnectChoiceTimestamp(INVALID_NETWORK_SELECTION_DISABLE_TIMESTAMP);
|
||||
}
|
||||
setHasEverConnected(in.readInt() != 0);
|
||||
setNotRecommended(in.readInt() != 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@ import static org.junit.Assert.assertArrayEquals;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
import android.os.Parcel;
|
||||
import android.net.wifi.WifiConfiguration.NetworkSelectionStatus;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
@@ -66,4 +67,35 @@ public class WifiConfigurationTest {
|
||||
|
||||
assertArrayEquals(bytes, rebytes);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testNetworkSelectionStatusCopy() {
|
||||
NetworkSelectionStatus networkSelectionStatus = new NetworkSelectionStatus();
|
||||
networkSelectionStatus.setNotRecommended(true);
|
||||
|
||||
NetworkSelectionStatus copy = new NetworkSelectionStatus();
|
||||
copy.copy(networkSelectionStatus);
|
||||
|
||||
assertEquals(networkSelectionStatus.isNotRecommended(), copy.isNotRecommended());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testNetworkSelectionStatusParcel() {
|
||||
NetworkSelectionStatus networkSelectionStatus = new NetworkSelectionStatus();
|
||||
networkSelectionStatus.setNotRecommended(true);
|
||||
|
||||
Parcel parcelW = Parcel.obtain();
|
||||
networkSelectionStatus.writeToParcel(parcelW);
|
||||
byte[] bytes = parcelW.marshall();
|
||||
parcelW.recycle();
|
||||
|
||||
Parcel parcelR = Parcel.obtain();
|
||||
parcelR.unmarshall(bytes, 0, bytes.length);
|
||||
parcelR.setDataPosition(0);
|
||||
|
||||
NetworkSelectionStatus copy = new NetworkSelectionStatus();
|
||||
copy.readFromParcel(parcelR);
|
||||
|
||||
assertEquals(networkSelectionStatus.isNotRecommended(), copy.isNotRecommended());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user