Loading apex/jobscheduler/service/java/com/android/server/job/JobStore.java +8 −8 Original line number Original line Diff line number Diff line Loading @@ -554,7 +554,7 @@ public final class JobStore { out.attribute(null, "net-capabilities", Long.toString( out.attribute(null, "net-capabilities", Long.toString( BitUtils.packBits(network.getCapabilities()))); BitUtils.packBits(network.getCapabilities()))); out.attribute(null, "net-unwanted-capabilities", Long.toString( out.attribute(null, "net-unwanted-capabilities", Long.toString( BitUtils.packBits(network.getUnwantedCapabilities()))); BitUtils.packBits(network.getForbiddenCapabilities()))); out.attribute(null, "net-transport-types", Long.toString( out.attribute(null, "net-transport-types", Long.toString( BitUtils.packBits(network.getTransportTypes()))); BitUtils.packBits(network.getTransportTypes()))); Loading Loading @@ -977,22 +977,22 @@ 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( final String netforbiddenCapabilities = parser.getAttributeValue( null, "net-unwanted-capabilities"); 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.Builder builder = new NetworkRequest.Builder() final NetworkRequest.Builder builder = new NetworkRequest.Builder() .clearCapabilities(); .clearCapabilities(); final long unwantedCapabilities = netUnwantedCapabilities != null final long forbiddenCapabilities = netforbiddenCapabilities != null ? Long.parseLong(netUnwantedCapabilities) ? Long.parseLong(netforbiddenCapabilities) : BitUtils.packBits(builder.build().getUnwantedCapabilities()); : BitUtils.packBits(builder.build().getForbiddenCapabilities()); // We're okay throwing NFE here; caught by caller // We're okay throwing NFE here; caught by caller for (int capability : BitUtils.unpackBits(Long.parseLong(netCapabilities))) { for (int capability : BitUtils.unpackBits(Long.parseLong(netCapabilities))) { builder.addCapability(capability); builder.addCapability(capability); } } for (int unwantedCapability : BitUtils.unpackBits( for (int forbiddenCapability : BitUtils.unpackBits( Long.parseLong(netUnwantedCapabilities))) { Long.parseLong(netforbiddenCapabilities))) { builder.addUnwantedCapability(unwantedCapability); builder.addForbiddenCapability(forbiddenCapability); } } for (int transport : BitUtils.unpackBits(Long.parseLong(netTransportTypes))) { for (int transport : BitUtils.unpackBits(Long.parseLong(netTransportTypes))) { builder.addTransportType(transport); builder.addTransportType(transport); Loading packages/Connectivity/framework/api/module-lib-current.txt +5 −5 Original line number Original line Diff line number Diff line Loading @@ -109,7 +109,7 @@ package android.net { public final class NetworkCapabilities implements android.os.Parcelable { public final class NetworkCapabilities implements android.os.Parcelable { method @Nullable public java.util.Set<android.util.Range<java.lang.Integer>> getUids(); method @Nullable public java.util.Set<android.util.Range<java.lang.Integer>> getUids(); method public boolean hasUnwantedCapability(int); method public boolean hasForbiddenCapability(int); field public static final long REDACT_ALL = -1L; // 0xffffffffffffffffL field public static final long REDACT_ALL = -1L; // 0xffffffffffffffffL field public static final long REDACT_FOR_ACCESS_FINE_LOCATION = 1L; // 0x1L field public static final long REDACT_FOR_ACCESS_FINE_LOCATION = 1L; // 0x1L field public static final long REDACT_FOR_LOCAL_MAC_ADDRESS = 2L; // 0x2L field public static final long REDACT_FOR_LOCAL_MAC_ADDRESS = 2L; // 0x2L Loading @@ -123,13 +123,13 @@ package android.net { } } public class NetworkRequest implements android.os.Parcelable { public class NetworkRequest implements android.os.Parcelable { method @NonNull public int[] getUnwantedCapabilities(); method @NonNull public int[] getForbiddenCapabilities(); method public boolean hasUnwantedCapability(int); method public boolean hasForbiddenCapability(int); } } public static class NetworkRequest.Builder { public static class NetworkRequest.Builder { method @NonNull public android.net.NetworkRequest.Builder addUnwantedCapability(int); method @NonNull public android.net.NetworkRequest.Builder addForbiddenCapability(int); method @NonNull public android.net.NetworkRequest.Builder removeUnwantedCapability(int); method @NonNull public android.net.NetworkRequest.Builder removeForbiddenCapability(int); method @NonNull public android.net.NetworkRequest.Builder setUids(@Nullable java.util.Set<android.util.Range<java.lang.Integer>>); method @NonNull public android.net.NetworkRequest.Builder setUids(@Nullable java.util.Set<android.util.Range<java.lang.Integer>>); } } Loading packages/Connectivity/framework/src/android/net/NetworkCapabilities.java +46 −46 Original line number Original line Diff line number Diff line Loading @@ -183,7 +183,7 @@ public final class NetworkCapabilities implements Parcelable { throw new UnsupportedOperationException( throw new UnsupportedOperationException( "Cannot clear NetworkCapabilities when mRedactions is set"); "Cannot clear NetworkCapabilities when mRedactions is set"); } } mNetworkCapabilities = mTransportTypes = mUnwantedNetworkCapabilities = 0; mNetworkCapabilities = mTransportTypes = mForbiddenNetworkCapabilities = 0; mLinkUpBandwidthKbps = mLinkDownBandwidthKbps = LINK_BANDWIDTH_UNSPECIFIED; mLinkUpBandwidthKbps = mLinkDownBandwidthKbps = LINK_BANDWIDTH_UNSPECIFIED; mNetworkSpecifier = null; mNetworkSpecifier = null; mTransportInfo = null; mTransportInfo = null; Loading Loading @@ -219,7 +219,7 @@ public final class NetworkCapabilities implements Parcelable { mUids = (nc.mUids == null) ? null : new ArraySet<>(nc.mUids); mUids = (nc.mUids == null) ? null : new ArraySet<>(nc.mUids); setAdministratorUids(nc.getAdministratorUids()); setAdministratorUids(nc.getAdministratorUids()); mOwnerUid = nc.mOwnerUid; mOwnerUid = nc.mOwnerUid; mUnwantedNetworkCapabilities = nc.mUnwantedNetworkCapabilities; mForbiddenNetworkCapabilities = nc.mForbiddenNetworkCapabilities; mSSID = nc.mSSID; mSSID = nc.mSSID; mPrivateDnsBroken = nc.mPrivateDnsBroken; mPrivateDnsBroken = nc.mPrivateDnsBroken; mRequestorUid = nc.mRequestorUid; mRequestorUid = nc.mRequestorUid; Loading @@ -237,7 +237,7 @@ public final class NetworkCapabilities implements Parcelable { /** /** * If any capabilities specified here they must not exist in the matching Network. * If any capabilities specified here they must not exist in the matching Network. */ */ private long mUnwantedNetworkCapabilities; private long mForbiddenNetworkCapabilities; /** @hide */ /** @hide */ @Retention(RetentionPolicy.SOURCE) @Retention(RetentionPolicy.SOURCE) Loading Loading @@ -595,21 +595,21 @@ public final class NetworkCapabilities implements Parcelable { * @hide * @hide */ */ public @NonNull NetworkCapabilities addCapability(@NetCapability int capability) { public @NonNull NetworkCapabilities addCapability(@NetCapability int capability) { // If the given capability was previously added to the list of unwanted capabilities // If the given capability was previously added to the list of forbidden capabilities // then the capability will also be removed from the list of unwanted capabilities. // then the capability will also be removed from the list of forbidden capabilities. // TODO: Consider adding unwanted capabilities to the public API and mention this // TODO: Consider adding forbidden capabilities to the public API and mention this // in the documentation. // in the documentation. checkValidCapability(capability); checkValidCapability(capability); mNetworkCapabilities |= 1L << capability; mNetworkCapabilities |= 1L << capability; // remove from unwanted capability list // remove from forbidden capability list mUnwantedNetworkCapabilities &= ~(1L << capability); mForbiddenNetworkCapabilities &= ~(1L << capability); return this; return this; } } /** /** * Adds the given capability to the list of unwanted capabilities of this * Adds the given capability to the list of forbidden capabilities of this * {@code NetworkCapability} instance. Note that when searching for a network to * {@code NetworkCapability} instance. Note that when searching for a network to * satisfy a request, the network must not contain any capability from unwanted capability * satisfy a request, the network must not contain any capability from forbidden capability * list. * list. * <p> * <p> * If the capability was previously added to the list of required capabilities (for * If the capability was previously added to the list of required capabilities (for Loading @@ -619,9 +619,9 @@ public final class NetworkCapabilities implements Parcelable { * @see #addCapability(int) * @see #addCapability(int) * @hide * @hide */ */ public void addUnwantedCapability(@NetCapability int capability) { public void addForbiddenCapability(@NetCapability int capability) { checkValidCapability(capability); checkValidCapability(capability); mUnwantedNetworkCapabilities |= 1L << capability; mForbiddenNetworkCapabilities |= 1L << capability; mNetworkCapabilities &= ~(1L << capability); // remove from requested capabilities mNetworkCapabilities &= ~(1L << capability); // remove from requested capabilities } } Loading @@ -641,16 +641,16 @@ public final class NetworkCapabilities implements Parcelable { } } /** /** * Removes (if found) the given unwanted capability from this {@code NetworkCapability} * Removes (if found) the given forbidden capability from this {@code NetworkCapability} * instance that were added via addUnwantedCapability(int) or setCapabilities(int[], int[]). * instance that were added via addForbiddenCapability(int) or setCapabilities(int[], int[]). * * * @param capability the capability to be removed. * @param capability the capability to be removed. * @return This NetworkCapabilities instance, to facilitate chaining. * @return This NetworkCapabilities instance, to facilitate chaining. * @hide * @hide */ */ public @NonNull NetworkCapabilities removeUnwantedCapability(@NetCapability int capability) { public @NonNull NetworkCapabilities removeForbiddenCapability(@NetCapability int capability) { checkValidCapability(capability); checkValidCapability(capability); mUnwantedNetworkCapabilities &= ~(1L << capability); mForbiddenNetworkCapabilities &= ~(1L << capability); return this; return this; } } Loading Loading @@ -679,13 +679,13 @@ public final class NetworkCapabilities implements Parcelable { } } /** /** * Gets all the unwanted capabilities set on this {@code NetworkCapability} instance. * Gets all the forbidden capabilities set on this {@code NetworkCapability} instance. * * * @return an array of unwanted capability values for this instance. * @return an array of forbidden capability values for this instance. * @hide * @hide */ */ public @NetCapability int[] getUnwantedCapabilities() { public @NetCapability int[] getForbiddenCapabilities() { return NetworkCapabilitiesUtils.unpackBits(mUnwantedNetworkCapabilities); return NetworkCapabilitiesUtils.unpackBits(mForbiddenNetworkCapabilities); } } Loading @@ -696,9 +696,9 @@ public final class NetworkCapabilities implements Parcelable { * @hide * @hide */ */ public void setCapabilities(@NetCapability int[] capabilities, public void setCapabilities(@NetCapability int[] capabilities, @NetCapability int[] unwantedCapabilities) { @NetCapability int[] forbiddenCapabilities) { mNetworkCapabilities = NetworkCapabilitiesUtils.packBits(capabilities); mNetworkCapabilities = NetworkCapabilitiesUtils.packBits(capabilities); mUnwantedNetworkCapabilities = NetworkCapabilitiesUtils.packBits(unwantedCapabilities); mForbiddenNetworkCapabilities = NetworkCapabilitiesUtils.packBits(forbiddenCapabilities); } } /** /** Loading @@ -723,9 +723,9 @@ public final class NetworkCapabilities implements Parcelable { /** @hide */ /** @hide */ @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) public boolean hasUnwantedCapability(@NetCapability int capability) { public boolean hasForbiddenCapability(@NetCapability int capability) { return isValidCapability(capability) return isValidCapability(capability) && ((mUnwantedNetworkCapabilities & (1L << capability)) != 0); && ((mForbiddenNetworkCapabilities & (1L << capability)) != 0); } } /** /** Loading Loading @@ -755,14 +755,14 @@ public final class NetworkCapabilities implements Parcelable { private void combineNetCapabilities(@NonNull NetworkCapabilities nc) { private void combineNetCapabilities(@NonNull NetworkCapabilities nc) { final long wantedCaps = this.mNetworkCapabilities | nc.mNetworkCapabilities; final long wantedCaps = this.mNetworkCapabilities | nc.mNetworkCapabilities; final long unwantedCaps = final long forbiddenCaps = this.mUnwantedNetworkCapabilities | nc.mUnwantedNetworkCapabilities; this.mForbiddenNetworkCapabilities | nc.mForbiddenNetworkCapabilities; if ((wantedCaps & unwantedCaps) != 0) { if ((wantedCaps & forbiddenCaps) != 0) { throw new IllegalArgumentException( throw new IllegalArgumentException( "Cannot have the same capability in wanted and unwanted lists."); "Cannot have the same capability in wanted and forbidden lists."); } } this.mNetworkCapabilities = wantedCaps; this.mNetworkCapabilities = wantedCaps; this.mUnwantedNetworkCapabilities = unwantedCaps; this.mForbiddenNetworkCapabilities = forbiddenCaps; } } /** /** Loading @@ -773,7 +773,7 @@ public final class NetworkCapabilities implements Parcelable { * @hide * @hide */ */ public @Nullable String describeFirstNonRequestableCapability() { public @Nullable String describeFirstNonRequestableCapability() { final long nonRequestable = (mNetworkCapabilities | mUnwantedNetworkCapabilities) final long nonRequestable = (mNetworkCapabilities | mForbiddenNetworkCapabilities) & NON_REQUESTABLE_CAPABILITIES; & NON_REQUESTABLE_CAPABILITIES; if (nonRequestable != 0) { if (nonRequestable != 0) { Loading @@ -790,28 +790,28 @@ public final class NetworkCapabilities implements Parcelable { private boolean satisfiedByNetCapabilities(@NonNull NetworkCapabilities nc, private boolean satisfiedByNetCapabilities(@NonNull NetworkCapabilities nc, boolean onlyImmutable) { boolean onlyImmutable) { long requestedCapabilities = mNetworkCapabilities; long requestedCapabilities = mNetworkCapabilities; long requestedUnwantedCapabilities = mUnwantedNetworkCapabilities; long requestedForbiddenCapabilities = mForbiddenNetworkCapabilities; long providedCapabilities = nc.mNetworkCapabilities; long providedCapabilities = nc.mNetworkCapabilities; if (onlyImmutable) { if (onlyImmutable) { requestedCapabilities &= ~MUTABLE_CAPABILITIES; requestedCapabilities &= ~MUTABLE_CAPABILITIES; requestedUnwantedCapabilities &= ~MUTABLE_CAPABILITIES; requestedForbiddenCapabilities &= ~MUTABLE_CAPABILITIES; } } return ((providedCapabilities & requestedCapabilities) == requestedCapabilities) return ((providedCapabilities & requestedCapabilities) == requestedCapabilities) && ((requestedUnwantedCapabilities & providedCapabilities) == 0); && ((requestedForbiddenCapabilities & providedCapabilities) == 0); } } /** @hide */ /** @hide */ public boolean equalsNetCapabilities(@NonNull NetworkCapabilities nc) { public boolean equalsNetCapabilities(@NonNull NetworkCapabilities nc) { return (nc.mNetworkCapabilities == this.mNetworkCapabilities) return (nc.mNetworkCapabilities == this.mNetworkCapabilities) && (nc.mUnwantedNetworkCapabilities == this.mUnwantedNetworkCapabilities); && (nc.mForbiddenNetworkCapabilities == this.mForbiddenNetworkCapabilities); } } private boolean equalsNetCapabilitiesRequestable(@NonNull NetworkCapabilities that) { private boolean equalsNetCapabilitiesRequestable(@NonNull NetworkCapabilities that) { return ((this.mNetworkCapabilities & ~NON_REQUESTABLE_CAPABILITIES) == return ((this.mNetworkCapabilities & ~NON_REQUESTABLE_CAPABILITIES) (that.mNetworkCapabilities & ~NON_REQUESTABLE_CAPABILITIES)) == (that.mNetworkCapabilities & ~NON_REQUESTABLE_CAPABILITIES)) && ((this.mUnwantedNetworkCapabilities & ~NON_REQUESTABLE_CAPABILITIES) == && ((this.mForbiddenNetworkCapabilities & ~NON_REQUESTABLE_CAPABILITIES) (that.mUnwantedNetworkCapabilities & ~NON_REQUESTABLE_CAPABILITIES)); == (that.mForbiddenNetworkCapabilities & ~NON_REQUESTABLE_CAPABILITIES)); } } /** /** Loading Loading @@ -1734,7 +1734,7 @@ public final class NetworkCapabilities implements Parcelable { * Combine a set of Capabilities to this one. Useful for coming up with the complete set. * Combine a set of Capabilities to this one. Useful for coming up with the complete set. * <p> * <p> * Note that this method may break an invariant of having a particular capability in either * Note that this method may break an invariant of having a particular capability in either * wanted or unwanted lists but never in both. Requests that have the same capability in * wanted or forbidden lists but never in both. Requests that have the same capability in * both lists will never be satisfied. * both lists will never be satisfied. * @hide * @hide */ */ Loading Loading @@ -1875,8 +1875,8 @@ public final class NetworkCapabilities implements Parcelable { public int hashCode() { public int hashCode() { return (int) (mNetworkCapabilities & 0xFFFFFFFF) return (int) (mNetworkCapabilities & 0xFFFFFFFF) + ((int) (mNetworkCapabilities >> 32) * 3) + ((int) (mNetworkCapabilities >> 32) * 3) + ((int) (mUnwantedNetworkCapabilities & 0xFFFFFFFF) * 5) + ((int) (mForbiddenNetworkCapabilities & 0xFFFFFFFF) * 5) + ((int) (mUnwantedNetworkCapabilities >> 32) * 7) + ((int) (mForbiddenNetworkCapabilities >> 32) * 7) + ((int) (mTransportTypes & 0xFFFFFFFF) * 11) + ((int) (mTransportTypes & 0xFFFFFFFF) * 11) + ((int) (mTransportTypes >> 32) * 13) + ((int) (mTransportTypes >> 32) * 13) + mLinkUpBandwidthKbps * 17 + mLinkUpBandwidthKbps * 17 Loading Loading @@ -1911,7 +1911,7 @@ public final class NetworkCapabilities implements Parcelable { @Override @Override public void writeToParcel(Parcel dest, int flags) { public void writeToParcel(Parcel dest, int flags) { dest.writeLong(mNetworkCapabilities); dest.writeLong(mNetworkCapabilities); dest.writeLong(mUnwantedNetworkCapabilities); dest.writeLong(mForbiddenNetworkCapabilities); dest.writeLong(mTransportTypes); dest.writeLong(mTransportTypes); dest.writeInt(mLinkUpBandwidthKbps); dest.writeInt(mLinkUpBandwidthKbps); dest.writeInt(mLinkDownBandwidthKbps); dest.writeInt(mLinkDownBandwidthKbps); Loading @@ -1935,7 +1935,7 @@ public final class NetworkCapabilities implements Parcelable { NetworkCapabilities netCap = new NetworkCapabilities(); NetworkCapabilities netCap = new NetworkCapabilities(); netCap.mNetworkCapabilities = in.readLong(); netCap.mNetworkCapabilities = in.readLong(); netCap.mUnwantedNetworkCapabilities = in.readLong(); netCap.mForbiddenNetworkCapabilities = in.readLong(); netCap.mTransportTypes = in.readLong(); netCap.mTransportTypes = in.readLong(); netCap.mLinkUpBandwidthKbps = in.readInt(); netCap.mLinkUpBandwidthKbps = in.readInt(); netCap.mLinkDownBandwidthKbps = in.readInt(); netCap.mLinkDownBandwidthKbps = in.readInt(); Loading Loading @@ -1989,9 +1989,9 @@ public final class NetworkCapabilities implements Parcelable { appendStringRepresentationOfBitMaskToStringBuilder(sb, mNetworkCapabilities, appendStringRepresentationOfBitMaskToStringBuilder(sb, mNetworkCapabilities, NetworkCapabilities::capabilityNameOf, "&"); NetworkCapabilities::capabilityNameOf, "&"); } } if (0 != mUnwantedNetworkCapabilities) { if (0 != mForbiddenNetworkCapabilities) { sb.append(" Unwanted: "); sb.append(" Forbidden: "); appendStringRepresentationOfBitMaskToStringBuilder(sb, mUnwantedNetworkCapabilities, appendStringRepresentationOfBitMaskToStringBuilder(sb, mForbiddenNetworkCapabilities, NetworkCapabilities::capabilityNameOf, "&"); NetworkCapabilities::capabilityNameOf, "&"); } } if (mLinkUpBandwidthKbps > 0) { if (mLinkUpBandwidthKbps > 0) { Loading packages/Connectivity/framework/src/android/net/NetworkRequest.java +16 −15 Original line number Original line Diff line number Diff line Loading @@ -311,7 +311,7 @@ public class NetworkRequest implements Parcelable { * * * @see #addCapability(int) * @see #addCapability(int) * * * @param capability The capability to add to unwanted capability list. * @param capability The capability to add to forbidden capability list. * @return The builder to facilitate chaining. * @return The builder to facilitate chaining. * * * @hide * @hide Loading @@ -319,15 +319,15 @@ public class NetworkRequest implements Parcelable { @NonNull @NonNull @SuppressLint("MissingGetterMatchingBuilder") @SuppressLint("MissingGetterMatchingBuilder") @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) public Builder addUnwantedCapability(@NetworkCapabilities.NetCapability int capability) { public Builder addForbiddenCapability(@NetworkCapabilities.NetCapability int capability) { mNetworkCapabilities.addUnwantedCapability(capability); mNetworkCapabilities.addForbiddenCapability(capability); return this; return this; } } /** /** * Removes (if found) the given unwanted capability from this builder instance. * Removes (if found) the given forbidden capability from this builder instance. * * * @param capability The unwanted capability to remove. * @param capability The forbidden capability to remove. * @return The builder to facilitate chaining. * @return The builder to facilitate chaining. * * * @hide * @hide Loading @@ -335,8 +335,9 @@ public class NetworkRequest implements Parcelable { @NonNull @NonNull @SuppressLint("BuilderSetStyle") @SuppressLint("BuilderSetStyle") @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) public Builder removeUnwantedCapability(@NetworkCapabilities.NetCapability int capability) { public Builder removeForbiddenCapability( mNetworkCapabilities.removeUnwantedCapability(capability); @NetworkCapabilities.NetCapability int capability) { mNetworkCapabilities.removeForbiddenCapability(capability); return this; return this; } } Loading Loading @@ -598,13 +599,13 @@ public class NetworkRequest implements Parcelable { } } /** /** * @see Builder#addUnwantedCapability(int) * @see Builder#addForbiddenCapability(int) * * * @hide * @hide */ */ @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) public boolean hasUnwantedCapability(@NetCapability int capability) { public boolean hasForbiddenCapability(@NetCapability int capability) { return networkCapabilities.hasUnwantedCapability(capability); return networkCapabilities.hasForbiddenCapability(capability); } } /** /** Loading Loading @@ -690,18 +691,18 @@ public class NetworkRequest implements Parcelable { } } /** /** * Gets all the unwanted capabilities set on this {@code NetworkRequest} instance. * Gets all the forbidden capabilities set on this {@code NetworkRequest} instance. * * * @return an array of unwanted capability values for this instance. * @return an array of forbidden capability values for this instance. * * * @hide * @hide */ */ @NonNull @NonNull @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) public @NetCapability int[] getUnwantedCapabilities() { public @NetCapability int[] getForbiddenCapabilities() { // No need to make a defensive copy here as NC#getUnwantedCapabilities() already returns // No need to make a defensive copy here as NC#getForbiddenCapabilities() already returns // a new array. // a new array. return networkCapabilities.getUnwantedCapabilities(); return networkCapabilities.getForbiddenCapabilities(); } } /** /** Loading services/tests/servicestests/src/com/android/server/job/JobStoreTest.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -374,7 +374,7 @@ public class JobStoreTest { .setPersisted(true) .setPersisted(true) .setRequiredNetwork(new NetworkRequest.Builder() .setRequiredNetwork(new NetworkRequest.Builder() .addCapability(NET_CAPABILITY_IMS) .addCapability(NET_CAPABILITY_IMS) .addUnwantedCapability(NET_CAPABILITY_OEM_PAID) .addForbiddenCapability(NET_CAPABILITY_OEM_PAID) .build()) .build()) .build()); .build()); } } Loading Loading
apex/jobscheduler/service/java/com/android/server/job/JobStore.java +8 −8 Original line number Original line Diff line number Diff line Loading @@ -554,7 +554,7 @@ public final class JobStore { out.attribute(null, "net-capabilities", Long.toString( out.attribute(null, "net-capabilities", Long.toString( BitUtils.packBits(network.getCapabilities()))); BitUtils.packBits(network.getCapabilities()))); out.attribute(null, "net-unwanted-capabilities", Long.toString( out.attribute(null, "net-unwanted-capabilities", Long.toString( BitUtils.packBits(network.getUnwantedCapabilities()))); BitUtils.packBits(network.getForbiddenCapabilities()))); out.attribute(null, "net-transport-types", Long.toString( out.attribute(null, "net-transport-types", Long.toString( BitUtils.packBits(network.getTransportTypes()))); BitUtils.packBits(network.getTransportTypes()))); Loading Loading @@ -977,22 +977,22 @@ 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( final String netforbiddenCapabilities = parser.getAttributeValue( null, "net-unwanted-capabilities"); 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.Builder builder = new NetworkRequest.Builder() final NetworkRequest.Builder builder = new NetworkRequest.Builder() .clearCapabilities(); .clearCapabilities(); final long unwantedCapabilities = netUnwantedCapabilities != null final long forbiddenCapabilities = netforbiddenCapabilities != null ? Long.parseLong(netUnwantedCapabilities) ? Long.parseLong(netforbiddenCapabilities) : BitUtils.packBits(builder.build().getUnwantedCapabilities()); : BitUtils.packBits(builder.build().getForbiddenCapabilities()); // We're okay throwing NFE here; caught by caller // We're okay throwing NFE here; caught by caller for (int capability : BitUtils.unpackBits(Long.parseLong(netCapabilities))) { for (int capability : BitUtils.unpackBits(Long.parseLong(netCapabilities))) { builder.addCapability(capability); builder.addCapability(capability); } } for (int unwantedCapability : BitUtils.unpackBits( for (int forbiddenCapability : BitUtils.unpackBits( Long.parseLong(netUnwantedCapabilities))) { Long.parseLong(netforbiddenCapabilities))) { builder.addUnwantedCapability(unwantedCapability); builder.addForbiddenCapability(forbiddenCapability); } } for (int transport : BitUtils.unpackBits(Long.parseLong(netTransportTypes))) { for (int transport : BitUtils.unpackBits(Long.parseLong(netTransportTypes))) { builder.addTransportType(transport); builder.addTransportType(transport); Loading
packages/Connectivity/framework/api/module-lib-current.txt +5 −5 Original line number Original line Diff line number Diff line Loading @@ -109,7 +109,7 @@ package android.net { public final class NetworkCapabilities implements android.os.Parcelable { public final class NetworkCapabilities implements android.os.Parcelable { method @Nullable public java.util.Set<android.util.Range<java.lang.Integer>> getUids(); method @Nullable public java.util.Set<android.util.Range<java.lang.Integer>> getUids(); method public boolean hasUnwantedCapability(int); method public boolean hasForbiddenCapability(int); field public static final long REDACT_ALL = -1L; // 0xffffffffffffffffL field public static final long REDACT_ALL = -1L; // 0xffffffffffffffffL field public static final long REDACT_FOR_ACCESS_FINE_LOCATION = 1L; // 0x1L field public static final long REDACT_FOR_ACCESS_FINE_LOCATION = 1L; // 0x1L field public static final long REDACT_FOR_LOCAL_MAC_ADDRESS = 2L; // 0x2L field public static final long REDACT_FOR_LOCAL_MAC_ADDRESS = 2L; // 0x2L Loading @@ -123,13 +123,13 @@ package android.net { } } public class NetworkRequest implements android.os.Parcelable { public class NetworkRequest implements android.os.Parcelable { method @NonNull public int[] getUnwantedCapabilities(); method @NonNull public int[] getForbiddenCapabilities(); method public boolean hasUnwantedCapability(int); method public boolean hasForbiddenCapability(int); } } public static class NetworkRequest.Builder { public static class NetworkRequest.Builder { method @NonNull public android.net.NetworkRequest.Builder addUnwantedCapability(int); method @NonNull public android.net.NetworkRequest.Builder addForbiddenCapability(int); method @NonNull public android.net.NetworkRequest.Builder removeUnwantedCapability(int); method @NonNull public android.net.NetworkRequest.Builder removeForbiddenCapability(int); method @NonNull public android.net.NetworkRequest.Builder setUids(@Nullable java.util.Set<android.util.Range<java.lang.Integer>>); method @NonNull public android.net.NetworkRequest.Builder setUids(@Nullable java.util.Set<android.util.Range<java.lang.Integer>>); } } Loading
packages/Connectivity/framework/src/android/net/NetworkCapabilities.java +46 −46 Original line number Original line Diff line number Diff line Loading @@ -183,7 +183,7 @@ public final class NetworkCapabilities implements Parcelable { throw new UnsupportedOperationException( throw new UnsupportedOperationException( "Cannot clear NetworkCapabilities when mRedactions is set"); "Cannot clear NetworkCapabilities when mRedactions is set"); } } mNetworkCapabilities = mTransportTypes = mUnwantedNetworkCapabilities = 0; mNetworkCapabilities = mTransportTypes = mForbiddenNetworkCapabilities = 0; mLinkUpBandwidthKbps = mLinkDownBandwidthKbps = LINK_BANDWIDTH_UNSPECIFIED; mLinkUpBandwidthKbps = mLinkDownBandwidthKbps = LINK_BANDWIDTH_UNSPECIFIED; mNetworkSpecifier = null; mNetworkSpecifier = null; mTransportInfo = null; mTransportInfo = null; Loading Loading @@ -219,7 +219,7 @@ public final class NetworkCapabilities implements Parcelable { mUids = (nc.mUids == null) ? null : new ArraySet<>(nc.mUids); mUids = (nc.mUids == null) ? null : new ArraySet<>(nc.mUids); setAdministratorUids(nc.getAdministratorUids()); setAdministratorUids(nc.getAdministratorUids()); mOwnerUid = nc.mOwnerUid; mOwnerUid = nc.mOwnerUid; mUnwantedNetworkCapabilities = nc.mUnwantedNetworkCapabilities; mForbiddenNetworkCapabilities = nc.mForbiddenNetworkCapabilities; mSSID = nc.mSSID; mSSID = nc.mSSID; mPrivateDnsBroken = nc.mPrivateDnsBroken; mPrivateDnsBroken = nc.mPrivateDnsBroken; mRequestorUid = nc.mRequestorUid; mRequestorUid = nc.mRequestorUid; Loading @@ -237,7 +237,7 @@ public final class NetworkCapabilities implements Parcelable { /** /** * If any capabilities specified here they must not exist in the matching Network. * If any capabilities specified here they must not exist in the matching Network. */ */ private long mUnwantedNetworkCapabilities; private long mForbiddenNetworkCapabilities; /** @hide */ /** @hide */ @Retention(RetentionPolicy.SOURCE) @Retention(RetentionPolicy.SOURCE) Loading Loading @@ -595,21 +595,21 @@ public final class NetworkCapabilities implements Parcelable { * @hide * @hide */ */ public @NonNull NetworkCapabilities addCapability(@NetCapability int capability) { public @NonNull NetworkCapabilities addCapability(@NetCapability int capability) { // If the given capability was previously added to the list of unwanted capabilities // If the given capability was previously added to the list of forbidden capabilities // then the capability will also be removed from the list of unwanted capabilities. // then the capability will also be removed from the list of forbidden capabilities. // TODO: Consider adding unwanted capabilities to the public API and mention this // TODO: Consider adding forbidden capabilities to the public API and mention this // in the documentation. // in the documentation. checkValidCapability(capability); checkValidCapability(capability); mNetworkCapabilities |= 1L << capability; mNetworkCapabilities |= 1L << capability; // remove from unwanted capability list // remove from forbidden capability list mUnwantedNetworkCapabilities &= ~(1L << capability); mForbiddenNetworkCapabilities &= ~(1L << capability); return this; return this; } } /** /** * Adds the given capability to the list of unwanted capabilities of this * Adds the given capability to the list of forbidden capabilities of this * {@code NetworkCapability} instance. Note that when searching for a network to * {@code NetworkCapability} instance. Note that when searching for a network to * satisfy a request, the network must not contain any capability from unwanted capability * satisfy a request, the network must not contain any capability from forbidden capability * list. * list. * <p> * <p> * If the capability was previously added to the list of required capabilities (for * If the capability was previously added to the list of required capabilities (for Loading @@ -619,9 +619,9 @@ public final class NetworkCapabilities implements Parcelable { * @see #addCapability(int) * @see #addCapability(int) * @hide * @hide */ */ public void addUnwantedCapability(@NetCapability int capability) { public void addForbiddenCapability(@NetCapability int capability) { checkValidCapability(capability); checkValidCapability(capability); mUnwantedNetworkCapabilities |= 1L << capability; mForbiddenNetworkCapabilities |= 1L << capability; mNetworkCapabilities &= ~(1L << capability); // remove from requested capabilities mNetworkCapabilities &= ~(1L << capability); // remove from requested capabilities } } Loading @@ -641,16 +641,16 @@ public final class NetworkCapabilities implements Parcelable { } } /** /** * Removes (if found) the given unwanted capability from this {@code NetworkCapability} * Removes (if found) the given forbidden capability from this {@code NetworkCapability} * instance that were added via addUnwantedCapability(int) or setCapabilities(int[], int[]). * instance that were added via addForbiddenCapability(int) or setCapabilities(int[], int[]). * * * @param capability the capability to be removed. * @param capability the capability to be removed. * @return This NetworkCapabilities instance, to facilitate chaining. * @return This NetworkCapabilities instance, to facilitate chaining. * @hide * @hide */ */ public @NonNull NetworkCapabilities removeUnwantedCapability(@NetCapability int capability) { public @NonNull NetworkCapabilities removeForbiddenCapability(@NetCapability int capability) { checkValidCapability(capability); checkValidCapability(capability); mUnwantedNetworkCapabilities &= ~(1L << capability); mForbiddenNetworkCapabilities &= ~(1L << capability); return this; return this; } } Loading Loading @@ -679,13 +679,13 @@ public final class NetworkCapabilities implements Parcelable { } } /** /** * Gets all the unwanted capabilities set on this {@code NetworkCapability} instance. * Gets all the forbidden capabilities set on this {@code NetworkCapability} instance. * * * @return an array of unwanted capability values for this instance. * @return an array of forbidden capability values for this instance. * @hide * @hide */ */ public @NetCapability int[] getUnwantedCapabilities() { public @NetCapability int[] getForbiddenCapabilities() { return NetworkCapabilitiesUtils.unpackBits(mUnwantedNetworkCapabilities); return NetworkCapabilitiesUtils.unpackBits(mForbiddenNetworkCapabilities); } } Loading @@ -696,9 +696,9 @@ public final class NetworkCapabilities implements Parcelable { * @hide * @hide */ */ public void setCapabilities(@NetCapability int[] capabilities, public void setCapabilities(@NetCapability int[] capabilities, @NetCapability int[] unwantedCapabilities) { @NetCapability int[] forbiddenCapabilities) { mNetworkCapabilities = NetworkCapabilitiesUtils.packBits(capabilities); mNetworkCapabilities = NetworkCapabilitiesUtils.packBits(capabilities); mUnwantedNetworkCapabilities = NetworkCapabilitiesUtils.packBits(unwantedCapabilities); mForbiddenNetworkCapabilities = NetworkCapabilitiesUtils.packBits(forbiddenCapabilities); } } /** /** Loading @@ -723,9 +723,9 @@ public final class NetworkCapabilities implements Parcelable { /** @hide */ /** @hide */ @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) public boolean hasUnwantedCapability(@NetCapability int capability) { public boolean hasForbiddenCapability(@NetCapability int capability) { return isValidCapability(capability) return isValidCapability(capability) && ((mUnwantedNetworkCapabilities & (1L << capability)) != 0); && ((mForbiddenNetworkCapabilities & (1L << capability)) != 0); } } /** /** Loading Loading @@ -755,14 +755,14 @@ public final class NetworkCapabilities implements Parcelable { private void combineNetCapabilities(@NonNull NetworkCapabilities nc) { private void combineNetCapabilities(@NonNull NetworkCapabilities nc) { final long wantedCaps = this.mNetworkCapabilities | nc.mNetworkCapabilities; final long wantedCaps = this.mNetworkCapabilities | nc.mNetworkCapabilities; final long unwantedCaps = final long forbiddenCaps = this.mUnwantedNetworkCapabilities | nc.mUnwantedNetworkCapabilities; this.mForbiddenNetworkCapabilities | nc.mForbiddenNetworkCapabilities; if ((wantedCaps & unwantedCaps) != 0) { if ((wantedCaps & forbiddenCaps) != 0) { throw new IllegalArgumentException( throw new IllegalArgumentException( "Cannot have the same capability in wanted and unwanted lists."); "Cannot have the same capability in wanted and forbidden lists."); } } this.mNetworkCapabilities = wantedCaps; this.mNetworkCapabilities = wantedCaps; this.mUnwantedNetworkCapabilities = unwantedCaps; this.mForbiddenNetworkCapabilities = forbiddenCaps; } } /** /** Loading @@ -773,7 +773,7 @@ public final class NetworkCapabilities implements Parcelable { * @hide * @hide */ */ public @Nullable String describeFirstNonRequestableCapability() { public @Nullable String describeFirstNonRequestableCapability() { final long nonRequestable = (mNetworkCapabilities | mUnwantedNetworkCapabilities) final long nonRequestable = (mNetworkCapabilities | mForbiddenNetworkCapabilities) & NON_REQUESTABLE_CAPABILITIES; & NON_REQUESTABLE_CAPABILITIES; if (nonRequestable != 0) { if (nonRequestable != 0) { Loading @@ -790,28 +790,28 @@ public final class NetworkCapabilities implements Parcelable { private boolean satisfiedByNetCapabilities(@NonNull NetworkCapabilities nc, private boolean satisfiedByNetCapabilities(@NonNull NetworkCapabilities nc, boolean onlyImmutable) { boolean onlyImmutable) { long requestedCapabilities = mNetworkCapabilities; long requestedCapabilities = mNetworkCapabilities; long requestedUnwantedCapabilities = mUnwantedNetworkCapabilities; long requestedForbiddenCapabilities = mForbiddenNetworkCapabilities; long providedCapabilities = nc.mNetworkCapabilities; long providedCapabilities = nc.mNetworkCapabilities; if (onlyImmutable) { if (onlyImmutable) { requestedCapabilities &= ~MUTABLE_CAPABILITIES; requestedCapabilities &= ~MUTABLE_CAPABILITIES; requestedUnwantedCapabilities &= ~MUTABLE_CAPABILITIES; requestedForbiddenCapabilities &= ~MUTABLE_CAPABILITIES; } } return ((providedCapabilities & requestedCapabilities) == requestedCapabilities) return ((providedCapabilities & requestedCapabilities) == requestedCapabilities) && ((requestedUnwantedCapabilities & providedCapabilities) == 0); && ((requestedForbiddenCapabilities & providedCapabilities) == 0); } } /** @hide */ /** @hide */ public boolean equalsNetCapabilities(@NonNull NetworkCapabilities nc) { public boolean equalsNetCapabilities(@NonNull NetworkCapabilities nc) { return (nc.mNetworkCapabilities == this.mNetworkCapabilities) return (nc.mNetworkCapabilities == this.mNetworkCapabilities) && (nc.mUnwantedNetworkCapabilities == this.mUnwantedNetworkCapabilities); && (nc.mForbiddenNetworkCapabilities == this.mForbiddenNetworkCapabilities); } } private boolean equalsNetCapabilitiesRequestable(@NonNull NetworkCapabilities that) { private boolean equalsNetCapabilitiesRequestable(@NonNull NetworkCapabilities that) { return ((this.mNetworkCapabilities & ~NON_REQUESTABLE_CAPABILITIES) == return ((this.mNetworkCapabilities & ~NON_REQUESTABLE_CAPABILITIES) (that.mNetworkCapabilities & ~NON_REQUESTABLE_CAPABILITIES)) == (that.mNetworkCapabilities & ~NON_REQUESTABLE_CAPABILITIES)) && ((this.mUnwantedNetworkCapabilities & ~NON_REQUESTABLE_CAPABILITIES) == && ((this.mForbiddenNetworkCapabilities & ~NON_REQUESTABLE_CAPABILITIES) (that.mUnwantedNetworkCapabilities & ~NON_REQUESTABLE_CAPABILITIES)); == (that.mForbiddenNetworkCapabilities & ~NON_REQUESTABLE_CAPABILITIES)); } } /** /** Loading Loading @@ -1734,7 +1734,7 @@ public final class NetworkCapabilities implements Parcelable { * Combine a set of Capabilities to this one. Useful for coming up with the complete set. * Combine a set of Capabilities to this one. Useful for coming up with the complete set. * <p> * <p> * Note that this method may break an invariant of having a particular capability in either * Note that this method may break an invariant of having a particular capability in either * wanted or unwanted lists but never in both. Requests that have the same capability in * wanted or forbidden lists but never in both. Requests that have the same capability in * both lists will never be satisfied. * both lists will never be satisfied. * @hide * @hide */ */ Loading Loading @@ -1875,8 +1875,8 @@ public final class NetworkCapabilities implements Parcelable { public int hashCode() { public int hashCode() { return (int) (mNetworkCapabilities & 0xFFFFFFFF) return (int) (mNetworkCapabilities & 0xFFFFFFFF) + ((int) (mNetworkCapabilities >> 32) * 3) + ((int) (mNetworkCapabilities >> 32) * 3) + ((int) (mUnwantedNetworkCapabilities & 0xFFFFFFFF) * 5) + ((int) (mForbiddenNetworkCapabilities & 0xFFFFFFFF) * 5) + ((int) (mUnwantedNetworkCapabilities >> 32) * 7) + ((int) (mForbiddenNetworkCapabilities >> 32) * 7) + ((int) (mTransportTypes & 0xFFFFFFFF) * 11) + ((int) (mTransportTypes & 0xFFFFFFFF) * 11) + ((int) (mTransportTypes >> 32) * 13) + ((int) (mTransportTypes >> 32) * 13) + mLinkUpBandwidthKbps * 17 + mLinkUpBandwidthKbps * 17 Loading Loading @@ -1911,7 +1911,7 @@ public final class NetworkCapabilities implements Parcelable { @Override @Override public void writeToParcel(Parcel dest, int flags) { public void writeToParcel(Parcel dest, int flags) { dest.writeLong(mNetworkCapabilities); dest.writeLong(mNetworkCapabilities); dest.writeLong(mUnwantedNetworkCapabilities); dest.writeLong(mForbiddenNetworkCapabilities); dest.writeLong(mTransportTypes); dest.writeLong(mTransportTypes); dest.writeInt(mLinkUpBandwidthKbps); dest.writeInt(mLinkUpBandwidthKbps); dest.writeInt(mLinkDownBandwidthKbps); dest.writeInt(mLinkDownBandwidthKbps); Loading @@ -1935,7 +1935,7 @@ public final class NetworkCapabilities implements Parcelable { NetworkCapabilities netCap = new NetworkCapabilities(); NetworkCapabilities netCap = new NetworkCapabilities(); netCap.mNetworkCapabilities = in.readLong(); netCap.mNetworkCapabilities = in.readLong(); netCap.mUnwantedNetworkCapabilities = in.readLong(); netCap.mForbiddenNetworkCapabilities = in.readLong(); netCap.mTransportTypes = in.readLong(); netCap.mTransportTypes = in.readLong(); netCap.mLinkUpBandwidthKbps = in.readInt(); netCap.mLinkUpBandwidthKbps = in.readInt(); netCap.mLinkDownBandwidthKbps = in.readInt(); netCap.mLinkDownBandwidthKbps = in.readInt(); Loading Loading @@ -1989,9 +1989,9 @@ public final class NetworkCapabilities implements Parcelable { appendStringRepresentationOfBitMaskToStringBuilder(sb, mNetworkCapabilities, appendStringRepresentationOfBitMaskToStringBuilder(sb, mNetworkCapabilities, NetworkCapabilities::capabilityNameOf, "&"); NetworkCapabilities::capabilityNameOf, "&"); } } if (0 != mUnwantedNetworkCapabilities) { if (0 != mForbiddenNetworkCapabilities) { sb.append(" Unwanted: "); sb.append(" Forbidden: "); appendStringRepresentationOfBitMaskToStringBuilder(sb, mUnwantedNetworkCapabilities, appendStringRepresentationOfBitMaskToStringBuilder(sb, mForbiddenNetworkCapabilities, NetworkCapabilities::capabilityNameOf, "&"); NetworkCapabilities::capabilityNameOf, "&"); } } if (mLinkUpBandwidthKbps > 0) { if (mLinkUpBandwidthKbps > 0) { Loading
packages/Connectivity/framework/src/android/net/NetworkRequest.java +16 −15 Original line number Original line Diff line number Diff line Loading @@ -311,7 +311,7 @@ public class NetworkRequest implements Parcelable { * * * @see #addCapability(int) * @see #addCapability(int) * * * @param capability The capability to add to unwanted capability list. * @param capability The capability to add to forbidden capability list. * @return The builder to facilitate chaining. * @return The builder to facilitate chaining. * * * @hide * @hide Loading @@ -319,15 +319,15 @@ public class NetworkRequest implements Parcelable { @NonNull @NonNull @SuppressLint("MissingGetterMatchingBuilder") @SuppressLint("MissingGetterMatchingBuilder") @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) public Builder addUnwantedCapability(@NetworkCapabilities.NetCapability int capability) { public Builder addForbiddenCapability(@NetworkCapabilities.NetCapability int capability) { mNetworkCapabilities.addUnwantedCapability(capability); mNetworkCapabilities.addForbiddenCapability(capability); return this; return this; } } /** /** * Removes (if found) the given unwanted capability from this builder instance. * Removes (if found) the given forbidden capability from this builder instance. * * * @param capability The unwanted capability to remove. * @param capability The forbidden capability to remove. * @return The builder to facilitate chaining. * @return The builder to facilitate chaining. * * * @hide * @hide Loading @@ -335,8 +335,9 @@ public class NetworkRequest implements Parcelable { @NonNull @NonNull @SuppressLint("BuilderSetStyle") @SuppressLint("BuilderSetStyle") @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) public Builder removeUnwantedCapability(@NetworkCapabilities.NetCapability int capability) { public Builder removeForbiddenCapability( mNetworkCapabilities.removeUnwantedCapability(capability); @NetworkCapabilities.NetCapability int capability) { mNetworkCapabilities.removeForbiddenCapability(capability); return this; return this; } } Loading Loading @@ -598,13 +599,13 @@ public class NetworkRequest implements Parcelable { } } /** /** * @see Builder#addUnwantedCapability(int) * @see Builder#addForbiddenCapability(int) * * * @hide * @hide */ */ @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) public boolean hasUnwantedCapability(@NetCapability int capability) { public boolean hasForbiddenCapability(@NetCapability int capability) { return networkCapabilities.hasUnwantedCapability(capability); return networkCapabilities.hasForbiddenCapability(capability); } } /** /** Loading Loading @@ -690,18 +691,18 @@ public class NetworkRequest implements Parcelable { } } /** /** * Gets all the unwanted capabilities set on this {@code NetworkRequest} instance. * Gets all the forbidden capabilities set on this {@code NetworkRequest} instance. * * * @return an array of unwanted capability values for this instance. * @return an array of forbidden capability values for this instance. * * * @hide * @hide */ */ @NonNull @NonNull @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) public @NetCapability int[] getUnwantedCapabilities() { public @NetCapability int[] getForbiddenCapabilities() { // No need to make a defensive copy here as NC#getUnwantedCapabilities() already returns // No need to make a defensive copy here as NC#getForbiddenCapabilities() already returns // a new array. // a new array. return networkCapabilities.getUnwantedCapabilities(); return networkCapabilities.getForbiddenCapabilities(); } } /** /** Loading
services/tests/servicestests/src/com/android/server/job/JobStoreTest.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -374,7 +374,7 @@ public class JobStoreTest { .setPersisted(true) .setPersisted(true) .setRequiredNetwork(new NetworkRequest.Builder() .setRequiredNetwork(new NetworkRequest.Builder() .addCapability(NET_CAPABILITY_IMS) .addCapability(NET_CAPABILITY_IMS) .addUnwantedCapability(NET_CAPABILITY_OEM_PAID) .addForbiddenCapability(NET_CAPABILITY_OEM_PAID) .build()) .build()) .build()); .build()); } } Loading