Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 62d90b49 authored by Arthur Ishiguro's avatar Arthur Ishiguro
Browse files

Use constructors instead of factory methods in HubMessage

Bug: 383758665
Bug: 383758908
API-Coverage-Bug: 377554469
Flag: android.chre.flags.offload_api
Test: Compile
Change-Id: I43d2be12cdfdddcec852a03ee94f9b6f45202514
parent 8c5fe5c3
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -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 {
+20 −38
Original line number Diff line number Diff line
@@ -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();
    }

+2 −4
Original line number Diff line number Diff line
@@ -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));
    }

    /**