Merge "[SP18.1] add dependency object to OffloadController" am: c75f373448 am: 30af8e6201

Change-Id: Ic1586dee9e62a3a1484feec91cc66883a12bb90b
This commit is contained in:
Treehugger Robot
2020-04-29 12:45:13 +00:00
committed by Automerger Merge Worker
3 changed files with 23 additions and 4 deletions

View File

@@ -130,8 +130,20 @@ public class OffloadController {
private int mNatUpdateCallbacksReceived;
private int mNatUpdateNetlinkErrors;
@NonNull
private final Dependencies mDeps;
// TODO: Put more parameters in constructor into dependency object.
static class Dependencies {
int getPerformPollInterval() {
// TODO: Consider make this configurable.
return DEFAULT_PERFORM_POLL_INTERVAL_MS;
}
}
public OffloadController(Handler h, OffloadHardwareInterface hwi,
ContentResolver contentResolver, NetworkStatsManager nsm, SharedLog log) {
ContentResolver contentResolver, NetworkStatsManager nsm, SharedLog log,
@NonNull Dependencies deps) {
mHandler = h;
mHwInterface = hwi;
mContentResolver = contentResolver;
@@ -147,6 +159,7 @@ public class OffloadController {
provider = null;
}
mStatsProvider = provider;
mDeps = deps;
}
/** Start hardware offload. */
@@ -439,7 +452,7 @@ public class OffloadController {
if (mHandler.hasCallbacks(mScheduledPollingTask)) {
mHandler.removeCallbacks(mScheduledPollingTask);
}
mHandler.postDelayed(mScheduledPollingTask, DEFAULT_PERFORM_POLL_INTERVAL_MS);
mHandler.postDelayed(mScheduledPollingTask, mDeps.getPerformPollInterval());
}
private boolean isPollingStatsNeeded() {

View File

@@ -273,7 +273,7 @@ public class Tethering {
mHandler = mTetherMasterSM.getHandler();
mOffloadController = new OffloadController(mHandler,
mDeps.getOffloadHardwareInterface(mHandler, mLog), mContext.getContentResolver(),
statsManager, mLog);
statsManager, mLog, new OffloadController.Dependencies());
mUpstreamNetworkMonitor = mDeps.getUpstreamNetworkMonitor(mContext, mTetherMasterSM, mLog,
TetherMasterSM.EVENT_UPSTREAM_CALLBACK);
mForwardedDownstreams = new LinkedHashSet<>();

View File

@@ -116,6 +116,12 @@ public class OffloadControllerTest {
private final ArgumentCaptor<OffloadHardwareInterface.ControlCallback> mControlCallbackCaptor =
ArgumentCaptor.forClass(OffloadHardwareInterface.ControlCallback.class);
private MockContentResolver mContentResolver;
private OffloadController.Dependencies mDeps = new OffloadController.Dependencies() {
@Override
int getPerformPollInterval() {
return 0;
}
};
@Before public void setUp() {
MockitoAnnotations.initMocks(this);
@@ -150,7 +156,7 @@ public class OffloadControllerTest {
private OffloadController makeOffloadController() throws Exception {
OffloadController offload = new OffloadController(new Handler(Looper.getMainLooper()),
mHardware, mContentResolver, mStatsManager, new SharedLog("test"));
mHardware, mContentResolver, mStatsManager, new SharedLog("test"), mDeps);
final ArgumentCaptor<OffloadController.OffloadTetheringStatsProvider>
tetherStatsProviderCaptor =
ArgumentCaptor.forClass(OffloadController.OffloadTetheringStatsProvider.class);