summaryrefslogtreecommitdiff
path: root/InCallUI/src/com/android/incallui/AnswerFragment.java
AgeCommit message (Collapse)Author
2015-11-13Use separate AnswerFragment for TalkbackTa-wei Yen
+ Split AnswerFragment into GlowpadAnswerFragment and AccessibleAnswerFragment, with the refactored AnswerFragment as base class. + InCallActivity will select GlowpadAnswerFragment and AccessibleAnswerFragment base on if any touch exploration accessibility service is active. + Removed AnswerListener from GlowPadWrapper, as it is only implemented in one class and made the code more complex. + Changed answer icon's color into green. Bug:24101341 Change-Id: Ida2b07986d64d6442ff87a2258180846a092942e
2015-07-28InCallUI not dismissing after end call is clicked.Chaitanya Saggurthi
In MT InCallScreen, the customMessage dialog which appears when user tries to reject a call with message, is not set to null when user cancels the dialog. InCallUIActvity is not finished if there is any pending dialog which is not null and hence this issue is seen. Set the dialog variable to null once the dialog is cancelled by the user. Bug: 22254547 Change-Id: I86d314461c760387cb5f8099a01da9afe4a79085
2015-05-12More video related API fixesYorke Lee
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
2015-05-05DO NOT MERGE Video call upgrade/dowgrade request changes.Tyler Gunn
- fixed potential NPE in VideoCallFragment when setting preview size. - moved photo load into the postExecute for the async task -- it is already threaded and I was seeing intermittent concurrency issues. - Changed CallButtonFragment to retrieve max # of buttons from config.xml. - Added override for wider screens (e.g. N6 and wider) to show an extra button. - Reorganized call buttons so that the "Camera on/off" button is adjacent to the flip camera button. - Changed answer Glowpad to pass correct video state so that accepting a video request uses the correct state (important for accepting requests to turn camera back on). - added new Session modification state REQUEST_REJECTED for when the remote user explicitly declines the request. This is used to trigger a "video request rejected" message when the remote party rejects the request. Bug: 20257400 Change-Id: Ibe25eb045ee868748f91bf411f285629d36ebcd2
2015-04-16Make createPresenter() and getUi() public.Andrew Lee
... and update the visibility of their overriden instances. This allows us to create fragments with the BaseFragment/Presenter fragment which do not live in the incallui root directory. Bug: 20300758 Change-Id: I7f9b1c630538a04ca773ba155e5fb8efd6cf6af7
2015-04-10Merge commit '8bef461' into merge_workPrerepa Viswanadham
Change-Id: I4cfea114e24c0b0671e99118316ad839dafbe400
2015-03-26IMS-VT: Add support for video callsRekha Kumar
IMS-VT: Upgrade downgrade and hold resume video calls -Add support for upgrade downgrade video calls. -Add support for hold resume and call waiting IMS-VT: Fixed surface caching. Fixed surface caching. IMS-VT: Fixes InCallUI/Dialer crash when there is a VT call. -Fixes InCallUI/Dialer crash when UE is rotated. -Fixes InCallUI/Dialer crash when UE VoLTE call is upgraded to VT. Don't default to speaker phone for VT when speaker is disabled - The adb property persist.radio.ims.audio.output indicates whether speaker is disabled explicitly or not. - If the above property is set to 1, don't enable speaker phone by default in VT call. IMS-VT: Fix CVO, surface and resource related issues. - Send initial orientation to VT Service. - Detect if Activity is being destroyed due to confugration changes. - Close the camera when InCallUI is pushed to background. - Fix surface and VT service related issues when Fragment and Presenter gets destroyed. IMS-VT: Peer Resolution Feature Implementation Change display video size based on peer resolution values received from far end. IMS-VT: Answering calls and upgrade requests as VT_TX and VT_RX -Support for showing one way options for incoming upgrade request -Fix issue where incoming video popup stays on screen even after rejecting the request. -Fix issue where incoming video popup stays on even after it has been timed out by lower layers. - Answer with different calltypes support. Notify listeners of video quality changed event and display message on UI - Add methods to notify listeners of type VideoEventListener when video quality changes. - Display a notification on the UI when video quality changes. IMS-VT: Enable SIP based video multitasking. Enable SIP based video multitasking. IMS-VT: Call data usage feature - Add support for call data usage callback - Request for call data usage stats - Log call data usage stats when IMS layers send update Change-Id: I3f0dde0d82698085fa5d3f110720f10326eca768 IMS-VT: When TTY is ON, do not allow upgrade to VT call When TTY mode is ON, the user SHOULD NOT be allowed to upgrade a call from VOLTE to VT/VT-TX/VT-RX and an UI alert message will be displayed explaining upgrade to VT call cannot be initiated. IMS-VT: Add null check in call upgrade fail scenario Crash is observed if call is ended in the interval wherein handler is started to change state from REQUEST_FAILED to NO_REQUEST after an interval. Added null check to change state only when call exists Propagate call substate message and display a notification on the UI Ims: Reject upgrade request 1. If there is waiting call that is pending user action and 2. Before offering a waiting call IMS-VT: Provide Player State indication to user. Change to display "player started/stopped" toast message whenever video starts/stops flowing IMS-VT: Cleanup video views when not required - Hide video views when not required. Set display size as per current TextureView size - Using TextureView height and width to calculate the display size. - When ever there is change in display make sure that center the display. IMS-VT: Exit VT call full screen mode. If the call is no longer a VT call, then exit full screen mode Change-Id: Ibc4ad8f9a4c38e467820028cdc2c7e68d65fd93c CRs-Fixed: 760925 IMS-VT: Upgrade button fix -Show upgrade/downgrade button only when call is in ACTIVE or ONHOLD state IMS-VT: Show correct call types during video pause -In paused state, upgrade downgrade button does not list the calltypes dropdown box -Remove the paused bit to calculate call type during video paused state. IMS-VT: Move strings for video quality changed indication to resource files IMS-VT: Clean up the showCallSubstateChanged API - Make the code more readable. IMS-VT: Set audio route to Speaker if current route is not bluetooth or headset - We always set the audio route to speaker when we enter video mode. - That is not correct. We should check if headset or bluetooth is connected before defaulting to speaker. IMS-VT: Turn speaker on/off for video calls based on call state changes - Turn speaker on only when video call is active or dialing - Switch back to the previous audio mode when there are no more calls - Make the previous audio mode static so that information persists when the class is recreated (e.g. when UE is rotated or multitasking happens) IMS-VT: Use back camera instead of front camera for VT-TX Set back camera for below cases 1) VOLTE to VT-TX 2) VT to VT-TX 3) Waiting call over Vt-TX call. IMS-VT: Fix upgrade in call waiting scenarios -When one VoLTE call is active and another VoLTE call is on hold and upgrade button is hit, call ends. Fix this upgrade issue. IMS-VT: Enter video mode when the primary video call changes - We only enter video mode when we have any video state changes - Enter video mode should also be called when the video call changes. e.g. When we have a second call with the same video state, we don't enter video mode which is incorrect. This change fixes the issue Add null check for InCallActivity in setInCallAllowsOrientationChange - In some cases, this API is called when InCallActivity is null. This causes a null pointer exception. Fix is to add a null check. IMS-VT: Fix check for VOLTE call (AND to OR) when turning speaker on IMS-VT: Check if call is video before enabling speaker in updateAudioMode - Moved the video call check to the correct block where we are enabling speaker IMS-VT: Get call substate values correctly from the bit mask - We were getting the call substate incorrectly as an int. - Fixed that by getting it from the bit mask and using the possible multiple values to display the call substate message. IMS-VT: Keep the screen on during video calls. UI screens times out after some time. During video calls the screen must be kept on. Change-Id: Icaa8662210b2dd323b29f4a472869a9ed1e01d00 IMS-VT: Open front facing camera for VT calls. Open front facing camera for VT calls. IMS-VT: Show manage conference button for Video Call - We show the manage conference in a separate section for VOLTE Calls. - In the case of Video Call, the entire screen is occupied by the far end video. So we display manage conference in the overflow section of the call button fragment. IMS-VT: Fix camera preview freeze for CONF video calls. Fix camera preview freeze for CONF video calls. IMS-VT: Move persist.radio.ims.audio.output to frameworks Move persist.radio.ims.audio.output and related constants to TelephonyProperties and PhoneConstants so that these can be accessed from multiple git projects instead of redefining. IMS-VT: Multiple video call fixes/optimizations. -Current implementation clears primary call cache upon exiting video mode. This will remove video call provider interface as well, which will prevent further communication with the backend. Don't clear primary call cache upon exiting video mode. -Unregister call details listener when UI transitions into unready state -Send surface of incoming video to video call provider before opening camera. IMS: Cleanup all listener objects Clean all stale listener objects to avoid the memory leak. IMS: Fix speaker icon display issue in Call UI. In few devices, InCall UI can show upto five buttons in a row. Modify code to display at most five buttons in a row. Show overflow menu if number of buttons is more than five. IMS-VT: Show glowpad view with accept/reject for most video upgrade cases - Show the glowpad view with all options only when upgrading from Volte to VT - For all other cases, show the glowpad with accept/reject only Change-Id: I41ecbda40db7c3c69428fc4272f8bfbd258e2980
2015-03-13Dynamically add AnswerFragmentYorke Lee
AnswerPresenter is a little tricky because it is in charge of responding to incoming calls, so we want it to be alive and getting onIncomingCall callbacks, but we don't want to create an instance of AnswerFragment, which it is dependent on. Move some dependencies around so that AnswerPresenter is created by InCallPresenter instead. It registers for callbacks via InCallPresenter instead of directly to CallList, and shows/hides the AnswerFragment via InCallActivity. Change-Id: I7026150988bf3cda762dda8a319f48e1af132361
2015-03-09Improve InCallUI fragment managementYorke Lee
* Load some fragments on demand * ConferenceManagerFragment * DialpadFragment * Remove ConferenceManagerFragment from incall_screen.xml so that it is no longer loaded statically * Add helper methods to InCallActivity to facilitate dynamically loading fragments * Fix some bugs with fragment visibility and activity recreation Change-Id: I475e2302fae415817f06da209dd6484c89467480
2014-08-22Ensuring Video APIs are only called when video is available.Tyler Gunn
Bug: 17179079 Change-Id: I3b327250c181f821ec37d574ae804f8003d04603
2014-08-12Add UI/functions to handle a video upgrade request.Andrew Lee
+ Move session modification listener into the video call presenter. + Add new video accept/reject notification and full-screen UI. + Added "handling" which sends session modification response. Bug: 16657915 Change-Id: I35ff04e383d4938cbfb4e76677730f82557fd918
2014-07-17Hook up answering as video call.Andrew Lee
Pass in the desired video state when answering incoming video calls. Bug: 16013878 Bug: 16015750 Change-Id: I7f46dadfdaa6ab256626d2e2e49971e114f506dd
2014-07-16Fix too-light color in "write your own" dialog EditTextNancy Chen
Incoming call UI brings up a dialog when the user selects "Write your own", the color of this text was too light too see. This CL fixes that. Bug: 15895628 Change-Id: I93fdb1fa4fa3b9fbf1b5e0a4ad32774f468bc6e5
2014-07-15Show different glowpad options for incoming video call.Andrew Lee
- Refactor code be more flexibile/specific in specifying the targets for the glow pad; went from "n-way" labeling of different target sets to more explicit labeling of scenarios, such as "audio without sms". - Add target sets and cases for showing targest in AnswerFragment. - Added new drawable for the target to answer a video call. - Add method to GlowPadView to allow changing the handle (now it may be either a videocamera or phone icon, depending on the scenario). - Add a new video handle for incoming video calls. - TODO: Hook this up to show these glowpads if there is an incoming video call. - Deleted some unused resource files. Bug: 16015750 Change-Id: I77ff08f45f57cd2817866b5d78648af8891bb675
2014-06-13DO NOT MERGE. Port "respond via SMS message" feature to new Telecomm. (4/4)Ihab Awad
Bug: 15275904 Bug: 15196474 Change-Id: Id7125d7803a00a80728e412bba030566a838bbc2
2014-03-19Support a second incoming call (call-waiting)Santos Cordon
Change-Id: I94730e0d628b9573eec2bf69c705599509a185b7
2014-03-17Request FLAG_SHOW_WHEN_LOCKED for respond via text dialogsYorke Lee
Bug: 13397558 Change-Id: Ice25d2af70c516ed84c22e0134875efb1c8768af
2013-10-28Fixes bug for Canned Message response.Christine Chen
- Fixes the issue when the call has ended and dismissing the canned message reponse does not hide the InCallUi. Bug: 11380505 Change-Id: I40a7e0646644fc52a57fe982453a14b47e45e9e1
2013-10-10Removes stopPing from onSaveInstanceState()Christine Chen
- I don't think it makes sense to do any processing in onSaveInstanceState() as we are already stopping the ping in onWindowVisibilityChanged. - onSaveInstanceState() should solely deal with saving app states anyway. Bug: 11156202 Change-Id: If2b17bd10b455899703aa2c8f9d15f04a9bea22f
2013-10-07Adds support for texting after phone disconnects.Christine Chen
Bug: 11111553 Change-Id: I8abcae4439e7b9697d7b4a4335e093d7ad13a1b3
2013-10-05Add custom message dialog for Respond via Message.David Braun
We don't want to require SMS applications to implement activities that show over lock just to handle the "respond via custom message" scenario for rejecting phone calls. This change adds an entry dialog into the phone call UI. A separate change removes the code in the Telephony service that would have asked the default SMS app to show UI. Bug: 11084719 Provide UI for "quick response" messages built into Phone app Change-Id: I7fcf20280fd3b741aa941cc6a24f5c262db1899b
2013-09-10Fixes repeated adds of "Write your own.." text.Christine Chen
Bug: 10649206 Change-Id: I232756a6c60e38240eba9f4f9f832692b0e6b735
2013-08-30Enable reject via textYorke Lee
Toggle reject via text option in glowpad based on the call's capability. Bug: 10424370 Change-Id: I5c36e83bc36923b093021c2a5cfd0c6aad3eb0b2
2013-08-30Automating calls to onUiUnready() in parent fragment.Chiao Cheng
The code was duplicated un-necessarily in each child fragment. Change-Id: I619b723c9afc690ff9011fc43367fe5752094fb6
2013-08-28Major fixes for in call to work with reverse number lookup.Chiao Cheng
- Separated caller info data into CallIdentification and switch callbacks to use it where call state is un-necessary. - Changed mCallList.update() method to be onIncoming(). - Catch all exceptions from service methods so errors do not vanish. - Fixed bind failure cases which led to DeadObjectException. - Changed local contact lookup to only occur for incoming calls. - Fixed CallCardPresenter to start contact search upon isntantiation instead of waiting for next call update. - Convert ContactInfoCache to singleton to avoid race condition where it's not initialized. - Handle cases where primary call may be null when we find a contact. - Fixed race conditions in CallButtonPresenter where audio mode is being set before ui is ready. - Fixed race condition in AnswerPresenter where state change was being called before ui is ready. - Changes to CallCardPresenter to support lookup for conference calls. Bug: 10413515 Bug: 10390984 Change-Id: I9fc4f2f35e8f5aad33c301b3c5c93132634cb63c
2013-08-21Protect all logging statements.Chiao Cheng
- Rename global logger so it can be a drop in replacement for framework log class. - Remove imports of android.util.Log Bug: 10411948 Change-Id: I377625263b16c4f9408c79d5c533a1810fa6cde7
2013-08-20Adding interfaces for phone number service.Chiao Cheng
- Fetch image url if present. Bug: 10359919 Change-Id: Idf2ff5405255f1e90a383902762585ae68249dbe
2013-08-07Add UI to show when the Call disconnects.Santos Cordon
When the call disconnects, we need to show UI for a short time before existing the UI. Change-Id: Iee648b8c54ee4b5ea09cfaec508e1bf8fb8f1643
2013-08-07Audio Routing support in UISantos Cordon
Changes: - AudioModeProvider - receives audio mode changes from CallHandlerService - CallButtonPresenter listens to AudioModeProvider so that it can use those changes in the UI. - CallButtonFragment uses the audio mode from Presenter() to display: - The correct layers for the supported modes - The popup menu when bluetooth is enabled Change-Id: I8ec4024f7bbb5e3b1cfdaae20a4dd2f85ae802cf
2013-08-07Adds support for text messagesChristine Chen
Change-Id: Ibdb279a7dff0db710bcc1d6a313b486f6816ea65
2013-08-06Dialpad Ui elements for InCallUiChristine Chen
Change-Id: I7b230cc46993493459923c436a643910026cf6a6
2013-08-05Improve InCall State managementSantos Cordon
CL Contains the following changes: - InCallPresenter now manages an overall in-call state - Other presenters now listen to in-call state changes instead of getting updates from CallList directly. - Changes AnswerPresenter to a static fragment instead of dynamically loading it. It makes code easier and more aligned with other fragments used in the class. - Presenters now save the appropriate call and use callId() for commands sent to the telephony layer. - Extra logging in CallList - cleaned up the startup sequence in InCallActivity and moved everything to onCreate instead of onCreate & onResume Change-Id: I4ce4182eefcc134bfa16c33be8fe4aefc041f563
2013-08-03Fixing incoming call sequence, adding InCallPresenterSantos Cordon
Moved handling of AnswerWidget from AnswerPresenter and into the new InCallPresenter class. InCallPresenter now also manages a high-level in-call UI state to be expanded in subsequent CLs. Change-Id: Ia4fee84db68f7eaedea307b25329dadb8cf754e5
2013-08-01Adding multi-call support.Santos Cordon
Before this change, the UI came up when we were notified that a new call came in, but we did not actually look at the call state, etc. This seemingly worked while we only supported single calls but did not scale. This change does two main things: a) Plugs in CallList into the presenters so that they can perform their logic based on the actual state of the calls (necessary for multi-call support) b) Adds Secondary CallInfo UI to the Call Card so that we can display information foreground and background calls. As a result of (a) from above, a lot of changes you see will be to Presenters, which now take their cues from CallList and update their Ui's accordingly. A problem with this approach is that the presenters (callcard/buttons/answer-widget) perform their changes independently. A subsequent change will consolidate interactions with CallList to a Presenter-Manager class and away from the presenters. Change-Id: I89d1926fa1eef6f10d897d2ce360f666c8f341f8
2013-07-24Integrating mute and speaker buttons.Chiao Cheng
* Adding base classes for presenter, ui and fragments. * Moved common presenter integration logic into base fragment. * Adding presenter to handle button logic. * Integrated disconnect and text from glowpad to presenter. * Changed in-call buttons to be invisible so they do not show under transparent glowpad. Change-Id: I446db149769b5cf1abce960ecede01effeabfe1e
2013-07-19Connecting answer call action in UI to service.Chiao Cheng
Also starting pinging animation for glow pad. Change-Id: Ifac94582b8448c288a07577db02633bf9452ee56
2013-07-18Adding fragment and listener for answering calls.Chiao Cheng
Created mvp pattern for answer fragment. Change-Id: Ibe0c3b5ce2b61a098c2237aab549238fd4518e9b