diff options
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)); } /** |