OSDN Git Service

Merge "Customize the WCDMA signal strength based on RSCP"
authorJordan Liu <jminjie@google.com>
Tue, 6 Mar 2018 18:54:56 +0000 (18:54 +0000)
committerGerrit Code Review <noreply-gerritcodereview@google.com>
Tue, 6 Mar 2018 18:54:56 +0000 (18:54 +0000)
1  2 
telephony/java/android/telephony/CarrierConfigManager.java
telephony/java/android/telephony/SignalStrength.java

@@@ -311,17 -370,26 +370,26 @@@ public class SignalStrength implements 
          if (DBG) log("Signal before validate=" + this);
          // TS 27.007 8.5
          mGsmSignalStrength = mGsmSignalStrength >= 0 ? mGsmSignalStrength : 99;
+         mWcdmaSignalStrength = (mWcdmaSignalStrength >= 0) ? mWcdmaSignalStrength : 99;
+         mLteSignalStrength = (mLteSignalStrength >= 0) ? mLteSignalStrength : 99;
          // BER no change;
  
+         // WCDMA RSCP valid values are -120 through -24 as defined in TS 27.007 8.69
+         // but are reported in ASU which is 0 through 96, so we do the conversion here
+         mWcdmaRscpAsu =
+                 ((mWcdmaRscpAsu - 120 >= MIN_WCDMA_RSCP) && (mWcdmaRscpAsu - 120 <= MAX_WCDMA_RSCP))
+                 ? mWcdmaRscpAsu : INVALID;
+         mWcdmaRscp = ((mWcdmaRscp >= MIN_WCDMA_RSCP) && (mWcdmaRscp <= MAX_WCDMA_RSCP))
+                 ? mWcdmaRscp : INVALID;
          mCdmaDbm = mCdmaDbm > 0 ? -mCdmaDbm : -120;
 -        mCdmaEcio = (mCdmaEcio > 0) ? -mCdmaEcio : -160;
 +        mCdmaEcio = (mCdmaEcio >= 0) ? -mCdmaEcio : -160;
  
          mEvdoDbm = (mEvdoDbm > 0) ? -mEvdoDbm : -120;
 -        mEvdoEcio = (mEvdoEcio >= 0) ? -mEvdoEcio : -1;
 -        mEvdoSnr = ((mEvdoSnr > 0) && (mEvdoSnr <= 8)) ? mEvdoSnr : -1;
 +        mEvdoEcio = (mEvdoEcio >= 0) ? -mEvdoEcio : -160;
 +        mEvdoSnr = ((mEvdoSnr >= 0) && (mEvdoSnr <= 8)) ? mEvdoSnr : -1;
  
          // TS 36.214 Physical Layer Section 5.1.3, TS 36.331 RRC
-         mLteSignalStrength = (mLteSignalStrength >= 0) ? mLteSignalStrength : 99;
          mLteRsrp = ((-mLteRsrp >= MIN_LTE_RSRP) && (-mLteRsrp <= MAX_LTE_RSRP)) ? -mLteRsrp
                  : SignalStrength.INVALID;
          mLteRsrq = ((mLteRsrq >= 3) && (mLteRsrq <= 20)) ? -mLteRsrq : SignalStrength.INVALID;