summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/api/system-current.txt7
-rw-r--r--core/java/android/hardware/contexthub/HubMessage.java58
-rw-r--r--services/core/java/com/android/server/location/contexthub/ContextHubServiceUtil.java6
3 files changed, 25 insertions, 46 deletions
diff --git a/core/api/system-current.txt b/core/api/system-current.txt
index d5cb6c034699..30b97804f864 100644
--- a/core/api/system-current.txt
+++ b/core/api/system-current.txt
@@ -5155,8 +5155,8 @@ package android.hardware.contexthub {
}
@FlaggedApi("android.chre.flags.offload_api") public final class HubMessage implements android.os.Parcelable {
- method @NonNull public static android.hardware.contexthub.HubMessage createMessage(int, @NonNull byte[]);
- method @NonNull public static android.hardware.contexthub.HubMessage createMessage(int, @NonNull byte[], @NonNull android.hardware.contexthub.HubMessage.DeliveryParams);
+ ctor public HubMessage(int, @NonNull byte[]);
+ ctor public HubMessage(int, @NonNull byte[], @NonNull android.hardware.contexthub.HubMessage.DeliveryParams);
method public int describeContents();
method @NonNull public byte[] getMessageBody();
method public int getMessageType();
@@ -5165,9 +5165,8 @@ package android.hardware.contexthub {
}
public static class HubMessage.DeliveryParams {
+ ctor public HubMessage.DeliveryParams(boolean);
method public boolean isResponseRequired();
- method @NonNull public static android.hardware.contexthub.HubMessage.DeliveryParams makeBasic();
- method @NonNull public android.hardware.contexthub.HubMessage.DeliveryParams setResponseRequired(boolean);
}
@FlaggedApi("android.chre.flags.offload_api") public final class HubServiceInfo implements android.os.Parcelable {
diff --git a/core/java/android/hardware/contexthub/HubMessage.java b/core/java/android/hardware/contexthub/HubMessage.java
index dc8a8c52ea55..6373bbad9f25 100644
--- a/core/java/android/hardware/contexthub/HubMessage.java
+++ b/core/java/android/hardware/contexthub/HubMessage.java
@@ -49,9 +49,14 @@ public final class HubMessage implements Parcelable {
* HubEndpointSession#sendMessage} to specify the behavior of message delivery.
*/
public static class DeliveryParams {
- private boolean mResponseRequired;
+ private final boolean mResponseRequired;
- private DeliveryParams(boolean responseRequired) {
+ /**
+ * @param responseRequired If true, message sent with this option will have a {@link
+ * android.hardware.location.ContextHubTransaction.Response} when the peer received the
+ * message.
+ */
+ public DeliveryParams(boolean responseRequired) {
mResponseRequired = responseRequired;
}
@@ -60,23 +65,6 @@ public final class HubMessage implements Parcelable {
return mResponseRequired;
}
- /**
- * Set the response requirement for a message. Message sent with this option will have a
- * {@link android.hardware.location.ContextHubTransaction.Response} when the peer received
- * the message. Default is false.
- */
- @NonNull
- public DeliveryParams setResponseRequired(boolean required) {
- mResponseRequired = required;
- return this;
- }
-
- /** Construct a default delivery option. */
- @NonNull
- public static DeliveryParams makeBasic() {
- return new DeliveryParams(false);
- }
-
@Override
public String toString() {
StringBuilder out = new StringBuilder();
@@ -105,37 +93,32 @@ public final class HubMessage implements Parcelable {
}
}
- private HubMessage(int messageType, byte[] messageBody, DeliveryParams deliveryParams) {
- mMessageType = messageType;
- mMessageBody = messageBody;
- mDeliveryParams = deliveryParams;
- }
-
/**
- * Creates a HubMessage object to send to through an endpoint.
+ * Default constructor for HubMessage with no response required.
*
* @param messageType the endpoint & service dependent message type
* @param messageBody the byte array message contents
- * @return the HubMessage object
*/
- @NonNull
- public static HubMessage createMessage(int messageType, @NonNull byte[] messageBody) {
- return new HubMessage(messageType, messageBody, DeliveryParams.makeBasic());
+ public HubMessage(int messageType, @NonNull byte[] messageBody) {
+ Objects.requireNonNull(messageBody, "messageBody cannot be null");
+ mMessageType = messageType;
+ mMessageBody = messageBody;
+ mDeliveryParams = new DeliveryParams(/* responseRequired= */ false);
}
/**
- * Creates a HubMessage object to send to through an endpoint.
- *
* @param messageType the endpoint & service dependent message type
* @param messageBody the byte array message contents
* @param deliveryParams The message delivery parameters. See {@link HubMessage.DeliveryParams}
* for more details.
- * @return the HubMessage object
*/
- @NonNull
- public static HubMessage createMessage(
+ public HubMessage(
int messageType, @NonNull byte[] messageBody, @NonNull DeliveryParams deliveryParams) {
- return new HubMessage(messageType, messageBody, deliveryParams);
+ Objects.requireNonNull(messageBody, "messageBody cannot be null");
+ Objects.requireNonNull(deliveryParams, "deliveryParams cannot be null");
+ mMessageType = messageType;
+ mMessageBody = messageBody;
+ mDeliveryParams = deliveryParams;
}
/**
@@ -192,8 +175,7 @@ public final class HubMessage implements Parcelable {
mMessageBody = new byte[msgSize];
in.readByteArray(mMessageBody);
- mDeliveryParams = DeliveryParams.makeBasic();
- mDeliveryParams.setResponseRequired(in.readInt() == 1);
+ mDeliveryParams = new DeliveryParams(in.readInt() == 1);
mMessageSequenceNumber = in.readInt();
}
diff --git a/services/core/java/com/android/server/location/contexthub/ContextHubServiceUtil.java b/services/core/java/com/android/server/location/contexthub/ContextHubServiceUtil.java
index 957307a787b1..ff40eec0d6c8 100644
--- a/services/core/java/com/android/server/location/contexthub/ContextHubServiceUtil.java
+++ b/services/core/java/com/android/server/location/contexthub/ContextHubServiceUtil.java
@@ -502,10 +502,8 @@ import java.util.List;
/* package */
static HubMessage createHubMessage(Message message) {
boolean isReliable = (message.flags & Message.FLAG_REQUIRES_DELIVERY_STATUS) != 0;
- return HubMessage.createMessage(
- message.type,
- message.content,
- HubMessage.DeliveryParams.makeBasic().setResponseRequired(isReliable));
+ return new HubMessage(
+ message.type, message.content, new HubMessage.DeliveryParams(isReliable));
}
/**