diff options
author | Yong Zhang <yzhang@motorola.com> | 2009-07-22 17:25:30 -0500 |
---|---|---|
committer | Wink Saville <wink@google.com> | 2009-07-29 20:39:52 -0700 |
commit | 96f2747dd6fabd998619524bcff4a44502a64bbd (patch) | |
tree | a1a04df65bdf3f1c1218b12612630c85a85d6b63 /telephony | |
parent | 206b7b1709e98952576821cd2ee8867f2265b6aa (diff) | |
download | frameworks_base-96f2747dd6fabd998619524bcff4a44502a64bbd.zip frameworks_base-96f2747dd6fabd998619524bcff4a44502a64bbd.tar.gz frameworks_base-96f2747dd6fabd998619524bcff4a44502a64bbd.tar.bz2 |
Fix wrong Singal Strength interpretation.
The issue this change fixes is that phone status bar shows full
signal strength bar even when phone is in bad signal area. The
root cause is that the signal strenth is incorrectly interpreted.
Diffstat (limited to 'telephony')
-rw-r--r-- | telephony/java/com/android/internal/telephony/cdma/CdmaServiceStateTracker.java | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/telephony/java/com/android/internal/telephony/cdma/CdmaServiceStateTracker.java b/telephony/java/com/android/internal/telephony/cdma/CdmaServiceStateTracker.java index b22c80a..6356473 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; } |