diff options
Diffstat (limited to 'telephony/java/android')
-rw-r--r-- | telephony/java/android/telephony/CellSignalStrengthCdma.java | 21 | ||||
-rw-r--r-- | telephony/java/android/telephony/CellSignalStrengthLte.java | 12 |
2 files changed, 21 insertions, 12 deletions
diff --git a/telephony/java/android/telephony/CellSignalStrengthCdma.java b/telephony/java/android/telephony/CellSignalStrengthCdma.java index 190fea2..c945094 100644 --- a/telephony/java/android/telephony/CellSignalStrengthCdma.java +++ b/telephony/java/android/telephony/CellSignalStrengthCdma.java @@ -331,10 +331,12 @@ public final class CellSignalStrengthCdma extends CellSignalStrength implements @Override public void writeToParcel(Parcel dest, int flags) { if (DBG) log("writeToParcel(Parcel, int): " + toString()); - dest.writeInt(mCdmaDbm); - dest.writeInt(mCdmaEcio); - dest.writeInt(mEvdoDbm); - dest.writeInt(mEvdoEcio); + // Need to multiply CdmaDbm, CdmaEcio, EvdoDbm and EvdoEcio by -1 + // to ensure consistency when reading values written here + dest.writeInt(mCdmaDbm * -1); + dest.writeInt(mCdmaEcio * -1); + dest.writeInt(mEvdoDbm * -1); + dest.writeInt(mEvdoEcio * -1); dest.writeInt(mEvdoSnr); } @@ -343,10 +345,13 @@ public final class CellSignalStrengthCdma extends CellSignalStrength implements * where the TYPE_LTE token is already been processed. */ private CellSignalStrengthCdma(Parcel in) { - mCdmaDbm = in.readInt(); - mCdmaEcio = in.readInt(); - mEvdoDbm = in.readInt(); - mEvdoEcio = in.readInt(); + // CdmaDbm, CdmaEcio, EvdoDbm and EvdoEcio are written into + // the parcel as positive values. + // Need to convert into negative values + mCdmaDbm = in.readInt() * -1; + mCdmaEcio = in.readInt() * -1; + mEvdoDbm = in.readInt() * -1; + mEvdoEcio = in.readInt() * -1; mEvdoSnr = in.readInt(); if (DBG) log("CellSignalStrengthCdma(Parcel): " + toString()); } diff --git a/telephony/java/android/telephony/CellSignalStrengthLte.java b/telephony/java/android/telephony/CellSignalStrengthLte.java index b456bb3..5a1559a 100644 --- a/telephony/java/android/telephony/CellSignalStrengthLte.java +++ b/telephony/java/android/telephony/CellSignalStrengthLte.java @@ -247,8 +247,10 @@ public final class CellSignalStrengthLte extends CellSignalStrength implements P public void writeToParcel(Parcel dest, int flags) { if (DBG) log("writeToParcel(Parcel, int): " + toString()); dest.writeInt(mSignalStrength); - dest.writeInt(mRsrp); - dest.writeInt(mRsrq); + // Need to multiply rsrp and rsrq by -1 + // to ensure consistency when reading values written here + dest.writeInt(mRsrp * -1); + dest.writeInt(mRsrq * -1); dest.writeInt(mRssnr); dest.writeInt(mCqi); dest.writeInt(mTimingAdvance); @@ -260,8 +262,10 @@ public final class CellSignalStrengthLte extends CellSignalStrength implements P */ private CellSignalStrengthLte(Parcel in) { mSignalStrength = in.readInt(); - mRsrp = in.readInt(); - mRsrq = in.readInt(); + // rsrp and rsrq are written into the parcel as positive values. + // Need to convert into negative values + mRsrp = in.readInt() * -1; + mRsrq = in.readInt() * -1; mRssnr = in.readInt(); mCqi = in.readInt(); mTimingAdvance = in.readInt(); |