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

Commit 0b66568d authored by Lucas Lin's avatar Lucas Lin Committed by Gerrit Code Review
Browse files

Merge "Remove the usage of hidden API and simplify the design"

parents 3757df2e 36705517
Loading
Loading
Loading
Loading
+1 −29
Original line number Diff line number Diff line
@@ -290,25 +290,6 @@ public class UnderlyingNetworkTracker {
        maybeNotifyCallback();
    }

    private void handleNetworkSuspended(@NonNull Network network, boolean isSuspended) {
        mVcnContext.ensureRunningOnLooperThread();

        if (!isSameNetwork(mRecordInProgress, network)) {
            Slog.wtf(TAG, "Invalid update to isSuspended");
            return;
        }

        final NetworkCapabilities newCaps =
                new NetworkCapabilities(mRecordInProgress.getNetworkCapabilities());
        if (isSuspended) {
            newCaps.removeCapability(NetworkCapabilities.NET_CAPABILITY_NOT_SUSPENDED);
        } else {
            newCaps.addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_SUSPENDED);
        }

        handleCapabilitiesChanged(network, newCaps);
    }

    private void handlePropertiesChanged(
            @NonNull Network network, @NonNull LinkProperties linkProperties) {
        mVcnContext.ensureRunningOnLooperThread();
@@ -366,19 +347,10 @@ public class UnderlyingNetworkTracker {
        @Override
        public void onCapabilitiesChanged(
                @NonNull Network network, @NonNull NetworkCapabilities networkCapabilities) {
            if (networkCapabilities.equals(mRecordInProgress.getNetworkCapabilities())) return;
            handleCapabilitiesChanged(network, networkCapabilities);
        }

        @Override
        public void onNetworkSuspended(@NonNull Network network) {
            handleNetworkSuspended(network, true /* isSuspended */);
        }

        @Override
        public void onNetworkResumed(@NonNull Network network) {
            handleNetworkSuspended(network, false /* isSuspended */);
        }

        @Override
        public void onLinkPropertiesChanged(
                @NonNull Network network, @NonNull LinkProperties linkProperties) {
+12 −4
Original line number Diff line number Diff line
@@ -328,7 +328,7 @@ public class UnderlyingNetworkTrackerTest {
    public void testRecordTrackerCallbackNotifiedForNetworkSuspended() {
        RouteSelectionCallback cb = verifyRegistrationOnAvailableAndGetCallback();

        cb.onNetworkSuspended(mNetwork);
        cb.onCapabilitiesChanged(mNetwork, SUSPENDED_NETWORK_CAPABILITIES);

        UnderlyingNetworkRecord expectedRecord =
                new UnderlyingNetworkRecord(
@@ -336,7 +336,11 @@ public class UnderlyingNetworkTrackerTest {
                        SUSPENDED_NETWORK_CAPABILITIES,
                        INITIAL_LINK_PROPERTIES,
                        false /* isBlocked */);
        verify(mNetworkTrackerCb).onSelectedUnderlyingNetworkChanged(eq(expectedRecord));
        verify(mNetworkTrackerCb, times(1)).onSelectedUnderlyingNetworkChanged(eq(expectedRecord));
        // onSelectedUnderlyingNetworkChanged() won't be fired twice if network capabilities doesn't
        // change.
        cb.onCapabilitiesChanged(mNetwork, SUSPENDED_NETWORK_CAPABILITIES);
        verify(mNetworkTrackerCb, times(1)).onSelectedUnderlyingNetworkChanged(eq(expectedRecord));
    }

    @Test
@@ -344,7 +348,7 @@ public class UnderlyingNetworkTrackerTest {
        RouteSelectionCallback cb =
                verifyRegistrationOnAvailableAndGetCallback(SUSPENDED_NETWORK_CAPABILITIES);

        cb.onNetworkResumed(mNetwork);
        cb.onCapabilitiesChanged(mNetwork, INITIAL_NETWORK_CAPABILITIES);

        UnderlyingNetworkRecord expectedRecord =
                new UnderlyingNetworkRecord(
@@ -352,7 +356,11 @@ public class UnderlyingNetworkTrackerTest {
                        INITIAL_NETWORK_CAPABILITIES,
                        INITIAL_LINK_PROPERTIES,
                        false /* isBlocked */);
        verify(mNetworkTrackerCb).onSelectedUnderlyingNetworkChanged(eq(expectedRecord));
        verify(mNetworkTrackerCb, times(1)).onSelectedUnderlyingNetworkChanged(eq(expectedRecord));
        // onSelectedUnderlyingNetworkChanged() won't be fired twice if network capabilities doesn't
        // change.
        cb.onCapabilitiesChanged(mNetwork, INITIAL_NETWORK_CAPABILITIES);
        verify(mNetworkTrackerCb, times(1)).onSelectedUnderlyingNetworkChanged(eq(expectedRecord));
    }

    @Test