Loading core/java/android/net/LinkProperties.java +6 −2 Original line number Diff line number Diff line Loading @@ -119,8 +119,12 @@ public final class LinkProperties implements Parcelable { // // For one such example of this, see b/18867306. // // TODO: Remove this special case altogether. if (before.isIPv4Provisioned() && !after.isIPv4Provisioned()) { // Additionally, losing IPv6 provisioning can result in TCP // connections getting stuck until timeouts fire and other // baffling failures. Therefore, loss of either IPv4 or IPv6 on a // previously dualstack network is deemed a lost of provisioning. if ((before.isIPv4Provisioned() && !after.isIPv4Provisioned()) || (before.isIPv6Provisioned() && !after.isIPv6Provisioned())) { return ProvisioningChange.LOST_PROVISIONING; } return ProvisioningChange.STILL_PROVISIONED; Loading core/tests/coretests/src/android/net/LinkPropertiesTest.java +4 −0 Original line number Diff line number Diff line Loading @@ -560,10 +560,14 @@ public class LinkPropertiesTest extends TestCase { assertTrue(v46lp.isIPv6Provisioned()); assertTrue(v46lp.isProvisioned()); assertEquals(ProvisioningChange.STILL_PROVISIONED, LinkProperties.compareProvisioning(v4lp, v46lp)); assertEquals(ProvisioningChange.STILL_PROVISIONED, LinkProperties.compareProvisioning(v6lp, v46lp)); assertEquals(ProvisioningChange.LOST_PROVISIONING, LinkProperties.compareProvisioning(v46lp, v6lp)); assertEquals(ProvisioningChange.LOST_PROVISIONING, LinkProperties.compareProvisioning(v46lp, v4lp)); // Check that losing and gaining a secondary router does not change // the provisioning status. Loading Loading
core/java/android/net/LinkProperties.java +6 −2 Original line number Diff line number Diff line Loading @@ -119,8 +119,12 @@ public final class LinkProperties implements Parcelable { // // For one such example of this, see b/18867306. // // TODO: Remove this special case altogether. if (before.isIPv4Provisioned() && !after.isIPv4Provisioned()) { // Additionally, losing IPv6 provisioning can result in TCP // connections getting stuck until timeouts fire and other // baffling failures. Therefore, loss of either IPv4 or IPv6 on a // previously dualstack network is deemed a lost of provisioning. if ((before.isIPv4Provisioned() && !after.isIPv4Provisioned()) || (before.isIPv6Provisioned() && !after.isIPv6Provisioned())) { return ProvisioningChange.LOST_PROVISIONING; } return ProvisioningChange.STILL_PROVISIONED; Loading
core/tests/coretests/src/android/net/LinkPropertiesTest.java +4 −0 Original line number Diff line number Diff line Loading @@ -560,10 +560,14 @@ public class LinkPropertiesTest extends TestCase { assertTrue(v46lp.isIPv6Provisioned()); assertTrue(v46lp.isProvisioned()); assertEquals(ProvisioningChange.STILL_PROVISIONED, LinkProperties.compareProvisioning(v4lp, v46lp)); assertEquals(ProvisioningChange.STILL_PROVISIONED, LinkProperties.compareProvisioning(v6lp, v46lp)); assertEquals(ProvisioningChange.LOST_PROVISIONING, LinkProperties.compareProvisioning(v46lp, v6lp)); assertEquals(ProvisioningChange.LOST_PROVISIONING, LinkProperties.compareProvisioning(v46lp, v4lp)); // Check that losing and gaining a secondary router does not change // the provisioning status. Loading