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

Commit cef8f660 authored by Yifei Zhang's avatar Yifei Zhang
Browse files

contexthub: specify size for requestSessionIdRange

Test: build
Flag: N/A
Bug: 361830233
Change-Id: Ifaaff94cb791e2828082af1b6ea49e9afd346c22
parent 9ab096da
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -54,7 +54,7 @@ interface IContextHub {
  void registerEndpoint(in android.hardware.contexthub.EndpointInfo endpoint);
  void unregisterEndpoint(in android.hardware.contexthub.EndpointInfo endpoint);
  void registerEndpointCallback(in android.hardware.contexthub.IEndpointCallback callback);
  int[] requestSessionIdRange(int size);
  int[2] requestSessionIdRange(int size);
  void openEndpointSession(int sessionId, in android.hardware.contexthub.EndpointId destination, in android.hardware.contexthub.EndpointId initiator, in @nullable String serviceDescriptor);
  void sendMessageToEndpoint(int sessionId, in android.hardware.contexthub.Message msg);
  void sendMessageDeliveryStatusToEndpoint(int sessionId, in android.hardware.contexthub.MessageDeliveryStatus msgStatus);
+1 −1
Original line number Diff line number Diff line
@@ -303,7 +303,7 @@ interface IContextHub {
     * @throws EX_ILLEGAL_ARGUMENT if the size is invalid.
     * @throws EX_SERVICE_SPECIFIC if the id range requested cannot be allocated.
     */
    int[] requestSessionIdRange(int size);
    int[2] requestSessionIdRange(int size);

    /**
     * Request to open a session for communication between an endpoint previously registered by the
+3 −3
Original line number Diff line number Diff line
@@ -286,7 +286,7 @@ ScopedAStatus ContextHub::registerEndpointCallback(
};

ScopedAStatus ContextHub::requestSessionIdRange(int32_t in_size,
                                                std::vector<int32_t>* _aidl_return) {
                                                std::array<int32_t, 2>* _aidl_return) {
    constexpr int32_t kMaxSize = 1024;
    if (in_size > kMaxSize || _aidl_return == nullptr) {
        return ScopedAStatus::fromExceptionCode(EX_ILLEGAL_ARGUMENT);
@@ -297,8 +297,8 @@ ScopedAStatus ContextHub::requestSessionIdRange(int32_t in_size,
        mMaxValidSessionId = in_size;
    }

    _aidl_return->push_back(0);
    _aidl_return->push_back(in_size);
    _aidl_return->at(0) = 0;
    _aidl_return->at(1) = in_size;
    return ScopedAStatus::ok();
};

+1 −1
Original line number Diff line number Diff line
@@ -61,7 +61,7 @@ class ContextHub : public BnContextHub {
    ::ndk::ScopedAStatus registerEndpointCallback(
            const std::shared_ptr<IEndpointCallback>& in_callback) override;
    ::ndk::ScopedAStatus requestSessionIdRange(int32_t in_size,
                                               std::vector<int32_t>* _aidl_return) override;
                                               std::array<int32_t, 2>* _aidl_return) override;
    ::ndk::ScopedAStatus openEndpointSession(
            int32_t in_sessionId, const EndpointId& in_destination, const EndpointId& in_initiator,
            const std::optional<std::string>& in_serviceDescriptor) override;
+2 −2
Original line number Diff line number Diff line
@@ -684,7 +684,7 @@ TEST_P(ContextHubAidl, OpenEndpointSessionInvalidRange) {

    // Request the range
    constexpr int32_t requestedRange = 100;
    std::vector<int32_t> range;
    std::array<int32_t, 2> range;
    ASSERT_TRUE(contextHub->requestSessionIdRange(requestedRange, &range).isOk());
    EXPECT_EQ(range.size(), 2);
    EXPECT_GE(range[1] - range[0] + 1, requestedRange);
@@ -737,7 +737,7 @@ TEST_P(ContextHubAidl, OpenEndpointSessionAndSendMessageEchoesBack) {

    // Request the range
    constexpr int32_t requestedRange = 100;
    std::vector<int32_t> range;
    std::array<int32_t, 2> range;
    ASSERT_TRUE(contextHub->requestSessionIdRange(requestedRange, &range).isOk());
    EXPECT_EQ(range.size(), 2);
    EXPECT_GE(range[1] - range[0] + 1, requestedRange);