diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-01-19 04:23:15 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-01-19 04:23:15 +0000 |
commit | 5c5982fab2b4ba08a9872b72cec3b0944601d8c9 (patch) | |
tree | 6cb1b5db9149e890bfe2e83253d36725ef6e5064 | |
parent | 7f071830095efd394afc5879520caf05b0791de9 (diff) | |
parent | 5590c09a6962be8ab7e79ad6ad07c1f550662fe5 (diff) | |
download | ims-5c5982fab2b4ba08a9872b72cec3b0944601d8c9.tar.gz |
Snap for 9505375 from 5590c09a6962be8ab7e79ad6ad07c1f550662fe5 to udc-release
Change-Id: Ife262bff8d11de4d25bafca889c6bacbfba1513c
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 |