From 32e6d464f1c000702d8af137350b1336f9b7aec1 Mon Sep 17 00:00:00 2001 From: Jordan Liu Date: Thu, 8 Mar 2018 16:34:03 -0800 Subject: [PATCH] Fix mLteSignalStrength range check The previous check is wrong based on the spec, and does not match the HAL definition either. Change-Id: Idb1c209f11a76421d477f8a1d270e23d86d621b1 Fixes: 74026897 Test: manual --- telephony/java/android/telephony/SignalStrength.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/telephony/java/android/telephony/SignalStrength.java b/telephony/java/android/telephony/SignalStrength.java index 20740842f5427..3feec992be4e2 100644 --- a/telephony/java/android/telephony/SignalStrength.java +++ b/telephony/java/android/telephony/SignalStrength.java @@ -906,11 +906,8 @@ public class SignalStrength implements Parcelable { if (rsrpIconLevel != -1) return rsrpIconLevel; - /* Valid values are (0-63, 99) as defined in TS 36.331 */ - // TODO the range here is probably supposed to be (0..31, 99). It's unclear if anyone relies - // on the current incorrect range check, so this will be fixed in a future release with more - // soak time - if (mLteSignalStrength > 63) rssiIconLevel = SIGNAL_STRENGTH_NONE_OR_UNKNOWN; + /* Valid values are (0-31, 99) as defined in TS 27.007 8.5 */ + if (mLteSignalStrength > 31) rssiIconLevel = SIGNAL_STRENGTH_NONE_OR_UNKNOWN; else if (mLteSignalStrength >= 12) rssiIconLevel = SIGNAL_STRENGTH_GREAT; else if (mLteSignalStrength >= 8) rssiIconLevel = SIGNAL_STRENGTH_GOOD; else if (mLteSignalStrength >= 5) rssiIconLevel = SIGNAL_STRENGTH_MODERATE;