summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Matthew Sedam <matthewsedam@google.com> 2024-07-04 18:19:40 +0000
committer Matthew Sedam <matthewsedam@google.com> 2024-07-04 18:20:14 +0000
commit5e3d677b9eb9ab7109767db6b0fb233302766e1c (patch)
treebc5f60d32534a6310ea0d8911cd88d7d91f1b56f
parentee9db8e964d68a9305c78b51d370ba71fd9f92c7 (diff)
Add hashCode() methods to ContextHub classes
Bug: 340880058 Change-Id: I2b598630919b13ba64c190568fac381ee843efa9 Flag: android.chre.flags.fix_api_check Test: Presubmits
-rw-r--r--core/java/android/hardware/location/ContextHubInfo.java15
-rw-r--r--core/java/android/hardware/location/ContextHubIntentEvent.java11
-rw-r--r--core/java/android/hardware/location/MemoryRegion.java13
-rw-r--r--core/java/android/hardware/location/NanoAppMessage.java12
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);
+ }
}