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

Commit a4ad3266 authored by Jack Yu's avatar Jack Yu Committed by Automerger Merge Worker
Browse files

Allowing the wrong PDN deactivation behavior on old HAL am: 22475b16

parents dc7e2cc5 22475b16
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -85,6 +85,7 @@ import com.android.internal.telephony.CommandsInterface;
import com.android.internal.telephony.Phone;
import com.android.internal.telephony.PhoneConstants;
import com.android.internal.telephony.PhoneFactory;
import com.android.internal.telephony.RIL;
import com.android.internal.telephony.data.DataEvaluation.DataAllowedReason;
import com.android.internal.telephony.data.DataNetworkController.NetworkRequestList;
import com.android.internal.telephony.data.DataRetryManager.DataHandoverRetryEntry;
@@ -2297,6 +2298,11 @@ public class DataNetwork extends StateMachine {
            log("Remove network since deactivate request returned an error.");
            mFailCause = DataFailCause.RADIO_NOT_AVAILABLE;
            transitionTo(mDisconnectedState);
        } else if (mPhone.getHalVersion().less(RIL.RADIO_HAL_VERSION_2_0)) {
            log("Remove network on deactivate data response on old HAL "
                    + mPhone.getHalVersion());
            mFailCause = DataFailCause.LOST_CONNECTION;
            transitionTo(mDisconnectedState);
        }
    }

+2 −0
Original line number Diff line number Diff line
@@ -50,6 +50,7 @@ import android.testing.TestableLooper;

import org.junit.After;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mockito;
@@ -577,6 +578,7 @@ public class SignalStrengthControllerTest extends TelephonyTest {
                mSsc.getSignalStrength().getLevel());
    }

    @Ignore("b/230342465. Upgrade this test case to HAL 2.0")
    @Test
    public void test5gNrSignalStrengthReportingCriteria_ConfiguredThresholds() {
        SignalStrength ss = new SignalStrength(
+1 −1
Original line number Diff line number Diff line
@@ -745,7 +745,7 @@ public abstract class TelephonyTest {
        doReturn(true).when(mDataSettingsManager).isDataEnabled();
        doReturn(mNetworkRegistrationInfo).when(mServiceState).getNetworkRegistrationInfo(
                anyInt(), anyInt());
        doReturn(new HalVersion(1, 4)).when(mPhone).getHalVersion();
        doReturn(RIL.RADIO_HAL_VERSION_2_0).when(mPhone).getHalVersion();
        doReturn(2).when(mSignalStrength).getLevel();

        // WiFi
+25 −1
Original line number Diff line number Diff line
@@ -100,6 +100,7 @@ import android.util.SparseArray;
import com.android.internal.telephony.ISub;
import com.android.internal.telephony.Phone;
import com.android.internal.telephony.PhoneConstants;
import com.android.internal.telephony.RIL;
import com.android.internal.telephony.TelephonyTest;
import com.android.internal.telephony.data.AccessNetworksManager.AccessNetworksManagerCallback;
import com.android.internal.telephony.data.DataEvaluation.DataDisallowedReason;
@@ -627,6 +628,8 @@ public class DataNetworkControllerTest extends TelephonyTest {
            setSuccessfulSetupDataResponse(mMockedDataServiceManagers.get(transport), 1);
            doAnswer(invocation -> {
                int cid = (int) invocation.getArguments()[0];
                Message msg = (Message) invocation.getArguments()[2];
                msg.sendToTarget();
                mDataCallResponses.get(transport).remove(cid);
                mDataCallListChangedRegistrants.get(transport).notifyRegistrants(
                        new AsyncResult(transport, new ArrayList<>(mDataCallResponses.get(
@@ -999,7 +1002,6 @@ public class DataNetworkControllerTest extends TelephonyTest {
        verifyAllDataDisconnected();
        verify(mMockedDataNetworkControllerCallback).onAnyDataNetworkExistingChanged(eq(false));
        verify(mMockedDataNetworkControllerCallback).onInternetDataNetworkDisconnected();

    }

    @Test
@@ -2730,4 +2732,26 @@ public class DataNetworkControllerTest extends TelephonyTest {
        verifyConnectedNetworkHasCapabilities(NetworkCapabilities.NET_CAPABILITY_IMS);
        verifyNoConnectedNetworkHasCapability(NetworkCapabilities.NET_CAPABILITY_MMTEL);
    }

    @Test
    public void testDeactivateDataOnOldHal() throws Exception {
        doAnswer(invocation -> {
            // Only send the deactivation data response, no data call list changed event.
            Message msg = (Message) invocation.getArguments()[2];
            msg.sendToTarget();
            return null;
        }).when(mMockedWwanDataServiceManager).deactivateDataCall(
                anyInt(), anyInt(), any(Message.class));
        // Simulate old devices
        doReturn(RIL.RADIO_HAL_VERSION_1_6).when(mPhone).getHalVersion();

        testSetupDataNetwork();

        mDataNetworkControllerUT.obtainMessage(9/*EVENT_SIM_STATE_CHANGED*/,
                TelephonyManager.SIM_STATE_ABSENT, 0).sendToTarget();
        processAllMessages();
        verifyAllDataDisconnected();
        verify(mMockedDataNetworkControllerCallback).onAnyDataNetworkExistingChanged(eq(false));
        verify(mMockedDataNetworkControllerCallback).onInternetDataNetworkDisconnected();
    }
}