9d6410a77eefdb35f72a17d62e3c4dc21a71ea18 |
|
18-Aug-2017 |
Tyler Gunn <tgunn@google.com> |
Ensure upgrade to video requests are ignored when video disabled. 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
/frameworks/opt/net/ims/src/java/com/android/ims/internal/ImsVideoCallProviderWrapper.java
|
28552fbbf08d9652b259aaae8661f98d865408c1 |
|
14-Jul-2017 |
Tyler Gunn <tgunn@google.com> |
Filter resume requests when video is already resumed. 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
/frameworks/opt/net/ims/src/java/com/android/ims/internal/ImsVideoCallProviderWrapper.java
|
567a70c96dcab6d5d78a73f3aaab87e551ce25a5 |
|
06-Jul-2017 |
Tyler Gunn <tgunn@google.com> |
Change how unpause of video is detected. 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
/frameworks/opt/net/ims/src/java/com/android/ims/internal/ImsVideoCallProviderWrapper.java
|
efa7be99a6daec6cd4919eb19d04bcbbc284419f |
|
06-Jul-2017 |
Tyler Gunn <tgunn@google.com> |
Remove framework performance optimization for null video requests. 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
/frameworks/opt/net/ims/src/java/com/android/ims/internal/ImsVideoCallProviderWrapper.java
|
077dd3fef020b839e37b0c02fb5df7fadc7bf875 |
|
21-Jun-2017 |
Tyler Gunn <tgunn@google.com> |
Clear video pause tracker when video un-pause reported by the modem. When video calls are swapped, the video stream automatically unpauses without the UI requesting the pause/resume. Thus, the video pause tracker, which tracks pause requests from the UI, can get into a state where it thinks the video is paused, do it will ignore further pause requests. Test: Manual Bug: 62779713 Bug: 62784036 Change-Id: Ia8add452dbe9a79957e8a49e20ce58317136403b
/frameworks/opt/net/ims/src/java/com/android/ims/internal/ImsVideoCallProviderWrapper.java
|
3aadc8a6c9c0b681587ad61aee73138b87c0ae35 |
|
11-May-2017 |
Tyler Gunn <tgunn@google.com> |
Add workaround for broken vendor camera on/off requests. 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 Change-Id: I9b974542234d3f567aba3f2996a815e39bc8963e
/frameworks/opt/net/ims/src/java/com/android/ims/internal/ImsVideoCallProviderWrapper.java
|
9f6d8b2893929e0dc38d82feca4913e841fb94ed |
|
22-Dec-2016 |
Tyler Gunn <tgunn@google.com> |
Use pause signaling to halt a video call when data limit is reached. am: 266d3920dd am: 9139f28b30 Change-Id: I062f00a882dfca98bf409f5d87e5dee23ea90eae
|
266d3920ddc1e4cb95f9e21bc0ff0f2e0d0314cd |
|
21-Dec-2016 |
Tyler Gunn <tgunn@google.com> |
Use pause signaling to halt a video call when data limit is reached. This proved to be problematic as the InCallUI is the only place where we would previously get a pause signal. Added a VideoPauseTracker class which is responsible for tracking the source of pause requests and ensuring that the video is only paused on the first request, and only resumed on the last resume request. Added some new logic to ImsVideoCallProviderWrapper to support receiving pause and resume requests from other sources, and to ensure that requests to pause or resume use the VideoPauseTracker to determine if the pause or resume should actually be passed along to the modem. Test: manual Bug: 30760683 Change-Id: Id54b2a955745132ab09feb01b5c961f6115ef3df
/frameworks/opt/net/ims/src/java/com/android/ims/internal/ImsVideoCallProviderWrapper.java
|
0c76f5a4157c821a64b39ce4803a154b089ab629 |
|
01-Dec-2016 |
Tyler Gunn <tgunn@google.com> |
Modify ImsVideoCallProvider to include calling UID for permission check. Modify the ImsVideoCallProvider, which the vendor IMS stack implements to include the UID of telephony. The vendor IMS stack will use this when opening the camera for the purpose of camera permission verification by the camera service. Test: Unit, manual. Bug: 32747443 Change-Id: I0884cc08ea4afa23c08e3fe1e2873b3f5aac2b40
/frameworks/opt/net/ims/src/java/com/android/ims/internal/ImsVideoCallProviderWrapper.java
|
359bcd029c232605fbed6df66c6c3b220474c026 |
|
22-Jul-2016 |
Tyler Gunn <tgunn@google.com> |
Add ImsVideoProviderWrapperCallback to notify local components. Added a callback class in ImsVideoProviderWrapperCallback so that local components such as ImsPhoneConnection can listen to incoming session modification responses. Bug: 29381561 Change-Id: I38e5be1996c22be2e5f8797c825e0ab90d49fda1
/frameworks/opt/net/ims/src/java/com/android/ims/internal/ImsVideoCallProviderWrapper.java
|
b42ff55315201e1c971ff601eab6a5e645f8641d |
|
22-Jun-2016 |
Jack Yu <jackyu@google.com> |
Report VT data usage to the client Report the aggregated VT data usage per call to the registered client. bug: 20888836 Change-Id: I6d9629aebfde641f96fbfe2071346ae3bc362cdb
/frameworks/opt/net/ims/src/java/com/android/ims/internal/ImsVideoCallProviderWrapper.java
|
95bd67621513f910787214f07c37f0d366ffaf37 |
|
13-May-2015 |
Yorke Lee <yorkelee@google.com> |
More video related API fixes android.telecom.Connection.VideoProvider * onSetPauseImage takes Uri instead of String * changeCallDataUsage -> setCallDataUsage * add quality constants to changeVideoQuality() docs android.telecom.InCallService.VideoCall * setPauseImage takes Uri instea dof String android.telecom.VideoProfile.VideoState * Move constants to VideoProfile, prefix with STATE_ Bug: 21040387 Bug: 21066505 Change-Id: I764e72aced9d1e2d30d6d0cf0862100860d47c79
/frameworks/opt/net/ims/src/java/com/android/ims/internal/ImsVideoCallProviderWrapper.java
|
33d827a95dcb4e007c3e94a591fe1c02fe3d7836 |
|
12-May-2015 |
Yorke Lee <yorkelee@google.com> |
Fixes for APi review Move CameraCapabilities into VideoProfile Make PhoneAccount and PhoneAccountHandle final Bug: 21040387 Bug: 21066505 Change-Id: I72453c89ae3765f9b9cf263938fce96d5978d2e0
/frameworks/opt/net/ims/src/java/com/android/ims/internal/ImsVideoCallProviderWrapper.java
|
0a625b7ee9586e573442629beb4ac833d45f6e0d |
|
06-May-2015 |
Tyler Gunn <tgunn@google.com> |
Change sendSessionModifyRequest VideoProvider API signature. Bug: 20704229 Change-Id: I7650b6ae21532b10f901449f702f3a4b59477696
/frameworks/opt/net/ims/src/java/com/android/ims/internal/ImsVideoCallProviderWrapper.java
|
5aec2e957365f20b2e75d3b8c7034e3289729b81 |
|
24-Mar-2015 |
Rekha Kumar <rekhak@codeaurora.org> |
IMS-VT: Fix propagation of device orientation. Orientation received at VT Service is incorrect. Fixed propagation of device orientation to VT service Notify listeners of video quality changed event - Propagate the video quality changed message. IMS: Add support for video quality - Add Config interface to get/set video quality IMS-VT: Change call data usage parameters Change call data usage methods to take parameter of long type instead of int Change-Id: I543aa082337d437ec7c2bf249bafb9658f34dd1b Propagate the call substate changed message to the UI Change-Id: I695736ccfa4e4446912ba6c3df1713bae6d4486a
/frameworks/opt/net/ims/src/java/com/android/ims/internal/ImsVideoCallProviderWrapper.java
|
f348775aec349cf205f711352345c8f4e89875de |
|
21-Nov-2014 |
Ihab Awad <ihab@google.com> |
Telecom API updates (6/6) Bug: 18292176 Change-Id: Ie42fb083cf505ff5bd5c13c6424d2606dec494de
/frameworks/opt/net/ims/src/java/com/android/ims/internal/ImsVideoCallProviderWrapper.java
|
3ddaa6ec08d417d2848775ad3b5b01b865a9c891 |
|
11-Sep-2014 |
Tyler Gunn <tgunn@google.com> |
Renaming Telecomm to Telecom. - Changing package from android.telecomm to android.telecom - Changing package from com.android.telecomm to com.android.server.telecomm. - Renaming TelecommManager to TelecomManager. Bug: 17364651 Change-Id: Ibf964b6d88935e7787304954295528f8921c0e21
/frameworks/opt/net/ims/src/java/com/android/ims/internal/ImsVideoCallProviderWrapper.java
|
ed7fbd60ee7f2d72d7bdf78718663774f526a1bc |
|
13-Aug-2014 |
Ihab Awad <ihab@google.com> |
Final structural tweaks to Telecomm API (7/8) Bug: 16416927 Bug: 16494880 Change-Id: I572145da40cda2bd9cc20d5277491c99cc66bb95
/frameworks/opt/net/ims/src/java/com/android/ims/internal/ImsVideoCallProviderWrapper.java
|
01b4ea445b5cdc6c1b32153d4f0216f429ede8af |
|
08-Aug-2014 |
Andrew Lee <anwlee@google.com> |
Implement Ims's VideoCallProvider, including a wrapper. + Implements ConnectionService.VideoCallProvider as ImsVideoCallProviderWrapper. ConnectionService treats this as the concrete implementation of VideoCallProvider. In detail though, it is a wrapper around ImsVideoCallProvider which should be extended in ImsService and implements the actual video call provider functionality. This wrapper intermediates communication for commands sent through Telephony and carried out in ImsService. It also implements the callback class whose binder is provided to the ImsVideoCallProvider. + ImsVideoCallProvider is an abstract class which defines functionality which satisfies ConnectionService.VideoCallProvider. We don't directly extend VideoCallProvider because of the inter-process communication necessary across Telephony and ImsService. This class provides a binder which is passed to the ImsVideoCallProviderWrapper. + Implement getVideoCallProvider on ImsCallSession. Bug: 16886403 Change-Id: I9b995baa74149b3c046789f797ab0ff49ae7165b
/frameworks/opt/net/ims/src/java/com/android/ims/internal/ImsVideoCallProviderWrapper.java
|