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

This commit is contained in:
TreeHugger Robot
2018-03-24 01:19:20 +00:00
committed by Android (Google) Code Review
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();
out.attribute(null, "net-capabilities", Long.toString(
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(
BitUtils.packBits(network.networkCapabilities.getTransportTypes())));
}
@@ -888,12 +891,19 @@ public final class JobStore {
String val;
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");
if (netCapabilities != null && netTransportTypes != null) {
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
request.networkCapabilities.setCapabilities(
BitUtils.unpackBits(Long.parseLong(netCapabilities)));
BitUtils.unpackBits(Long.parseLong(netCapabilities)),
BitUtils.unpackBits(unwantedCapabilities));
request.networkCapabilities.setTransportTypes(
BitUtils.unpackBits(Long.parseLong(netTransportTypes)));
jobBuilder.setRequiredNetwork(request);

View File

@@ -1,6 +1,7 @@
package com.android.server.job;
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 org.junit.Assert.assertEquals;
@@ -374,7 +375,9 @@ public class JobStoreTest {
assertPersistedEquals(new JobInfo.Builder(0, mComponent)
.setPersisted(true)
.setRequiredNetwork(new NetworkRequest.Builder()
.addCapability(NET_CAPABILITY_IMS).build())
.addCapability(NET_CAPABILITY_IMS)
.addUnwantedCapability(NET_CAPABILITY_OEM_PAID)
.build())
.build());
}