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

Commit e2913d09 authored by James.cf Lin's avatar James.cf Lin
Browse files

Fix the maximum concurrent number of capabilities request doesn't work

When the request is running, it doesn't be put to the executing collection.
Therefore, the checking function always think that there is no request running.

Bug: 185383485
Test: atest -c CtsTelephonyTestCases:android.telephony.ims.cts.RcsUceAdapterTest
Change-Id: I1bf563b69f7d9c08413ad19e12b4eb2880c9c74a
parent a7853f67
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -174,19 +174,25 @@ public class UceRequestDispatcher {
            baseTime = Instant.now();
        }

        StringBuilder builder = new StringBuilder("notifyStartOfRequest: taskId=");
        for (int i = 0; i < requestList.size(); i++) {
            Instant startExecutingTime = baseTime.plusMillis((mIntervalTime * i));
            Request request = requestList.get(i);
            request.setExecutingTime(startExecutingTime);

            // Add the request to the executing collection
            mExecutingRequests.add(request);

            // Notify RequestManager to execute this task.
            long taskId = request.getTaskId();
            long coordId = request.getCoordinatorId();
            long delayTime = getDelayTime(startExecutingTime);
            mRequestManagerCallback.notifySendingRequest(coordId, taskId, delayTime);
            logd("notifyStartOfRequest: taskId=" + request.getTaskId()
                    + ", startingTime=" + startExecutingTime
                    + ", delayTime=" + delayTime);

            builder.append(request.getTaskId() + ", ");
        }
        builder.append("ExecutingRequests size=" + mExecutingRequests.size());
        logd(builder.toString());
    }

    private Instant getLastRequestTime() {