Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8a299f1f authored by Automerger Merge Worker's avatar Automerger Merge Worker
Browse files

Merge "Add NetworkCapabilities#deduceRestrictedCapability" am: ded6a9e5 am:...

Merge "Add NetworkCapabilities#deduceRestrictedCapability" am: ded6a9e5 am: 804e6f75 am: 3783516b

Change-Id: I9d593d245287362aad82d70ac5fed4d6339f82d7
parents ab4081a5 3783516b
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -4855,6 +4855,7 @@ package android.net {
  }
  }
  public final class NetworkCapabilities implements android.os.Parcelable {
  public final class NetworkCapabilities implements android.os.Parcelable {
    method public boolean deduceRestrictedCapability();
    method @NonNull public int[] getTransportTypes();
    method @NonNull public int[] getTransportTypes();
    method public boolean satisfiedByNetworkCapabilities(@Nullable android.net.NetworkCapabilities);
    method public boolean satisfiedByNetworkCapabilities(@Nullable android.net.NetworkCapabilities);
    method @NonNull public android.net.NetworkCapabilities setSSID(@Nullable String);
    method @NonNull public android.net.NetworkCapabilities setSSID(@Nullable String);
+16 −8
Original line number Original line Diff line number Diff line
@@ -587,15 +587,14 @@ public final class NetworkCapabilities implements Parcelable {
    }
    }


    /**
    /**
     * Removes the NET_CAPABILITY_NOT_RESTRICTED capability if all the capabilities it provides are
     * Deduces that all the capabilities it provides are typically provided by restricted networks
     * typically provided by restricted networks.
     * or not.
     *
     *
     * TODO: consider:
     * @return {@code true} if the network should be restricted.
     * - Renaming it to guessRestrictedCapability and make it set the
     *   restricted capability bit in addition to clearing it.
     * @hide
     * @hide
     */
     */
    public void maybeMarkCapabilitiesRestricted() {
    @SystemApi
    public boolean deduceRestrictedCapability() {
        // Check if we have any capability that forces the network to be restricted.
        // Check if we have any capability that forces the network to be restricted.
        final boolean forceRestrictedCapability =
        final boolean forceRestrictedCapability =
                (mNetworkCapabilities & FORCE_RESTRICTED_CAPABILITIES) != 0;
                (mNetworkCapabilities & FORCE_RESTRICTED_CAPABILITIES) != 0;
@@ -609,8 +608,17 @@ public final class NetworkCapabilities implements Parcelable {
        final boolean hasRestrictedCapabilities =
        final boolean hasRestrictedCapabilities =
                (mNetworkCapabilities & RESTRICTED_CAPABILITIES) != 0;
                (mNetworkCapabilities & RESTRICTED_CAPABILITIES) != 0;


        if (forceRestrictedCapability
        return forceRestrictedCapability
                || (hasRestrictedCapabilities && !hasUnrestrictedCapabilities)) {
                || (hasRestrictedCapabilities && !hasUnrestrictedCapabilities);
    }

    /**
     * Removes the NET_CAPABILITY_NOT_RESTRICTED capability if deducing the network is restricted.
     *
     * @hide
     */
    public void maybeMarkCapabilitiesRestricted() {
        if (deduceRestrictedCapability()) {
            removeCapability(NET_CAPABILITY_NOT_RESTRICTED);
            removeCapability(NET_CAPABILITY_NOT_RESTRICTED);
        }
        }
    }
    }