summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRemi NGUYEN VAN <reminv@google.com>2020-04-30 03:33:37 +0000
committerRemi NGUYEN VAN <reminv@google.com>2020-04-30 06:25:54 +0000
commit675274fa929f64ce47392da3fcefc2f52f75523b (patch)
tree8906c5ed76e98bec13af87d9834bbf068d501a7c /src
parent5f3bb6d04bc1f0d3d80f58d738be7411cd2cd348 (diff)
Fix IpReachabilityMonitorTest flakes/Q failures
IpReachabilityMonitor was failing on Q because of: - Usage of HexEncoding.encodeToString(byte[], boolean) that did not exist in Q - Flakes/failures caused by missing permissions when calling IpConnectivityLog - Flakes caused by mocking FileDescriptor#valid() while it could be accessed from another thread Bug: 152723363 Test: atest IpReachabilityMonitorTest --rerun-until-failure 500 Merged-In: I9d38c696bf1b3b63be3b9df3161168ee291e7beb Change-Id: I9d38c696bf1b3b63be3b9df3161168ee291e7beb (cherry picked from commit 162c7ee3601b49f55b7a72597067bc93836dbb96)
Diffstat (limited to 'src')
-rw-r--r--src/android/net/ip/IpReachabilityMonitor.java7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/android/net/ip/IpReachabilityMonitor.java b/src/android/net/ip/IpReachabilityMonitor.java
index e1d4548..db928d6 100644
--- a/src/android/net/ip/IpReachabilityMonitor.java
+++ b/src/android/net/ip/IpReachabilityMonitor.java
@@ -187,7 +187,7 @@ public class IpReachabilityMonitor {
private final Dependencies mDependencies;
private final boolean mUsingMultinetworkPolicyTracker;
private final ConnectivityManager mCm;
- private final IpConnectivityLog mMetricsLog = new IpConnectivityLog();
+ private final IpConnectivityLog mMetricsLog;
private final Context mContext;
private final INetd mNetd;
private LinkProperties mLinkProperties = new LinkProperties();
@@ -201,13 +201,13 @@ public class IpReachabilityMonitor {
Context context, InterfaceParams ifParams, Handler h, SharedLog log, Callback callback,
boolean usingMultinetworkPolicyTracker, final INetd netd) {
this(context, ifParams, h, log, callback, usingMultinetworkPolicyTracker,
- Dependencies.makeDefault(context, ifParams.name), netd);
+ Dependencies.makeDefault(context, ifParams.name), new IpConnectivityLog(), netd);
}
@VisibleForTesting
IpReachabilityMonitor(Context context, InterfaceParams ifParams, Handler h, SharedLog log,
Callback callback, boolean usingMultinetworkPolicyTracker, Dependencies dependencies,
- final INetd netd) {
+ final IpConnectivityLog metricsLog, final INetd netd) {
if (ifParams == null) throw new IllegalArgumentException("null InterfaceParams");
mContext = context;
@@ -217,6 +217,7 @@ public class IpReachabilityMonitor {
mUsingMultinetworkPolicyTracker = usingMultinetworkPolicyTracker;
mCm = context.getSystemService(ConnectivityManager.class);
mDependencies = dependencies;
+ mMetricsLog = metricsLog;
mNetd = netd;
Preconditions.checkNotNull(mNetd);
Preconditions.checkArgument(!TextUtils.isEmpty(mInterfaceParams.name));