Merge "JobStore: persist unwanted set of capabilities" into pi-dev

am: 244df1e217

Change-Id: I726e25e9169a39cc6dc636ce866947e76ba388d1
This commit is contained in:
Pavel Maltsev
2018-03-24 02:41:40 +00:00
committed by android-build-merger
2 changed files with 15 additions and 2 deletions

View File

@@ -477,6 +477,9 @@ public final class JobStore {
final NetworkRequest network = jobStatus.getJob().getRequiredNetwork(); final NetworkRequest network = jobStatus.getJob().getRequiredNetwork();
out.attribute(null, "net-capabilities", Long.toString( out.attribute(null, "net-capabilities", Long.toString(
BitUtils.packBits(network.networkCapabilities.getCapabilities()))); BitUtils.packBits(network.networkCapabilities.getCapabilities())));
out.attribute(null, "net-unwanted-capabilities", Long.toString(
BitUtils.packBits(network.networkCapabilities.getUnwantedCapabilities())));
out.attribute(null, "net-transport-types", Long.toString( out.attribute(null, "net-transport-types", Long.toString(
BitUtils.packBits(network.networkCapabilities.getTransportTypes()))); BitUtils.packBits(network.networkCapabilities.getTransportTypes())));
} }
@@ -888,12 +891,19 @@ public final class JobStore {
String val; String val;
final String netCapabilities = parser.getAttributeValue(null, "net-capabilities"); final String netCapabilities = parser.getAttributeValue(null, "net-capabilities");
final String netUnwantedCapabilities = parser.getAttributeValue(
null, "net-unwanted-capabilities");
final String netTransportTypes = parser.getAttributeValue(null, "net-transport-types"); final String netTransportTypes = parser.getAttributeValue(null, "net-transport-types");
if (netCapabilities != null && netTransportTypes != null) { if (netCapabilities != null && netTransportTypes != null) {
final NetworkRequest request = new NetworkRequest.Builder().build(); final NetworkRequest request = new NetworkRequest.Builder().build();
final long unwantedCapabilities = netUnwantedCapabilities != null
? Long.parseLong(netUnwantedCapabilities)
: BitUtils.packBits(request.networkCapabilities.getUnwantedCapabilities());
// We're okay throwing NFE here; caught by caller // We're okay throwing NFE here; caught by caller
request.networkCapabilities.setCapabilities( request.networkCapabilities.setCapabilities(
BitUtils.unpackBits(Long.parseLong(netCapabilities))); BitUtils.unpackBits(Long.parseLong(netCapabilities)),
BitUtils.unpackBits(unwantedCapabilities));
request.networkCapabilities.setTransportTypes( request.networkCapabilities.setTransportTypes(
BitUtils.unpackBits(Long.parseLong(netTransportTypes))); BitUtils.unpackBits(Long.parseLong(netTransportTypes)));
jobBuilder.setRequiredNetwork(request); jobBuilder.setRequiredNetwork(request);

View File

@@ -1,6 +1,7 @@
package com.android.server.job; package com.android.server.job;
import static android.net.NetworkCapabilities.NET_CAPABILITY_IMS; import static android.net.NetworkCapabilities.NET_CAPABILITY_IMS;
import static android.net.NetworkCapabilities.NET_CAPABILITY_OEM_PAID;
import static android.net.NetworkCapabilities.TRANSPORT_WIFI; import static android.net.NetworkCapabilities.TRANSPORT_WIFI;
import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertEquals;
@@ -374,7 +375,9 @@ public class JobStoreTest {
assertPersistedEquals(new JobInfo.Builder(0, mComponent) assertPersistedEquals(new JobInfo.Builder(0, mComponent)
.setPersisted(true) .setPersisted(true)
.setRequiredNetwork(new NetworkRequest.Builder() .setRequiredNetwork(new NetworkRequest.Builder()
.addCapability(NET_CAPABILITY_IMS).build()) .addCapability(NET_CAPABILITY_IMS)
.addUnwantedCapability(NET_CAPABILITY_OEM_PAID)
.build())
.build()); .build());
} }