Clean cherrypick 'Fix NetworkScanApiTest#testRequestNetworkScan'
Bug: 113187483
Test: cts test
Change-Id: If32d3790ea74304500e607fdd2fc5036745d13f8
Merged-In: If32d3790ea74304500e607fdd2fc5036745d13f8
diff --git a/tests/tests/carrierapi/src/android/carrierapi/cts/NetworkScanApiTest.java b/tests/tests/carrierapi/src/android/carrierapi/cts/NetworkScanApiTest.java
index 0ed6395..77d2f82 100644
--- a/tests/tests/carrierapi/src/android/carrierapi/cts/NetworkScanApiTest.java
+++ b/tests/tests/carrierapi/src/android/carrierapi/cts/NetworkScanApiTest.java
@@ -184,24 +184,43 @@
}
}
- private RadioAccessSpecifier getRadioAccessSpecifier(CellInfo cellInfo) {
- RadioAccessSpecifier ras;
- if (cellInfo instanceof CellInfoLte) {
- int ranLte = AccessNetworkConstants.AccessNetworkType.EUTRAN;
- int[] lteChannels = {((CellInfoLte) cellInfo).getCellIdentity().getEarfcn()};
- ras = new RadioAccessSpecifier(ranLte, null /* bands */, lteChannels);
- } else if (cellInfo instanceof CellInfoWcdma) {
- int ranLte = AccessNetworkConstants.AccessNetworkType.UTRAN;
- int[] wcdmaChannels = {((CellInfoWcdma) cellInfo).getCellIdentity().getUarfcn()};
- ras = new RadioAccessSpecifier(ranLte, null /* bands */, wcdmaChannels);
- } else if (cellInfo instanceof CellInfoGsm) {
- int ranGsm = AccessNetworkConstants.AccessNetworkType.GERAN;
- int[] gsmChannels = {((CellInfoGsm) cellInfo).getCellIdentity().getArfcn()};
- ras = new RadioAccessSpecifier(ranGsm, null /* bands */, gsmChannels);
- } else {
- ras = null;
+ private List<RadioAccessSpecifier> getRadioAccessSpecifier(List<CellInfo> allCellInfo) {
+ List<RadioAccessSpecifier> radioAccessSpecifier = new ArrayList<>();
+ List<Integer> lteChannels = new ArrayList<>();
+ List<Integer> wcdmaChannels = new ArrayList<>();
+ List<Integer> gsmChannels = new ArrayList<>();
+ for (int i = 0; i < allCellInfo.size(); i++) {
+ CellInfo cellInfo = allCellInfo.get(i);
+ if (cellInfo instanceof CellInfoLte) {
+ lteChannels.add(((CellInfoLte) cellInfo).getCellIdentity().getEarfcn());
+ } else if (cellInfo instanceof CellInfoWcdma) {
+ wcdmaChannels.add(((CellInfoWcdma) cellInfo).getCellIdentity().getUarfcn());
+ } else if (cellInfo instanceof CellInfoGsm) {
+ gsmChannels.add(((CellInfoGsm) cellInfo).getCellIdentity().getArfcn());
+ }
}
- return ras;
+ if (!lteChannels.isEmpty()) {
+ Log.d(TAG, "lte channels" + lteChannels.toString());
+ int ranLte = AccessNetworkConstants.AccessNetworkType.EUTRAN;
+ radioAccessSpecifier.add(
+ new RadioAccessSpecifier(ranLte, null /* bands */,
+ lteChannels.stream().mapToInt(i->i).toArray()));
+ }
+ if (!wcdmaChannels.isEmpty()) {
+ Log.d(TAG, "wcdma channels" + wcdmaChannels.toString());
+ int ranWcdma = AccessNetworkConstants.AccessNetworkType.UTRAN;
+ radioAccessSpecifier.add(
+ new RadioAccessSpecifier(ranWcdma, null /* bands */,
+ wcdmaChannels.stream().mapToInt(i->i).toArray()));
+ }
+ if (!gsmChannels.isEmpty()) {
+ Log.d(TAG, "gsm channels" + gsmChannels.toString());
+ int ranGsm = AccessNetworkConstants.AccessNetworkType.GERAN;
+ radioAccessSpecifier.add(
+ new RadioAccessSpecifier(ranGsm, null /* bands */,
+ gsmChannels.stream().mapToInt(i->i).toArray()));
+ }
+ return radioAccessSpecifier;
}
/**
@@ -228,14 +247,9 @@
}
// Construct a NetworkScanRequest
- List<RadioAccessSpecifier> radioAccessSpecifier = new ArrayList<>();
- for (int i = 0; i < allCellInfo.size(); i++) {
- RadioAccessSpecifier ras = getRadioAccessSpecifier(allCellInfo.get(i));
- if (ras != null) {
- radioAccessSpecifier.add(ras);
- }
- }
- if (radioAccessSpecifier.size() == 0) {
+ List<RadioAccessSpecifier> radioAccessSpecifier = getRadioAccessSpecifier(allCellInfo);
+ Log.d(TAG, "number of radioAccessSpecifier: " + radioAccessSpecifier.size());
+ if (radioAccessSpecifier.isEmpty()) {
RadioAccessSpecifier gsm = new RadioAccessSpecifier(
AccessNetworkConstants.AccessNetworkType.GERAN,
null /* bands */,
@@ -301,7 +315,7 @@
* To test its constructor and getters.
*/
@Test
- public void testNetworkScanRequest_ConstructorAndGetters(){
+ public void testNetworkScanRequest_ConstructorAndGetters() {
NetworkScanRequest networkScanRequest = new NetworkScanRequest(
SCAN_TYPE,
RADIO_ACCESS_SPECIFIERS,