diff options
| author | Cody Kesting <ckesting@google.com> | 2020-02-04 21:52:09 -0800 |
|---|---|---|
| committer | Cody Kesting <ckesting@google.com> | 2020-02-11 08:50:59 -0800 |
| commit | 7064b5c25abb19344bb1d79987e92b7ac8a8d254 (patch) | |
| tree | 5290aa0ffe9ee42f9ce3c3149857a7b5304ba335 /core/java | |
| parent | a659cb4a0b77d1757e71bd20175fad4eb9fa7a81 (diff) | |
Include NetworkCapabilities and LinkProperties in DataStallReport.
DataStallReport is updated to include the NetworkCapabilities and Link
Properties for the Network being reported on. This provides a more
complete picture of the Network conditions when the suspected data stall
was detected.
Bug: 148966398
Test: atest FrameworksNetTests
Change-Id: I913cf18c348b9f688f9d2a3d25a71bc94eb8f000
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/android/net/ConnectivityDiagnosticsManager.java | 51 |
1 files changed, 48 insertions, 3 deletions
diff --git a/core/java/android/net/ConnectivityDiagnosticsManager.java b/core/java/android/net/ConnectivityDiagnosticsManager.java index 3c39d1558e87..d009144034f0 100644 --- a/core/java/android/net/ConnectivityDiagnosticsManager.java +++ b/core/java/android/net/ConnectivityDiagnosticsManager.java @@ -252,8 +252,8 @@ public class ConnectivityDiagnosticsManager { @NonNull PersistableBundle additionalInfo) { mNetwork = network; mReportTimestamp = reportTimestamp; - mLinkProperties = linkProperties; - mNetworkCapabilities = networkCapabilities; + mLinkProperties = new LinkProperties(linkProperties); + mNetworkCapabilities = new NetworkCapabilities(networkCapabilities); mAdditionalInfo = additionalInfo; } @@ -433,6 +433,12 @@ public class ConnectivityDiagnosticsManager { /** The detection method used to identify the suspected data stall */ @DetectionMethod private final int mDetectionMethod; + /** LinkProperties available on the Network at the reported timestamp */ + @NonNull private final LinkProperties mLinkProperties; + + /** NetworkCapabilities available on the Network at the reported timestamp */ + @NonNull private final NetworkCapabilities mNetworkCapabilities; + /** PersistableBundle that may contain additional information on the suspected data stall */ @NonNull private final PersistableBundle mStallDetails; @@ -446,16 +452,23 @@ public class ConnectivityDiagnosticsManager { * @param network The Network for which this DataStallReport applies * @param reportTimestamp The timestamp for the report * @param detectionMethod The detection method used to identify this data stall + * @param linkProperties The LinkProperties available on network at reportTimestamp + * @param networkCapabilities The NetworkCapabilities available on network at + * reportTimestamp * @param stallDetails A PersistableBundle that may contain additional info about the report */ public DataStallReport( @NonNull Network network, long reportTimestamp, @DetectionMethod int detectionMethod, + @NonNull LinkProperties linkProperties, + @NonNull NetworkCapabilities networkCapabilities, @NonNull PersistableBundle stallDetails) { mNetwork = network; mReportTimestamp = reportTimestamp; mDetectionMethod = detectionMethod; + mLinkProperties = new LinkProperties(linkProperties); + mNetworkCapabilities = new NetworkCapabilities(networkCapabilities); mStallDetails = stallDetails; } @@ -488,6 +501,26 @@ public class ConnectivityDiagnosticsManager { } /** + * Returns the LinkProperties available when this report was taken. + * + * @return LinkProperties available on the Network at the reported timestamp + */ + @NonNull + public LinkProperties getLinkProperties() { + return new LinkProperties(mLinkProperties); + } + + /** + * Returns the NetworkCapabilities when this report was taken. + * + * @return NetworkCapabilities available on the Network at the reported timestamp + */ + @NonNull + public NetworkCapabilities getNetworkCapabilities() { + return new NetworkCapabilities(mNetworkCapabilities); + } + + /** * Returns a PersistableBundle with additional info for this report. * * <p>Gets a bundle with details about the suspected data stall including information @@ -513,12 +546,20 @@ public class ConnectivityDiagnosticsManager { return mReportTimestamp == that.mReportTimestamp && mDetectionMethod == that.mDetectionMethod && mNetwork.equals(that.mNetwork) + && mLinkProperties.equals(that.mLinkProperties) + && mNetworkCapabilities.equals(that.mNetworkCapabilities) && persistableBundleEquals(mStallDetails, that.mStallDetails); } @Override public int hashCode() { - return Objects.hash(mNetwork, mReportTimestamp, mDetectionMethod, mStallDetails); + return Objects.hash( + mNetwork, + mReportTimestamp, + mDetectionMethod, + mLinkProperties, + mNetworkCapabilities, + mStallDetails); } /** {@inheritDoc} */ @@ -533,6 +574,8 @@ public class ConnectivityDiagnosticsManager { dest.writeParcelable(mNetwork, flags); dest.writeLong(mReportTimestamp); dest.writeInt(mDetectionMethod); + dest.writeParcelable(mLinkProperties, flags); + dest.writeParcelable(mNetworkCapabilities, flags); dest.writeParcelable(mStallDetails, flags); } @@ -544,6 +587,8 @@ public class ConnectivityDiagnosticsManager { in.readParcelable(null), in.readLong(), in.readInt(), + in.readParcelable(null), + in.readParcelable(null), in.readParcelable(null)); } |
