diff --git a/services/java/com/android/server/status/StatusBarPolicy.java b/services/java/com/android/server/status/StatusBarPolicy.java index 33e793b1c746d..5aed39690c30c 100644 --- a/services/java/com/android/server/status/StatusBarPolicy.java +++ b/services/java/com/android/server/status/StatusBarPolicy.java @@ -926,17 +926,16 @@ public class StatusBarPolicy { // Use Evdo icon evdoIconList = this.sSignalImages_evdo; - int evdoEcio = mSignalStrength.getEvdoEcio(); + int evdoDbm = mSignalStrength.getEvdoDbm(); int evdoSnr = mSignalStrength.getEvdoSnr(); - int levelEvdoEcio = 0; + int levelEvdoDbm = 0; int levelEvdoSnr = 0; - // Ec/Io are in dB*10 - if (evdoEcio >= -650) levelEvdoEcio = 4; - else if (evdoEcio >= -750) levelEvdoEcio = 3; - else if (evdoEcio >= -900) levelEvdoEcio = 2; - else if (evdoEcio >= -1050) levelEvdoEcio = 1; - else levelEvdoEcio = 0; + if (evdoDbm >= -65) levelEvdoDbm = 4; + else if (evdoDbm >= -75) levelEvdoDbm = 3; + else if (evdoDbm >= -90) levelEvdoDbm = 2; + else if (evdoDbm >= -105) levelEvdoDbm = 1; + else levelEvdoDbm = 0; if (evdoSnr > 7) levelEvdoSnr = 4; else if (evdoSnr > 5) levelEvdoSnr = 3; @@ -944,7 +943,7 @@ public class StatusBarPolicy { else if (evdoSnr > 1) levelEvdoSnr = 1; else levelEvdoSnr = 0; - evdoIconLevel = (levelEvdoEcio < levelEvdoSnr) ? levelEvdoEcio : levelEvdoSnr; + evdoIconLevel = (levelEvdoDbm < levelEvdoSnr) ? levelEvdoDbm : levelEvdoSnr; mPhoneEvdoData.iconId = evdoIconList[evdoIconLevel]; mService.updateIcon(mPhoneEvdoIcon, mPhoneEvdoData, null); diff --git a/telephony/java/com/android/internal/telephony/cdma/CdmaServiceStateTracker.java b/telephony/java/com/android/internal/telephony/cdma/CdmaServiceStateTracker.java index b22c80a811aee..6356473ea9f72 100644 --- a/telephony/java/com/android/internal/telephony/cdma/CdmaServiceStateTracker.java +++ b/telephony/java/com/android/internal/telephony/cdma/CdmaServiceStateTracker.java @@ -1074,7 +1074,7 @@ final class CdmaServiceStateTracker extends ServiceStateTracker { /** * send signal-strength-changed notification if changed - * Called both for solicited and unsolicited signal stength updates + * Called both for solicited and unsolicited signal strength updates */ private void onSignalStrengthResult(AsyncResult ar) { @@ -1087,15 +1087,15 @@ final class CdmaServiceStateTracker extends ServiceStateTracker { int[] ints = (int[])ar.result; int offset = 2; - int cdmaDbm = (ints[offset] > 0) ? -ints[offset] : -1; - int cdmaEcio = (ints[offset+1] > 0) ? -ints[offset+1] : -1; + int cdmaDbm = (ints[offset] > 0) ? -ints[offset] : -120; + int cdmaEcio = (ints[offset+1] > 0) ? -ints[offset+1] : -160; int evdoRssi = -1; int evdoEcio = -1; int evdoSnr = -1; if ((networkType == ServiceState.RADIO_TECHNOLOGY_EVDO_0) || (networkType == ServiceState.RADIO_TECHNOLOGY_EVDO_A)) { - evdoRssi = (ints[offset+2] > 0) ? -ints[offset+2] : -1; + evdoRssi = (ints[offset+2] > 0) ? -ints[offset+2] : -120; evdoEcio = (ints[offset+3] > 0) ? -ints[offset+3] : -1; evdoSnr = ((ints[offset+4] > 0) && (ints[offset+4] <= 8)) ? ints[offset+4] : -1; }