Loading src/java/com/android/internal/telephony/NetworkScanRequestTracker.java +25 −23 Original line number Diff line number Diff line Loading @@ -107,50 +107,52 @@ public final class NetworkScanRequestTracker { } private boolean isValidScan(NetworkScanRequestInfo nsri) { if (nsri.mRequest == null || nsri.mRequest.specifiers == null) { if (nsri.mRequest == null || nsri.mRequest.getSpecifiers() == null) { return false; } if (nsri.mRequest.specifiers.length > NetworkScanRequest.MAX_RADIO_ACCESS_NETWORKS) { if (nsri.mRequest.getSpecifiers().length > NetworkScanRequest.MAX_RADIO_ACCESS_NETWORKS) { return false; } for (RadioAccessSpecifier ras : nsri.mRequest.specifiers) { if (ras.radioAccessNetwork != GERAN && ras.radioAccessNetwork != UTRAN && ras.radioAccessNetwork != EUTRAN) { for (RadioAccessSpecifier ras : nsri.mRequest.getSpecifiers()) { if (ras.getRadioAccessNetwork() != GERAN && ras.getRadioAccessNetwork() != UTRAN && ras.getRadioAccessNetwork() != EUTRAN) { return false; } if (ras.bands != null && ras.bands.length > NetworkScanRequest.MAX_BANDS) { if (ras.getBands() != null && ras.getBands().length > NetworkScanRequest.MAX_BANDS) { return false; } if (ras.channels != null && ras.channels.length > NetworkScanRequest.MAX_CHANNELS) { if (ras.getChannels() != null && ras.getChannels().length > NetworkScanRequest.MAX_CHANNELS) { return false; } } if ((nsri.mRequest.searchPeriodicity < NetworkScanRequest.MIN_SEARCH_PERIODICITY_SEC) || (nsri.mRequest.searchPeriodicity if ((nsri.mRequest.getSearchPeriodicity() < NetworkScanRequest.MIN_SEARCH_PERIODICITY_SEC) || (nsri.mRequest.getSearchPeriodicity() > NetworkScanRequest.MAX_SEARCH_PERIODICITY_SEC)) { return false; } if ((nsri.mRequest.maxSearchTime < NetworkScanRequest.MIN_SEARCH_MAX_SEC) || (nsri.mRequest.maxSearchTime > NetworkScanRequest.MAX_SEARCH_MAX_SEC)) { if ((nsri.mRequest.getMaxSearchTime() < NetworkScanRequest.MIN_SEARCH_MAX_SEC) || (nsri.mRequest.getMaxSearchTime() > NetworkScanRequest.MAX_SEARCH_MAX_SEC)) { return false; } if ((nsri.mRequest.incrementalResultsPeriodicity if ((nsri.mRequest.getIncrementalResultsPeriodicity() < NetworkScanRequest.MIN_INCREMENTAL_PERIODICITY_SEC) || (nsri.mRequest.incrementalResultsPeriodicity || (nsri.mRequest.getIncrementalResultsPeriodicity() > NetworkScanRequest.MAX_INCREMENTAL_PERIODICITY_SEC)) { return false; } if ((nsri.mRequest.searchPeriodicity > nsri.mRequest.maxSearchTime) || (nsri.mRequest.incrementalResultsPeriodicity > nsri.mRequest.maxSearchTime)) { if ((nsri.mRequest.getSearchPeriodicity() > nsri.mRequest.getMaxSearchTime()) || (nsri.mRequest.getIncrementalResultsPeriodicity() > nsri.mRequest.getMaxSearchTime())) { return false; } if ((nsri.mRequest.mccMncs != null) && (nsri.mRequest.mccMncs.size() > NetworkScanRequest.MAX_MCC_MNC_LIST_SIZE)) { if ((nsri.mRequest.getPlmns() != null) && (nsri.mRequest.getPlmns().size() > NetworkScanRequest.MAX_MCC_MNC_LIST_SIZE)) { return false; } return true; Loading Loading @@ -274,10 +276,10 @@ public final class NetworkScanRequestTracker { return NetworkScan.ERROR_INVALID_SCAN; case RadioError.DEVICE_IN_USE: Log.e(TAG, "rilErrorToScanError: DEVICE_IN_USE"); return NetworkScan.ERROR_MODEM_BUSY; return NetworkScan.ERROR_MODEM_UNAVAILABLE; default: Log.e(TAG, "rilErrorToScanError: Unexpected RadioError " + rilError); return NetworkScan.ERROR_RIL_ERROR; return NetworkScan.ERROR_RADIO_INTERFACE_ERROR; } } Loading Loading @@ -306,11 +308,11 @@ public final class NetworkScanRequestTracker { return NetworkScan.ERROR_INVALID_SCAN; case DEVICE_IN_USE: Log.e(TAG, "commandExceptionErrorToScanError: DEVICE_IN_USE"); return NetworkScan.ERROR_MODEM_BUSY; return NetworkScan.ERROR_MODEM_UNAVAILABLE; default: Log.e(TAG, "commandExceptionErrorToScanError: Unexpected CommandExceptionError " + error); return NetworkScan.ERROR_RIL_ERROR; return NetworkScan.ERROR_RADIO_INTERFACE_ERROR; } } Loading @@ -332,7 +334,7 @@ public final class NetworkScanRequestTracker { if (!interruptLiveScan(nsri)) { if (!cacheScan(nsri)) { notifyMessenger(nsri, TelephonyScanManager.CALLBACK_SCAN_ERROR, NetworkScan.ERROR_MODEM_BUSY, null); NetworkScan.ERROR_MODEM_UNAVAILABLE, null); } } } Loading Loading @@ -389,7 +391,7 @@ public final class NetworkScanRequestTracker { } } else { logEmptyResultOrException(ar); deleteScanAndMayNotify(nsri, NetworkScan.ERROR_RIL_ERROR, true); deleteScanAndMayNotify(nsri, NetworkScan.ERROR_RADIO_INTERFACE_ERROR, true); nsri.mPhone.mCi.unregisterForNetworkScanResult(mHandler); } } Loading src/java/com/android/internal/telephony/RIL.java +17 −17 Original line number Diff line number Diff line Loading @@ -1683,9 +1683,9 @@ public class RIL extends BaseCommands implements CommandsInterface { RadioAccessSpecifier ras) { android.hardware.radio.V1_1.RadioAccessSpecifier rasInHalFormat = new android.hardware.radio.V1_1.RadioAccessSpecifier(); rasInHalFormat.radioAccessNetwork = ras.radioAccessNetwork; rasInHalFormat.radioAccessNetwork = ras.getRadioAccessNetwork(); List<Integer> bands = null; switch (ras.radioAccessNetwork) { switch (ras.getRadioAccessNetwork()) { case RadioAccessNetworks.GERAN: bands = rasInHalFormat.geranBands; break; Loading @@ -1696,18 +1696,18 @@ public class RIL extends BaseCommands implements CommandsInterface { bands = rasInHalFormat.eutranBands; break; default: Log.wtf(RILJ_LOG_TAG, "radioAccessNetwork " + ras.radioAccessNetwork Log.wtf(RILJ_LOG_TAG, "radioAccessNetwork " + ras.getRadioAccessNetwork() + " not supported!"); return null; } if (ras.bands != null) { for (int band : ras.bands) { if (ras.getBands() != null) { for (int band : ras.getBands()) { bands.add(band); } } if (ras.channels != null) { for (int channel : ras.channels) { if (ras.getChannels() != null) { for (int channel : ras.getChannels()) { rasInHalFormat.channels.add(channel); } } Loading @@ -1724,13 +1724,13 @@ public class RIL extends BaseCommands implements CommandsInterface { if (radioProxy12 != null) { android.hardware.radio.V1_2.NetworkScanRequest request = new android.hardware.radio.V1_2.NetworkScanRequest(); request.type = nsr.scanType; request.interval = nsr.searchPeriodicity; request.maxSearchTime = nsr.maxSearchTime; request.incrementalResultsPeriodicity = nsr.incrementalResultsPeriodicity; request.incrementalResults = nsr.incrementalResults; request.type = nsr.getScanType(); request.interval = nsr.getSearchPeriodicity(); request.maxSearchTime = nsr.getMaxSearchTime(); request.incrementalResultsPeriodicity = nsr.getIncrementalResultsPeriodicity(); request.incrementalResults = nsr.getIncrementalResults(); for (RadioAccessSpecifier ras : nsr.specifiers) { for (RadioAccessSpecifier ras : nsr.getSpecifiers()) { android.hardware.radio.V1_1.RadioAccessSpecifier rasInHalFormat = convertRadioAccessSpecifierToRadioHAL(ras); Loading @@ -1741,7 +1741,7 @@ public class RIL extends BaseCommands implements CommandsInterface { request.specifiers.add(rasInHalFormat); } request.mccMncs.addAll(nsr.mccMncs); request.mccMncs.addAll(nsr.getPlmns()); RILRequest rr = obtainRequest(RIL_REQUEST_START_NETWORK_SCAN, result, mRILDefaultWorkSource); Loading @@ -1766,9 +1766,9 @@ public class RIL extends BaseCommands implements CommandsInterface { } else { android.hardware.radio.V1_1.NetworkScanRequest request = new android.hardware.radio.V1_1.NetworkScanRequest(); request.type = nsr.scanType; request.interval = nsr.searchPeriodicity; for (RadioAccessSpecifier ras : nsr.specifiers) { request.type = nsr.getScanType(); request.interval = nsr.getSearchPeriodicity(); for (RadioAccessSpecifier ras : nsr.getSpecifiers()) { android.hardware.radio.V1_1.RadioAccessSpecifier rasInHalFormat = convertRadioAccessSpecifierToRadioHAL(ras); if (rasInHalFormat == null) { Loading Loading
src/java/com/android/internal/telephony/NetworkScanRequestTracker.java +25 −23 Original line number Diff line number Diff line Loading @@ -107,50 +107,52 @@ public final class NetworkScanRequestTracker { } private boolean isValidScan(NetworkScanRequestInfo nsri) { if (nsri.mRequest == null || nsri.mRequest.specifiers == null) { if (nsri.mRequest == null || nsri.mRequest.getSpecifiers() == null) { return false; } if (nsri.mRequest.specifiers.length > NetworkScanRequest.MAX_RADIO_ACCESS_NETWORKS) { if (nsri.mRequest.getSpecifiers().length > NetworkScanRequest.MAX_RADIO_ACCESS_NETWORKS) { return false; } for (RadioAccessSpecifier ras : nsri.mRequest.specifiers) { if (ras.radioAccessNetwork != GERAN && ras.radioAccessNetwork != UTRAN && ras.radioAccessNetwork != EUTRAN) { for (RadioAccessSpecifier ras : nsri.mRequest.getSpecifiers()) { if (ras.getRadioAccessNetwork() != GERAN && ras.getRadioAccessNetwork() != UTRAN && ras.getRadioAccessNetwork() != EUTRAN) { return false; } if (ras.bands != null && ras.bands.length > NetworkScanRequest.MAX_BANDS) { if (ras.getBands() != null && ras.getBands().length > NetworkScanRequest.MAX_BANDS) { return false; } if (ras.channels != null && ras.channels.length > NetworkScanRequest.MAX_CHANNELS) { if (ras.getChannels() != null && ras.getChannels().length > NetworkScanRequest.MAX_CHANNELS) { return false; } } if ((nsri.mRequest.searchPeriodicity < NetworkScanRequest.MIN_SEARCH_PERIODICITY_SEC) || (nsri.mRequest.searchPeriodicity if ((nsri.mRequest.getSearchPeriodicity() < NetworkScanRequest.MIN_SEARCH_PERIODICITY_SEC) || (nsri.mRequest.getSearchPeriodicity() > NetworkScanRequest.MAX_SEARCH_PERIODICITY_SEC)) { return false; } if ((nsri.mRequest.maxSearchTime < NetworkScanRequest.MIN_SEARCH_MAX_SEC) || (nsri.mRequest.maxSearchTime > NetworkScanRequest.MAX_SEARCH_MAX_SEC)) { if ((nsri.mRequest.getMaxSearchTime() < NetworkScanRequest.MIN_SEARCH_MAX_SEC) || (nsri.mRequest.getMaxSearchTime() > NetworkScanRequest.MAX_SEARCH_MAX_SEC)) { return false; } if ((nsri.mRequest.incrementalResultsPeriodicity if ((nsri.mRequest.getIncrementalResultsPeriodicity() < NetworkScanRequest.MIN_INCREMENTAL_PERIODICITY_SEC) || (nsri.mRequest.incrementalResultsPeriodicity || (nsri.mRequest.getIncrementalResultsPeriodicity() > NetworkScanRequest.MAX_INCREMENTAL_PERIODICITY_SEC)) { return false; } if ((nsri.mRequest.searchPeriodicity > nsri.mRequest.maxSearchTime) || (nsri.mRequest.incrementalResultsPeriodicity > nsri.mRequest.maxSearchTime)) { if ((nsri.mRequest.getSearchPeriodicity() > nsri.mRequest.getMaxSearchTime()) || (nsri.mRequest.getIncrementalResultsPeriodicity() > nsri.mRequest.getMaxSearchTime())) { return false; } if ((nsri.mRequest.mccMncs != null) && (nsri.mRequest.mccMncs.size() > NetworkScanRequest.MAX_MCC_MNC_LIST_SIZE)) { if ((nsri.mRequest.getPlmns() != null) && (nsri.mRequest.getPlmns().size() > NetworkScanRequest.MAX_MCC_MNC_LIST_SIZE)) { return false; } return true; Loading Loading @@ -274,10 +276,10 @@ public final class NetworkScanRequestTracker { return NetworkScan.ERROR_INVALID_SCAN; case RadioError.DEVICE_IN_USE: Log.e(TAG, "rilErrorToScanError: DEVICE_IN_USE"); return NetworkScan.ERROR_MODEM_BUSY; return NetworkScan.ERROR_MODEM_UNAVAILABLE; default: Log.e(TAG, "rilErrorToScanError: Unexpected RadioError " + rilError); return NetworkScan.ERROR_RIL_ERROR; return NetworkScan.ERROR_RADIO_INTERFACE_ERROR; } } Loading Loading @@ -306,11 +308,11 @@ public final class NetworkScanRequestTracker { return NetworkScan.ERROR_INVALID_SCAN; case DEVICE_IN_USE: Log.e(TAG, "commandExceptionErrorToScanError: DEVICE_IN_USE"); return NetworkScan.ERROR_MODEM_BUSY; return NetworkScan.ERROR_MODEM_UNAVAILABLE; default: Log.e(TAG, "commandExceptionErrorToScanError: Unexpected CommandExceptionError " + error); return NetworkScan.ERROR_RIL_ERROR; return NetworkScan.ERROR_RADIO_INTERFACE_ERROR; } } Loading @@ -332,7 +334,7 @@ public final class NetworkScanRequestTracker { if (!interruptLiveScan(nsri)) { if (!cacheScan(nsri)) { notifyMessenger(nsri, TelephonyScanManager.CALLBACK_SCAN_ERROR, NetworkScan.ERROR_MODEM_BUSY, null); NetworkScan.ERROR_MODEM_UNAVAILABLE, null); } } } Loading Loading @@ -389,7 +391,7 @@ public final class NetworkScanRequestTracker { } } else { logEmptyResultOrException(ar); deleteScanAndMayNotify(nsri, NetworkScan.ERROR_RIL_ERROR, true); deleteScanAndMayNotify(nsri, NetworkScan.ERROR_RADIO_INTERFACE_ERROR, true); nsri.mPhone.mCi.unregisterForNetworkScanResult(mHandler); } } Loading
src/java/com/android/internal/telephony/RIL.java +17 −17 Original line number Diff line number Diff line Loading @@ -1683,9 +1683,9 @@ public class RIL extends BaseCommands implements CommandsInterface { RadioAccessSpecifier ras) { android.hardware.radio.V1_1.RadioAccessSpecifier rasInHalFormat = new android.hardware.radio.V1_1.RadioAccessSpecifier(); rasInHalFormat.radioAccessNetwork = ras.radioAccessNetwork; rasInHalFormat.radioAccessNetwork = ras.getRadioAccessNetwork(); List<Integer> bands = null; switch (ras.radioAccessNetwork) { switch (ras.getRadioAccessNetwork()) { case RadioAccessNetworks.GERAN: bands = rasInHalFormat.geranBands; break; Loading @@ -1696,18 +1696,18 @@ public class RIL extends BaseCommands implements CommandsInterface { bands = rasInHalFormat.eutranBands; break; default: Log.wtf(RILJ_LOG_TAG, "radioAccessNetwork " + ras.radioAccessNetwork Log.wtf(RILJ_LOG_TAG, "radioAccessNetwork " + ras.getRadioAccessNetwork() + " not supported!"); return null; } if (ras.bands != null) { for (int band : ras.bands) { if (ras.getBands() != null) { for (int band : ras.getBands()) { bands.add(band); } } if (ras.channels != null) { for (int channel : ras.channels) { if (ras.getChannels() != null) { for (int channel : ras.getChannels()) { rasInHalFormat.channels.add(channel); } } Loading @@ -1724,13 +1724,13 @@ public class RIL extends BaseCommands implements CommandsInterface { if (radioProxy12 != null) { android.hardware.radio.V1_2.NetworkScanRequest request = new android.hardware.radio.V1_2.NetworkScanRequest(); request.type = nsr.scanType; request.interval = nsr.searchPeriodicity; request.maxSearchTime = nsr.maxSearchTime; request.incrementalResultsPeriodicity = nsr.incrementalResultsPeriodicity; request.incrementalResults = nsr.incrementalResults; request.type = nsr.getScanType(); request.interval = nsr.getSearchPeriodicity(); request.maxSearchTime = nsr.getMaxSearchTime(); request.incrementalResultsPeriodicity = nsr.getIncrementalResultsPeriodicity(); request.incrementalResults = nsr.getIncrementalResults(); for (RadioAccessSpecifier ras : nsr.specifiers) { for (RadioAccessSpecifier ras : nsr.getSpecifiers()) { android.hardware.radio.V1_1.RadioAccessSpecifier rasInHalFormat = convertRadioAccessSpecifierToRadioHAL(ras); Loading @@ -1741,7 +1741,7 @@ public class RIL extends BaseCommands implements CommandsInterface { request.specifiers.add(rasInHalFormat); } request.mccMncs.addAll(nsr.mccMncs); request.mccMncs.addAll(nsr.getPlmns()); RILRequest rr = obtainRequest(RIL_REQUEST_START_NETWORK_SCAN, result, mRILDefaultWorkSource); Loading @@ -1766,9 +1766,9 @@ public class RIL extends BaseCommands implements CommandsInterface { } else { android.hardware.radio.V1_1.NetworkScanRequest request = new android.hardware.radio.V1_1.NetworkScanRequest(); request.type = nsr.scanType; request.interval = nsr.searchPeriodicity; for (RadioAccessSpecifier ras : nsr.specifiers) { request.type = nsr.getScanType(); request.interval = nsr.getSearchPeriodicity(); for (RadioAccessSpecifier ras : nsr.getSpecifiers()) { android.hardware.radio.V1_1.RadioAccessSpecifier rasInHalFormat = convertRadioAccessSpecifierToRadioHAL(ras); if (rasInHalFormat == null) { Loading