aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-11-13Refactor IMS to use ImsFeature AIDLsandroid-o-mr1-iot-preview-6o-mr1-iot-preview-6Brad Ebinger
Refactors ImsManager and the ImsServiceProxy to use the specific ImsFeature AIDLs instead of a flat ImsService interface. Test: Manual, Telephony IMS unit tests Change-Id: I00155a0092f7e2527bbb96c196a59f0d0d4039eb
2017-11-09Replace the default value of Enhanced 4G LTE mode with to carrier configmanabu, shimoda
Replace the default value of Enhanced 4G LTE mode with carrier confg to control it by carrier configuration. Test: manual - Checked that the Enhanced 4G LTE mode can be controlled by carrier config. Bug: 67725875 Change-Id: Ib4b19692670e7343e52f1840e7d768dbd3abf8f8
2017-11-07Remove ImsService interfaces from ProxyBrad Ebinger
Removes ImsService interfaces from Proxy in preparation to move to feature based AIDLs instead of a flat interface Test: Manual Change-Id: Id408f3d3f180aea7a2c706d703665ca4df8870a4
2017-11-07Move ImsServiceProxy into this directoryBrad Ebinger
ImsServiceProxy is tightly coupled with the ImsManager and should be in the same namespace. Test: Manual Change-Id: I1383fb114b3c23d2f3d80fa4abdb4b1091c7f879
2017-11-07Change class hierarchy of ImsServiceProxy and compatBrad Ebinger
Modifies ImsManager to use new ImsServiceProxy class hierarchy. Test: Manual Change-Id: I0be48ff1b17c53933aabf0561957dee08f3205b0
2017-11-03Add isServiceReady API to ImsManagerSuresh Koleti
-- Add isServiceReady to check if ImsService is ready to send requests to lower layers or not. Test: Manual Bug: 63920021 Change-Id: I97e4af1e6eb428956d5f343a4628aba6857f37b8
2017-10-27Prevent IMS call merge if the peer call has a pending update request.Tyler Gunn
Currently, if the user requests merge, and the call they request the merge on is in the midst of some other pending operation (e.g. hold, resume), the system will prevent the merge from taking place. The logic, however does not account for the fact that the background call being merged into the foreground call could also be engaged in some other update operation. Added code to ensure that both calls are not actively engaged in some pending operation. Test: Manual Change-Id: Icc2f3786865345435bbf138b54736fc6f09c0aa4 Merged-In: I5bb050b406bff514fa6132c395c2a4f6574b572b Fixes: 63764631
2017-09-20Merge "Ensure upgrade to video requests are ignored when video disabled."Tyler Gunn
am: 236b6f319e Change-Id: Ia93cb15f9fdf3eac4edaebc9241bcb74c25ba1b1
2017-09-20Merge "Ensure upgrade to video requests are ignored when video disabled."Tyler Gunn
2017-09-20Remove "ForSlot" from ImsManager instance methodsBrad Ebinger
am: 479f52cab3 Change-Id: Ic74b483dc520e0ff62cf2464a8fe5253069f8680
2017-09-20Remove "ForSlot" from ImsManager instance methodsBrad Ebinger
Adding "ForSlot" to ImsManager instance methods was redundant and does not yield a clean API. This change removes "ForSlot" from the methods. Bug: 65063634 Test: Manual Merged-In: Ida63b5c375df7af67bd3f7c5763d04f11fce92ea Change-Id: Ida63b5c375df7af67bd3f7c5763d04f11fce92ea
2017-09-20Fix ImsManager double callback registrationBrad Ebinger
am: 57b1189a54 Change-Id: I47152e032e21b24a2506712e776b69cd5d44a42d
2017-09-20Fix Bug in ImsManager#addRegistrationListenerBrad Ebinger
am: 9a0280cf27 -s ours Change-Id: Ib0812da1ac30ddc229a8dc58aa2dd6dc6e8a8319
2017-09-20Fix ImsManager double callback registrationBrad Ebinger
MMTelFeature has two ways of registering registration callbacks, through startSession and addRegistrationListener. startSession requires a registration listener, which can cause double registration if addRegistrationListener happens before startSession in ImsManager. This fix temporarily solves that problem by registering a Stub implementation of the registration callback in startSession. This will be fixed later by modifying the MMTelFeature APIs to remove the registration listener from the arg list. Bug: 62207372 Test: Telephony unit tests and manual IMS registration Merged-In: Ieeff249e05777bdb9135e9ddd6e08a15416d5a1f Change-Id: I00fdbae1baaf77cca5156a442ea109f998a8d5a5
2017-09-20Fix Bug in ImsManager#addRegistrationListenerBrad Ebinger
Listeners were not being unregistered from the ImsService. The listeners were restructured to instead be held in ImsManager, instead of the ImsService. Bug: 38304804 Test: Run Rogers VoWiFi activation Merged-In: I2a0d4b2ed7d232834be7c74c318a60fa11e64389 Change-Id: I2a0d4b2ed7d232834be7c74c318a60fa11e64389
2017-09-11Ensure upgrade to video requests are ignored when video disabled.Tyler Gunn
When video is disabled (due to mobile data being off), we will automatically reject any incoming requests to upgrade to video. Test: Manual Bug: 36900451 Change-Id: I9991cc9940aef417ec7f05cb61e777bf0d354c93 Merged-In: Ie32bc79c6d6443039e90f294b490a5535cc92d31
2017-09-11Filter resume requests when video is already resumed.Tyler Gunn
am: 7512e74110 Change-Id: Id0f5c20dd860c0178b3feb5f4109ab078e68e9c6
2017-09-11Change how unpause of video is detected.Tyler Gunn
am: 3835d9d5f2 Change-Id: I3217fbfcf96d03be69dc0b5bf6b0f9a340f33fb8
2017-09-08Filter resume requests when video is already resumed.Tyler Gunn
If the request being sent to the video provider is to resume the video, but the video stream is already resumed, do not send this request to the modem. In the case of swapping between calls, the video appears to resume automatically on the modem-side, so sending another resume request is redundant. Also, in VideoPauseTracker, correcting the case where we get a resume request, but there are no remaining pause requests in the tracker. Although that case shouldn't run up in reality, if it did we should still let the resume request pass along (since it would otherwise be re-written as a pause). Test: Manual test. Change-Id: Ib9b9acaf2d92b1485e4766a13701fd472d6c117d Fixes: 63606238
2017-09-08Change how unpause of video is detected.Tyler Gunn
ImsVideoCallProviderWrapper was modified recently to check for the case where the video is paused, and the video state changes to an unpaused state. It used this to trigger a clear of the video pause tracker. It did this by checking if the video pause tracker thought the video was paused. In reality, it makes more sense for a change in the videostate from paused to unpaused to be detected, and THAT used as a basis to clear the video pause tracker. The previous functionality caused a problem when the user, in quick succession: 1. Turned off the camera 2. Went to the background. The two requests would hit the framework, causing the video pause tracker to record the current video state as paused (as requested by the user). Shortly thereafter, the modem reports the fact that the camera is off with a state of Audio RX. This would be misinterpreted and cause the pause tracker to be cleared. Test: Manually tested the bug, as well as regression tested b/62784036. Change-Id: Iaa736e93e05ef3ae5dec21cd8ebc18be464f18ae Fixes: 63410964
2017-09-06IMS: Update default Wifi calling mode during power upSuresh Koleti
am: 7649108831 Change-Id: I91458d5d26a5e919ed322e84c3241fecb41417fd
2017-09-04IMS: Update default Wifi calling mode during power upandroid-o-mr1-preview-2android-o-mr1-preview-1Suresh Koleti
If user powered up with WFC editable SIM card and modify the WFC preference, and rebooted the device with a non editable WFC SIM card, then user will not have a choice to pickup the default WFC mode. To fix this issue, update default WFC mode during power up, if WFC UI option is non editable for inserted SIM card. Test: manual - Checked that WFC mode was changed to default with a non editable WFC SIM card Bug: 37621367 Change-Id: Ib47022e23fafc5ea1b4424605577cf11ed0a1b6b
2017-09-01Adds Exponential backoff for provisioning resultsBrad Ebinger
am: be6cb67bd1 Change-Id: I6d84fc804617206a49f6db77103e0c467bd64282
2017-09-01Adds Exponential backoff for provisioning resultsBrad Ebinger
ImsService initialization can take longer than telephoyn initialization in some cases, which causes ImsConfig queries to return with an error. This change adds an exponential backoff for querying provisioning results from ImsConfig if we get an error during initialization. Bug: 64540800 Test: Manual Merged-In: Id92ae35af954fbc0427fabb46ec0e119e4d3a4eb Change-Id: I2193e42736994de3cce6fb24ee1dcc9e936bebf0
2017-08-22Pin IMS on/off to actual TTY mode am: e511a2031e am: 4801a7a0a9Hall Liu
am: b3d249ba99 Change-Id: I0a13d9215bcb6068fa83337833ffd9bcbe17f657
2017-08-22Pin IMS on/off to actual TTY mode am: e511a2031eHall Liu
am: 4801a7a0a9 Change-Id: Id290b10c204301bd0eeabda53759f8148e144db0
2017-08-22Pin IMS on/off to actual TTY modeHall Liu
am: e511a2031e Change-Id: I46d1438bf8170418901b17933895d02ab6b88906
2017-08-22Pin IMS on/off to actual TTY modeHall Liu
Make changes to only toggle IMS on/off if the actual TTY option is on (i.e. UI preference is enabled and TTY accessory is plugged in) Test: manual Change-Id: Ieac0ca041a0bd026e8b2f07ebcadc9a6a1db75b9 Fixes: 63968802
2017-08-16Update ImsRegistrationListener am: a8f627deea -s ours am: c3d1880ed7 -s oursMeng Wang
am: fb38165516 -s ours Change-Id: If843b1613311073cb87b6d30ea8180bdee9aaba2
2017-08-16Update ImsRegistrationListener am: a8f627deea -s oursMeng Wang
am: c3d1880ed7 -s ours Change-Id: I737c400c9dda11a94d8916d5fbeb02c5677546ea
2017-08-16Update ImsRegistrationListenerMeng Wang
am: a8f627deea -s ours Change-Id: I21f67eafc9098eadb2e5a0119b1ad25c937941e0
2017-08-16Update ImsRegistrationListenerMeng Wang
1. Replace onImsConnected() with onImsConnected(int) 2. Replace onImsProgressing() with onImsProgressing(int) 3. Add registrationChangeFailed() Bug: 33430556 Test: m Merged-In: I14c171494bdcb0d82ed4be0caff8cb52d35421cc Change-Id: I14c171494bdcb0d82ed4be0caff8cb52d35421cc
2017-08-15Merge "Add workaround for broken vendor camera on/off requests." am: ↵Tyler Gunn
4c0a963a11 -s ours am: feb4c40b2f -s ours am: bf46fafe6b -s ours Change-Id: Icd614f00d976be163e918134392383d04991e1fd
2017-08-15Merge "Add workaround for broken vendor camera on/off requests." am: ↵Tyler Gunn
4c0a963a11 -s ours am: feb4c40b2f -s ours Change-Id: I8bcbf272cf87bab70e3f253dc7392a5af3389104
2017-08-14Merge "Add workaround for broken vendor camera on/off requests."Tyler Gunn
am: 4c0a963a11 -s ours Change-Id: Id0e47ff1a27f8676cbbb1d675a858a85854339fa
2017-08-14Merge "Add workaround for broken vendor camera on/off requests."android-o-iot-preview-5o-iot-preview-5Treehugger Robot
2017-08-14Add workaround for broken vendor camera on/off requests.Tyler Gunn
Scenario: A and B are in video call. A goes to the background, pausing the video. B attempts to turn off their camera. The request fails to be interpreted by vendor code. Reason: This SHOULD really be a request to go from/to: Audio/TX/RX/Paused --> Audio/RX/Paused However, it MUST be sent as: Audio/TX/RX/Paused --> Audio/RX The introduction of the VideoPauseTracker in N caused the request to be sent in the former correct format rather than the latter incorrect format. The VideoPauseTracker attempts to ensure that a request to pause sent by the framework vs the incall ui are kept in sync (we use pause to disable video on a call when the data limit is reached). In the process of ensuring pause and resume requests were handled properly, this code was fixing the malformed request. Added a workaround to the code to ensure the requests remain in the same broken format vendor code depends on. Test: Manual, unit Bug: 35304446 Merged-In: I9b974542234d3f567aba3f2996a815e39bc8963e Change-Id: I9b974542234d3f567aba3f2996a815e39bc8963e
2017-08-10Check Various IMS interfaces before returning cached value am: 138b4a620d ↵Brad Ebinger
am: fa3df0bc9e am: c41dd5079d -s ours Change-Id: I7c4c942a78db9e3c428dc301db5612b3824614ca
2017-08-10Check Various IMS interfaces before returning cached value am: 138b4a620dBrad Ebinger
am: fa3df0bc9e Change-Id: I11551ae94cd69532a81b8c0d43f5cfbc901f28b5
2017-08-10Check Various IMS interfaces before returning cached valueBrad Ebinger
am: 138b4a620d Change-Id: Ib617c2dfe895286a817fb06675c5510d071012c5
2017-08-09Check Various IMS interfaces before returning cached valueBrad Ebinger
If the ImsService goes down, the stale binder interfaces to the old service still get returned by ImsManager. This change triggers the ImsManager to fetch the binder interfaces again if the cached one is dead. Bug: 62723694 Test: Manual, test procedure outlined in bug Merged-In: I90e3df344785a5bc3818bc9bb24a2735f068058a Change-Id: I64c1c668602d88663220a50c2e45ae4f970ac302
2017-07-17Filter resume requests when video is already resumed.Tyler Gunn
am: 28552fbbf0 Change-Id: I4992a41ae4a1099a08ff6a2cef32b1200bd8a3c2
2017-07-17Change how unpause of video is detected.Tyler Gunn
am: 567a70c96d Change-Id: I35a50f702a8055ece40ee444a645f38515553681
2017-07-14Filter resume requests when video is already resumed.oreo-dr1-devTyler Gunn
If the request being sent to the video provider is to resume the video, but the video stream is already resumed, do not send this request to the modem. In the case of swapping between calls, the video appears to resume automatically on the modem-side, so sending another resume request is redundant. Also, in VideoPauseTracker, correcting the case where we get a resume request, but there are no remaining pause requests in the tracker. Although that case shouldn't run up in reality, if it did we should still let the resume request pass along (since it would otherwise be re-written as a pause). Test: Manual test. Change-Id: Ib9b9acaf2d92b1485e4766a13701fd472d6c117d Fixes: 63606238
2017-07-14Change how unpause of video is detected.Tyler Gunn
ImsVideoCallProviderWrapper was modified recently to check for the case where the video is paused, and the video state changes to an unpaused state. It used this to trigger a clear of the video pause tracker. It did this by checking if the video pause tracker thought the video was paused. In reality, it makes more sense for a change in the videostate from paused to unpaused to be detected, and THAT used as a basis to clear the video pause tracker. The previous functionality caused a problem when the user, in quick succession: 1. Turned off the camera 2. Went to the background. The two requests would hit the framework, causing the video pause tracker to record the current video state as paused (as requested by the user). Shortly thereafter, the modem reports the fact that the camera is off with a state of Audio RX. This would be misinterpreted and cause the pause tracker to be cleared. Test: Manually tested the bug, as well as regression tested b/62784036. Change-Id: Iaa736e93e05ef3ae5dec21cd8ebc18be464f18ae Fixes: 63410964
2017-07-07Remove framework performance optimization for null video requests.Tyler Gunn
am: efa7be99a6 Change-Id: I99b53926105c689ac19c8805035061e106a8f0a1
2017-07-07Remove framework performance optimization for null video requests.Tyler Gunn
In N-MR2 we made a performance optimization to not bother sending no-op video requests to the vendor IMS layer. In concept this performance optimization makes sense; if a higher layer tells us to change from the current video state to the current video state, then don't send it. It turns out that the vendor IMS layer does not interpret the delta style video requests as they were intended. To fix this, we'll remove the performance optization and opt to make the contract between the framework and the vendor IMS layer more explicit in the future to avoid this kind of problem. This fix corrects an issue where: A and B are in a video call. A pauses the video B pauses the video A un-pauses the video When A un-pauses the video B would also unpause, even though it should not. As it turns out the performance optimization was resulting in B not issuing the pause request to the modem. Test: Manual test Change-Id: Ia29471b3f13d5b104affcf634e1315fb7c71451b Fixes: 62954065
2017-06-23Merge "Make isCallSessionMergePending public." into oc-dr1-devTyler Gunn
am: 06f97e8f98 Change-Id: Icc519c271c14330862c65659f2b8fb3cc2354115
2017-06-23Merge "Check Various IMS interfaces before returning cached value" into ↵Brad Ebinger
oc-dr1-dev am: 06869d6fd8 Change-Id: I90e3df344785a5bc3818bc9bb24a2735f068058a
2017-06-23Merge "Make isCallSessionMergePending public." into oc-dr1-devTyler Gunn