summaryrefslogtreecommitdiffstats
path: root/telephony/java/android/telephony/SignalStrength.java
diff options
context:
space:
mode:
Diffstat (limited to 'telephony/java/android/telephony/SignalStrength.java')
-rw-r--r--telephony/java/android/telephony/SignalStrength.java9
1 files changed, 6 insertions, 3 deletions
diff --git a/telephony/java/android/telephony/SignalStrength.java b/telephony/java/android/telephony/SignalStrength.java
index f801010..098a3a5 100644
--- a/telephony/java/android/telephony/SignalStrength.java
+++ b/telephony/java/android/telephony/SignalStrength.java
@@ -455,9 +455,10 @@ public class SignalStrength implements Parcelable {
int level;
if (isGsm) {
+ boolean lteChecks = (getLteRsrp() == INVALID && getLteRsrq() == INVALID && getLteRssnr() == INVALID && getLteSignalStrenght() == 99);
boolean oldRil = needsOldRilFeature("signalstrength");
level = getLteLevel();
- if (level == SIGNAL_STRENGTH_NONE_OR_UNKNOWN || oldRil) {
+ if ((level == SIGNAL_STRENGTH_NONE_OR_UNKNOWN && getGsmAsuLevel() != 99 && lteChecks) || oldRil) {
level = getGsmLevel();
}
} else {
@@ -487,7 +488,8 @@ public class SignalStrength implements Parcelable {
int asuLevel;
if (isGsm) {
boolean oldRil = needsOldRilFeature("signalstrength");
- if (getLteLevel() == SIGNAL_STRENGTH_NONE_OR_UNKNOWN || oldRil) {
+ boolean lteChecks = (getLteRsrp() == INVALID && getLteRsrq() == INVALID && getLteRssnr() == INVALID && getLteSignalStrenght() == 99);
+ if ((getLteLevel() == SIGNAL_STRENGTH_NONE_OR_UNKNOWN && getGsmAsuLevel() != 99 && lteChecks) || oldRil) {
asuLevel = getGsmAsuLevel();
} else {
asuLevel = getLteAsuLevel();
@@ -520,7 +522,8 @@ public class SignalStrength implements Parcelable {
if(isGsm()) {
boolean oldRil = needsOldRilFeature("signalstrength");
- if (getLteLevel() == SIGNAL_STRENGTH_NONE_OR_UNKNOWN || oldRil) {
+ boolean lteChecks = (getLteRsrp() == INVALID && getLteRsrq() == INVALID && getLteRssnr() == INVALID && getLteSignalStrenght() == 99);
+ if ((getLteLevel() == SIGNAL_STRENGTH_NONE_OR_UNKNOWN && getGsmAsuLevel() != 99 && lteChecks) || oldRil) {
dBm = getGsmDbm();
} else {
dBm = getLteDbm();