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

Commit 310daf5b authored by James.cf Lin's avatar James.cf Lin Committed by Automerger Merge Worker
Browse files

Update the collection type of feature tags from List to Set am: 78a8467f

Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/net/ims/+/1649307

Change-Id: I361d2eca84efe4e93ada2caf01886dd82fe053bd
parents bff1dfe8 78a8467f
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -637,18 +637,18 @@ public class EabControllerImpl implements EabController {
        Uri result = mContext.getContentResolver().insert(EabProvider.COMMON_URI, contentValues);

        int commonId = Integer.valueOf(result.getLastPathSegment());
        ContentValues[] optionContent =
                new ContentValues[capability.getOptionsFeatureTags().size()];

        for (int i = 0; i < optionContent.length; i++) {
            String feature = capability.getOptionsFeatureTags().get(i);
        List<ContentValues> optionContentList = new ArrayList<>();
        for (String feature : capability.getFeatureTags()) {
            contentValues = new ContentValues();
            contentValues.put(EabProvider.OptionsColumns.EAB_COMMON_ID, commonId);
            contentValues.put(EabProvider.OptionsColumns.FEATURE_TAG, feature);
            contentValues.put(EabProvider.OptionsColumns.REQUEST_TIMESTAMP,
                    Instant.now().getEpochSecond());
            optionContent[i] = contentValues;
            optionContentList.add(contentValues);
        }

        ContentValues[] optionContent = new ContentValues[optionContentList.size()];
        optionContent = optionContentList.toArray(optionContent);
        mContext.getContentResolver().bulkInsert(EabProvider.OPTIONS_URI, optionContent);
    }

+2 −2
Original line number Diff line number Diff line
@@ -23,7 +23,7 @@ import android.telephony.ims.aidl.IOptionsResponseCallback;

import com.android.ims.rcs.uce.ControllerBase;

import java.util.List;
import java.util.Set;

/**
 * The interface to define the operations of the SIP OPTIONS
@@ -35,6 +35,6 @@ public interface OptionsController extends ControllerBase {
     * @param deviceFeatureTags The feature tags of the device's capabilities.
     * @param c The response callback of the OPTIONS capabilities request.
     */
    void sendCapabilitiesRequest(@NonNull Uri contactUri, @NonNull List<String> deviceFeatureTags,
    void sendCapabilitiesRequest(@NonNull Uri contactUri, @NonNull Set<String> deviceFeatureTags,
            @NonNull IOptionsResponseCallback c) throws RemoteException;
}
+5 −4
Original line number Diff line number Diff line
@@ -27,7 +27,8 @@ import android.util.Log;
import com.android.ims.RcsFeatureManager;
import com.android.ims.rcs.uce.util.UceUtils;

import java.util.List;
import java.util.ArrayList;
import java.util.Set;

/**
 * The implementation of OptionsController.
@@ -67,8 +68,7 @@ public class OptionsControllerImpl implements OptionsController {
        // Nothing required here.
    }

    @Override
    public void sendCapabilitiesRequest(Uri contactUri, @NonNull List<String> deviceFeatureTags,
    public void sendCapabilitiesRequest(Uri contactUri, @NonNull Set<String> deviceFeatureTags,
            IOptionsResponseCallback c) throws RemoteException {

        if (mIsDestroyedFlag) {
@@ -82,6 +82,7 @@ public class OptionsControllerImpl implements OptionsController {
            return;
        }

        featureManager.sendOptionsCapabilityRequest(contactUri, deviceFeatureTags, c);
        featureManager.sendOptionsCapabilityRequest(contactUri, new ArrayList<>(deviceFeatureTags),
            c);
    }
}
+5 −3
Original line number Diff line number Diff line
@@ -32,9 +32,11 @@ import com.android.ims.rcs.uce.util.UceUtils;

import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.Set;
import java.util.stream.Collectors;

/**
@@ -78,7 +80,7 @@ public class CapabilityRequestResponse {
    private final List<RcsContactUceCapability> mUpdatedCapabilityList;

    // The list of the remote contact's capability.
    private final List<String> mRemoteCaps;
    private final Set<String> mRemoteCaps;

    // The callback to notify the result of this request.
    public IRcsUceControllerCallback mCapabilitiesCallback;
@@ -93,7 +95,7 @@ public class CapabilityRequestResponse {
        mRetryAfterMillis = Optional.of(0L);
        mTerminatedResource = new ArrayList<>();
        mUpdatedCapabilityList = new ArrayList<>();
        mRemoteCaps = new ArrayList<>();
        mRemoteCaps = new HashSet<>();
    }

    /**
@@ -284,7 +286,7 @@ public class CapabilityRequestResponse {
    /**
     * Set the remote's capabilities which are sent from the network.
     */
    public void setRemoteCapabilities(Uri contact, List<String> remoteCaps) {
    public void setRemoteCapabilities(Uri contact, Set<String> remoteCaps) {
        // Set the remote capabilities
        if (remoteCaps != null) {
            remoteCaps.stream().filter(Objects::nonNull).forEach(cap -> mRemoteCaps.add(cap));
+4 −2
Original line number Diff line number Diff line
@@ -27,7 +27,9 @@ import com.android.ims.rcs.uce.options.OptionsController;
import com.android.ims.rcs.uce.request.UceRequestManager.RequestManagerCallback;
import com.android.internal.annotations.VisibleForTesting;

import java.util.HashSet;
import java.util.List;
import java.util.Set;

/**
 * The UceRequest to request the capabilities when the OPTIONS mechanism is supported by the
@@ -95,7 +97,7 @@ public class OptionsRequest extends UceRequest {
        }

        mContactUri = requestCapUris.get(0);
        List<String> featureTags = deviceCap.getOptionsFeatureTags();
        Set<String> featureTags = deviceCap.getFeatureTags();

        logi("requestCapabilities: featureTag size=" + featureTags.size());
        try {
@@ -134,7 +136,7 @@ public class OptionsRequest extends UceRequest {

        // Set the network response code and the remote contact capabilities
        mRequestResponse.setNetworkResponseCode(sipCode, reason);
        mRequestResponse.setRemoteCapabilities(mContactUri, remoteCaps);
        mRequestResponse.setRemoteCapabilities(mContactUri, new HashSet<>(remoteCaps));

        // Notify the request result
        if (mRequestResponse.isNetworkResponseOK()) {
Loading