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

Commit dcbc535e authored by SongFerngWang's avatar SongFerngWang
Browse files

Changing DEVICE_NR_CAPABILITY type and renaming getMaxActiveInternetData

DEVICE_NR_CAPABILITY_*: Using int array instead of bitmask
Rename getMaxActiveInternetData and remove SystemAPI
Rename getMaxActivePacketSwitchedVoiceCalls

Bug: 180419672
Test: atest CtsTelephonyTestCases:android.telephony.cts.TelephonyManagerTest#testGetPhoneCapabilityAndVerify
atest CellularNetworkValidatorTest
atest PhoneCapabilityTest
atest PhoneSwitcherTest
atest TelephonyRegistryTest

Change-Id: I9b18993107c42fa386b08637d01502337a14e3b9
parent 49e3df19
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -312,7 +312,7 @@ public class PhoneConfigurationManager {
    }

    public int getNumberOfModemsWithSimultaneousDataConnections() {
        return mStaticCapability.getMaxActiveInternetData();
        return mStaticCapability.getMaxActiveDataSubscriptions();
    }

    private void notifyCapabilityChanged() {
+17 −7
Original line number Diff line number Diff line
@@ -16,7 +16,6 @@

package com.android.internal.telephony;

import static android.telephony.PhoneCapability.DEVICE_NR_CAPABILITY_NONE;
import static android.telephony.PhoneCapability.DEVICE_NR_CAPABILITY_NSA;
import static android.telephony.PhoneCapability.DEVICE_NR_CAPABILITY_SA;

@@ -49,6 +48,7 @@ import com.android.telephony.Rlog;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.NoSuchElementException;
import java.util.concurrent.atomic.AtomicLong;

@@ -81,7 +81,7 @@ public class RadioConfig extends Handler {
    private final SparseArray<RILRequest> mRequestList = new SparseArray<RILRequest>();
    /* default work source which will blame phone process */
    private final WorkSource mDefaultWorkSource;
    private final int mDeviceNrCapability;
    private final int[] mDeviceNrCapabilities;
    private static RadioConfig sRadioConfig;
    private static final Object sLock = new Object();

@@ -112,9 +112,19 @@ public class RadioConfig extends Handler {
                com.android.internal.R.bool.config_telephony5gStandalone);
        boolean is5gNonStandalone = context.getResources().getBoolean(
                com.android.internal.R.bool.config_telephony5gNonStandalone);
        mDeviceNrCapability =
                (is5gStandalone ? DEVICE_NR_CAPABILITY_SA : DEVICE_NR_CAPABILITY_NONE) | (
                        is5gNonStandalone ? DEVICE_NR_CAPABILITY_NSA : DEVICE_NR_CAPABILITY_NONE);

        if (!is5gStandalone && !is5gNonStandalone) {
            mDeviceNrCapabilities = new int[0];
        } else {
            List<Integer> list = new ArrayList<>();
            if (is5gNonStandalone) {
                list.add(DEVICE_NR_CAPABILITY_NSA);
            }
            if (is5gStandalone) {
                list.add(DEVICE_NR_CAPABILITY_SA);
            }
            mDeviceNrCapabilities = list.stream().mapToInt(Integer::valueOf).toArray();
        }
    }

    /**
@@ -573,8 +583,8 @@ public class RadioConfig extends Handler {
    /**
     * Returns the device's nr capability.
     */
    public int getDeviceNrCapability() {
        return mDeviceNrCapability;
    public int[] getDeviceNrCapabilities() {
        return mDeviceNrCapabilities;
    }

    static ArrayList<IccSlotStatus> convertHalSlotStatus(
+1 −1
Original line number Diff line number Diff line
@@ -141,7 +141,7 @@ public class RadioConfigResponse extends IRadioConfigResponse.Stub {
        }

        return new PhoneCapability(maxActiveVoiceCalls, maxActiveData, logicalModemList,
                validationBeforeSwitchSupported, mRadioConfig.getDeviceNrCapability());
                validationBeforeSwitchSupported, mRadioConfig.getDeviceNrCapabilities());
    }
    /**
     * Response function for IRadioConfig.getPhoneCapability().
+2 −2
Original line number Diff line number Diff line
@@ -57,9 +57,9 @@ import org.mockito.Mock;
public class CellularNetworkValidatorTest extends TelephonyTest {
    private CellularNetworkValidator mValidatorUT;
    private static final PhoneCapability CAPABILITY_WITH_VALIDATION_SUPPORTED =
            new PhoneCapability(1, 1, null, true, PhoneCapability.DEVICE_NR_CAPABILITY_NONE);
            new PhoneCapability(1, 1, null, true, new int[0]);
    private static final PhoneCapability CAPABILITY_WITHOUT_VALIDATION_SUPPORTED =
            new PhoneCapability(1, 1, null, false, PhoneCapability.DEVICE_NR_CAPABILITY_NONE);
            new PhoneCapability(1, 1, null, false, new int[0]);
    private final CellIdentityLte mCellIdentityLte1 = new CellIdentityLte(123, 456, 0, 0, 111);
    private final CellIdentityLte mCellIdentityLte2 = new CellIdentityLte(321, 654, 0, 0, 222);
    @Mock
+14 −12
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package com.android.internal.telephony;

import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotEquals;

@@ -38,21 +39,22 @@ public class PhoneCapabilityTest {
        ModemInfo modemInfo = new ModemInfo(1, 2, true, false);
        List<ModemInfo> logicalModemList = new ArrayList<>();
        logicalModemList.add(modemInfo);
        int deviceNrCapability = PhoneCapability.DEVICE_NR_CAPABILITY_NONE;
        int[] deviceNrCapabilities = new int[]{PhoneCapability.DEVICE_NR_CAPABILITY_SA};

        PhoneCapability capability = new PhoneCapability(maxActiveVoiceCalls, maxActiveData,
                logicalModemList, false, deviceNrCapability);
                logicalModemList, false, deviceNrCapabilities);

        assertEquals(maxActiveVoiceCalls, capability.getMaxActivePacketSwitchedVoiceCalls());
        assertEquals(maxActiveData, capability.getMaxActiveInternetData());
        assertEquals(maxActiveVoiceCalls, capability.getMaxActiveVoiceSubscriptions());
        assertEquals(maxActiveData, capability.getMaxActiveDataSubscriptions());
        assertEquals(1, capability.getLogicalModemList().size());
        assertEquals(modemInfo, capability.getLogicalModemList().get(0));
        assertEquals(deviceNrCapability, capability.getDeviceNrCapabilityBitmask());
        assertArrayEquals(deviceNrCapabilities, capability.getDeviceNrCapabilities());

        PhoneCapability toCompare = new PhoneCapability(maxActiveVoiceCalls + 1, maxActiveData - 1,
                logicalModemList, false, PhoneCapability.DEVICE_NR_CAPABILITY_NSA);
                logicalModemList, false, deviceNrCapabilities);
        assertEquals(capability,
                new PhoneCapability(maxActiveVoiceCalls, maxActiveData, logicalModemList,
                        false, deviceNrCapability));
                        false, deviceNrCapabilities));
        assertNotEquals(capability, toCompare);
    }

@@ -64,21 +66,21 @@ public class PhoneCapabilityTest {
        ModemInfo modemInfo = new ModemInfo(1, 2, true, false);
        List<ModemInfo> logicalModemList = new ArrayList<>();
        logicalModemList.add(modemInfo);
        int deviceNrCapability = PhoneCapability.DEVICE_NR_CAPABILITY_NONE;
        int[] deviceNrCapabilities = new int[]{};

        PhoneCapability capability = new PhoneCapability(maxActiveVoiceCalls, maxActiveData,
                logicalModemList, false, PhoneCapability.DEVICE_NR_CAPABILITY_NONE);
                logicalModemList, false, deviceNrCapabilities);

        Parcel parcel = Parcel.obtain();
        capability.writeToParcel(parcel, 0);
        parcel.setDataPosition(0);
        PhoneCapability toCompare = PhoneCapability.CREATOR.createFromParcel(parcel);

        assertEquals(maxActiveVoiceCalls, toCompare.getMaxActivePacketSwitchedVoiceCalls());
        assertEquals(maxActiveData, toCompare.getMaxActiveInternetData());
        assertEquals(maxActiveVoiceCalls, toCompare.getMaxActiveVoiceSubscriptions());
        assertEquals(maxActiveData, toCompare.getMaxActiveDataSubscriptions());
        assertEquals(1, toCompare.getLogicalModemList().size());
        assertEquals(modemInfo, toCompare.getLogicalModemList().get(0));
        assertEquals(deviceNrCapability, toCompare.getDeviceNrCapabilityBitmask());
        assertArrayEquals(deviceNrCapabilities, toCompare.getDeviceNrCapabilities());
        assertEquals(capability, toCompare);
    }
}
Loading