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

Commit 9fabb959 authored by Jack Yu's avatar Jack Yu Committed by Android (Google) Code Review
Browse files

Merge "Cleaned up the flag network_validation" into main

parents 735666c0 49ac318f
Loading
Loading
Loading
Loading
+0 −7
Original line number Diff line number Diff line
@@ -56,7 +56,6 @@ import com.android.internal.telephony.IIntegerConsumer;
import com.android.internal.telephony.Phone;
import com.android.internal.telephony.SlidingWindowEventCounter;
import com.android.internal.telephony.flags.FeatureFlags;
import com.android.internal.util.FunctionalUtils;
import com.android.telephony.Rlog;

import java.io.FileDescriptor;
@@ -324,12 +323,6 @@ public class AccessNetworksManager extends Handler {
        public void onNetworkValidationRequested(@NetCapability int networkCapability,
                @NonNull IIntegerConsumer resultCodeCallback) {
            DataNetworkController dnc = mPhone.getDataNetworkController();
            if (!mFeatureFlags.networkValidation()) {
                FunctionalUtils.ignoreRemoteException(resultCodeCallback::accept)
                        .accept(DataServiceCallback.RESULT_ERROR_UNSUPPORTED);
                return;
            }

            log("onNetworkValidationRequested: networkCapability = ["
                    + DataUtils.networkCapabilityToString(networkCapability) + "]");

+0 −5
Original line number Diff line number Diff line
@@ -3919,11 +3919,6 @@ public class DataNetwork extends StateMachine {
     */
    private void updateValidationStatus(
            @PreciseDataConnectionState.NetworkValidationStatus int networkValidationStatus) {
        if (!mFlags.networkValidation()) {
            // Do nothing, if network validation feature is disabled
            return;
        }

        // if network validation status is changed, notify preciseDataConnectionState.
        if (mNetworkValidationStatus != networkValidationStatus) {
            log("updateValidationStatus:"
+1 −21
Original line number Diff line number Diff line
@@ -42,7 +42,6 @@ import android.telephony.AccessNetworkConstants;
import android.telephony.AccessNetworkConstants.AccessNetworkType;
import android.telephony.NetworkService;
import android.telephony.data.ApnSetting;
import android.telephony.data.DataServiceCallback;
import android.telephony.data.IQualifiedNetworksService;
import android.telephony.data.IQualifiedNetworksServiceCallback;
import android.testing.AndroidTestingRunner;
@@ -323,32 +322,13 @@ public class AccessNetworksManagerTest extends TelephonyTest {
    }

    @Test
    public void testRequestNetworkValidation_WithFlagEnabled()  throws Exception {
        when(mFeatureFlags.networkValidation()).thenReturn(true);

    public void testRequestNetworkValidation()  throws Exception {
        mQnsCallback.onNetworkValidationRequested(NetworkCapabilities.NET_CAPABILITY_IMS,
                mIIntegerConsumer);
        processAllMessages();
        assertThat(waitForIIntegerConsumerResult(1 /*numOfEvents*/)).isFalse();
    }

    @Test
    public void testRequestNetworkValidation_WithFlagDisabled() throws Exception {
        mIIntegerConsumerResults.clear();
        when(mFeatureFlags.networkValidation()).thenReturn(false);

        mQnsCallback.onNetworkValidationRequested(NetworkCapabilities.NET_CAPABILITY_IMS,
                mIIntegerConsumer);
        processAllMessages();

        assertThat(waitForIIntegerConsumerResult(1 /*numOfEvents*/)).isTrue();
        assertThat((long) mIIntegerConsumerResults.get(0))
                .isEqualTo(DataServiceCallback.RESULT_ERROR_UNSUPPORTED);
        verify(mDataNetworkController, never()).requestNetworkValidation(
                NetworkCapabilities.NET_CAPABILITY_IMS,
                mIntegerConsumer);
    }

    @Test
    public void testCallbackForReconnectQualifiedNetworkType()  throws Exception {
        mAccessNetworksManager.registerCallback(mMockedCallback);
+2 −34
Original line number Diff line number Diff line
@@ -34,7 +34,6 @@ import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;

import android.net.ConnectivityManager;
import android.net.InetAddresses;
@@ -2294,8 +2293,7 @@ public class DataNetworkTest extends TelephonyTest {
    }

    @Test
    public void testValidationStatusOnPreciseDataConnectionState_FlagEnabled() throws Exception {
        when(mFeatureFlags.networkValidation()).thenReturn(true);
    public void testValidationStatusOnPreciseDataConnectionState() throws Exception {
        setupIwlanDataNetwork();

        ArgumentCaptor<PreciseDataConnectionState> pdcsCaptor =
@@ -2344,37 +2342,7 @@ public class DataNetworkTest extends TelephonyTest {
    }

    @Test
    public void testValidationStatus_FlagDisabled() throws Exception {
        // network validation flag disabled
        when(mFeatureFlags.networkValidation()).thenReturn(false);
        setupIwlanDataNetwork();

        // precise data connection state posted for setup data call response
        ArgumentCaptor<PreciseDataConnectionState> pdcsCaptor =
                ArgumentCaptor.forClass(PreciseDataConnectionState.class);
        verify(mPhone, times(2)).notifyDataConnection(pdcsCaptor.capture());

        // data state updated with network validation status
        DataCallResponse response = createDataCallResponse(123,
                DataCallResponse.LINK_STATUS_ACTIVE, Collections.emptyList(), null,
                PreciseDataConnectionState.NETWORK_VALIDATION_SUCCESS);
        mDataNetworkUT.sendMessage(8 /*EVENT_DATA_STATE_CHANGED*/, new AsyncResult(
                AccessNetworkConstants.TRANSPORT_TYPE_WLAN, List.of(response), null));
        processAllMessages();

        // Verify updated validation status at precise data connection state not posted due to flag
        // disabled
        pdcsCaptor = ArgumentCaptor.forClass(PreciseDataConnectionState.class);
        verify(mPhone, times(2)).notifyDataConnection(pdcsCaptor.capture());
        List<PreciseDataConnectionState> pdcsList = pdcsCaptor.getAllValues();
        assertThat(pdcsList.get(1).getNetworkValidationStatus())
                .isEqualTo(PreciseDataConnectionState.NETWORK_VALIDATION_UNSUPPORTED);
    }

    @Test
    public void testHandoverWithSuccessNetworkValidation_FlagEnabled() throws Exception {
        when(mFeatureFlags.networkValidation()).thenReturn(true);

    public void testHandoverWithSuccessNetworkValidation() throws Exception {
        setupDataNetwork();

        setSuccessfulSetupDataResponse(