Merge changes I1eaab5ea,I42928da8
* changes: DO NOT MERGE Captive portal systel log improvements DO NOT MERGE Fix flaky IpPrefixTest.
This commit is contained in:
@@ -18,14 +18,14 @@ package android.net;
|
||||
|
||||
import android.net.IpPrefix;
|
||||
import android.os.Parcel;
|
||||
import static android.test.MoreAsserts.assertNotEqual;
|
||||
import android.test.suitebuilder.annotation.SmallTest;
|
||||
|
||||
import static org.junit.Assert.assertArrayEquals;
|
||||
import java.net.InetAddress;
|
||||
import java.util.Random;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import static android.test.MoreAsserts.assertNotEqual;
|
||||
import static org.junit.Assert.assertArrayEquals;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
public class IpPrefixTest extends TestCase {
|
||||
|
||||
@@ -242,25 +242,42 @@ public class IpPrefixTest extends TestCase {
|
||||
|
||||
@SmallTest
|
||||
public void testHashCode() {
|
||||
IpPrefix p;
|
||||
int oldCode = -1;
|
||||
IpPrefix p = new IpPrefix(new byte[4], 0);
|
||||
Random random = new Random();
|
||||
for (int i = 0; i < 100; i++) {
|
||||
final IpPrefix oldP = p;
|
||||
if (random.nextBoolean()) {
|
||||
// IPv4.
|
||||
byte[] b = new byte[4];
|
||||
random.nextBytes(b);
|
||||
p = new IpPrefix(b, random.nextInt(33));
|
||||
assertNotEqual(oldCode, p.hashCode());
|
||||
oldCode = p.hashCode();
|
||||
} else {
|
||||
// IPv6.
|
||||
byte[] b = new byte[16];
|
||||
random.nextBytes(b);
|
||||
p = new IpPrefix(b, random.nextInt(129));
|
||||
assertNotEqual(oldCode, p.hashCode());
|
||||
oldCode = p.hashCode();
|
||||
}
|
||||
if (p.equals(oldP)) {
|
||||
assertEquals(p.hashCode(), oldP.hashCode());
|
||||
}
|
||||
if (p.hashCode() != oldP.hashCode()) {
|
||||
assertNotEqual(p, oldP);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@SmallTest
|
||||
public void testHashCodeIsNotConstant() {
|
||||
IpPrefix[] prefixes = {
|
||||
new IpPrefix("2001:db8:f00::ace:d00d/127"),
|
||||
new IpPrefix("192.0.2.0/23"),
|
||||
new IpPrefix("::/0"),
|
||||
new IpPrefix("0.0.0.0/0"),
|
||||
};
|
||||
for (int i = 0; i < prefixes.length; i++) {
|
||||
for (int j = i + 1; j < prefixes.length; j++) {
|
||||
assertNotEqual(prefixes[i].hashCode(), prefixes[j].hashCode());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -80,7 +80,8 @@ import java.util.concurrent.TimeUnit;
|
||||
*/
|
||||
public class NetworkMonitor extends StateMachine {
|
||||
private static final String TAG = NetworkMonitor.class.getSimpleName();
|
||||
private static final boolean DBG = false;
|
||||
private static final boolean DBG = true;
|
||||
private static final boolean VDBG = false;
|
||||
|
||||
// Default configuration values for captive portal detection probes.
|
||||
// TODO: append a random length parameter to the default HTTPS url.
|
||||
@@ -954,7 +955,7 @@ public class NetworkMonitor extends StateMachine {
|
||||
latencyBroadcast.putExtra(EXTRA_SSID, currentWifiInfo.getSSID());
|
||||
latencyBroadcast.putExtra(EXTRA_BSSID, currentWifiInfo.getBSSID());
|
||||
} else {
|
||||
if (DBG) logw("network info is TYPE_WIFI but no ConnectionInfo found");
|
||||
if (VDBG) logw("network info is TYPE_WIFI but no ConnectionInfo found");
|
||||
return;
|
||||
}
|
||||
break;
|
||||
@@ -967,8 +968,8 @@ public class NetworkMonitor extends StateMachine {
|
||||
if (cellInfo.isRegistered()) {
|
||||
numRegisteredCellInfo++;
|
||||
if (numRegisteredCellInfo > 1) {
|
||||
log("more than one registered CellInfo. Can't " +
|
||||
"tell which is active. Bailing.");
|
||||
if (VDBG) logw("more than one registered CellInfo." +
|
||||
" Can't tell which is active. Bailing.");
|
||||
return;
|
||||
}
|
||||
if (cellInfo instanceof CellInfoCdma) {
|
||||
@@ -984,7 +985,7 @@ public class NetworkMonitor extends StateMachine {
|
||||
CellIdentityWcdma cellId = ((CellInfoWcdma) cellInfo).getCellIdentity();
|
||||
latencyBroadcast.putExtra(EXTRA_CELL_ID, cellId);
|
||||
} else {
|
||||
if (DBG) logw("Registered cellinfo is unrecognized");
|
||||
if (VDBG) logw("Registered cellinfo is unrecognized");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -114,7 +114,7 @@ public class NetworkNotificationManager {
|
||||
}
|
||||
|
||||
if (DBG) {
|
||||
Slog.d(TAG, "showNotification " + notifyType
|
||||
Slog.d(TAG, "showNotification id=" + id + " " + notifyType
|
||||
+ " transportType=" + getTransportName(transportType)
|
||||
+ " extraInfo=" + extraInfo + " highPriority=" + highPriority);
|
||||
}
|
||||
@@ -187,7 +187,7 @@ public class NetworkNotificationManager {
|
||||
try {
|
||||
mNotificationManager.notifyAsUser(NOTIFICATION_ID, id, notification, UserHandle.ALL);
|
||||
} catch (NullPointerException npe) {
|
||||
Slog.d(TAG, "setNotificationVisible: visible notificationManager npe=" + npe);
|
||||
Slog.d(TAG, "setNotificationVisible: visible notificationManager error", npe);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -198,7 +198,7 @@ public class NetworkNotificationManager {
|
||||
try {
|
||||
mNotificationManager.cancelAsUser(NOTIFICATION_ID, id, UserHandle.ALL);
|
||||
} catch (NullPointerException npe) {
|
||||
Slog.d(TAG, "setNotificationVisible: cancel notificationManager npe=" + npe);
|
||||
Slog.d(TAG, "setNotificationVisible: cancel notificationManager error", npe);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user