From 23fcf56454f087c2ce00fb5d1014f7cbd91621ce Mon Sep 17 00:00:00 2001 From: Soonil Nagarkar Date: Tue, 11 Feb 2020 19:21:01 -0800 Subject: [PATCH] Add equals/hashcode for GnssStatus Will help substantially with testing. Test: presubmits Change-Id: If1e5a3214c17b75a4cd47de85cfc0af5e62f9866 --- .../java/android/location/GnssStatus.java | 33 +++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/location/java/android/location/GnssStatus.java b/location/java/android/location/GnssStatus.java index f17fa399dace5..4d01cdc8dac39 100644 --- a/location/java/android/location/GnssStatus.java +++ b/location/java/android/location/GnssStatus.java @@ -24,6 +24,8 @@ import android.annotation.NonNull; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.ArrayList; +import java.util.Arrays; +import java.util.Objects; /** * This class represents the current state of the GNSS engine and is used in conjunction with @@ -339,6 +341,33 @@ public final class GnssStatus { } } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof GnssStatus)) { + return false; + } + + GnssStatus that = (GnssStatus) o; + return mSvCount == that.mSvCount + && Arrays.equals(mSvidWithFlags, that.mSvidWithFlags) + && Arrays.equals(mCn0DbHzs, that.mCn0DbHzs) + && Arrays.equals(mElevations, that.mElevations) + && Arrays.equals(mAzimuths, that.mAzimuths) + && Arrays.equals(mCarrierFrequencies, that.mCarrierFrequencies) + && Arrays.equals(mBasebandCn0DbHzs, that.mBasebandCn0DbHzs); + } + + @Override + public int hashCode() { + int result = Objects.hash(mSvCount); + result = 31 * result + Arrays.hashCode(mSvidWithFlags); + result = 31 * result + Arrays.hashCode(mCn0DbHzs); + return result; + } + /** * Builder class to help create new GnssStatus instances. */ @@ -451,8 +480,8 @@ public final class GnssStatus { mCn0DbHz = cn0DbHz; mElevation = elevation; mAzimuth = azimuth; - mCarrierFrequency = carrierFrequency; - mBasebandCn0DbHz = basebandCn0DbHz; + mCarrierFrequency = hasCarrierFrequency ? carrierFrequency : 0; + mBasebandCn0DbHz = hasBasebandCn0DbHz ? basebandCn0DbHz : 0; } } }