From 73fb5a86f0ea6603e57dacd0cf4c73d08d1eb710 Mon Sep 17 00:00:00 2001 From: Etan Cohen Date: Mon, 10 Dec 2018 14:07:15 -0800 Subject: [PATCH] [CM] Fix comments, add tests to TransportInfo API Bug: 117605977 Test: atest NetworkCapabilitiesTest Change-Id: I734ec56e44cd09d11ae81a856a53a26e1191b9a0 --- core/java/android/net/NetworkCapabilities.java | 2 +- .../net/java/android/net/NetworkCapabilitiesTest.java | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/core/java/android/net/NetworkCapabilities.java b/core/java/android/net/NetworkCapabilities.java index 0c44a566b4..8a5f43de68 100644 --- a/core/java/android/net/NetworkCapabilities.java +++ b/core/java/android/net/NetworkCapabilities.java @@ -931,7 +931,7 @@ public final class NetworkCapabilities implements Parcelable { * Returns a transport-specific information container. The application may cast this * container to a concrete sub-class based on its knowledge of the network request. The * application should be able to deal with a {@code null} return value or an invalid case, - * e.g. use {@code instanceof} operation to verify expected type. + * e.g. use {@code instanceof} operator to verify expected type. * * @return A concrete implementation of the {@link TransportInfo} class or null if not * available for the network. diff --git a/tests/net/java/android/net/NetworkCapabilitiesTest.java b/tests/net/java/android/net/NetworkCapabilitiesTest.java index 50aef1d24f..84f735985b 100644 --- a/tests/net/java/android/net/NetworkCapabilitiesTest.java +++ b/tests/net/java/android/net/NetworkCapabilitiesTest.java @@ -474,7 +474,7 @@ public class NetworkCapabilitiesTest { new StringNetworkSpecifier("specs")); try { nc2.addTransportType(TRANSPORT_WIFI); - fail("Cannot set NetworkSpecifier on a NetworkCapability with multiple transports!"); + fail("Cannot set a second TransportType of a network which has a NetworkSpecifier!"); } catch (IllegalStateException expected) { // empty } @@ -500,16 +500,23 @@ public class NetworkCapabilitiesTest { // empty }); NetworkCapabilities nc2 = new NetworkCapabilities(); + // new TransportInfo so that object is not #equals to nc1's TransportInfo (that's where + // combine fails) nc2.setTransportInfo(new TransportInfo() { // empty }); try { nc1.combineCapabilities(nc2); - fail("Should not be able to combine NetworkCaabilities which contain TransportInfos"); + fail("Should not be able to combine NetworkCabilities which contain TransportInfos"); } catch (IllegalStateException expected) { // empty } + + // verify that can combine with identical TransportInfo objects + NetworkCapabilities nc3 = new NetworkCapabilities(); + nc3.setTransportInfo(nc1.getTransportInfo()); + nc1.combineCapabilities(nc3); } private void assertEqualsThroughMarshalling(NetworkCapabilities netCap) {