[CM] Fix comments, add tests to TransportInfo API

Bug: 117605977
Test: atest NetworkCapabilitiesTest
Change-Id: I734ec56e44cd09d11ae81a856a53a26e1191b9a0
This commit is contained in:
Etan Cohen
2018-12-10 14:07:15 -08:00
parent 00dd21dea8
commit 73fb5a86f0
2 changed files with 10 additions and 3 deletions

View File

@@ -931,7 +931,7 @@ public final class NetworkCapabilities implements Parcelable {
* Returns a transport-specific information container. The application may cast this * 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 * 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, * 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 * @return A concrete implementation of the {@link TransportInfo} class or null if not
* available for the network. * available for the network.

View File

@@ -474,7 +474,7 @@ public class NetworkCapabilitiesTest {
new StringNetworkSpecifier("specs")); new StringNetworkSpecifier("specs"));
try { try {
nc2.addTransportType(TRANSPORT_WIFI); 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) { } catch (IllegalStateException expected) {
// empty // empty
} }
@@ -500,16 +500,23 @@ public class NetworkCapabilitiesTest {
// empty // empty
}); });
NetworkCapabilities nc2 = new NetworkCapabilities(); 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() { nc2.setTransportInfo(new TransportInfo() {
// empty // empty
}); });
try { try {
nc1.combineCapabilities(nc2); 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) { } catch (IllegalStateException expected) {
// empty // 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) { private void assertEqualsThroughMarshalling(NetworkCapabilities netCap) {