Loading src/java/com/android/internal/telephony/PhoneConfigurationManager.java +1 −1 Original line number Diff line number Diff line Loading @@ -312,7 +312,7 @@ public class PhoneConfigurationManager { } public int getNumberOfModemsWithSimultaneousDataConnections() { return mStaticCapability.getMaxActiveInternetData(); return mStaticCapability.getMaxActiveDataSubscriptions(); } private void notifyCapabilityChanged() { Loading src/java/com/android/internal/telephony/RadioConfig.java +17 −7 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; Loading Loading @@ -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(); Loading Loading @@ -118,9 +118,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(); } } /** Loading Loading @@ -579,8 +589,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( Loading src/java/com/android/internal/telephony/RadioConfigResponse.java +1 −1 Original line number Diff line number Diff line Loading @@ -142,7 +142,7 @@ public class RadioConfigResponse extends IRadioConfigResponse.Stub { } return new PhoneCapability(maxActiveVoiceCalls, maxActiveData, logicalModemList, validationBeforeSwitchSupported, mRadioConfig.getDeviceNrCapability()); validationBeforeSwitchSupported, mRadioConfig.getDeviceNrCapabilities()); } /** * Response function for IRadioConfig.getPhoneCapability(). Loading tests/telephonytests/src/com/android/internal/telephony/CellularNetworkValidatorTest.java +2 −2 Original line number Diff line number Diff line Loading @@ -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 Loading tests/telephonytests/src/com/android/internal/telephony/PhoneCapabilityTest.java +14 −12 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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); } Loading @@ -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
src/java/com/android/internal/telephony/PhoneConfigurationManager.java +1 −1 Original line number Diff line number Diff line Loading @@ -312,7 +312,7 @@ public class PhoneConfigurationManager { } public int getNumberOfModemsWithSimultaneousDataConnections() { return mStaticCapability.getMaxActiveInternetData(); return mStaticCapability.getMaxActiveDataSubscriptions(); } private void notifyCapabilityChanged() { Loading
src/java/com/android/internal/telephony/RadioConfig.java +17 −7 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; Loading Loading @@ -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(); Loading Loading @@ -118,9 +118,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(); } } /** Loading Loading @@ -579,8 +589,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( Loading
src/java/com/android/internal/telephony/RadioConfigResponse.java +1 −1 Original line number Diff line number Diff line Loading @@ -142,7 +142,7 @@ public class RadioConfigResponse extends IRadioConfigResponse.Stub { } return new PhoneCapability(maxActiveVoiceCalls, maxActiveData, logicalModemList, validationBeforeSwitchSupported, mRadioConfig.getDeviceNrCapability()); validationBeforeSwitchSupported, mRadioConfig.getDeviceNrCapabilities()); } /** * Response function for IRadioConfig.getPhoneCapability(). Loading
tests/telephonytests/src/com/android/internal/telephony/CellularNetworkValidatorTest.java +2 −2 Original line number Diff line number Diff line Loading @@ -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 Loading
tests/telephonytests/src/com/android/internal/telephony/PhoneCapabilityTest.java +14 −12 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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); } Loading @@ -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); } }