Age | Commit message (Collapse) | Author |
|
This CL adds a new build-library.gradle file for AOSP dialer.
This allows the dialer to be built as a library that can be
included from GoogleDialer.
Switching to a library project meant making two other changes:
- changed all switch statements that used resources to if statements.
This was required because resource IDs are not final in library
projects.
- changed InCalUI code to import com.android.dialer.R instead of
com.android.incallui.R. See http://b.android.com/82743 for more info
on why this is required.
src-N isn't supported yet. Also, this isn't the ideal project layout.
In the future we should consider switching to the following layout:
- dialer/incallui/ <- incall UI as an independent library project
- dialer/dialerlib/ <- dialer code as an independent library project
- dialer/app <- skelent app that builds a standalone dialer AOSP app
Bug: 26676586
Change-Id: I07fbee4d33cc683539e4f8b3953c93f1427af9d7
|
|
Do not create a new surface when setting surface dimensions.
Bug: 27246093
Change-Id: I3f66594141d548680427a7579169647018ca7eb7
|
|
There were a few things going on:
1. There is a case where we could try to position the incoming video view
before the call card has been fully laid out and its height is known.
2. When querying the height of the video surface, the getHeight() method
does not always return the value that was just set on it. Using the
layout params solves this problem.
3. Cleaned up some other comments and debug statements.
Bug: 21444300
Change-Id: I9b59b132d6d4c7559497c6499b164598e7a75c7f
|
|
- Register to listen to OrientationEventListener
- Notify registrants of orientation changes and update camera
preview size and orientation based on that.
- Enable the orientation listener only when CVO is enabled.
- Enable the orientation listener for video calls only. Disable it
if we downgrade to VOLTE
Bug: 21587367
Change-Id: Id1288ee05fe02ebcfee57e52da060ec5c48ceaac
|
|
Other issues:
- Secondary caller info should not be shown when in fullscreen mode.
Solution:
- Added onSecondaryCallerInfoVisibilityChanged to InCallEventListener (
which is documented as a place for events between fragments).
- In CallCard fragment, call notify listeners of this callback of the
state change.
- In VideoCallPresenter/Fragment, handle changes to the visibility of the
secondary caller info box to shift the preview surface up or down.
- Added hide/show animation for the secondary caller info when entering
and exiting fullscreen mode.
Bug: 20914754
Change-Id: I44ae0e94e214892776487bff4cc09be8c5640db1
|
|
This reverts commit b319b6f6ca8c7752d2070db7ccfad25bb8e4c22c.
Change-Id: I9228568f0554eccf2367bb802bd65eb30ad282be
|
|
|
|
Other issues:
- Secondary caller info should not be shown when in fullscreen mode.
Solution:
- Added onSecondaryCallerInfoVisibilityChanged to InCallEventListener (
which is documented as a place for events between fragments).
- In CallCard fragment, call notify listeners of this callback of the
state change.
- In VideoCallPresenter/Fragment, handle changes to the visibility of the
secondary caller info box to shift the preview surface up or down.
- Added hide/show animation for the secondary caller info when entering
and exiting fullscreen mode.
Bug: 20914754
Change-Id: I32ccccd6d881c494688de6d9a965f80c43d50e79
|
|
The issue is the "inflateVideoCallViews" call in onViewCreated. We should
not call inflateVideoCallViews unless we know that the call is a video
call. Removing the call to inflateVideoCallViews in onViewCreated solves
the problem. Once the UI sets up, onPrimaryCallChanged in the
VideoCallPresenter is called to establish the primary call. At this point
inflateVideoCallViews will get called anyways, so having it done in the
onViewCreated is redundant.
Bug: 20188274
Change-Id: Iface049e28192d58cf85347f6e88ca6e38a6a9aa
|
|
The issue is the "inflateVideoCallViews" call in onViewCreated. We should
not call inflateVideoCallViews unless we know that the call is a video
call. Removing the call to inflateVideoCallViews in onViewCreated solves
the problem. Once the UI sets up, onPrimaryCallChanged in the
VideoCallPresenter is called to establish the primary call. At this point
inflateVideoCallViews will get called anyways, so having it done in the
onViewCreated is redundant.
Bug: 20188274
Change-Id: Iface049e28192d58cf85347f6e88ca6e38a6a9aa
|
|
- 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
|
|
|
|
Change-Id: I880eb25812adaeb9355cc9c1dcf46afa0da5f333
|
|
- 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
|
|
Removed some unused imports and one constant introduced
by the mass QCOM CL for VT bringup.
Bug: 20090311
Change-Id: Iab7a89495557c8817216ff16559778c6f59a3919
|
|
- Remove unnecessary "change to voice" button.
- Remove "modify call option" dialog that showed up in the past when
pressing the "upgrade to video button".
- Cleaned up some unnecessary Toasts for call session events, data
usage, and video quality
- Implemented the camera on/off functionality.
- Change preview to show the user's profile photo when their camera is
turned off, as well as a "camera off" icon.
Bug: 20257400
Change-Id: I6b7bb3d2394467f1345a798557130b2a674337c4
|
|
... 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
|
|
Bug:20300433
Change-Id: Iec4a56229ee30f3183c9f4cf37bed3f028eed155
|
|
Bug:20300433
Change-Id: Iec4a56229ee30f3183c9f4cf37bed3f028eed155
|
|
697f674 Fix orientation of preview surface when device rotated.
17de502 Merge "Always allow landscape mode if video call is the primary call" into m-wireless-dev
3692e77 Always allow landscape mode if video call is the primary call
a77ad8d Video calling landscape changes to match specs
cb74fc0 Merge "Simplify and rewire in-call buttons" into m-wireless-dev
ed0775d Simplify and rewire in-call buttons
80a1aad Hide incoming video until call is connected.
4f2a70b Merge "Cleanup AnswerFragment glowpad UI" into m-wireless-dev
6591f05 Merge "Initial refactoring for call buttons" into m-wireless-dev
c70a63c Initial refactoring for call buttons
4a63afd Hide end call button when video upgrade glowpad is showing
7ba13e9 Cleanup AnswerFragment glowpad UI
6b2b8df Show progress spinner when upgrading to video
c02794b Merge "Cleanup of Video Call pause functionality." into m-wireless-dev
bec5807 Standardize fragment layout names
bc65cbc Adding video call icon in secondary call info.
|
|
- Cleaned up some unused methods in InCallActivity.
- In onDeviceOrientationChanged, handle orientatoin change by resizing
surface.
- Fixed setPreviewSize which was not rotating the surface the appropriate
way (ensured it was setting a transform on the surface, and also made sure
that the correct dimensions were being passed in).
Bug: 19850018
Change-Id: Ia9324ce6bad5a797839e69ba20244f2bcc44acb5
|
|
* Call card has 4dp corners, and is 90% visible
* Margins for call card
* Call buttons are center aligned with end call button
* Remote surface is always center aligned, tapping call card slides
it in and out
* Status bar is black
Bug: 19668216
Change-Id: Ifea27faa5f8ff32f6be13e777ca70aa4d0c7727e
|
|
Change-Id: I0c953bfa322ffe1be080af2180579e1abc770a2b
|
|
Change-Id: I4cfea114e24c0b0671e99118316ad839dafbe400
|
|
Due to a recent framework change,
https://googleplex-android-review.git.corp.google.com/#/c/659363/
TextureView will now crash if setSurfaceTexture is called before
the TextureView is attached to the window. Use an
OnAttachStateListener to call setSurfaceTexture only after the view
is attached to the window.
Cherry-pick from
https://us2-mirror-googleplex-android-review.googlesource.com/#/c/666312/1
Bug: 20071288
Change-Id: I8c443542db6f4a432a097326fdb49607baa55889
|
|
Due to a recent framework change,
https://googleplex-android-review.git.corp.google.com/#/c/659363/
TextureView will now crash if setSurfaceTexture is called before
the TextureView is attached to the window. Use an
OnAttachStateListener to call setSurfaceTexture only after the view
is attached to the window.
Change-Id: Ic61302fb81461a00ae9e61352a1798d6c8b61318
|
|
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
|
|
* Stash the true height of mPrimaryCallCardContainer in a view tag
so that its height is not misreported during the outgoing call animation
* Move the onGlobalLayoutListener so that the callbacks occur after
the surfaces have been inflated, to ensure the views are non-null.
Bug: 19773495
Change-Id: Ib762285c595ec826c6da15296db66d830d9fe24e
|
|
Statically add VideoCallFragment into the view hierarchy
so that video calls can be shown in the UI.
Change-Id: I8afbaaa750371a4afe3946d268882f46f5ec7eb4
|
|
|
|
If mTextureView has not changed across recreation, don't
set the texture and listeners.
Change-Id: I704abf6c9a6197d51233567c4ff2bd1e19393a95
|
|
This patch resolves some issues in video call establishment
on L MR1 InCallUi.
Change-Id: Ib72894f7e81932200b09b9995d169ef1124fc5b5
Signed-off-by: Matthieu Baglin <matthieu.baglin@intel.com>
|
|
When setting a surface for the Camera, it is important to ensure the
buffer size is set before the surface is created.
To fix this:
The Surface passed to the Video Telephony layer is not created until
the buffer size is set.
The display surface buffer size is set when created.
Setting the preview buffer size is deferred until the camera dimensions
are received from the video provider.
Bug: 16012946
Change-Id: I2130c029133ae6e5d670188e8d269ee6ac8bd675
|
|
1. Add InCallCameraManager to track active camera and manage camera
capabilities.
2. Use new camera manager in CallButtonPresenter instead of directly
accessing camera.
3. Implemented new camera setup flow between incall and telephony.
4. Landscape video call support (actively rotating while video is running
crashes InCall at the moment, but you can start it in portrait or
landscape fine). Includes ensuring layout works properly with RTL
locales.
5. Added progress spinner to CallCardFragment, useful to show when an
upgrade to video is pending.
Bug: 16012946
Change-Id: Iff33422eec3a92d8cbeb217f5be2f1c9c5f3e98d
|
|
1. Adding CallVideoClientNotifier - used by InCallVideoClient to notify
interested listeners of events related to call video clients.
2. Change InCallVideoClient to use CallVideoClientNotifier to notify
listeners of incoming events.
3. Modify call details listener signature in InCallPresenter to include
the call for which the details changed.
4. Changing VideoCallPresenter to subscribe to call details changes,
so it will keep informed of changes to the video state of the call.
Bug: 16012946
Change-Id: I47aa2a8e8c852bb7e4ea2e83fa4a30b2697266e6
|
|
Bug: 16012946
Change-Id: I1e86b172d46d3e67eff210d9f56e03a2e6c93853
|