aboutsummaryrefslogtreecommitdiff
path: root/src/java
AgeCommit message (Collapse)Author
2023-08-10Merge "Fix, DeviceCapabilityListener does not try to register IMS ↵Joonhun Shin
registration callback." into main
2023-08-09Fix, DeviceCapabilityListener does not try to register IMS registration ↵joonhunshin
callback. When IImsFeatureStatusCallback#notifyImsFeatureStatus() calls with unavailable and ready within short time, the PublishControllerImpl's handler calls DeviceCapabilityListener#onRcsConnected and #onRcsDisconnected consecutively. During this time the DeviceCapabilityListener keeps EVENT_UNREGISTER_IMS_CHANGE and EVENT_REGISTER_IMS_CONTENT_CHANGE messages in Q. When the DeviceCapabilityListener handles EVENT_UNREGISTER_IMS_CHANGE message, it removes EVENT_REGISTER_IMS_CONTENT_CHANGE from Q. By deleting EVENT_REGISTER_IMS_CONTENT_CHANGE, the DeviceCapabilityListener does not try to register the IMS registration callback. Bug: 287833083 Test: atest DeviceCapabilityListenerTest, RcsUceAdapterTest Test: AT&T and TMO live network Merged-In: I5010adfb3e1ce2880cb8f816f021c44257d9c521 Change-Id: I5010adfb3e1ce2880cb8f816f021c44257d9c521
2023-07-24Fixed NullPointException after SRVCC completed eventjoonhunshin
If IImsCallSessionListener.callSessionProgressing() is called from ImsService right after receiving SRVCC complete state event from RIL, Framework tries to access CallProfile. However, NPE was observed because CallProfile is released by SRVCC completed event. Bug: 286447293 Test: atest ImsCallTest Change-Id: I7e86d8b8190c65b757b753fab2ea4564a7fccf7c Merged-In: I7e86d8b8190c65b757b753fab2ea4564a7fccf7c
2023-02-24Fixed to update the Capability Info if any change in Rcs Feature Tags during ↵temp_273316506_tm-qpr2Sungcheol Ahn
Ims Mmtel alive. am: ac281856a6 Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/net/ims/+/2439793 Change-Id: I11c1066a70bdfa1ee2e1ad985f43b423bb104d8c Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-02-23Fixed to update the Capability Info if any change in Rcs Feature Tags during ↵Sungcheol Ahn
Ims Mmtel alive. If RCS UnRegistration is executed due to the destruction of SipDelegate, RCS Feature Tags have been released from the PUBLISH tuple. Bug: b/235973951 Test: atest PublishServiceDescTrackerTest Test: TestRcsApp Merged-In: I1ff4824e351f156b983b0574debac1bdadd244c9 Change-Id: I42018de59b0f346941f60ed54f46dcd4b87fcad3
2023-01-21Add the feature tags for the pager mode, larege message mode, deffered ↵Hyunho
messaging and large-pager mode. am: 6ca11dd4eb Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/net/ims/+/2394892 Change-Id: I128840dc573381faf09a707ea4b32e30215f0746 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-01-19Add the feature tags for the pager mode, larege message mode, deffered ↵main-16k-with-phonesHyunho
messaging and large-pager mode. And the presence tuple of the standalone is added. Bug: b/262614903 Test: atest PublishServiceDescTrackerTest Test: In the live network, if there is the feature tag related to the standalone in the registered feature tags, the service id of standalone is included in the PIDF Change-Id: Ie35577303aab0f67bc261686d8e5e5ee3c624707 Merged-In: Ie35577303aab0f67bc261686d8e5e5ee3c624707
2023-01-13Merge "If only RCS or MMTEL is unregistered, send a modify PUBLISH request" ↵Hyunho Shin
am: 69eb929782 Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/net/ims/+/2377073 Change-Id: Ia8dcb96a76a16b0b97006b09dff88a830256f569 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-01-09If only RCS or MMTEL is unregistered, send a modify PUBLISH requestHyunho
When RCS or MMTEL is unregistered, send a modify PUBLISH request message even if the associated URI has not changed. When RCS or MMTEL change from Unregistered to Unregistered, the registration status does not change. In this case, the modify PUBLISH request is sent depending on whether the associated URI has been changed. Bug: b/235973951 Test: atest DeviceCapabilityListenerTest Test: TMO Live network. The RCS and MMTEL are registered but the associated URI of RCS is not set. After that, RCS will be unregistered. Verified that the modify PUBLISH request has been sent to the netowrk. Change-Id: I96b565c15f11ee1083b56db29971ddee930d7e64 Merged-In: I96b565c15f11ee1083b56db29971ddee930d7e64
2022-11-01Remove airplane mode handling code. am: de8e8c9846Hyunho
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/opt/net/ims/+/20306607 Change-Id: Ia83fbe2d9decb771f09e63c6d1cd772fdabe3151 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-10-28Remove airplane mode handling code.android-13.0.0_r82android-13.0.0_r81android-13.0.0_r80android-13.0.0_r74android-13.0.0_r73android-13.0.0_r72android-13.0.0_r66android-13.0.0_r65android-13.0.0_r64android-13.0.0_r60android-13.0.0_r59android-13.0.0_r58android13-qpr3-c-s8-releaseandroid13-qpr3-c-s7-releaseandroid13-qpr3-c-s6-releaseandroid13-qpr3-c-s5-releaseandroid13-qpr3-c-s4-releaseandroid13-qpr3-c-s3-releaseandroid13-qpr3-c-s2-releaseandroid13-qpr3-c-s12-releaseandroid13-qpr3-c-s11-releaseandroid13-qpr3-c-s10-releaseandroid13-qpr3-c-s1-releaseHyunho
In VZW TC 3.18, the device did not need to send a PUBLISH when a 412 response was received for a UN PUBLISH request. Turn on airplane mode for testing. As a result, the device sends a UN PUBLISH request. However, since airplane mode has changed, the Framework sends a PUBLISH request to the ImsService. So this case failed. Bug: b/243137045 Test: Turn on airplane mode > deice sends a UN PUBLISH request > Not handle airplane mode change event in the publish controller. Test: atest DeviceCapabilityListenerTest Change-Id: Id96bd4a233e9208865afaa9c3fe0cccb239bad93 Merged-In: Id96bd4a233e9208865afaa9c3fe0cccb239bad93 (cherry picked from commit b4a75a44ff977b0e9bfb215cdde502901ca36d6c)
2022-10-21Fix errorprone warnings that should be errors am: 718ebc1819Cole Faust
Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/net/ims/+/2256670 Change-Id: I90b3025bda4b163e77d5b1ceefa8d3177c650823 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-10-15Fix errorprone warnings that should be errorsCole Faust
This commit is part of a large scale change to fix errorprone errors that have been downgraded to warnings in the android source tree, so that they can be promoted to errors again. The full list of changes include the following, but not all will be present in any one individual commit: BadAnnotationImplementation BadShiftAmount BanJNDI BoxedPrimitiveEquality ComparableType ComplexBooleanConstant CollectionToArraySafeParameter ConditionalExpressionNumericPromotion DangerousLiteralNull DoubleBraceInitialization DurationFrom DurationTemporalUnit EmptyTopLevelDeclaration EqualsNull EqualsReference FormatString FromTemporalAccessor GetClassOnAnnotation GetClassOnClass HashtableContains IdentityBinaryExpression IdentityHashMapBoxing InstantTemporalUnit InvalidTimeZoneID InvalidZoneId IsInstanceIncompatibleType JUnitParameterMethodNotFound LockOnBoxedPrimitive MathRoundIntLong MislabeledAndroidString MisusedDayOfYear MissingSuperCall MisusedWeekYear ModifyingCollectionWithItself NoCanIgnoreReturnValueOnClasses NonRuntimeAnnotation NullableOnContainingClass NullTernary OverridesJavaxInjectableMethod ParcelableCreator PeriodFrom PreconditionsInvalidPlaceholder ProtoBuilderReturnValueIgnored ProtoFieldNullComparison RandomModInteger RectIntersectReturnValueIgnored ReturnValueIgnored SelfAssignment SelfComparison SelfEquals SizeGreaterThanOrEqualsZero StringBuilderInitWithChar TreeToString TryFailThrowable UnnecessaryCheckNotNull UnusedCollectionModifiedInPlace XorPower See https://errorprone.info/bugpatterns for more information on the checks. Bug: 253827323 Test: m RUN_ERROR_PRONE=true javac-check Change-Id: If4a2eda08cc384881dda4b7d7bace425f3b3c807
2022-09-15Merge "Avoid a few uses of `new Boolean()`" am: 4c07c0dcb6 am: 57c1ccac81 ↵Treehugger Robot
am: 09ead77b60 am: cf849eb89c Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/net/ims/+/2216003 Change-Id: I31cb816316af55fe22d91afbad4cbcced1c5cb4d Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-09-15Merge "Avoid a few uses of `new Boolean()`"Treehugger Robot
2022-09-14If only RCS or MMTEL is unregistered, send a modify PUBLISH request am: ↵Hyunho
e60edd7244 am: 53d93ed935 am: 8034df4acd am: 6930534182 Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/net/ims/+/2215065 Change-Id: Iccfa0b9b9b6bf0d7a630ade4bae468eb4e86e72d Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-09-13If only RCS or MMTEL is unregistered, send a modify PUBLISH requestHyunho
When RCS or MMTEL is unregistered, send a modify PUBLISH request message with delay. And after that, other service will be unregistered. In this case, it sends a unregistered message and removes the existing unprocessed message. Bug: b/235973951 Test: atest DeviceCapabilityListenerTest Change-Id: Ie61f2488a0bad23807f84cb55fcdcb2aae407191 Merged-In: Ie61f2488a0bad23807f84cb55fcdcb2aae407191
2022-09-13Avoid a few uses of `new Boolean()`Orion Hodson
Prefer Boolean.{TRUE,FALSE} constants or using Boolean.valueOf(). Bug: N/A Test: Treehugger Change-Id: I29d16c23aca76bb7560a835b7efd0d27ef93798c
2022-06-21Add MODIFY_PHONE_STATE when registering receiverChinmay Dhodapkar
Without this additional check we can end up handling ACTION_TTY_PREFERRED_MODE_CHANGE from an unpriviledged app Currently this intent is sent by dialer on 1P devices, so it cannot be converted to a protected-broadcast Bug: 236264289 Tests: atest DeviceCapabilityListenerTest Change-Id: I221b28dd3e1f7ed51f915dc79a62f8818f8a65a2
2022-06-17Fix RTT NPE due to ImsCall#close being calledandroid13-devBrad Ebinger
When the IMS call is closed, in some cases, a pending RTT initialization request could still be in the queue to be processed. Since this depends on resources that have since been release, it can cause an NPE. Guard against this condition and return early if this condition is hit. Bug: 236279778 Test: atest FrameworksTelephonyTests:ImsCallTest Change-Id: I1c734eebd8135655752e646c5967e65cfe140c89
2022-06-10Fix shouldProcessCall in ImsManagerChinmay Dhodapkar
There can be call attempts made before the ims service is initialized. In this case, shouldProcessCall should throw an exception, else it might result in subsequent call failure in IMS. Bug: 232514463 Test: atest ImsManagerTest Change-Id: I81a25250a65bf6af0910c57f093ebbc71bad1dba (cherry picked from commit 7b6fb80d5ec80d4ef996453f16403727d17ff279)
2022-05-23update to handle IllegalArgumentExceptionjoonhunshin
ImaManager used ImsProvisioningController. When the subId is not valid, ImsProvisioningController throws IllegalArgumentException. Exception handling code updated for ImsManager. Bug: 233114326 Test: atest ImsManagerTest Change-Id: I634ff650ce1d144bcc19952d99a57140be00056f
2022-05-06Fix a minor logic issue in ag/18176102Brad Ebinger
Bug: b/229669620 Test: atest ImsCommonTests; confirmed PUBLISH 200 OK on TMO Change-Id: I5399b58a14e3522697d9be4a8fb92aebee6d5b5b
2022-05-06add use_tel_uri_for_pidf_xml field for ATT-UCE 430Hyunho
Add use_tel_uri_for_pidf_xml field for ATT-UCE 430 Set the added filed to false by defaut and true for ATT If the field is true, get the first TEL URI from associated uris. Bug: b/229669620 Test: PUBLSIH-200 OK in live network Test: Forcibly set tel and sip uri to assocoated uri and change the field value to see if the desired URI is obtained. Test: atest DeviceCapabilityInfoTest Merged-In: I64537994418beb37c7a05c206cebe5bbc9fcb8f5 Change-Id: I64537994418beb37c7a05c206cebe5bbc9fcb8f5
2022-05-04Merge "ImsProvisioningController returns provisioned when provisoning has ↵Joonhun Shin
not completed" into tm-dev
2022-05-04Merge "Replace the KEY_CARRIER_VOLTE_PROVISIONED_BOOL with bundle/tech to ↵Joonhun Shin
check if the EAB provisioned." into tm-dev
2022-05-02ImsProvisioningController returns provisioned when provisoning has not completedjoonhunshin
Delete code that access deprecated carrier config key, and hand over to ImsProvisioningController Bug: 230794289 Test: atest ImsManagerTest, ImsServiceTest Test: manual with TMO, ATT SIM 1. add carrier config carrier_volte_provisioning_required_bool as true 2. device reboot 3. check IMS registration and imsprovisioningstatus_X.xml file is created by ImsProvisioningLoader Change-Id: I289e0787ab90957a5c5eb03b4bff9b0ee35160d6
2022-04-28Replace the KEY_CARRIER_VOLTE_PROVISIONED_BOOL with bundle/tech to check if ↵joonhunshin
the EAB provisioned. Replace the KEY_CARRIER_VOLTE_PROVISIONED_BOOL with bundle/tech to check if the EAB provisioned. Bug: 229793066 Test: atest ImsService, ImsCommonTests Test: manual test with TMO, PUBLISH OK Change-Id: Idb70802ba524807fc298e4d47a82cbe6d44dff1c
2022-04-25Merge "Add state for 480,486,500,503,603 responses of PUBLISH" into tm-devBrad Ebinger
2022-04-22(Increasing logging) Adding a new case for IllegalStateExceptionvirkumar
Handle IllegalStateException for increasing logging incase such excpetion occures. Test: atest CtsTelephonyTestCases:ImsCallingTest Bug: 229756822 Merged-In: Iea42ae7c41eb424978bf4390aa8cea63fbd81fce Change-Id: Iea42ae7c41eb424978bf4390aa8cea63fbd81fce (cherry picked from commit 4bacd9b15a36491fd5727c836258de19905c6ae7)
2022-04-21Add state for 480,486,500,503,603 responses of PUBLISHHyunho
Upon receiving 480,486,500,503,603 responses to PUBLISH, the device state set to re_try. If the device state is retry, the PUBLISH requests should be blocked until the vendor called CapabilityExchangeEventListener#onPublishUpdated or CapabilityExchangeEventListener#onRequestPublishCapabilities. Test: atest PublishControllerImplTest CapabilityRequestTest UceControllerTest Bug: b/228781651 Change-Id: I0a4d41a885ff3d212f1d003602b83ccf5ed0a430
2022-04-21Add the break statement between vt_provisioning_status and ↵Hyunho
rcs_publish_source_throttle_ms This is to prevent an accident in which an incorrect value is set. Bug: b/229396800 Test: Build pass Change-Id: I283bcadb6bf1e91635d4052a1e67cc0bcb8db56d
2022-04-14Merge "After saving the capability information in the EAB DB, the invalid ↵Hyunho Shin
data is immediately deleted from the EAB DB." am: d9f22e0d8f am: 4f956cc5a8 am: 148dbf8421 Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/net/ims/+/2058852 Change-Id: Iab71d55369cd795fef825a06a860af32abee2b2a Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-13Merge "Even though the state of the ImsFeature is set to STATE_UNAVAILABLE, ↵Hyosun Kim
fixed CapabilityCallbackManager#unregisterCallback to complete successfully." into tm-dev
2022-04-12Merge "Do not delete the DB if the received document is malformed/corrupt" ↵Hyunho Shin
am: 3263fd22ef am: 0b25267de2 am: 921b824036 Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/net/ims/+/2058847 Change-Id: I78ebefcc9217ebb846bea59c264d4575bffb4eff Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-12Even though the state of the ImsFeature is set to STATE_UNAVAILABLE, fixed ↵hyosun
CapabilityCallbackManager#unregisterCallback to complete successfully. Change CapabilityCallbackManager#unregisterCallback to use #isBinderAlive instead of using #checkServiceIsReady. Bug: 225259107 Test: atest ImsCommonTests Change-Id: Ie5fdc093701a6a1602372a80125629e96d7775bf
2022-04-10After saving the capability information in the EAB DB, the invalid data is ↵Hyunho
immediately deleted from the EAB DB. However, if you request the information just saved in DB, EabControllerImpl can generate information based on invalid data. Bug: b/227862302 Test: atest CtsTelephonyTestCases:EabControllerTest and EabControllerTest Change-Id: I357cbc22821bf8847ba3ac5fb8a98da15fd4d53a Merged-In: I357cbc22821bf8847ba3ac5fb8a98da15fd4d53a
2022-04-08[Telephony] support TTY Call on VoWifidonaldahn
Bug: b/202966224 Test: TMUS-TTY Call on wifi with O6(oriole) device in Kansas Test: Volte/WFC dial and disconnect basic test Test: ATest ImsManagerTest testTtyStats Change-Id: If165cd18d9ed9ae75f7c8a3732948cc9f3df45fd
2022-04-08Do not delete the DB if the received document is malformed/corruptHyunho
According to RCC.59 v5, if a device receives malformed/corrupted xml it should keep the old functionality. However, if the presence element is malformed, that contact is set to the non-rcs user. And if one of the tuple in xml is malformed, another valid tuple should be parsed and stored in DB. Don't save anything if all tuples in xml are malformed. Bug: b/225998718 Test: atest PresenceTest TupleTest Test: cts CtsTelephonyTestCases:RcsUceAdapterTest Change-Id: I4839a45f933092a9bd42d74564797bacfeac49c1 Merged-In: I4839a45f933092a9bd42d74564797bacfeac49c1
2022-04-07Refactoring ImsManager to access aosp storage instead accessing ImsConfig ↵joonhunshin
directly Refactoring ImsManager to access aosp storage instead accessing ImsConfig directly. Removed not used functions. Bug: 227405288 Test: atest ImsManagerTest Test: cts ImsServiceTest Test: manual with AT&T and TMUS sim basic VoLTE MO/MT call setup basic WFC MO/MT call setup Change-Id: I4c1ea4ab37d78088f3faea1187258f073aef1b19
2022-04-06New provisioning keys for VoLTE/VoNR, VT, VoWiFijoonhunshin
Adapt new provisioning keys KEY_MMTEL_REQUIRES_PROVISIONING_BUNDLE, KEY_RCS_REQUIRES_PROVISIONING_BUNDLE for VoLTE/VoNR, VT, VoWiFi instead of KEY_CARRIER_RCS_PROVISIONING_REQUIRED_BOOL, KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL, KEY_CARRIER_UT_PROVISIONING_REQUIRED_BOOL. Bug: 186798382 Test: atest ImsManagerTest Test: cts ImsServiceTest Test: manual with AT&T and TMUS sim basic VoLTE MO/MT call setup basic WFC MO/MT call setup Change-Id: I2960015b34e75b4a356d43d862d20886827125d1
2022-03-31Add the processing code that the device received the 504 response to the ↵Hyunho
PUBLISH request am: 3195dc704d am: 5bc043b00c am: 943fc668d8 Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/net/ims/+/2048563 Change-Id: I2d9015cdf5bcd5e39ff511a68a4047258e698e4c Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-03-29Add the processing code that the device received the 504 response to the ↵Hyunho
PUBLISH request As per AT&T requirements, if a device receives a 504 response to a PUBLISH request, it is treated like a received 403 response. However, the current AOSP framework is missing for this. Bug: b/225094509 Test: atest CtsTelephonyTestCases:ImsServiceTest Change-Id: I43665589e735023de9c8d3d3138e23d094910c19 Merged-In: I43665589e735023de9c8d3d3138e23d094910c19
2022-03-07Fixing empty tuple capability always expired am: bdd893747asam_222710654Calvin Pan
Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/net/ims/+/2011982 Change-Id: I4802449adeae1c8fcebe8bd56f135fdfc11572e5
2022-03-07Fixing empty tuple capability always expiredCalvin Pan
EAB stores capabilities in two different tables (common, presence), and stores the expiration time in the Presence table, because a contact may have multiple tuples, and each tuple may have its own expiration time. But if the server sends capabilities with empty tuples, EAB will not store any data in the Presence table. It causes the EAB to treat it as an expired capability and request a new capability every time. [Fix] If there is no tuple ability, store the current timestamp and null presence attributes in the presence table. Bug: 203676348 Test: atest EabControllerTest Merged-In: Id54a71b71d353f3d2fa5c3246ab534ad581fe245 Change-Id: Id54a71b71d353f3d2fa5c3246ab534ad581fe245
2022-02-23Merge changes from topic "revert_uce_dupe_req" into tm-devTreeHugger Robot
* changes: Revert "Add a new api that does not send PUBLISH request with duplicated presence capabilities" Revert "Set mPendingPublicCapabilities to the currently registered service description"
2022-02-22Revert "Add a new api that does not send PUBLISH request with duplicated ↵Brad Ebinger
presence capabilities" This reverts commit 08151870e5579a2e56eb4dcfbc48326393fbeacb. Reason for revert: CL caused NPE in certain scenarios - b/220236505 Change-Id: I7d6843f6cbabd499a99f530409e247228e9a8f27
2022-02-22Revert "Set mPendingPublicCapabilities to the currently registered service ↵Brad Ebinger
description" This reverts commit 0407bd9e1876d2290526fbd1c2cc762a646f20ad. Reason for revert: CL caused NPE in certain scenarios - b/220236505 Change-Id: I0d9947ad996fe9838fa1307eb9f4271203754525
2022-02-22Partial Revert of subId changes in ImsManagerBrad Ebinger
Waiting for the subId of ImsManager to match the remote MmTelFeature is too slow and is exposing many race conditions with the vendor ImsServices which expect IMS configurations to be available when they receive CARRIER_CONFIG_CHANGED and not once the IMS service loads the new configuration. Bug: 217748245 Test: atest ImsCommonTests CtsTelephonyTestCases Change-Id: I56e9f1134893940125fb381172238e177b618a5a
2022-02-22Revert "Expose getSubId to ensure we have correct subId state in IMS"Brad Ebinger
Revert "Enforce the subId of a request matches the active subId ..." Revert submission 16908142-enforce_subId Reason for revert: b/217748245 Reverted Changes: Ie9838dde5:Expose getSubId to ensure we have correct subId st... I4ec85c201:Enforce the subId of a request matches the active ... Change-Id: I015e2e6dd3e7a12e282a4c8aaaa9a3e5324a8ffd