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

Commit ec30b110 authored by Frank Li's avatar Frank Li Committed by Gerrit Code Review
Browse files

Merge "[CS04]Remove hidden API usage of NetworkCapabilities"

parents 2e2dda5a 45296720
Loading
Loading
Loading
Loading
+8 −11
Original line number Diff line number Diff line
@@ -16,7 +16,6 @@

package com.android.server.job.controllers;

import static android.net.NetworkCapabilities.LINK_BANDWIDTH_UNSPECIFIED;
import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_CONGESTED;
import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_METERED;

@@ -325,7 +324,7 @@ public final class ConnectivityController extends RestrictingController implemen
        if (downloadBytes != JobInfo.NETWORK_BYTES_UNKNOWN) {
            final long bandwidth = capabilities.getLinkDownstreamBandwidthKbps();
            // If we don't know the bandwidth, all we can do is hope the job finishes in time.
            if (bandwidth != LINK_BANDWIDTH_UNSPECIFIED) {
            if (bandwidth > 0) {
                // Divide by 8 to convert bits to bytes.
                final long estimatedMillis = ((downloadBytes * DateUtils.SECOND_IN_MILLIS)
                        / (DataUnit.KIBIBYTES.toBytes(bandwidth) / 8));
@@ -343,7 +342,7 @@ public final class ConnectivityController extends RestrictingController implemen
        if (uploadBytes != JobInfo.NETWORK_BYTES_UNKNOWN) {
            final long bandwidth = capabilities.getLinkUpstreamBandwidthKbps();
            // If we don't know the bandwidth, all we can do is hope the job finishes in time.
            if (bandwidth != LINK_BANDWIDTH_UNSPECIFIED) {
            if (bandwidth > 0) {
                // Divide by 8 to convert bits to bytes.
                final long estimatedMillis = ((uploadBytes * DateUtils.SECOND_IN_MILLIS)
                        / (DataUnit.KIBIBYTES.toBytes(bandwidth) / 8));
@@ -373,18 +372,16 @@ public final class ConnectivityController extends RestrictingController implemen

    private static boolean isStrictSatisfied(JobStatus jobStatus, Network network,
            NetworkCapabilities capabilities, Constants constants) {
        final NetworkCapabilities required;
        // A restricted job that's out of quota MUST use an unmetered network.
        if (jobStatus.getEffectiveStandbyBucket() == RESTRICTED_INDEX
                && !jobStatus.isConstraintSatisfied(JobStatus.CONSTRAINT_WITHIN_QUOTA)) {
            required = new NetworkCapabilities(
            final NetworkCapabilities required = new NetworkCapabilities.Builder(
                    jobStatus.getJob().getRequiredNetwork().networkCapabilities)
                    .addCapability(NET_CAPABILITY_NOT_METERED);
                    .addCapability(NET_CAPABILITY_NOT_METERED).build();
            return required.satisfiedByNetworkCapabilities(capabilities);
        } else {
            required = jobStatus.getJob().getRequiredNetwork().networkCapabilities;
            return jobStatus.getJob().getRequiredNetwork().canBeSatisfiedBy(capabilities);
        }

        return required.satisfiedByNetworkCapabilities(capabilities);
    }

    private static boolean isRelaxedSatisfied(JobStatus jobStatus, Network network,
@@ -395,9 +392,9 @@ public final class ConnectivityController extends RestrictingController implemen
        }

        // See if we match after relaxing any unmetered request
        final NetworkCapabilities relaxed = new NetworkCapabilities(
        final NetworkCapabilities relaxed = new NetworkCapabilities.Builder(
                jobStatus.getJob().getRequiredNetwork().networkCapabilities)
                        .removeCapability(NET_CAPABILITY_NOT_METERED);
                        .removeCapability(NET_CAPABILITY_NOT_METERED).build();
        if (relaxed.satisfiedByNetworkCapabilities(capabilities)) {
            // TODO: treat this as "maybe" response; need to check quotas
            return jobStatus.getFractionRunTime() > constants.CONN_PREFETCH_RELAX_FRAC;