Extract logging of default network events
This patch extracts the logging of DefaultNetworkEvent from inside ConnectivityService and move it to a new DefaultNetworkMetrics class. The DefaultNetworkMetrics is a singleton owned by the IpConnectivityMetrics singleton implementing the metrics service for core networking. ConnectivityService has access to this singleton via LocalServices. This class layout will allow to remove the Parcelable interface of DefaultNetworkEvent and will instead let the IpConnectivityMetrics service grab metrics from the DefaultNetworkMetrics directly. Bug: 34901696 Test: runtest frameworks-net Change-Id: I55694d89124272732aba114198776462372de18b
This commit is contained in:
@@ -104,6 +104,8 @@ import android.util.LogPrinter;
|
||||
import com.android.internal.util.WakeupMessage;
|
||||
import com.android.internal.util.test.BroadcastInterceptingContext;
|
||||
import com.android.internal.util.test.FakeSettingsProvider;
|
||||
import com.android.server.connectivity.DefaultNetworkMetrics;
|
||||
import com.android.server.connectivity.IpConnectivityMetrics;
|
||||
import com.android.server.connectivity.MockableSystemProperties;
|
||||
import com.android.server.connectivity.NetworkAgentInfo;
|
||||
import com.android.server.connectivity.NetworkMonitor;
|
||||
@@ -156,6 +158,9 @@ public class ConnectivityServiceTest {
|
||||
private MockNetworkAgent mEthernetNetworkAgent;
|
||||
private Context mContext;
|
||||
|
||||
@Mock IpConnectivityMetrics.Logger mMetricsService;
|
||||
@Mock DefaultNetworkMetrics mDefaultNetworkMetrics;
|
||||
|
||||
// This class exists to test bindProcessToNetwork and getBoundNetworkForProcess. These methods
|
||||
// do not go through ConnectivityService but talk to netd directly, so they don't automatically
|
||||
// reflect the state of our test ConnectivityService.
|
||||
@@ -805,6 +810,11 @@ public class ConnectivityServiceTest {
|
||||
return Context.ETHERNET_SERVICE.equals(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected IpConnectivityMetrics.Logger metricsLogger() {
|
||||
return mMetricsService;
|
||||
}
|
||||
|
||||
public WrappedNetworkMonitor getLastCreatedWrappedNetworkMonitor() {
|
||||
return mLastCreatedNetworkMonitor;
|
||||
}
|
||||
@@ -833,6 +843,9 @@ public class ConnectivityServiceTest {
|
||||
public void setUp() throws Exception {
|
||||
mContext = InstrumentationRegistry.getContext();
|
||||
|
||||
MockitoAnnotations.initMocks(this);
|
||||
when(mMetricsService.defaultNetworkMetrics()).thenReturn(mDefaultNetworkMetrics);
|
||||
|
||||
// InstrumentationTestRunner prepares a looper, but AndroidJUnitRunner does not.
|
||||
// http://b/25897652 .
|
||||
if (Looper.myLooper() == null) {
|
||||
|
||||
Reference in New Issue
Block a user