Age | Commit message (Collapse) | Author |
|
+ 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
|
|
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
|
|
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
|
|
- 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
|
|
... 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
|
|
Change-Id: I4cfea114e24c0b0671e99118316ad839dafbe400
|
|
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
|
|
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
|
|
* 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
|
|
Bug: 17179079
Change-Id: I3b327250c181f821ec37d574ae804f8003d04603
|
|
+ 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
|
|
Pass in the desired video state when answering incoming video calls.
Bug: 16013878
Bug: 16015750
Change-Id: I7f46dadfdaa6ab256626d2e2e49971e114f506dd
|
|
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
|
|
- 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
|
|
Bug: 15275904
Bug: 15196474
Change-Id: Id7125d7803a00a80728e412bba030566a838bbc2
|
|
Change-Id: I94730e0d628b9573eec2bf69c705599509a185b7
|
|
Bug: 13397558
Change-Id: Ice25d2af70c516ed84c22e0134875efb1c8768af
|
|
- Fixes the issue when the call has ended and dismissing the canned
message reponse does not hide the InCallUi.
Bug: 11380505
Change-Id: I40a7e0646644fc52a57fe982453a14b47e45e9e1
|
|
- 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
|
|
Bug: 11111553
Change-Id: I8abcae4439e7b9697d7b4a4335e093d7ad13a1b3
|
|
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
|
|
Bug: 10649206
Change-Id: I232756a6c60e38240eba9f4f9f832692b0e6b735
|
|
Toggle reject via text option in glowpad based on the
call's capability.
Bug: 10424370
Change-Id: I5c36e83bc36923b093021c2a5cfd0c6aad3eb0b2
|
|
The code was duplicated un-necessarily in each child fragment.
Change-Id: I619b723c9afc690ff9011fc43367fe5752094fb6
|
|
- 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
|
|
- 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
|
|
- Fetch image url if present.
Bug: 10359919
Change-Id: Idf2ff5405255f1e90a383902762585ae68249dbe
|
|
When the call disconnects, we need to show UI for a short time before
existing the UI.
Change-Id: Iee648b8c54ee4b5ea09cfaec508e1bf8fb8f1643
|
|
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
|
|
Change-Id: Ibdb279a7dff0db710bcc1d6a313b486f6816ea65
|
|
Change-Id: I7b230cc46993493459923c436a643910026cf6a6
|
|
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
|
|
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
|
|
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
|
|
* 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
|
|
Also starting pinging animation for glow pad.
Change-Id: Ifac94582b8448c288a07577db02633bf9452ee56
|
|
Created mvp pattern for answer fragment.
Change-Id: Ibe0c3b5ce2b61a098c2237aab549238fd4518e9b
|