diff options
| author | Chalard Jean <jchalard@google.com> | 2020-02-14 20:35:25 +0900 |
|---|---|---|
| committer | Chalard Jean <jchalard@google.com> | 2020-02-17 14:58:31 +0900 |
| commit | 14af825dbed4bf2d4b3922686438b8236e0176cb (patch) | |
| tree | 3f2868543262edafc41382f006c31279418b5e2f /core/java/android | |
| parent | 48c3f95878194461cd05f305d9cc9f052acadc1f (diff) | |
[NS D02] Mix in the ignore on wifi policy.
Ultimately ConnectivityService and its satellites should mix in
some measurements to NetworkScore, but in the immediate future
they'll just use this to mix in at the new format the policy it
used to managed in an ad-hoc way.
As a first mix-in, this adds mixing in the IGNORE_ON_WIFI policy,
which so far used to be handled in Connectivity as the avoidBadWifi
bit. Ultimately this should move to Telephony.
Bug: 113554781
Test: ConnectivityServiceTest
Change-Id: I4869d5eb9ea74679e57c087005ed3d9b8119fed2
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/net/NetworkScore.java | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/core/java/android/net/NetworkScore.java b/core/java/android/net/NetworkScore.java index ae17378cfc4c..d2e59eb89309 100644 --- a/core/java/android/net/NetworkScore.java +++ b/core/java/android/net/NetworkScore.java @@ -21,7 +21,6 @@ import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.SystemApi; import android.annotation.TestApi; -import android.os.Bundle; import android.os.Parcel; import android.os.Parcelable; @@ -87,7 +86,7 @@ public final class NetworkScore implements Parcelable { /** toString */ public String toString() { return "latency = " + latencyMs + " downlinkBandwidth = " + downlinkBandwidthKBps - + "uplinkBandwidth = " + uplinkBandwidthKBps; + + " uplinkBandwidth = " + uplinkBandwidthKBps; } @NonNull @@ -354,17 +353,27 @@ public final class NetworkScore implements Parcelable { private Metrics mLinkLayerMetrics = new Metrics(Metrics.LATENCY_UNKNOWN, Metrics.BANDWIDTH_UNKNOWN, Metrics.BANDWIDTH_UNKNOWN); @NonNull - private Metrics mEndToMetrics = new Metrics(Metrics.LATENCY_UNKNOWN, + private Metrics mEndToEndMetrics = new Metrics(Metrics.LATENCY_UNKNOWN, Metrics.BANDWIDTH_UNKNOWN, Metrics.BANDWIDTH_UNKNOWN); private int mSignalStrength = UNKNOWN_SIGNAL_STRENGTH; private int mRange = RANGE_UNKNOWN; private boolean mExiting = false; private int mLegacyScore = 0; - @NonNull private Bundle mExtensions = new Bundle(); /** Create a new builder. */ public Builder() { } + /** @hide */ + public Builder(@NonNull final NetworkScore source) { + mPolicy = source.mPolicy; + mLinkLayerMetrics = source.mLinkLayerMetrics; + mEndToEndMetrics = source.mEndToEndMetrics; + mSignalStrength = source.mSignalStrength; + mRange = source.mRange; + mExiting = source.mExiting; + mLegacyScore = source.mLegacyScore; + } + /** Add a policy flag. */ @NonNull public Builder addPolicy(@Policy final int policy) { mPolicy |= policy; @@ -385,7 +394,7 @@ public final class NetworkScore implements Parcelable { /** Set the end-to-end metrics. */ @NonNull public Builder setEndToEndMetrics(@NonNull final Metrics endToEndMetrics) { - mEndToMetrics = endToEndMetrics; + mEndToEndMetrics = endToEndMetrics; return this; } @@ -417,7 +426,7 @@ public final class NetworkScore implements Parcelable { /** Build the NetworkScore object represented by this builder. */ @NonNull public NetworkScore build() { - return new NetworkScore(mPolicy, mLinkLayerMetrics, mEndToMetrics, + return new NetworkScore(mPolicy, mLinkLayerMetrics, mEndToEndMetrics, mSignalStrength, mRange, mExiting, mLegacyScore); } } |
