Merge "Update WifiConfiguration in AccessPoint." into oc-dr1-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
c93f7b215b
@@ -1058,6 +1058,12 @@ public class AccessPoint implements Comparable<AccessPoint> {
|
||||
final int oldLevel = getLevel();
|
||||
if (info != null && isInfoForThisAccessPoint(config, info)) {
|
||||
updated = (mInfo == null);
|
||||
if (mConfig != config) {
|
||||
// We do not set updated = true as we do not want to increase the amount of sorting
|
||||
// and copying performed in WifiTracker at this time. If issues involving refresh
|
||||
// are still seen, we will investigate further.
|
||||
update(config); // Notifies the AccessPointListener of the change
|
||||
}
|
||||
if (mRssi != info.getRssi()) {
|
||||
mRssi = info.getRssi();
|
||||
updated = true;
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
<uses-permission android:name="android.permission.MANAGE_USERS" />
|
||||
<uses-permission android:name="android.permission.MANAGE_NETWORK_POLICY"/>
|
||||
<uses-permission android:name="android.permission.SET_TIME_ZONE" />
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
||||
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
|
||||
|
||||
|
||||
@@ -20,6 +20,8 @@ import static com.google.common.truth.Truth.assertWithMessage;
|
||||
|
||||
import static org.mockito.Mockito.any;
|
||||
import static org.mockito.Mockito.anyInt;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import android.content.Context;
|
||||
@@ -622,4 +624,36 @@ public class AccessPointTest {
|
||||
NetworkInfo newInfo = new NetworkInfo(networkInfo); // same values
|
||||
assertThat(ap.update(config, wifiInfo, newInfo)).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUpdateWithConfigChangeOnly_returnsFalseButInvokesListener() {
|
||||
int networkId = 123;
|
||||
int rssi = -55;
|
||||
WifiConfiguration config = new WifiConfiguration();
|
||||
config.networkId = networkId;
|
||||
config.numNoInternetAccessReports = 1;
|
||||
|
||||
WifiInfo wifiInfo = new WifiInfo();
|
||||
wifiInfo.setNetworkId(networkId);
|
||||
wifiInfo.setRssi(rssi);
|
||||
|
||||
NetworkInfo networkInfo =
|
||||
new NetworkInfo(ConnectivityManager.TYPE_WIFI, 0 /* subtype */, "WIFI", "");
|
||||
networkInfo.setDetailedState(NetworkInfo.DetailedState.CONNECTED, "", "");
|
||||
|
||||
AccessPoint ap = new TestAccessPointBuilder(mContext)
|
||||
.setNetworkInfo(networkInfo)
|
||||
.setNetworkId(networkId)
|
||||
.setRssi(rssi)
|
||||
.setWifiInfo(wifiInfo)
|
||||
.build();
|
||||
|
||||
AccessPoint.AccessPointListener mockListener = mock(AccessPoint.AccessPointListener.class);
|
||||
ap.setListener(mockListener);
|
||||
WifiConfiguration newConfig = new WifiConfiguration(config);
|
||||
config.validatedInternetAccess = true;
|
||||
|
||||
assertThat(ap.update(newConfig, wifiInfo, networkInfo)).isFalse();
|
||||
verify(mockListener).onAccessPointChanged(ap);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user