IpConnectivityMetrics: no metrics upload in tests
Similarly to ApfTest, this patch changes ConnectivityServiceTest to use
a mock object instead of IpConnectivityLog so that running
ConnectivityServiceTest does not generate android.net.metrics events.
Bug: 30450301
Change-Id: Ibc0479f381f26e60baefbae15407c62aecbf6666
diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java
index 1106262..b7461ee 100644
--- a/services/core/java/com/android/server/ConnectivityService.java
+++ b/services/core/java/com/android/server/ConnectivityService.java
@@ -479,7 +479,7 @@
}
}
- private final IpConnectivityLog mMetricsLog = new IpConnectivityLog();
+ private final IpConnectivityLog mMetricsLog;
/**
* Implements support for the legacy "one network per network type" model.
@@ -677,8 +677,16 @@
public ConnectivityService(Context context, INetworkManagementService netManager,
INetworkStatsService statsService, INetworkPolicyManager policyManager) {
+ this(context, netManager, statsService, policyManager, new IpConnectivityLog());
+ }
+
+ @VisibleForTesting
+ protected ConnectivityService(Context context, INetworkManagementService netManager,
+ INetworkStatsService statsService, INetworkPolicyManager policyManager,
+ IpConnectivityLog logger) {
if (DBG) log("ConnectivityService starting up");
+ mMetricsLog = logger;
mDefaultRequest = createInternetRequestForTransport(-1);
NetworkRequestInfo defaultNRI = new NetworkRequestInfo(null, mDefaultRequest, new Binder());
mNetworkRequests.put(mDefaultRequest, defaultNRI);
diff --git a/services/tests/servicestests/src/com/android/server/ConnectivityServiceTest.java b/services/tests/servicestests/src/com/android/server/ConnectivityServiceTest.java
index f2a9315..59ccbd9 100644
--- a/services/tests/servicestests/src/com/android/server/ConnectivityServiceTest.java
+++ b/services/tests/servicestests/src/com/android/server/ConnectivityServiceTest.java
@@ -51,6 +51,7 @@
import android.net.NetworkMisc;
import android.net.NetworkRequest;
import android.net.RouteInfo;
+import android.net.metrics.IpConnectivityLog;
import android.os.ConditionVariable;
import android.os.Handler;
import android.os.HandlerThread;
@@ -585,8 +586,9 @@
public String gen204ProbeRedirectUrl = null;
public WrappedNetworkMonitor(Context context, Handler handler,
- NetworkAgentInfo networkAgentInfo, NetworkRequest defaultRequest) {
- super(context, handler, networkAgentInfo, defaultRequest);
+ NetworkAgentInfo networkAgentInfo, NetworkRequest defaultRequest,
+ IpConnectivityLog log) {
+ super(context, handler, networkAgentInfo, defaultRequest, log);
}
@Override
@@ -599,8 +601,9 @@
private WrappedNetworkMonitor mLastCreatedNetworkMonitor;
public WrappedConnectivityService(Context context, INetworkManagementService netManager,
- INetworkStatsService statsService, INetworkPolicyManager policyManager) {
- super(context, netManager, statsService, policyManager);
+ INetworkStatsService statsService, INetworkPolicyManager policyManager,
+ IpConnectivityLog log) {
+ super(context, netManager, statsService, policyManager, log);
mLingerDelayMs = TEST_LINGER_DELAY_MS;
}
@@ -639,8 +642,8 @@
@Override
public NetworkMonitor createNetworkMonitor(Context context, Handler handler,
NetworkAgentInfo nai, NetworkRequest defaultRequest) {
- final WrappedNetworkMonitor monitor = new WrappedNetworkMonitor(context, handler, nai,
- defaultRequest);
+ final WrappedNetworkMonitor monitor = new WrappedNetworkMonitor(
+ context, handler, nai, defaultRequest, mock(IpConnectivityLog.class));
mLastCreatedNetworkMonitor = monitor;
return monitor;
}
@@ -705,7 +708,8 @@
mService = new WrappedConnectivityService(mServiceContext,
mock(INetworkManagementService.class),
mock(INetworkStatsService.class),
- mock(INetworkPolicyManager.class));
+ mock(INetworkPolicyManager.class),
+ mock(IpConnectivityLog.class));
mService.systemReady();
mCm = new WrappedConnectivityManager(getContext(), mService);