Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8474c52c authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "[SP18.1] add dependency object to OffloadController" am: 22a224f9 am: a5e9ea1a

Change-Id: Ic1586dee9e62a3a1484feec91cc66883a12bb90b
parents 95b9da99 a5e9ea1a
Loading
Loading
Loading
Loading
+15 −2
Original line number Diff line number Diff line
@@ -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() {
+1 −1
Original line number Diff line number Diff line
@@ -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<>();
+7 −1
Original line number Diff line number Diff line
@@ -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);