summaryrefslogtreecommitdiff
path: root/services/QualifiedNetworksService/src
diff options
context:
space:
mode:
authorManish Dungriyal <mdungriyal@google.com>2023-01-12 05:55:17 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2023-01-12 05:55:17 +0000
commitf5eb20aaf80659b9ad63c5ea9ba76bd5c02db9b8 (patch)
tree15c3c64b158bc3acd86fe1bd1aaecd484d489fca /services/QualifiedNetworksService/src
parent340afcbe759eb70f4d195b6b6fbea0dbcba16888 (diff)
parent21f6fc3223923b766a50cd0db260156aa1a097c5 (diff)
downloadTelephony-f5eb20aaf80659b9ad63c5ea9ba76bd5c02db9b8.tar.gz
Merge "[QNS] 5G to Vowifi Handover Failure"
Diffstat (limited to 'services/QualifiedNetworksService/src')
-rw-r--r--services/QualifiedNetworksService/src/com/android/telephony/qns/CellularQualityMonitor.java66
1 files changed, 4 insertions, 62 deletions
diff --git a/services/QualifiedNetworksService/src/com/android/telephony/qns/CellularQualityMonitor.java b/services/QualifiedNetworksService/src/com/android/telephony/qns/CellularQualityMonitor.java
index 9bd4555..c2b8d07 100644
--- a/services/QualifiedNetworksService/src/com/android/telephony/qns/CellularQualityMonitor.java
+++ b/services/QualifiedNetworksService/src/com/android/telephony/qns/CellularQualityMonitor.java
@@ -27,7 +27,6 @@ import android.os.Looper;
import android.os.Message;
import android.telephony.AccessNetworkConstants.AccessNetworkType;
import android.telephony.CellSignalStrength;
-import android.telephony.CellSignalStrengthCdma;
import android.telephony.CellSignalStrengthGsm;
import android.telephony.CellSignalStrengthLte;
import android.telephony.CellSignalStrengthNr;
@@ -163,69 +162,13 @@ class CellularQualityMonitor extends QualityMonitor {
private void onSignalStrengthsChanged(SignalStrength signalStrength) {
List<CellSignalStrength> ss = signalStrength.getCellSignalStrengths();
if (!ss.isEmpty()) {
- int accessNetwork;
for (CellSignalStrength cs : ss) {
- accessNetwork = getAccessNetworkForSignalStrength(cs);
- if (accessNetwork != AccessNetworkType.UNKNOWN) {
- checkAndNotifySignalStrength(cs, accessNetwork);
- }
- }
- }
- }
-
- private int getAccessNetworkForSignalStrength(CellSignalStrength cs) {
- int accessNetwork = AccessNetworkType.UNKNOWN;
- if (cs instanceof CellSignalStrengthNr) {
- CellSignalStrengthNr ss = (CellSignalStrengthNr) cs;
- if (ss.getCsiRsrp() != UNAVAILABLE
- && ss.getCsiRsrq() != UNAVAILABLE
- && ss.getCsiSinr() != UNAVAILABLE
- && ss.getSsRsrp() != UNAVAILABLE
- && ss.getSsRsrq() != UNAVAILABLE
- && ss.getSsSinr() != UNAVAILABLE
- && ss.getCsiCqiTableIndex() != UNAVAILABLE) {
- accessNetwork = AccessNetworkType.NGRAN;
+ checkAndNotifySignalStrength(cs);
}
- } else if (cs instanceof CellSignalStrengthLte) {
- CellSignalStrengthLte ss = (CellSignalStrengthLte) cs;
- if (ss.getRssi() != UNAVAILABLE
- && ss.getRsrp() != UNAVAILABLE
- && ss.getRsrq() != UNAVAILABLE
- && ss.getRssnr() != UNAVAILABLE
- && ss.getCqiTableIndex() != UNAVAILABLE
- && ss.getCqi() != UNAVAILABLE
- && ss.getTimingAdvance() != UNAVAILABLE) {
- accessNetwork = AccessNetworkType.EUTRAN;
- }
- } else if (cs instanceof CellSignalStrengthWcdma) {
- CellSignalStrengthWcdma ss = (CellSignalStrengthWcdma) cs;
- if (ss.getDbm() != UNAVAILABLE && ss.getEcNo() != UNAVAILABLE) {
- accessNetwork = AccessNetworkType.UTRAN;
- }
- } else if (cs instanceof CellSignalStrengthCdma) {
- CellSignalStrengthCdma ss = (CellSignalStrengthCdma) cs;
- if (ss.getCdmaDbm() != UNAVAILABLE
- && ss.getCdmaEcio() != UNAVAILABLE
- && ss.getEvdoDbm() != UNAVAILABLE
- && ss.getEvdoEcio() != UNAVAILABLE
- && ss.getEvdoSnr() != UNAVAILABLE) {
- accessNetwork = AccessNetworkType.CDMA2000;
- }
- } else if (cs instanceof CellSignalStrengthGsm) {
- CellSignalStrengthGsm ss = (CellSignalStrengthGsm) cs;
- if (ss.getRssi() != UNAVAILABLE
- && ss.getBitErrorRate() != UNAVAILABLE
- && ss.getTimingAdvance() != UNAVAILABLE) {
- accessNetwork = AccessNetworkType.GERAN;
- }
- } else {
- Log.d(mTag, "Unknown signal strength :" + cs);
}
- return accessNetwork;
}
- private void checkAndNotifySignalStrength(
- CellSignalStrength cellSignalStrength, int accessNetwork) {
+ private void checkAndNotifySignalStrength(CellSignalStrength cellSignalStrength) {
Log.d(mTag, "CellSignalStrength Changed: " + cellSignalStrength);
int signalStrength;
@@ -238,11 +181,10 @@ class CellularQualityMonitor extends QualityMonitor {
List<Threshold> matchedThresholds = new ArrayList<>();
Threshold threshold;
for (Threshold th : entry.getValue()) {
- if (th.getAccessNetwork() != accessNetwork) continue;
signalStrength =
getSignalStrength(
th.getAccessNetwork(), th.getMeasurementType(), cellSignalStrength);
- if (th.isMatching(signalStrength)) {
+ if (signalStrength != UNAVAILABLE && th.isMatching(signalStrength)) {
threshold = th.copy();
threshold.setThreshold(signalStrength);
matchedThresholds.add(threshold);
@@ -451,7 +393,7 @@ class CellularQualityMonitor extends QualityMonitor {
}
private int getSignalStrength(int accessNetwork, int measurementType, CellSignalStrength css) {
- int signalStrength = SignalStrength.INVALID;
+ int signalStrength = UNAVAILABLE;
switch (measurementType) {
case SignalThresholdInfo.SIGNAL_MEASUREMENT_TYPE_RSSI:
if (accessNetwork == AccessNetworkType.GERAN