diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index 31e5d0ba5e..70f39db72b 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -479,7 +479,7 @@ public class ConnectivityService extends IConnectivityManager.Stub } } - 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 class ConnectivityService extends IConnectivityManager.Stub 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 f2a93155d3..59ccbd93f3 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.NetworkInfo.DetailedState; 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 class ConnectivityServiceTest extends AndroidTestCase { 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 @@ public class ConnectivityServiceTest extends AndroidTestCase { 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 @@ public class ConnectivityServiceTest extends AndroidTestCase { @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 @@ public class ConnectivityServiceTest extends AndroidTestCase { 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);