From 017e7f90eea67b0ecd002d1ab193f60238ad0555 Mon Sep 17 00:00:00 2001 From: Nathan Harold Date: Mon, 29 Jan 2018 17:17:10 -0800 Subject: [PATCH] Update hashCode in CellSignalStrength classes The CellSignalStrength hashCode function was using a fairly ineffective method of hashing. An External reporter requested that we fix it. This CL moves to using the Objects.hash() implementation. Bug: 22479413 Test: compilation Change-Id: Ic017ba54ef757fd3ec3e5000ac61108dd836bd8a --- .../java/android/telephony/CellSignalStrengthCdma.java | 6 +++--- .../java/android/telephony/CellSignalStrengthGsm.java | 5 +++-- .../java/android/telephony/CellSignalStrengthLte.java | 7 +++---- .../java/android/telephony/CellSignalStrengthWcdma.java | 5 +++-- 4 files changed, 12 insertions(+), 11 deletions(-) diff --git a/telephony/java/android/telephony/CellSignalStrengthCdma.java b/telephony/java/android/telephony/CellSignalStrengthCdma.java index 047436207ada9..dfaaab9180125 100644 --- a/telephony/java/android/telephony/CellSignalStrengthCdma.java +++ b/telephony/java/android/telephony/CellSignalStrengthCdma.java @@ -20,6 +20,8 @@ import android.os.Parcel; import android.os.Parcelable; import android.telephony.Rlog; +import java.util.Objects; + /** * Signal strength related information. */ @@ -293,9 +295,7 @@ public final class CellSignalStrengthCdma extends CellSignalStrength implements @Override public int hashCode() { - int primeNum = 31; - return ((mCdmaDbm * primeNum) + (mCdmaEcio * primeNum) - + (mEvdoDbm * primeNum) + (mEvdoEcio * primeNum) + (mEvdoSnr * primeNum)); + return Objects.hash(mCdmaDbm, mCdmaEcio, mEvdoDbm, mEvdoEcio, mEvdoSnr); } @Override diff --git a/telephony/java/android/telephony/CellSignalStrengthGsm.java b/telephony/java/android/telephony/CellSignalStrengthGsm.java index 4137853e79aa8..f68d2cad12260 100644 --- a/telephony/java/android/telephony/CellSignalStrengthGsm.java +++ b/telephony/java/android/telephony/CellSignalStrengthGsm.java @@ -20,6 +20,8 @@ import android.os.Parcel; import android.os.Parcelable; import android.telephony.Rlog; +import java.util.Objects; + /** * GSM signal strength related information. */ @@ -185,8 +187,7 @@ public final class CellSignalStrengthGsm extends CellSignalStrength implements P @Override public int hashCode() { - int primeNum = 31; - return (mSignalStrength * primeNum) + (mBitErrorRate * primeNum); + return Objects.hash(mSignalStrength, mBitErrorRate, mTimingAdvance); } @Override diff --git a/telephony/java/android/telephony/CellSignalStrengthLte.java b/telephony/java/android/telephony/CellSignalStrengthLte.java index 0d07a40822d4c..6ffc8b6e497c3 100644 --- a/telephony/java/android/telephony/CellSignalStrengthLte.java +++ b/telephony/java/android/telephony/CellSignalStrengthLte.java @@ -20,6 +20,8 @@ import android.os.Parcel; import android.os.Parcelable; import android.telephony.Rlog; +import java.util.Objects; + /** * LTE signal strength related information. */ @@ -231,10 +233,7 @@ public final class CellSignalStrengthLte extends CellSignalStrength implements P @Override public int hashCode() { - int primeNum = 31; - return (mSignalStrength * primeNum) + (mRsrp * primeNum) - + (mRsrq * primeNum) + (mRssnr * primeNum) + (mCqi * primeNum) - + (mTimingAdvance * primeNum); + return Objects.hash(mSignalStrength, mRsrp, mRsrq, mRssnr, mCqi, mTimingAdvance); } @Override diff --git a/telephony/java/android/telephony/CellSignalStrengthWcdma.java b/telephony/java/android/telephony/CellSignalStrengthWcdma.java index b94b01da87bba..2cd56b8500a67 100644 --- a/telephony/java/android/telephony/CellSignalStrengthWcdma.java +++ b/telephony/java/android/telephony/CellSignalStrengthWcdma.java @@ -20,6 +20,8 @@ import android.os.Parcel; import android.os.Parcelable; import android.telephony.Rlog; +import java.util.Objects; + /** * Wcdma signal strength related information. */ @@ -156,8 +158,7 @@ public final class CellSignalStrengthWcdma extends CellSignalStrength implements @Override public int hashCode() { - int primeNum = 31; - return (mSignalStrength * primeNum) + (mBitErrorRate * primeNum); + return Objects.hash(mSignalStrength, mBitErrorRate); } @Override