aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-01-19 04:23:15 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-01-19 04:23:15 +0000
commit5c5982fab2b4ba08a9872b72cec3b0944601d8c9 (patch)
tree6cb1b5db9149e890bfe2e83253d36725ef6e5064
parent7f071830095efd394afc5879520caf05b0791de9 (diff)
parent5590c09a6962be8ab7e79ad6ad07c1f550662fe5 (diff)
downloadims-5c5982fab2b4ba08a9872b72cec3b0944601d8c9.tar.gz
Snap for 9505375 from 5590c09a6962be8ab7e79ad6ad07c1f550662fe5 to udc-release
Change-Id: Ife262bff8d11de4d25bafca889c6bacbfba1513c
-rw-r--r--src/java/com/android/ims/rcs/uce/presence/publish/PublishServiceDescTracker.java10
-rw-r--r--src/java/com/android/ims/rcs/uce/presence/publish/ServiceDescription.java14
-rw-r--r--src/java/com/android/ims/rcs/uce/util/FeatureTags.java12
-rw-r--r--tests/src/com/android/ims/rcs/uce/presence/publish/PublishServiceDescTrackerTest.java20
4 files changed, 54 insertions, 2 deletions
diff --git a/src/java/com/android/ims/rcs/uce/presence/publish/PublishServiceDescTracker.java b/src/java/com/android/ims/rcs/uce/presence/publish/PublishServiceDescTracker.java
index a107b1ad..7f7ea3e6 100644
--- a/src/java/com/android/ims/rcs/uce/presence/publish/PublishServiceDescTracker.java
+++ b/src/java/com/android/ims/rcs/uce/presence/publish/PublishServiceDescTracker.java
@@ -53,7 +53,7 @@ public class PublishServiceDescTracker {
*/
private static final Map<ServiceDescription, Set<String>> DEFAULT_SERVICE_DESCRIPTION_MAP;
static {
- ArrayMap<ServiceDescription, Set<String>> map = new ArrayMap<>(21);
+ ArrayMap<ServiceDescription, Set<String>> map = new ArrayMap<>(23);
map.put(ServiceDescription.SERVICE_DESCRIPTION_CHAT_IM,
Collections.singleton(FeatureTags.FEATURE_TAG_CHAT_IM));
map.put(ServiceDescription.SERVICE_DESCRIPTION_CHAT_SESSION,
@@ -111,6 +111,14 @@ public class PublishServiceDescTracker {
FeatureTags.FEATURE_TAG_CHATBOT_VERSION_V2_SUPPORTED)));
map.put(ServiceDescription.SERVICE_DESCRIPTION_CHATBOT_ROLE,
Collections.singleton(FeatureTags.FEATURE_TAG_CHATBOT_ROLE));
+ map.put(ServiceDescription.SERVICE_DESCRIPTION_SLM, new ArraySet<>(
+ Arrays.asList(FeatureTags.FEATURE_TAG_PAGER_MODE,
+ FeatureTags.FEATURE_TAG_LARGE_MODE,
+ FeatureTags.FEATURE_TAG_DEFERRED_MESSAGING,
+ FeatureTags.FEATURE_TAG_LARGE_PAGER_MODE)));
+ map.put(ServiceDescription.SERVICE_DESCRIPTION_SLM_PAGER_LARGE, new ArraySet<>(
+ Arrays.asList(FeatureTags.FEATURE_TAG_PAGER_MODE,
+ FeatureTags.FEATURE_TAG_LARGE_MODE)));
DEFAULT_SERVICE_DESCRIPTION_MAP = Collections.unmodifiableMap(map);
}
diff --git a/src/java/com/android/ims/rcs/uce/presence/publish/ServiceDescription.java b/src/java/com/android/ims/rcs/uce/presence/publish/ServiceDescription.java
index 0f271e1c..e175f2a4 100644
--- a/src/java/com/android/ims/rcs/uce/presence/publish/ServiceDescription.java
+++ b/src/java/com/android/ims/rcs/uce/presence/publish/ServiceDescription.java
@@ -169,6 +169,20 @@ public class ServiceDescription {
null /*description*/
);
+ public static final ServiceDescription SERVICE_DESCRIPTION_SLM =
+ new ServiceDescription(
+ RcsContactPresenceTuple.SERVICE_ID_SLM,
+ "2.0" /*version*/,
+ null /*description*/
+ );
+
+ public static final ServiceDescription SERVICE_DESCRIPTION_SLM_PAGER_LARGE =
+ new ServiceDescription(
+ RcsContactPresenceTuple.SERVICE_ID_SLM,
+ "2.0" /*version*/,
+ "Standalone Messaging" /*description*/
+ );
+
/** Mandatory "service-id" element */
public final @NonNull String serviceId;
/** Mandatory "version" element */
diff --git a/src/java/com/android/ims/rcs/uce/util/FeatureTags.java b/src/java/com/android/ims/rcs/uce/util/FeatureTags.java
index 8dbceda6..ed2eef4a 100644
--- a/src/java/com/android/ims/rcs/uce/util/FeatureTags.java
+++ b/src/java/com/android/ims/rcs/uce/util/FeatureTags.java
@@ -35,6 +35,18 @@ public class FeatureTags {
+ "service.ims.icsi.oma.cpm.largemsg,urn%3Aurn-7%3A3gpp-"
+ "service.ims.icsi.oma.cpm.deferred\";+g.gsma.rcs.cpm.pager-large";
+ public static final String FEATURE_TAG_PAGER_MODE =
+ "+g.3gpp.icsi-ref=\"urn%3Aurn-7%3A3gpp-service.ims.icsi.oma.cpm.msg\"";
+
+ public static final String FEATURE_TAG_LARGE_MODE =
+ "+g.3gpp.icsi-ref=\"urn%3Aurn-7%3A3gpp-service.ims.icsi.oma.cpm.largemsg\"";
+
+ public static final String FEATURE_TAG_DEFERRED_MESSAGING =
+ "+g.3gpp.icsi-ref=\"urn%3Aurn-7%3A3gpp-service.ims.icsi.oma.cpm.deferred\"";
+
+ public static final String FEATURE_TAG_LARGE_PAGER_MODE =
+ "+g.gsma.rcs.cpm.pager-large";
+
public static final String FEATURE_TAG_CHAT_IM =
"+g.3gpp.iari-ref=\"urn%3Aurn-7%3A3gpp-application.ims.iari.rcse.im\"";
diff --git a/tests/src/com/android/ims/rcs/uce/presence/publish/PublishServiceDescTrackerTest.java b/tests/src/com/android/ims/rcs/uce/presence/publish/PublishServiceDescTrackerTest.java
index 55006299..ddd8932f 100644
--- a/tests/src/com/android/ims/rcs/uce/presence/publish/PublishServiceDescTrackerTest.java
+++ b/tests/src/com/android/ims/rcs/uce/presence/publish/PublishServiceDescTrackerTest.java
@@ -107,7 +107,6 @@ public class PublishServiceDescTrackerTest {
t1.updateImsRegistration(imsReg);
assertEquals(expectedSet, t1.copyRegistrationCapabilities());
-
expectedSet = Collections.singleton(
ServiceDescription.SERVICE_DESCRIPTION_CHATBOT_SESSION);
imsReg = createImsRegistration(
@@ -139,6 +138,25 @@ public class PublishServiceDescTrackerTest {
FeatureTags.FEATURE_TAG_VIDEO);
t1.updateImsRegistration(imsReg);
assertEquals(expectedSet, t1.copyRegistrationCapabilities());
+
+ expectedSet = Collections.singleton(
+ ServiceDescription.SERVICE_DESCRIPTION_SLM);
+ imsReg = createImsRegistration(
+ FeatureTags.FEATURE_TAG_PAGER_MODE,
+ FeatureTags.FEATURE_TAG_LARGE_MODE,
+ FeatureTags.FEATURE_TAG_DEFERRED_MESSAGING,
+ FeatureTags.FEATURE_TAG_LARGE_PAGER_MODE);
+ t1.updateImsRegistration(imsReg);
+ assertEquals(expectedSet, t1.copyRegistrationCapabilities());
+
+
+ expectedSet = Collections.singleton(
+ ServiceDescription.SERVICE_DESCRIPTION_SLM_PAGER_LARGE);
+ imsReg = createImsRegistration(
+ FeatureTags.FEATURE_TAG_PAGER_MODE,
+ FeatureTags.FEATURE_TAG_LARGE_MODE);
+ t1.updateImsRegistration(imsReg);
+ assertEquals(expectedSet, t1.copyRegistrationCapabilities());
}
@SmallTest