diff options
| author | 2024-07-04 18:19:40 +0000 | |
|---|---|---|
| committer | 2024-07-04 18:20:14 +0000 | |
| commit | 5e3d677b9eb9ab7109767db6b0fb233302766e1c (patch) | |
| tree | bc5f60d32534a6310ea0d8911cd88d7d91f1b56f | |
| parent | ee9db8e964d68a9305c78b51d370ba71fd9f92c7 (diff) | |
Add hashCode() methods to ContextHub classes
Bug: 340880058
Change-Id: I2b598630919b13ba64c190568fac381ee843efa9
Flag: android.chre.flags.fix_api_check
Test: Presubmits
4 files changed, 51 insertions, 0 deletions
diff --git a/core/java/android/hardware/location/ContextHubInfo.java b/core/java/android/hardware/location/ContextHubInfo.java index 5012a792af74..7353d76b479a 100644 --- a/core/java/android/hardware/location/ContextHubInfo.java +++ b/core/java/android/hardware/location/ContextHubInfo.java @@ -26,6 +26,7 @@ import android.os.Parcelable; import android.util.proto.ProtoOutputStream; import java.util.Arrays; +import java.util.Objects; /** * @hide @@ -370,6 +371,20 @@ public class ContextHubInfo implements Parcelable { return isEqual; } + @Override + public int hashCode() { + if (!Flags.fixApiCheck()) { + return super.hashCode(); + } + + return Objects.hash(mId, mName, mVendor, mToolchain, mToolchainVersion, + getStaticSwVersion(), mChrePlatformId, mPeakMips, + mStoppedPowerDrawMw, mSleepPowerDrawMw, mPeakPowerDrawMw, + mMaxPacketLengthBytes, mSupportsReliableMessages, + Arrays.hashCode(mSupportedSensors), + Arrays.hashCode(mMemoryRegions)); + } + private ContextHubInfo(Parcel in) { mId = in.readInt(); mName = in.readString(); diff --git a/core/java/android/hardware/location/ContextHubIntentEvent.java b/core/java/android/hardware/location/ContextHubIntentEvent.java index 06c533401e27..002c683831da 100644 --- a/core/java/android/hardware/location/ContextHubIntentEvent.java +++ b/core/java/android/hardware/location/ContextHubIntentEvent.java @@ -19,6 +19,7 @@ import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.SystemApi; import android.app.PendingIntent; +import android.chre.flags.Flags; import android.content.Intent; import java.util.Objects; @@ -275,6 +276,16 @@ public class ContextHubIntentEvent { return isEqual; } + @Override + public int hashCode() { + if (!Flags.fixApiCheck()) { + return super.hashCode(); + } + + return Objects.hash(mEventType, mContextHubInfo, mNanoAppId, + mNanoAppMessage, mNanoAppAbortCode, mClientAuthorizationState); + } + private static void hasExtraOrThrow(Intent intent, String extra) { if (!intent.hasExtra(extra)) { throw new IllegalArgumentException("Intent did not have extra: " + extra); diff --git a/core/java/android/hardware/location/MemoryRegion.java b/core/java/android/hardware/location/MemoryRegion.java index c033228441b1..d95894fca217 100644 --- a/core/java/android/hardware/location/MemoryRegion.java +++ b/core/java/android/hardware/location/MemoryRegion.java @@ -19,9 +19,12 @@ package android.hardware.location; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.SystemApi; +import android.chre.flags.Flags; import android.os.Parcel; import android.os.Parcelable; +import java.util.Objects; + /** * @hide */ @@ -128,6 +131,16 @@ public class MemoryRegion implements Parcelable{ } @Override + public int hashCode() { + if (!Flags.fixApiCheck()) { + return super.hashCode(); + } + + return Objects.hash(mSizeBytes, mSizeBytesFree, mIsReadable, + mIsWritable, mIsExecutable); + } + + @Override public int describeContents() { return 0; } diff --git a/core/java/android/hardware/location/NanoAppMessage.java b/core/java/android/hardware/location/NanoAppMessage.java index 905caf02fc46..85a5d45a6ae9 100644 --- a/core/java/android/hardware/location/NanoAppMessage.java +++ b/core/java/android/hardware/location/NanoAppMessage.java @@ -26,6 +26,7 @@ import android.os.Parcelable; import libcore.util.HexEncoding; import java.util.Arrays; +import java.util.Objects; /** * A class describing messages send to or from nanoapps through the Context Hub Service. @@ -273,4 +274,15 @@ public final class NanoAppMessage implements Parcelable { return isEqual; } + + @Override + public int hashCode() { + if (!Flags.fixApiCheck()) { + return super.hashCode(); + } + + return Objects.hash(mNanoAppId, mMessageType, mIsBroadcasted, + Arrays.hashCode(mMessageBody), mIsReliable, + mMessageSequenceNumber); + } } |